react-grab 0.0.37 → 0.0.38

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/dist/index.cjs CHANGED
@@ -975,17 +975,18 @@ var waitForFocus = () => {
975
975
  window.focus();
976
976
  });
977
977
  };
978
- var copyContent = async (content) => {
978
+ var copyContent = async (content, onSuccess) => {
979
979
  await waitForFocus();
980
980
  try {
981
981
  if (Array.isArray(content)) {
982
982
  if (!navigator?.clipboard?.write) {
983
983
  for (const contentPart of content) {
984
984
  if (typeof contentPart === "string") {
985
- const result = copyContentFallback(contentPart);
985
+ const result = copyContentFallback(contentPart, onSuccess);
986
986
  if (!result) return result;
987
987
  }
988
988
  }
989
+ onSuccess?.();
989
990
  return true;
990
991
  }
991
992
  const mimeTypeMap = /* @__PURE__ */ new Map();
@@ -1004,28 +1005,52 @@ var copyContent = async (content) => {
1004
1005
  }
1005
1006
  }
1006
1007
  }
1007
- await navigator.clipboard.write([
1008
- new ClipboardItem(Object.fromEntries(mimeTypeMap))
1009
- ]);
1010
- return true;
1008
+ if (mimeTypeMap.size === 0) {
1009
+ const plainTextFallback = content.find(
1010
+ (contentPart) => typeof contentPart === "string"
1011
+ );
1012
+ if (typeof plainTextFallback === "string") {
1013
+ return copyContentFallback(plainTextFallback, onSuccess);
1014
+ }
1015
+ return false;
1016
+ }
1017
+ try {
1018
+ await navigator.clipboard.write([
1019
+ new ClipboardItem(Object.fromEntries(mimeTypeMap))
1020
+ ]);
1021
+ onSuccess?.();
1022
+ return true;
1023
+ } catch {
1024
+ const plainTextParts = content.filter(
1025
+ (contentPart) => typeof contentPart === "string"
1026
+ );
1027
+ if (plainTextParts.length > 0) {
1028
+ const combinedText = plainTextParts.join("\n\n");
1029
+ return copyContentFallback(combinedText, onSuccess);
1030
+ }
1031
+ return false;
1032
+ }
1011
1033
  } else if (content instanceof Blob) {
1012
1034
  await navigator.clipboard.write([
1013
1035
  new ClipboardItem({ [content.type]: content })
1014
1036
  ]);
1037
+ onSuccess?.();
1015
1038
  return true;
1016
1039
  } else {
1017
1040
  try {
1018
1041
  await navigator.clipboard.writeText(String(content));
1042
+ onSuccess?.();
1019
1043
  return true;
1020
1044
  } catch {
1021
- return copyContentFallback(content);
1045
+ const result = copyContentFallback(content, onSuccess);
1046
+ return result;
1022
1047
  }
1023
1048
  }
1024
1049
  } catch {
1025
1050
  return false;
1026
1051
  }
1027
1052
  };
1028
- var copyContentFallback = (content) => {
1053
+ var copyContentFallback = (content, onSuccess) => {
1029
1054
  if (!document.execCommand) return false;
1030
1055
  const el = document.createElement("textarea");
1031
1056
  el.value = String(content);
@@ -1035,12 +1060,46 @@ var copyContentFallback = (content) => {
1035
1060
  doc.append(el);
1036
1061
  try {
1037
1062
  el.select();
1038
- return document.execCommand("copy");
1063
+ const result = document.execCommand("copy");
1064
+ if (result) onSuccess?.();
1065
+ return result;
1039
1066
  } finally {
1040
1067
  el.remove();
1041
1068
  }
1042
1069
  };
1043
1070
 
1071
+ // src/utils/play-copy-sound.ts
1072
+ var playCopySound = () => {
1073
+ try {
1074
+ const audioContext = new (window.AudioContext || // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access -- window.webkitAudioContext is not typed
1075
+ window.webkitAudioContext)();
1076
+ const masterGain = audioContext.createGain();
1077
+ masterGain.connect(audioContext.destination);
1078
+ const notes = [
1079
+ { freq: 523.25, start: 0, duration: 0.1 },
1080
+ { freq: 659.25, start: 0.05, duration: 0.1 },
1081
+ { freq: 783.99, start: 0.1, duration: 0.15 }
1082
+ ];
1083
+ notes.forEach((note) => {
1084
+ const oscillator = audioContext.createOscillator();
1085
+ const gainNode = audioContext.createGain();
1086
+ oscillator.connect(gainNode);
1087
+ gainNode.connect(masterGain);
1088
+ oscillator.frequency.value = note.freq;
1089
+ oscillator.type = "triangle";
1090
+ const startTime = audioContext.currentTime + note.start;
1091
+ const peakTime = startTime + 0.01;
1092
+ const endTime = startTime + note.duration;
1093
+ gainNode.gain.setValueAtTime(0, startTime);
1094
+ gainNode.gain.linearRampToValueAtTime(0.15, peakTime);
1095
+ gainNode.gain.exponentialRampToValueAtTime(0.01, endTime);
1096
+ oscillator.start(startTime);
1097
+ oscillator.stop(endTime);
1098
+ });
1099
+ } catch {
1100
+ }
1101
+ };
1102
+
1044
1103
  // src/utils/is-element-visible.ts
1045
1104
  var isElementVisible = (element, computedStyle = window.getComputedStyle(element)) => {
1046
1105
  return computedStyle.display !== "none" && computedStyle.visibility !== "hidden" && computedStyle.opacity !== "0";
@@ -1148,6 +1207,12 @@ var createElementBounds = (element) => {
1148
1207
  };
1149
1208
  };
1150
1209
 
1210
+ // src/utils/is-localhost.ts
1211
+ var isLocalhost = () => {
1212
+ const hostname = window.location.hostname;
1213
+ return hostname === "localhost" || hostname === "127.0.0.1" || hostname === "[::1]";
1214
+ };
1215
+
1151
1216
  // src/core.tsx
1152
1217
  var PROGRESS_INDICATOR_DELAY_MS = 150;
1153
1218
  var init = (rawOptions) => {
@@ -1155,6 +1220,7 @@ var init = (rawOptions) => {
1155
1220
  enabled: true,
1156
1221
  keyHoldDuration: 300,
1157
1222
  allowActivationInsideInput: true,
1223
+ playCopySound: false,
1158
1224
  ...rawOptions
1159
1225
  };
1160
1226
  if (options.enabled === false) {
@@ -1251,7 +1317,8 @@ ${context}
1251
1317
  computedStyles: element.computedStyles
1252
1318
  }))
1253
1319
  };
1254
- const base64Data = btoa(JSON.stringify(structuredData));
1320
+ const jsonString = JSON.stringify(structuredData);
1321
+ const base64Data = btoa(encodeURIComponent(jsonString).replace(/%([0-9A-F]{2})/g, (_match, p1) => String.fromCharCode(parseInt(p1, 16))));
1255
1322
  const htmlContent = `<div data-react-grab="${base64Data}"></div>`;
1256
1323
  return new Blob([htmlContent], {
1257
1324
  type: "text/html"
@@ -1298,6 +1365,8 @@ ${context}
1298
1365
  } catch {
1299
1366
  }
1300
1367
  };
1368
+ const isExtensionEnvironment = () => window.__REACT_GRAB_EXTENSION_ACTIVE__ === true || options.isExtension === true;
1369
+ const isExtensionTextOnlyMode = () => isExtensionEnvironment() && !isLocalhost();
1301
1370
  const executeCopyOperation = async (positionX, positionY, operation) => {
1302
1371
  setCopyStartX(positionX);
1303
1372
  setCopyStartY(positionY);
@@ -1308,21 +1377,49 @@ ${context}
1308
1377
  stopProgressAnimation();
1309
1378
  });
1310
1379
  };
1380
+ const hasInnerText = (element) => "innerText" in element;
1381
+ const extractElementTextContent = (element) => {
1382
+ if (hasInnerText(element)) {
1383
+ return element.innerText;
1384
+ }
1385
+ return element.textContent ?? "";
1386
+ };
1387
+ const createCombinedTextContent = (elements) => elements.map((element) => extractElementTextContent(element).trim()).filter((textContent) => textContent.length > 0).join("\n\n");
1311
1388
  const copySingleElementToClipboard = async (targetElement2) => {
1312
1389
  showTemporaryGrabbedBox(createElementBounds(targetElement2));
1313
1390
  await new Promise((resolve) => requestAnimationFrame(resolve));
1391
+ let didCopy = false;
1314
1392
  try {
1315
- const content = await getHTMLSnippet(targetElement2);
1316
- const plainTextContent = wrapInSelectedElementTags(content);
1317
- const htmlContent = createStructuredClipboardHtmlBlob([{
1318
- tagName: extractElementTagName(targetElement2),
1319
- content,
1320
- computedStyles: extractRelevantComputedStyles(targetElement2)
1321
- }]);
1322
- await copyContent([plainTextContent, htmlContent]);
1393
+ if (isExtensionTextOnlyMode()) {
1394
+ const plainTextContent = createCombinedTextContent([targetElement2]);
1395
+ if (plainTextContent.length > 0) {
1396
+ didCopy = await copyContent(plainTextContent, options.playCopySound ? playCopySound : void 0);
1397
+ }
1398
+ } else {
1399
+ const content = await getHTMLSnippet(targetElement2);
1400
+ const plainTextContent = wrapInSelectedElementTags(content);
1401
+ const htmlContent = createStructuredClipboardHtmlBlob([{
1402
+ tagName: extractElementTagName(targetElement2),
1403
+ content,
1404
+ computedStyles: extractRelevantComputedStyles(targetElement2)
1405
+ }]);
1406
+ didCopy = await copyContent([plainTextContent, htmlContent], options.playCopySound ? playCopySound : void 0);
1407
+ if (!didCopy) {
1408
+ const plainTextContentOnly = createCombinedTextContent([targetElement2]);
1409
+ if (plainTextContentOnly.length > 0) {
1410
+ didCopy = await copyContent(plainTextContentOnly, options.playCopySound ? playCopySound : void 0);
1411
+ }
1412
+ }
1413
+ }
1323
1414
  } catch {
1415
+ const plainTextContentOnly = createCombinedTextContent([targetElement2]);
1416
+ if (plainTextContentOnly.length > 0) {
1417
+ didCopy = await copyContent(plainTextContentOnly, options.playCopySound ? playCopySound : void 0);
1418
+ }
1419
+ }
1420
+ if (didCopy) {
1421
+ showTemporarySuccessLabel(extractElementLabelText(targetElement2), copyStartX(), copyStartY());
1324
1422
  }
1325
- showTemporarySuccessLabel(extractElementLabelText(targetElement2), copyStartX(), copyStartY());
1326
1423
  notifyElementsSelected([targetElement2]);
1327
1424
  };
1328
1425
  const copyMultipleElementsToClipboard = async (targetElements) => {
@@ -1331,19 +1428,43 @@ ${context}
1331
1428
  showTemporaryGrabbedBox(createElementBounds(element));
1332
1429
  }
1333
1430
  await new Promise((resolve) => requestAnimationFrame(resolve));
1431
+ let didCopy = false;
1334
1432
  try {
1335
- const elementSnippets = await Promise.all(targetElements.map((element) => getHTMLSnippet(element)));
1336
- const plainTextContent = elementSnippets.filter((snippet) => snippet.trim()).map((snippet) => wrapInSelectedElementTags(snippet)).join("\n\n");
1337
- const structuredElements = elementSnippets.map((content, index) => ({
1338
- tagName: extractElementTagName(targetElements[index]),
1339
- content,
1340
- computedStyles: extractRelevantComputedStyles(targetElements[index])
1341
- }));
1342
- const htmlContent = createStructuredClipboardHtmlBlob(structuredElements);
1343
- await copyContent([plainTextContent, htmlContent]);
1433
+ if (isExtensionTextOnlyMode()) {
1434
+ const plainTextContent = createCombinedTextContent(targetElements);
1435
+ if (plainTextContent.length > 0) {
1436
+ didCopy = await copyContent(plainTextContent, options.playCopySound ? playCopySound : void 0);
1437
+ }
1438
+ } else {
1439
+ const elementSnippetResults = await Promise.allSettled(targetElements.map((element) => getHTMLSnippet(element)));
1440
+ const elementSnippets = elementSnippetResults.map((result) => result.status === "fulfilled" ? result.value : "").filter((snippet) => snippet.trim());
1441
+ if (elementSnippets.length > 0) {
1442
+ const plainTextContent = elementSnippets.map((snippet) => wrapInSelectedElementTags(snippet)).join("\n\n");
1443
+ const structuredElements = elementSnippets.map((content, elementIndex) => ({
1444
+ tagName: extractElementTagName(targetElements[elementIndex]),
1445
+ content,
1446
+ computedStyles: extractRelevantComputedStyles(targetElements[elementIndex])
1447
+ }));
1448
+ const htmlContent = createStructuredClipboardHtmlBlob(structuredElements);
1449
+ didCopy = await copyContent([plainTextContent, htmlContent], options.playCopySound ? playCopySound : void 0);
1450
+ if (!didCopy) {
1451
+ const plainTextContentOnly = createCombinedTextContent(targetElements);
1452
+ if (plainTextContentOnly.length > 0) {
1453
+ didCopy = await copyContent(plainTextContentOnly, options.playCopySound ? playCopySound : void 0);
1454
+ }
1455
+ }
1456
+ } else {
1457
+ const plainTextContentOnly = createCombinedTextContent(targetElements);
1458
+ if (plainTextContentOnly.length > 0) {
1459
+ didCopy = await copyContent(plainTextContentOnly, options.playCopySound ? playCopySound : void 0);
1460
+ }
1461
+ }
1462
+ }
1344
1463
  } catch {
1345
1464
  }
1346
- showTemporarySuccessLabel(`${targetElements.length} elements`, copyStartX(), copyStartY());
1465
+ if (didCopy) {
1466
+ showTemporarySuccessLabel(`${targetElements.length} elements`, copyStartX(), copyStartY());
1467
+ }
1347
1468
  notifyElementsSelected(targetElements);
1348
1469
  };
1349
1470
  const targetElement = solidJs.createMemo(() => {
@@ -1718,7 +1839,11 @@ ${context}
1718
1839
  // src/index.ts
1719
1840
  var globalApi = null;
1720
1841
  var getGlobalApi = () => globalApi;
1721
- globalApi = init();
1842
+ var EXTENSION_MARKER = "__REACT_GRAB_EXTENSION_ACTIVE__";
1843
+ if (!window[EXTENSION_MARKER]) {
1844
+ globalApi = init();
1845
+ }
1722
1846
 
1723
1847
  exports.getGlobalApi = getGlobalApi;
1724
1848
  exports.init = init;
1849
+ exports.playCopySound = playCopySound;
package/dist/index.d.cts CHANGED
@@ -3,6 +3,8 @@ interface Options {
3
3
  keyHoldDuration?: number;
4
4
  allowActivationInsideInput?: boolean;
5
5
  onActivate?: () => void;
6
+ playCopySound?: boolean;
7
+ isExtension?: boolean;
6
8
  }
7
9
  interface ReactGrabAPI {
8
10
  activate: () => void;
@@ -48,8 +50,20 @@ interface ReactGrabRendererProps {
48
50
  crosshairVisible?: boolean;
49
51
  }
50
52
 
53
+ declare global {
54
+ interface Window {
55
+ __REACT_GRAB_EXTENSION_ACTIVE__?: boolean;
56
+ }
57
+ }
51
58
  declare const init: (rawOptions?: Options) => ReactGrabAPI;
52
59
 
60
+ declare const playCopySound: () => void;
61
+
62
+ declare global {
63
+ interface Window {
64
+ __REACT_GRAB_EXTENSION_ACTIVE__?: boolean;
65
+ }
66
+ }
53
67
  declare const getGlobalApi: () => ReactGrabAPI | null;
54
68
 
55
- export { type Options, type OverlayBounds, type ReactGrabAPI, type ReactGrabRendererProps, getGlobalApi, init };
69
+ export { type Options, type OverlayBounds, type ReactGrabAPI, type ReactGrabRendererProps, getGlobalApi, init, playCopySound };
package/dist/index.d.ts CHANGED
@@ -3,6 +3,8 @@ interface Options {
3
3
  keyHoldDuration?: number;
4
4
  allowActivationInsideInput?: boolean;
5
5
  onActivate?: () => void;
6
+ playCopySound?: boolean;
7
+ isExtension?: boolean;
6
8
  }
7
9
  interface ReactGrabAPI {
8
10
  activate: () => void;
@@ -48,8 +50,20 @@ interface ReactGrabRendererProps {
48
50
  crosshairVisible?: boolean;
49
51
  }
50
52
 
53
+ declare global {
54
+ interface Window {
55
+ __REACT_GRAB_EXTENSION_ACTIVE__?: boolean;
56
+ }
57
+ }
51
58
  declare const init: (rawOptions?: Options) => ReactGrabAPI;
52
59
 
60
+ declare const playCopySound: () => void;
61
+
62
+ declare global {
63
+ interface Window {
64
+ __REACT_GRAB_EXTENSION_ACTIVE__?: boolean;
65
+ }
66
+ }
53
67
  declare const getGlobalApi: () => ReactGrabAPI | null;
54
68
 
55
- export { type Options, type OverlayBounds, type ReactGrabAPI, type ReactGrabRendererProps, getGlobalApi, init };
69
+ export { type Options, type OverlayBounds, type ReactGrabAPI, type ReactGrabRendererProps, getGlobalApi, init, playCopySound };
@@ -6,25 +6,29 @@ var ReactGrab=(function(exports){'use strict';/**
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 qr=(e,t)=>e===t;var Xr=Symbol("solid-track"),at={equals:qr},Nn=$n,me=1,ze=2,On={owned:null,cleanups:null,context:null,owner:null};var L=null,p=null,Be=null,G=null,te=null,ie=null,ct=0;function Pe(e,t){let n=G,r=L,o=e.length===0,i=t===void 0?r:t,s=o?On:{owned:null,cleanups:null,context:i?i.context:null,owner:i},a=o?e:()=>e(()=>ue(()=>Oe(s)));L=s,G=null;try{return ve(a,!0)}finally{G=n,L=r;}}function k(e,t){t=t?Object.assign({},at,t):at;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},r=o=>(typeof o=="function"&&(o=o(n.value)),Fn(n,o));return [An.bind(n),r]}function fe(e,t,n){let r=It(e,t,false,me);Xe(r);}function se(e,t,n){Nn=Qr;let r=It(e,t,false,me);(r.user=true),ie?ie.push(r):Xe(r);}function U(e,t,n){n=n?Object.assign({},at,n):at;let r=It(e,t,true,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,Xe(r),An.bind(r)}function ue(e){if(G===null)return e();let t=G;G=null;try{return Be?Be.untrack(e):e()}finally{G=t;}}function _e(e,t,n){let r=Array.isArray(e),o;return s=>{let a;if(r){a=Array(e.length);for(let f=0;f<e.length;f++)a[f]=e[f]();}else a=e();let l=ue(()=>t(a,o,s));return o=a,l}}function _n(e){se(()=>ue(e));}function he(e){return L===null||(L.cleanups===null?L.cleanups=[e]:L.cleanups.push(e)),e}k(false);function An(){let e=p;if(this.sources&&(this.state))if((this.state)===me)Xe(this);else {let t=te;te=null,ve(()=>lt(this),false),te=t;}if(G){let t=this.observers?this.observers.length:0;G.sources?(G.sources.push(this),G.sourceSlots.push(t)):(G.sources=[this],G.sourceSlots=[t]),this.observers?(this.observers.push(G),this.observerSlots.push(G.sources.length-1)):(this.observers=[G],this.observerSlots=[G.sources.length-1]);}return e&&p.sources.has(this)?this.tValue:this.value}function Fn(e,t,n){let r=e.value;if(!e.comparator||!e.comparator(r,t)){e.value=t;e.observers&&e.observers.length&&ve(()=>{for(let o=0;o<e.observers.length;o+=1){let i=e.observers[o],s=p&&p.running;s&&p.disposed.has(i)||((s?!i.tState:!i.state)&&(i.pure?te.push(i):ie.push(i),i.observers&&kn(i)),s?i.tState=me:i.state=me);}if(te.length>1e6)throw te=[],new Error},false);}return t}function Xe(e){if(!e.fn)return;Oe(e);let t=ct;vn(e,e.value,t);}function vn(e,t,n){let r,o=L,i=G;G=L=e;try{r=e.fn(t);}catch(s){return e.pure&&((e.state=me,e.owned&&e.owned.forEach(Oe),e.owned=null)),e.updatedAt=n+1,Mt(s)}finally{G=i,L=o;}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&"observers"in e?Fn(e,r):e.value=r,e.updatedAt=n);}function It(e,t,n,r=me,o){let i={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:L,context:L?L.context:null,pure:n};if(L===null||L!==On&&(L.owned?L.owned.push(i):L.owned=[i]),Be);return i}function Ue(e){let t=p;if((e.state)===0)return;if((e.state)===ze)return lt(e);if(e.suspense&&ue(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<ct);){(e.state)&&n.push(e);}for(let r=n.length-1;r>=0;r--){if(e=n[r],t);if((e.state)===me)Xe(e);else if((e.state)===ze){let o=te;te=null,ve(()=>lt(e,n[0]),false),te=o;}}}function ve(e,t){if(te)return e();let n=false;t||(te=[]),ie?n=true:ie=[],ct++;try{let r=e();return Zr(n),r}catch(r){n||(ie=null),te=null,Mt(r);}}function Zr(e){if(te&&($n(te),te=null),e)return;let n=ie;ie=null,n.length&&ve(()=>Nn(n),false);}function $n(e){for(let t=0;t<e.length;t++)Ue(e[t]);}function Qr(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];r.user?e[n++]=r:Ue(r);}for(t=0;t<n;t++)Ue(e[t]);}function lt(e,t){e.state=0;for(let r=0;r<e.sources.length;r+=1){let o=e.sources[r];if(o.sources){let i=o.state;i===me?o!==t&&(!o.updatedAt||o.updatedAt<ct)&&Ue(o):i===ze&&lt(o,t);}}}function kn(e){for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];(!r.state)&&(r.state=ze,r.pure?te.push(r):ie.push(r),r.observers&&kn(r));}}function Oe(e){let t;if(e.sources)for(;e.sources.length;){let n=e.sources.pop(),r=e.sourceSlots.pop(),o=n.observers;if(o&&o.length){let i=o.pop(),s=n.observerSlots.pop();r<o.length&&(i.sourceSlots[s]=r,o[r]=i,n.observerSlots[r]=s);}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)Oe(e.tOwned[t]);delete e.tOwned;}if(e.owned){for(t=e.owned.length-1;t>=0;t--)Oe(e.owned[t]);e.owned=null;}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null;}e.state=0;}function eo(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"Unknown error",{cause:e})}function Mt(e,t=L){let r=eo(e);throw r;}var to=Symbol("fallback");function Rn(e){for(let t=0;t<e.length;t++)e[t]();}function no(e,t,n={}){let r=[],o=[],i=[],s=0,a=t.length>1?[]:null;return he(()=>Rn(i)),()=>{let l=e()||[],f=l.length,d,m;return l[Xr],ue(()=>{let C,w,E,O,N,S,$,R,P;if(f===0)s!==0&&(Rn(i),i=[],r=[],o=[],s=0,a&&(a=[])),n.fallback&&(r=[to],o[0]=Pe(z=>(i[0]=z,n.fallback())),s=1);else if(s===0){for(o=new Array(f),m=0;m<f;m++)r[m]=l[m],o[m]=Pe(x);s=f;}else {for(E=new Array(f),O=new Array(f),a&&(N=new Array(f)),S=0,$=Math.min(s,f);S<$&&r[S]===l[S];S++);for($=s-1,R=f-1;$>=S&&R>=S&&r[$]===l[R];$--,R--)E[R]=o[$],O[R]=i[$],a&&(N[R]=a[$]);for(C=new Map,w=new Array(R+1),m=R;m>=S;m--)P=l[m],d=C.get(P),w[m]=d===void 0?-1:d,C.set(P,m);for(d=S;d<=$;d++)P=r[d],m=C.get(P),m!==void 0&&m!==-1?(E[m]=o[d],O[m]=i[d],a&&(N[m]=a[d]),m=w[m],C.set(P,m)):i[d]();for(m=S;m<f;m++)m in E?(o[m]=E[m],i[m]=O[m],a&&(a[m]=N[m],a[m](m))):o[m]=Pe(x);o=o.slice(0,s=f),r=l.slice(0);}return o});function x(C){if(i[m]=C,a){let[w,E]=k(m);return a[m]=E,t(l[m],w)}return t(l[m])}}}function I(e,t){return ue(()=>e(t||{}))}var oo=e=>`Stale read from <${e}>.`;function ut(e){let t="fallback"in e&&{fallback:()=>e.fallback};return U(no(()=>e.each,e.children,t||void 0))}function J(e){let t=e.keyed,n=U(()=>e.when,void 0,void 0),r=t?n:U(n,void 0,{equals:(o,i)=>!o==!i});return U(()=>{let o=r();if(o){let i=e.children;return typeof i=="function"&&i.length>0?ue(()=>i(t?o:()=>{if(!ue(r))throw oo("Show");return n()})):i}return e.fallback},void 0,void 0)}var Ae=e=>U(()=>e());function ao(e,t,n){let r=n.length,o=t.length,i=r,s=0,a=0,l=t[o-1].nextSibling,f=null;for(;s<o||a<i;){if(t[s]===n[a]){s++,a++;continue}for(;t[o-1]===n[i-1];)o--,i--;if(o===s){let d=i<r?a?n[a-1].nextSibling:n[i-a]:l;for(;a<i;)e.insertBefore(n[a++],d);}else if(i===a)for(;s<o;)(!f||!f.has(t[s]))&&t[s].remove(),s++;else if(t[s]===n[i-1]&&n[a]===t[o-1]){let d=t[--o].nextSibling;e.insertBefore(n[a++],t[s++].nextSibling),e.insertBefore(n[--i],d),t[o]=n[i];}else {if(!f){f=new Map;let m=a;for(;m<i;)f.set(n[m],m++);}let d=f.get(t[s]);if(d!=null)if(a<d&&d<i){let m=s,x=1,C;for(;++m<o&&m<i&&!((C=f.get(t[m]))==null||C!==d+x);)x++;if(x>d-a){let w=t[s];for(;a<d;)e.insertBefore(n[a++],w);}else e.replaceChild(n[a++],t[s++]);}else s++;else t[s++].remove();}}}function Pn(e,t,n,r={}){let o;return Pe(i=>{o=i,t===document?e():Se(t,e(),t.firstChild?null:void 0,n);},r.owner),()=>{o(),t.textContent="";}}function ae(e,t,n,r){let o,i=()=>{let a=document.createElement("template");return a.innerHTML=e,a.content.firstChild},s=()=>(o||(o=i())).cloneNode(true);return s.cloneNode=s,s}function lo(e,t,n){(e.removeAttribute(t));}function dt(e,t,n){if(!t)return n?lo(e,"style"):t;let r=e.style;if(typeof t=="string")return r.cssText=t;typeof n=="string"&&(r.cssText=n=void 0),n||(n={}),t||(t={});let o,i;for(i in n)t[i]==null&&r.removeProperty(i),delete n[i];for(i in t)o=t[i],o!==n[i]&&(r.setProperty(i,o),n[i]=o);return n}function we(e,t,n){n!=null?e.style.setProperty(t,n):e.style.removeProperty(t);}function Fe(e,t,n){return ue(()=>e(t,n))}function Se(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!="function")return ft(e,t,r,n);fe(o=>ft(e,t(),o,n),r);}function ft(e,t,n,r,o){for(;typeof n=="function";)n=n();if(t===n)return n;let s=typeof t,a=r!==void 0;if(e=a&&n[0]&&n[0].parentNode||e,s==="string"||s==="number"){if(s==="number"&&(t=t.toString(),t===n))return n;if(a){let l=n[0];l&&l.nodeType===3?l.data!==t&&(l.data=t):l=document.createTextNode(t),n=je(e,n,r,l);}else n!==""&&typeof n=="string"?n=e.firstChild.data=t:n=e.textContent=t;}else if(t==null||s==="boolean"){n=je(e,n,r);}else {if(s==="function")return fe(()=>{let l=t();for(;typeof l=="function";)l=l();n=ft(e,l,n,r);}),()=>n;if(Array.isArray(t)){let l=[],f=n&&Array.isArray(n);if(Pt(l,t,n,o))return fe(()=>n=ft(e,l,n,r,true)),()=>n;if(l.length===0){if(n=je(e,n,r),a)return n}else f?n.length===0?Mn(e,l,r):ao(e,n,l):(n&&je(e),Mn(e,l));n=l;}else if(t.nodeType){if(Array.isArray(n)){if(a)return n=je(e,n,r,t);je(e,n,null,t);}else n==null||n===""||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t;}}return n}function Pt(e,t,n,r){let o=false;for(let i=0,s=t.length;i<s;i++){let a=t[i],l=n&&n[e.length],f;if(!(a==null||a===true||a===false))if((f=typeof a)=="object"&&a.nodeType)e.push(a);else if(Array.isArray(a))o=Pt(e,a,l)||o;else if(f==="function")if(r){for(;typeof a=="function";)a=a();o=Pt(e,Array.isArray(a)?a:[a],Array.isArray(l)?l:[l])||o;}else e.push(a),o=true;else {let d=String(a);l&&l.nodeType===3&&l.data===d?e.push(l):e.push(document.createTextNode(d));}}return o}function Mn(e,t,n=null){for(let r=0,o=t.length;r<o;r++)e.insertBefore(t[r],n);}function je(e,t,n,r){if(n===void 0)return e.textContent="";let o=r||document.createTextNode("");if(t.length){let i=false;for(let s=t.length-1;s>=0;s--){let a=t[s];if(o!==a){let l=a.parentNode===e;!i&&!s?l?e.replaceChild(o,a):e.insertBefore(o,n):l&&a.remove();}else i=true;}}else e.insertBefore(o,n);return [o]}var co=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"],uo=e=>!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-"),fo=e=>Array.isArray(e),mo=(e,t=false)=>{let{composed:n,target:r}=e,o,i;if(r instanceof HTMLElement&&uo(r)&&n){let a=e.composedPath()[0];a instanceof HTMLElement&&(o=a.tagName,i=a.role);}else r instanceof HTMLElement&&(o=r.tagName,i=r.role);return fo(t)?!!(o&&t&&t.some(s=>typeof o=="string"&&s.toLowerCase()===o.toLowerCase()||s===i)):!!(o&&t&&t)},Dn=e=>mo(e,co);var Ve="data-react-grab",Hn=()=>{let e=document.querySelector(`[${Ve}]`);if(e){let i=e.shadowRoot?.querySelector(`[${Ve}]`);if(i instanceof HTMLDivElement&&e.shadowRoot)return i}let t=document.createElement("div");t.setAttribute(Ve,"true"),t.style.zIndex="2147483646",t.style.position="fixed",t.style.top="0",t.style.left="0";let n=t.attachShadow({mode:"open"}),r=document.createElement("div");return r.setAttribute(Ve,"true"),n.appendChild(r),(document.body??document.documentElement).appendChild(t),r};var pe=(e,t,n)=>e+(t-e)*n;var go=ae("<div>"),mt=e=>{let[t,n]=k(e.bounds.x),[r,o]=k(e.bounds.y),[i,s]=k(e.bounds.width),[a,l]=k(e.bounds.height),[f,d]=k(1),m=false,x=null,C=null,w=e.bounds,E=false,O=()=>e.lerpFactor!==void 0?e.lerpFactor:e.variant==="drag"?.7:.95,N=()=>{if(E)return;E=true;let R=()=>{let P=pe(t(),w.x,O()),z=pe(r(),w.y,O()),K=pe(i(),w.width,O()),y=pe(a(),w.height,O());n(P),o(z),s(K),l(y),Math.abs(P-w.x)<.5&&Math.abs(z-w.y)<.5&&Math.abs(K-w.width)<.5&&Math.abs(y-w.height)<.5?(x=null,E=false):x=requestAnimationFrame(R);};x=requestAnimationFrame(R);};se(_e(()=>e.bounds,R=>{if(w=R,!m){n(w.x),o(w.y),s(w.width),l(w.height),m=true;return}N();})),se(()=>{e.variant==="grabbed"&&e.createdAt&&(C=window.setTimeout(()=>{d(0);},1500));}),he(()=>{x!==null&&(cancelAnimationFrame(x),x=null),C!==null&&(window.clearTimeout(C),C=null),E=false;});let S={position:"fixed","box-sizing":"border-box","pointer-events":e.variant==="drag"?"none":"auto","z-index":"2147483646"},$=()=>e.variant==="drag"?{border:"1px dashed rgba(210, 57, 192, 0.4)","background-color":"rgba(210, 57, 192, 0.05)","will-change":"transform, width, height",contain:"layout paint size",cursor:"crosshair"}:{border:"1px solid rgb(210, 57, 192)","background-color":"rgba(210, 57, 192, 0.2)",transition:e.variant==="grabbed"?"opacity 0.3s ease-out":void 0};return I(J,{get when(){return e.visible!==false},get children(){var R=go();return fe(P=>dt(R,{...S,...$(),top:`${r()}px`,left:`${t()}px`,width:`${i()}px`,height:`${a()}px`,"border-radius":e.bounds.borderRadius,transform:e.bounds.transform,opacity:f()},P)),R}})};var po=ae('<span style="display:inline-block;width:8px;height:8px;border:1.5px solid rgb(210, 57, 192);border-top-color:transparent;border-radius:50%;margin-right:4px;vertical-align:middle">'),Bn=e=>{let t;return _n(()=>{t&&t.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:600,easing:"linear",iterations:1/0});}),(()=>{var n=po(),r=t;return typeof r=="function"?Fe(r,n):t=n,fe(o=>dt(n,{...e.style},o)),n})()};var ht=(e,t,n,r)=>{let o=window.innerWidth,i=window.innerHeight,s=8,a=8,l=o-n-8,f=i-r-8,d=Math.max(s,Math.min(e,l)),m=Math.max(a,Math.min(t,f));return {left:d,top:m}};var bo=ae("<span style=display:inline-block;margin-right:4px;font-weight:600>\u2713"),yo=ae("<div style=margin-right:4px>Copied"),wo=ae(`<span style="font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;font-variant-numeric:tabular-nums;vertical-align:middle">`),So=ae("<span style=font-variant-numeric:tabular-nums;font-size:10px;margin-left:4px;vertical-align:middle>"),To=ae("<div style=margin-left:4px>to clipboard"),Co=ae(`<div style="position:fixed;padding:2px 6px;background-color:#fde7f7;color:#b21c8e;border:1px solid #f7c5ec;border-radius:4px;font-size:11px;font-weight:500;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;pointer-events:none;transition:opacity 0.2s ease-in-out;display:flex;align-items:center;max-width:calc(100vw - (16px + env(safe-area-inset-left) + env(safe-area-inset-right)));overflow:hidden;text-overflow:ellipsis;white-space:nowrap">`),Lt=e=>{let[t,n]=k(0),[r,o]=k(0),i,s=e.x,a=e.y,l=e.x,f=e.y,d=null,m=false,x=()=>{s=pe(s,l,.3),a=pe(a,f,.3),o($=>$+1),Math.abs(s-l)<.5&&Math.abs(a-f)<.5?d=null:d=requestAnimationFrame(x);},C=()=>{d===null&&(d=requestAnimationFrame(x));},w=()=>{if(l=e.x,f=e.y,!m){s=l,a=f,m=true,o(S=>S+1);return}C();};se(_e(()=>e.visible,S=>{if(S!==false)requestAnimationFrame(()=>{n(1);});else {n(0);return}if(e.variant==="success"){let $=setTimeout(()=>{n(0);},1700);he(()=>clearTimeout($));}})),se(()=>{w();}),he(()=>{d!==null&&(cancelAnimationFrame(d),d=null);});let E=()=>i?.getBoundingClientRect(),O=()=>{r();let S=E();if(!S)return {left:s,top:a};let $=window.innerWidth,R=window.innerHeight,P=[{left:Math.round(s)+14,top:Math.round(a)+14},{left:Math.round(s)-S.width-14,top:Math.round(a)+14},{left:Math.round(s)+14,top:Math.round(a)-S.height-14},{left:Math.round(s)-S.width-14,top:Math.round(a)-S.height-14}];for(let K of P){let y=K.left>=8&&K.left+S.width<=$-8,_=K.top>=8&&K.top+S.height<=R-8;if(y&&_)return K}let z=ht(P[0].left,P[0].top,S.width,S.height);return z.left+=4,z.top+=4,z},N=()=>{let $=e.text.indexOf(" in ");return $===-1?{primary:e.text,secondary:""}:{primary:e.text.slice(0,$),secondary:e.text.slice($)}};return I(J,{get when(){return e.visible!==false},get children(){var S=Co(),$=i;return typeof $=="function"?Fe($,S):i=S,Se(S,I(J,{get when(){return e.variant==="processing"},get children(){return I(Bn,{})}}),null),Se(S,I(J,{get when(){return e.variant==="success"},get children(){return bo()}}),null),Se(S,I(J,{get when(){return e.variant==="success"},get children(){return yo()}}),null),Se(S,I(J,{get when(){return e.variant==="processing"},children:"Grabbing\u2026"}),null),Se(S,I(J,{get when(){return e.variant!=="processing"},get children(){return [(()=>{var R=wo();return Se(R,()=>N().primary),R})(),I(J,{get when(){return Ae(()=>e.variant==="hover")()&&N().secondary!==""},get children(){var R=So();return Se(R,()=>N().secondary),R}})]}}),null),Se(S,I(J,{get when(){return e.variant==="success"},get children(){return To()}}),null),fe(R=>{var P=`${O().top}px`,z=`${O().left}px`,K=e.zIndex?.toString()??"2147483647",y=t();return P!==R.e&&we(S,"top",R.e=P),z!==R.t&&we(S,"left",R.t=z),K!==R.a&&we(S,"z-index",R.a=K),y!==R.o&&we(S,"opacity",R.o=y),R},{e:void 0,t:void 0,a:void 0,o:void 0}),S}})};var xo=ae('<div style="position:fixed;z-index:2147483647;pointer-events:none;transition:opacity 0.1s ease-in-out"><div style="width:32px;height:2px;background-color:rgba(178, 28, 142, 0.2);border-radius:1px;overflow:hidden;position:relative"><div style="height:100%;background-color:#b21c8e;border-radius:1px;transition:width 0.05s cubic-bezier(0.165, 0.84, 0.44, 1)">'),vo=e=>{let[t,n]=k(0);return se(_e(()=>e,r=>{r!==false?requestAnimationFrame(()=>{n(1);}):n(0);})),t},Vn=e=>{let t=vo(e.visible),n,r=()=>{let o=n?.getBoundingClientRect();if(!o)return {left:e.mouseX,top:e.mouseY};let i=window.innerHeight,s=e.mouseX-o.width/2,a=e.mouseY+14+o.height+8>i?e.mouseY-o.height-14:e.mouseY+14;return ht(s,a,o.width,o.height)};return I(J,{get when(){return e.visible!==false},get children(){var o=xo(),i=o.firstChild,s=i.firstChild,a=n;return typeof a=="function"?Fe(a,o):n=o,fe(l=>{var f=`${r().top}px`,d=`${r().left}px`,m=t(),x=`${Math.min(100,Math.max(0,e.progress*100))}%`;return f!==l.e&&we(o,"top",l.e=f),d!==l.t&&we(o,"left",l.t=d),m!==l.a&&we(o,"opacity",l.a=m),x!==l.o&&we(s,"width",l.o=x),l},{e:void 0,t:void 0,a:void 0,o:void 0}),o}})};var Eo=ae("<canvas style=position:fixed;top:0;left:0;pointer-events:none;z-index:2147483645>"),Yn=e=>{let t,n=null,r=0,o=0,i=1,s=e.mouseX,a=e.mouseY,l=e.mouseX,f=e.mouseY,d=null,m=false,x=()=>{t&&(i=Math.max(window.devicePixelRatio||1,2),r=window.innerWidth,o=window.innerHeight,t.width=r*i,t.height=o*i,t.style.width=`${r}px`,t.style.height=`${o}px`,n=t.getContext("2d"),n&&n.scale(i,i));},C=()=>{n&&(n.clearRect(0,0,r,o),n.strokeStyle="rgba(210, 57, 192)",n.lineWidth=1,n.beginPath(),n.moveTo(s,0),n.lineTo(s,o),n.moveTo(0,a),n.lineTo(r,a),n.stroke());},w=()=>{s=pe(s,l,.3),a=pe(a,f,.3),C(),Math.abs(s-l)<.5&&Math.abs(a-f)<.5?d=null:d=requestAnimationFrame(w);},E=()=>{d===null&&(d=requestAnimationFrame(w));},O=()=>{if(l=e.mouseX,f=e.mouseY,!m){s=l,a=f,m=true,C();return}E();};return se(()=>{x(),C();let N=()=>{x(),C();};window.addEventListener("resize",N),he(()=>{window.removeEventListener("resize",N),d!==null&&(cancelAnimationFrame(d),d=null);});}),se(()=>{O();}),I(J,{get when(){return e.visible!==false},get children(){var N=Eo(),S=t;return typeof S=="function"?Fe(S,N):t=N,N}})};var Gn=e=>[I(J,{get when(){return Ae(()=>!!e.selectionVisible)()&&e.selectionBounds},get children(){return I(mt,{variant:"selection",get bounds(){return e.selectionBounds},get visible(){return e.selectionVisible}})}}),I(J,{get when(){return Ae(()=>e.crosshairVisible===true&&e.mouseX!==void 0)()&&e.mouseY!==void 0},get children(){return I(Yn,{get mouseX(){return e.mouseX},get mouseY(){return e.mouseY},visible:true})}}),I(J,{get when(){return Ae(()=>!!e.dragVisible)()&&e.dragBounds},get children(){return I(mt,{variant:"drag",get bounds(){return e.dragBounds},get visible(){return e.dragVisible}})}}),I(ut,{get each(){return e.grabbedBoxes??[]},children:t=>I(mt,{variant:"grabbed",get bounds(){return t.bounds},get createdAt(){return t.createdAt}})}),I(ut,{get each(){return e.successLabels??[]},children:t=>I(Lt,{variant:"success",get text(){return t.text},get x(){return t.x},get y(){return t.y}})}),I(J,{get when(){return Ae(()=>!!(e.labelVisible&&e.labelVariant&&e.labelText&&e.labelX!==void 0))()&&e.labelY!==void 0},get children(){return I(Lt,{get variant(){return e.labelVariant},get text(){return e.labelText},get x(){return e.labelX},get y(){return e.labelY},get visible(){return e.labelVisible},get zIndex(){return e.labelZIndex}})}}),I(J,{get when(){return Ae(()=>!!(e.progressVisible&&e.progress!==void 0&&e.mouseX!==void 0))()&&e.mouseY!==void 0},get children(){return I(Vn,{get progress(){return e.progress},get mouseX(){return e.mouseX},get mouseY(){return e.mouseY},get visible(){return e.progressVisible}})}})];var qn="0.5.14",Ke=`bippy-${qn}`,zn=Object.defineProperty,Ro=Object.prototype.hasOwnProperty,We=()=>{},Xn=e=>{try{Function.prototype.toString.call(e).indexOf("^_^")>-1&&setTimeout(()=>{throw Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")});}catch{}},Dt=(e=Ee())=>"getFiberRoots"in e,Wn=false,Un,bt=(e=Ee())=>Wn?true:(typeof e.inject=="function"&&(Un=e.inject.toString()),!!Un?.includes("(injected)")),pt=new Set,Le=new Set,Kn=e=>{let t=new Map,n=0,r={_instrumentationIsActive:false,_instrumentationSource:Ke,checkDCE:Xn,hasUnsupportedRendererAttached:false,inject(o){let i=++n;return t.set(i,o),Le.add(o),r._instrumentationIsActive||(r._instrumentationIsActive=true,pt.forEach(s=>s())),i},on:We,onCommitFiberRoot:We,onCommitFiberUnmount:We,onPostCommitFiberRoot:We,renderers:t,supportsFiber:true,supportsFlight:true};try{zn(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!0,enumerable:!0,get(){return r},set(s){if(s&&typeof s=="object"){let a=r.renderers;r=s,a.size>0&&(a.forEach((l,f)=>{Le.add(l),s.renderers.set(f,l);}),yt(e));}}});let o=window.hasOwnProperty,i=!1;zn(window,"hasOwnProperty",{configurable:!0,value:function(...s){try{if(!i&&s[0]==="__REACT_DEVTOOLS_GLOBAL_HOOK__")return globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=void 0,i=!0,-0}catch{}return o.apply(this,s)},writable:!0});}catch{yt(e);}return r},yt=e=>{e&&pt.add(e);try{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t)return;if(!t._instrumentationSource){t.checkDCE=Xn,t.supportsFiber=!0,t.supportsFlight=!0,t.hasUnsupportedRendererAttached=!1,t._instrumentationSource=Ke,t._instrumentationIsActive=!1;let n=Dt(t);if(n||(t.on=We),t.renderers.size){t._instrumentationIsActive=!0,pt.forEach(i=>i());return}let r=t.inject,o=bt(t);o&&!n&&(Wn=!0,t.inject({scheduleRefresh(){}})&&(t._instrumentationIsActive=!0)),t.inject=i=>{let s=r(i);return Le.add(i),o&&t.renderers.set(s,i),t._instrumentationIsActive=!0,pt.forEach(a=>a()),s};}(t.renderers.size||t._instrumentationIsActive||bt())&&e?.();}catch{}},Ht=()=>Ro.call(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__"),Ee=e=>Ht()?(yt(e),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__):Kn(e),Zn=()=>!!(typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")),Bt=()=>{try{Zn()&&Ee();}catch{}};Bt();var wt=0,St=1;var Tt=5;var Ct=11,jt=13,Jn=14,xt=15,Vt=16;var Yt=19;var vt=26,Et=27,Gt=28,zt=30;var Ut=e=>{switch(e.tag){case Tt:case vt:case Et:return true;default:return typeof e.type=="string"}},De=e=>{switch(e.tag){case St:case Ct:case wt:case Jn:case xt:return true;default:return false}};function $e(e,t,n=false){return e&&t(e)instanceof Promise?Xt(e,t,n):qt(e,t,n)}var qt=(e,t,n=false)=>{if(!e)return null;if(t(e)===true)return e;let r=n?e.return:e.child;for(;r;){let o=qt(r,t,n);if(o)return o;r=n?null:r.sibling;}return null},Xt=async(e,t,n=false)=>{if(!e)return null;if(await t(e)===true)return e;let r=n?e.return:e.child;for(;r;){let o=await Xt(r,t,n);if(o)return o;r=n?null:r.sibling;}return null};var Wt=e=>{let t=e;return typeof t=="function"?t:typeof t=="object"&&t?Wt(t.type||t.render):null},ke=e=>{let t=e;if(typeof t=="string")return t;if(typeof t!="function"&&!(typeof t=="object"&&t))return null;let n=t.displayName||t.name||null;if(n)return n;let r=Wt(t);return r&&(r.displayName||r.name)||null};var Kt=e=>{let t=e.alternate;if(!t)return e;if(t.actualStartTime&&e.actualStartTime)return t.actualStartTime>e.actualStartTime?t:e;for(let n of Rt){let r=$e(n.current,o=>{if(o===e)return true});if(r)return r}return e};var Zt=e=>{let t=Ee(e.onActive);t._instrumentationSource=e.name??Ke;let n=t.onCommitFiberRoot;if(e.onCommitFiberRoot){let i=(s,a,l)=>{n!==i&&(n?.(s,a,l),e.onCommitFiberRoot?.(s,a,l));};t.onCommitFiberRoot=i;}let r=t.onCommitFiberUnmount;if(e.onCommitFiberUnmount){let i=(s,a)=>{t.onCommitFiberUnmount===i&&(r?.(s,a),e.onCommitFiberUnmount?.(s,a));};t.onCommitFiberUnmount=i;}let o=t.onPostCommitFiberRoot;if(e.onPostCommitFiberRoot){let i=(s,a)=>{t.onPostCommitFiberRoot===i&&(o?.(s,a),e.onPostCommitFiberRoot?.(s,a));};t.onPostCommitFiberRoot=i;}return t},He=e=>{let t=Ee();for(let n of t.renderers.values())try{let r=n.findFiberByHostInstance?.(e);if(r)return r}catch{}if(typeof e=="object"&&e){if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(let n in e)if(n.startsWith("__reactContainer$")||n.startsWith("__reactInternalInstance$")||n.startsWith("__reactFiber"))return e[n]||null}return null},Rt=new Set;var Mo=Object.create,sr=Object.defineProperty,Po=Object.getOwnPropertyDescriptor,Lo=Object.getOwnPropertyNames,Do=Object.getPrototypeOf,Ho=Object.prototype.hasOwnProperty,Bo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),jo=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(var o=Lo(t),i=0,s=o.length,a;i<s;i++)a=o[i],!Ho.call(e,a)&&a!==n&&sr(e,a,{get:(l=>t[l]).bind(null,a),enumerable:!(r=Po(t,a))||r.enumerable});return e},Vo=(e,t,n)=>(n=e==null?{}:Mo(Do(e)),jo(sr(n,"default",{value:e,enumerable:true}),e)),Yo=()=>{let e=Ee();for(let t of [...Array.from(Le),...Array.from(e.renderers.values())]){let n=t.currentDispatcherRef;if(n&&typeof n=="object")return "H"in n?n.H:n.current}return null},Qn=e=>{for(let t of Le){let n=t.currentDispatcherRef;n&&typeof n=="object"&&("H"in n?n.H=e:n.current=e);}},Re=e=>`
10
- in ${e}`,Go=(e,t)=>{let n=Re(e);return t&&(n+=` (at ${t})`),n},Jt=false,Qt=(e,t)=>{if(!e||Jt)return "";let n=Error.prepareStackTrace;Error.prepareStackTrace=void 0,Jt=true;let r=Yo();Qn(null);let o=console.error,i=console.warn;console.error=()=>{},console.warn=()=>{};try{let l={DetermineComponentFrameRoot(){let x;try{if(t){let C=function(){throw Error()};if(Object.defineProperty(C.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(C,[]);}catch(w){x=w;}Reflect.construct(e,[],C);}else {try{C.call();}catch(w){x=w;}e.call(C.prototype);}}else {try{throw Error()}catch(w){x=w;}let C=e();C&&typeof C.catch=="function"&&C.catch(()=>{});}}catch(C){if(C instanceof Error&&x instanceof Error&&typeof C.stack=="string")return [C.stack,x.stack]}return [null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot",Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name")?.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});let[d,m]=l.DetermineComponentFrameRoot();if(d&&m){let x=d.split(`
9
+ var no=(e,t)=>e===t;var ro=Symbol("solid-track"),ft={equals:no},$n=Dn,me=1,Ke=2,kn={owned:null,cleanups:null,context:null,owner:null};var D=null,p=null,Ge=null,z=null,te=null,ie=null,mt=0;function De(e,t){let n=z,r=D,o=e.length===0,i=t===void 0?r:t,s=o?kn:{owned:null,cleanups:null,context:i?i.context:null,owner:i},a=o?e:()=>e(()=>ue(()=>Ae(s)));D=s,z=null;try{return ve(a,!0)}finally{z=n,D=r;}}function $(e,t){t=t?Object.assign({},ft,t):ft;let n={value:e,observers:null,observerSlots:null,comparator:t.equals||void 0},r=o=>(typeof o=="function"&&(o=o(n.value)),Ln(n,o));return [Pn.bind(n),r]}function fe(e,t,n){let r=Ht(e,t,false,me);Qe(r);}function se(e,t,n){$n=lo;let r=Ht(e,t,false,me);(r.user=true),ie?ie.push(r):Qe(r);}function q(e,t,n){n=n?Object.assign({},ft,n):ft;let r=Ht(e,t,true,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,Qe(r),Pn.bind(r)}function ue(e){if(z===null)return e();let t=z;z=null;try{return Ge?Ge.untrack(e):e()}finally{z=t;}}function Fe(e,t,n){let r=Array.isArray(e),o;return s=>{let a;if(r){a=Array(e.length);for(let f=0;f<e.length;f++)a[f]=e[f]();}else a=e();let l=ue(()=>t(a,o,s));return o=a,l}}function Mn(e){se(()=>ue(e));}function he(e){return D===null||(D.cleanups===null?D.cleanups=[e]:D.cleanups.push(e)),e}$(false);function Pn(){let e=p;if(this.sources&&(this.state))if((this.state)===me)Qe(this);else {let t=te;te=null,ve(()=>dt(this),false),te=t;}if(z){let t=this.observers?this.observers.length:0;z.sources?(z.sources.push(this),z.sourceSlots.push(t)):(z.sources=[this],z.sourceSlots=[t]),this.observers?(this.observers.push(z),this.observerSlots.push(z.sources.length-1)):(this.observers=[z],this.observerSlots=[z.sources.length-1]);}return e&&p.sources.has(this)?this.tValue:this.value}function Ln(e,t,n){let r=e.value;if(!e.comparator||!e.comparator(r,t)){e.value=t;e.observers&&e.observers.length&&ve(()=>{for(let o=0;o<e.observers.length;o+=1){let i=e.observers[o],s=p&&p.running;s&&p.disposed.has(i)||((s?!i.tState:!i.state)&&(i.pure?te.push(i):ie.push(i),i.observers&&Hn(i)),s?i.tState=me:i.state=me);}if(te.length>1e6)throw te=[],new Error},false);}return t}function Qe(e){if(!e.fn)return;Ae(e);let t=mt;An(e,e.value,t);}function An(e,t,n){let r,o=D,i=z;z=D=e;try{r=e.fn(t);}catch(s){return e.pure&&((e.state=me,e.owned&&e.owned.forEach(Ae),e.owned=null)),e.updatedAt=n+1,Bt(s)}finally{z=i,D=o;}(!e.updatedAt||e.updatedAt<=n)&&(e.updatedAt!=null&&"observers"in e?Ln(e,r):e.value=r,e.updatedAt=n);}function Ht(e,t,n,r=me,o){let i={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:D,context:D?D.context:null,pure:n};if(D===null||D!==kn&&(D.owned?D.owned.push(i):D.owned=[i]),Ge);return i}function Ze(e){let t=p;if((e.state)===0)return;if((e.state)===Ke)return dt(e);if(e.suspense&&ue(e.suspense.inFallback))return e.suspense.effects.push(e);let n=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt<mt);){(e.state)&&n.push(e);}for(let r=n.length-1;r>=0;r--){if(e=n[r],t);if((e.state)===me)Qe(e);else if((e.state)===Ke){let o=te;te=null,ve(()=>dt(e,n[0]),false),te=o;}}}function ve(e,t){if(te)return e();let n=false;t||(te=[]),ie?n=true:ie=[],mt++;try{let r=e();return so(n),r}catch(r){n||(ie=null),te=null,Bt(r);}}function so(e){if(te&&(Dn(te),te=null),e)return;let n=ie;ie=null,n.length&&ve(()=>$n(n),false);}function Dn(e){for(let t=0;t<e.length;t++)Ze(e[t]);}function lo(e){let t,n=0;for(t=0;t<e.length;t++){let r=e[t];r.user?e[n++]=r:Ze(r);}for(t=0;t<n;t++)Ze(e[t]);}function dt(e,t){e.state=0;for(let r=0;r<e.sources.length;r+=1){let o=e.sources[r];if(o.sources){let i=o.state;i===me?o!==t&&(!o.updatedAt||o.updatedAt<mt)&&Ze(o):i===Ke&&dt(o,t);}}}function Hn(e){for(let n=0;n<e.observers.length;n+=1){let r=e.observers[n];(!r.state)&&(r.state=Ke,r.pure?te.push(r):ie.push(r),r.observers&&Hn(r));}}function Ae(e){let t;if(e.sources)for(;e.sources.length;){let n=e.sources.pop(),r=e.sourceSlots.pop(),o=n.observers;if(o&&o.length){let i=o.pop(),s=n.observerSlots.pop();r<o.length&&(i.sourceSlots[s]=r,o[r]=i,n.observerSlots[r]=s);}}if(e.tOwned){for(t=e.tOwned.length-1;t>=0;t--)Ae(e.tOwned[t]);delete e.tOwned;}if(e.owned){for(t=e.owned.length-1;t>=0;t--)Ae(e.owned[t]);e.owned=null;}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null;}e.state=0;}function co(e){return e instanceof Error?e:new Error(typeof e=="string"?e:"Unknown error",{cause:e})}function Bt(e,t=D){let r=co(e);throw r;}var uo=Symbol("fallback");function In(e){for(let t=0;t<e.length;t++)e[t]();}function fo(e,t,n={}){let r=[],o=[],i=[],s=0,a=t.length>1?[]:null;return he(()=>In(i)),()=>{let l=e()||[],f=l.length,d,m;return l[ro],ue(()=>{let C,T,R,_,O,S,I,N,L;if(f===0)s!==0&&(In(i),i=[],r=[],o=[],s=0,a&&(a=[])),n.fallback&&(r=[uo],o[0]=De(U=>(i[0]=U,n.fallback())),s=1);else if(s===0){for(o=new Array(f),m=0;m<f;m++)r[m]=l[m],o[m]=De(x);s=f;}else {for(R=new Array(f),_=new Array(f),a&&(O=new Array(f)),S=0,I=Math.min(s,f);S<I&&r[S]===l[S];S++);for(I=s-1,N=f-1;I>=S&&N>=S&&r[I]===l[N];I--,N--)R[N]=o[I],_[N]=i[I],a&&(O[N]=a[I]);for(C=new Map,T=new Array(N+1),m=N;m>=S;m--)L=l[m],d=C.get(L),T[m]=d===void 0?-1:d,C.set(L,m);for(d=S;d<=I;d++)L=r[d],m=C.get(L),m!==void 0&&m!==-1?(R[m]=o[d],_[m]=i[d],a&&(O[m]=a[d]),m=T[m],C.set(L,m)):i[d]();for(m=S;m<f;m++)m in R?(o[m]=R[m],i[m]=_[m],a&&(a[m]=O[m],a[m](m))):o[m]=De(x);o=o.slice(0,s=f),r=l.slice(0);}return o});function x(C){if(i[m]=C,a){let[T,R]=$(m);return a[m]=R,t(l[m],T)}return t(l[m])}}}function k(e,t){return ue(()=>e(t||{}))}var ho=e=>`Stale read from <${e}>.`;function ht(e){let t="fallback"in e&&{fallback:()=>e.fallback};return q(fo(()=>e.each,e.children,t||void 0))}function J(e){let t=e.keyed,n=q(()=>e.when,void 0,void 0),r=t?n:q(n,void 0,{equals:(o,i)=>!o==!i});return q(()=>{let o=r();if(o){let i=e.children;return typeof i=="function"&&i.length>0?ue(()=>i(t?o:()=>{if(!ue(r))throw ho("Show");return n()})):i}return e.fallback},void 0,void 0)}var Ie=e=>q(()=>e());function bo(e,t,n){let r=n.length,o=t.length,i=r,s=0,a=0,l=t[o-1].nextSibling,f=null;for(;s<o||a<i;){if(t[s]===n[a]){s++,a++;continue}for(;t[o-1]===n[i-1];)o--,i--;if(o===s){let d=i<r?a?n[a-1].nextSibling:n[i-a]:l;for(;a<i;)e.insertBefore(n[a++],d);}else if(i===a)for(;s<o;)(!f||!f.has(t[s]))&&t[s].remove(),s++;else if(t[s]===n[i-1]&&n[a]===t[o-1]){let d=t[--o].nextSibling;e.insertBefore(n[a++],t[s++].nextSibling),e.insertBefore(n[--i],d),t[o]=n[i];}else {if(!f){f=new Map;let m=a;for(;m<i;)f.set(n[m],m++);}let d=f.get(t[s]);if(d!=null)if(a<d&&d<i){let m=s,x=1,C;for(;++m<o&&m<i&&!((C=f.get(t[m]))==null||C!==d+x);)x++;if(x>d-a){let T=t[s];for(;a<d;)e.insertBefore(n[a++],T);}else e.replaceChild(n[a++],t[s++]);}else s++;else t[s++].remove();}}}function Vn(e,t,n,r={}){let o;return De(i=>{o=i,t===document?e():Te(t,e(),t.firstChild?null:void 0,n);},r.owner),()=>{o(),t.textContent="";}}function ae(e,t,n,r){let o,i=()=>{let a=document.createElement("template");return a.innerHTML=e,a.content.firstChild},s=()=>(o||(o=i())).cloneNode(true);return s.cloneNode=s,s}function yo(e,t,n){(e.removeAttribute(t));}function pt(e,t,n){if(!t)return n?yo(e,"style"):t;let r=e.style;if(typeof t=="string")return r.cssText=t;typeof n=="string"&&(r.cssText=n=void 0),n||(n={}),t||(t={});let o,i;for(i in n)t[i]==null&&r.removeProperty(i),delete n[i];for(i in t)o=t[i],o!==n[i]&&(r.setProperty(i,o),n[i]=o);return n}function we(e,t,n){n!=null?e.style.setProperty(t,n):e.style.removeProperty(t);}function $e(e,t,n){return ue(()=>e(t,n))}function Te(e,t,n,r){if(n!==void 0&&!r&&(r=[]),typeof t!="function")return gt(e,t,r,n);fe(o=>gt(e,t(),o,n),r);}function gt(e,t,n,r,o){for(;typeof n=="function";)n=n();if(t===n)return n;let s=typeof t,a=r!==void 0;if(e=a&&n[0]&&n[0].parentNode||e,s==="string"||s==="number"){if(s==="number"&&(t=t.toString(),t===n))return n;if(a){let l=n[0];l&&l.nodeType===3?l.data!==t&&(l.data=t):l=document.createTextNode(t),n=ze(e,n,r,l);}else n!==""&&typeof n=="string"?n=e.firstChild.data=t:n=e.textContent=t;}else if(t==null||s==="boolean"){n=ze(e,n,r);}else {if(s==="function")return fe(()=>{let l=t();for(;typeof l=="function";)l=l();n=gt(e,l,n,r);}),()=>n;if(Array.isArray(t)){let l=[],f=n&&Array.isArray(n);if(jt(l,t,n,o))return fe(()=>n=gt(e,l,n,r,true)),()=>n;if(l.length===0){if(n=ze(e,n,r),a)return n}else f?n.length===0?jn(e,l,r):bo(e,n,l):(n&&ze(e),jn(e,l));n=l;}else if(t.nodeType){if(Array.isArray(n)){if(a)return n=ze(e,n,r,t);ze(e,n,null,t);}else n==null||n===""||!e.firstChild?e.appendChild(t):e.replaceChild(t,e.firstChild);n=t;}}return n}function jt(e,t,n,r){let o=false;for(let i=0,s=t.length;i<s;i++){let a=t[i],l=n&&n[e.length],f;if(!(a==null||a===true||a===false))if((f=typeof a)=="object"&&a.nodeType)e.push(a);else if(Array.isArray(a))o=jt(e,a,l)||o;else if(f==="function")if(r){for(;typeof a=="function";)a=a();o=jt(e,Array.isArray(a)?a:[a],Array.isArray(l)?l:[l])||o;}else e.push(a),o=true;else {let d=String(a);l&&l.nodeType===3&&l.data===d?e.push(l):e.push(document.createTextNode(d));}}return o}function jn(e,t,n=null){for(let r=0,o=t.length;r<o;r++)e.insertBefore(t[r],n);}function ze(e,t,n,r){if(n===void 0)return e.textContent="";let o=r||document.createTextNode("");if(t.length){let i=false;for(let s=t.length-1;s>=0;s--){let a=t[s];if(o!==a){let l=a.parentNode===e;!i&&!s?l?e.replaceChild(o,a):e.insertBefore(o,n):l&&a.remove();}else i=true;}}else e.insertBefore(o,n);return [o]}var wo=["input","textarea","select","searchbox","slider","spinbutton","menuitem","menuitemcheckbox","menuitemradio","option","radio","textbox"],To=e=>!!e.tagName&&!e.tagName.startsWith("-")&&e.tagName.includes("-"),So=e=>Array.isArray(e),Co=(e,t=false)=>{let{composed:n,target:r}=e,o,i;if(r instanceof HTMLElement&&To(r)&&n){let a=e.composedPath()[0];a instanceof HTMLElement&&(o=a.tagName,i=a.role);}else r instanceof HTMLElement&&(o=r.tagName,i=r.role);return So(t)?!!(o&&t&&t.some(s=>typeof o=="string"&&s.toLowerCase()===o.toLowerCase()||s===i)):!!(o&&t&&t)},Gn=e=>Co(e,wo);var Ue="data-react-grab",zn=()=>{let e=document.querySelector(`[${Ue}]`);if(e){let i=e.shadowRoot?.querySelector(`[${Ue}]`);if(i instanceof HTMLDivElement&&e.shadowRoot)return i}let t=document.createElement("div");t.setAttribute(Ue,"true"),t.style.zIndex="2147483646",t.style.position="fixed",t.style.top="0",t.style.left="0";let n=t.attachShadow({mode:"open"}),r=document.createElement("div");return r.setAttribute(Ue,"true"),n.appendChild(r),(document.body??document.documentElement).appendChild(t),r};var pe=(e,t,n)=>e+(t-e)*n;var Eo=ae("<div>"),bt=e=>{let[t,n]=$(e.bounds.x),[r,o]=$(e.bounds.y),[i,s]=$(e.bounds.width),[a,l]=$(e.bounds.height),[f,d]=$(1),m=false,x=null,C=null,T=e.bounds,R=false,_=()=>e.lerpFactor!==void 0?e.lerpFactor:e.variant==="drag"?.7:.95,O=()=>{if(R)return;R=true;let N=()=>{let L=pe(t(),T.x,_()),U=pe(r(),T.y,_()),K=pe(i(),T.width,_()),y=pe(a(),T.height,_());n(L),o(U),s(K),l(y),Math.abs(L-T.x)<.5&&Math.abs(U-T.y)<.5&&Math.abs(K-T.width)<.5&&Math.abs(y-T.height)<.5?(x=null,R=false):x=requestAnimationFrame(N);};x=requestAnimationFrame(N);};se(Fe(()=>e.bounds,N=>{if(T=N,!m){n(T.x),o(T.y),s(T.width),l(T.height),m=true;return}O();})),se(()=>{e.variant==="grabbed"&&e.createdAt&&(C=window.setTimeout(()=>{d(0);},1500));}),he(()=>{x!==null&&(cancelAnimationFrame(x),x=null),C!==null&&(window.clearTimeout(C),C=null),R=false;});let S={position:"fixed","box-sizing":"border-box","pointer-events":e.variant==="drag"?"none":"auto","z-index":"2147483646"},I=()=>e.variant==="drag"?{border:"1px dashed rgba(210, 57, 192, 0.4)","background-color":"rgba(210, 57, 192, 0.05)","will-change":"transform, width, height",contain:"layout paint size",cursor:"crosshair"}:{border:"1px solid rgb(210, 57, 192)","background-color":"rgba(210, 57, 192, 0.2)",transition:e.variant==="grabbed"?"opacity 0.3s ease-out":void 0};return k(J,{get when(){return e.visible!==false},get children(){var N=Eo();return fe(L=>pt(N,{...S,...I(),top:`${r()}px`,left:`${t()}px`,width:`${i()}px`,height:`${a()}px`,"border-radius":e.bounds.borderRadius,transform:e.bounds.transform,opacity:f()},L)),N}})};var vo=ae('<span style="display:inline-block;width:8px;height:8px;border:1.5px solid rgb(210, 57, 192);border-top-color:transparent;border-radius:50%;margin-right:4px;vertical-align:middle">'),Un=e=>{let t;return Mn(()=>{t&&t.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:600,easing:"linear",iterations:1/0});}),(()=>{var n=vo(),r=t;return typeof r=="function"?$e(r,n):t=n,fe(o=>pt(n,{...e.style},o)),n})()};var yt=(e,t,n,r)=>{let o=window.innerWidth,i=window.innerHeight,s=8,a=8,l=o-n-8,f=i-r-8,d=Math.max(s,Math.min(e,l)),m=Math.max(a,Math.min(t,f));return {left:d,top:m}};var Ro=ae("<span style=display:inline-block;margin-right:4px;font-weight:600>\u2713"),No=ae("<div style=margin-right:4px>Copied"),Oo=ae(`<span style="font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;font-variant-numeric:tabular-nums;vertical-align:middle">`),_o=ae("<span style=font-variant-numeric:tabular-nums;font-size:10px;margin-left:4px;vertical-align:middle>"),Ao=ae("<div style=margin-left:4px>to clipboard"),Fo=ae(`<div style="position:fixed;padding:2px 6px;background-color:#fde7f7;color:#b21c8e;border:1px solid #f7c5ec;border-radius:4px;font-size:11px;font-weight:500;font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;pointer-events:none;transition:opacity 0.2s ease-in-out;display:flex;align-items:center;max-width:calc(100vw - (16px + env(safe-area-inset-left) + env(safe-area-inset-right)));overflow:hidden;text-overflow:ellipsis;white-space:nowrap">`),Vt=e=>{let[t,n]=$(0),[r,o]=$(0),i,s=e.x,a=e.y,l=e.x,f=e.y,d=null,m=false,x=()=>{s=pe(s,l,.3),a=pe(a,f,.3),o(I=>I+1),Math.abs(s-l)<.5&&Math.abs(a-f)<.5?d=null:d=requestAnimationFrame(x);},C=()=>{d===null&&(d=requestAnimationFrame(x));},T=()=>{if(l=e.x,f=e.y,!m){s=l,a=f,m=true,o(S=>S+1);return}C();};se(Fe(()=>e.visible,S=>{if(S!==false)requestAnimationFrame(()=>{n(1);});else {n(0);return}if(e.variant==="success"){let I=setTimeout(()=>{n(0);},1700);he(()=>clearTimeout(I));}})),se(()=>{T();}),he(()=>{d!==null&&(cancelAnimationFrame(d),d=null);});let R=()=>i?.getBoundingClientRect(),_=()=>{r();let S=R();if(!S)return {left:s,top:a};let I=window.innerWidth,N=window.innerHeight,L=[{left:Math.round(s)+14,top:Math.round(a)+14},{left:Math.round(s)-S.width-14,top:Math.round(a)+14},{left:Math.round(s)+14,top:Math.round(a)-S.height-14},{left:Math.round(s)-S.width-14,top:Math.round(a)-S.height-14}];for(let K of L){let y=K.left>=8&&K.left+S.width<=I-8,A=K.top>=8&&K.top+S.height<=N-8;if(y&&A)return K}let U=yt(L[0].left,L[0].top,S.width,S.height);return U.left+=4,U.top+=4,U},O=()=>{let I=e.text.indexOf(" in ");return I===-1?{primary:e.text,secondary:""}:{primary:e.text.slice(0,I),secondary:e.text.slice(I)}};return k(J,{get when(){return e.visible!==false},get children(){var S=Fo(),I=i;return typeof I=="function"?$e(I,S):i=S,Te(S,k(J,{get when(){return e.variant==="processing"},get children(){return k(Un,{})}}),null),Te(S,k(J,{get when(){return e.variant==="success"},get children(){return Ro()}}),null),Te(S,k(J,{get when(){return e.variant==="success"},get children(){return No()}}),null),Te(S,k(J,{get when(){return e.variant==="processing"},children:"Grabbing\u2026"}),null),Te(S,k(J,{get when(){return e.variant!=="processing"},get children(){return [(()=>{var N=Oo();return Te(N,()=>O().primary),N})(),k(J,{get when(){return Ie(()=>e.variant==="hover")()&&O().secondary!==""},get children(){var N=_o();return Te(N,()=>O().secondary),N}})]}}),null),Te(S,k(J,{get when(){return e.variant==="success"},get children(){return Ao()}}),null),fe(N=>{var L=`${_().top}px`,U=`${_().left}px`,K=e.zIndex?.toString()??"2147483647",y=t();return L!==N.e&&we(S,"top",N.e=L),U!==N.t&&we(S,"left",N.t=U),K!==N.a&&we(S,"z-index",N.a=K),y!==N.o&&we(S,"opacity",N.o=y),N},{e:void 0,t:void 0,a:void 0,o:void 0}),S}})};var Io=ae('<div style="position:fixed;z-index:2147483647;pointer-events:none;transition:opacity 0.1s ease-in-out"><div style="width:32px;height:2px;background-color:rgba(178, 28, 142, 0.2);border-radius:1px;overflow:hidden;position:relative"><div style="height:100%;background-color:#b21c8e;border-radius:1px;transition:width 0.05s cubic-bezier(0.165, 0.84, 0.44, 1)">'),$o=e=>{let[t,n]=$(0);return se(Fe(()=>e,r=>{r!==false?requestAnimationFrame(()=>{n(1);}):n(0);})),t},Xn=e=>{let t=$o(e.visible),n,r=()=>{let o=n?.getBoundingClientRect();if(!o)return {left:e.mouseX,top:e.mouseY};let i=window.innerHeight,s=e.mouseX-o.width/2,a=e.mouseY+14+o.height+8>i?e.mouseY-o.height-14:e.mouseY+14;return yt(s,a,o.width,o.height)};return k(J,{get when(){return e.visible!==false},get children(){var o=Io(),i=o.firstChild,s=i.firstChild,a=n;return typeof a=="function"?$e(a,o):n=o,fe(l=>{var f=`${r().top}px`,d=`${r().left}px`,m=t(),x=`${Math.min(100,Math.max(0,e.progress*100))}%`;return f!==l.e&&we(o,"top",l.e=f),d!==l.t&&we(o,"left",l.t=d),m!==l.a&&we(o,"opacity",l.a=m),x!==l.o&&we(s,"width",l.o=x),l},{e:void 0,t:void 0,a:void 0,o:void 0}),o}})};var ko=ae("<canvas style=position:fixed;top:0;left:0;pointer-events:none;z-index:2147483645>"),Wn=e=>{let t,n=null,r=0,o=0,i=1,s=e.mouseX,a=e.mouseY,l=e.mouseX,f=e.mouseY,d=null,m=false,x=()=>{t&&(i=Math.max(window.devicePixelRatio||1,2),r=window.innerWidth,o=window.innerHeight,t.width=r*i,t.height=o*i,t.style.width=`${r}px`,t.style.height=`${o}px`,n=t.getContext("2d"),n&&n.scale(i,i));},C=()=>{n&&(n.clearRect(0,0,r,o),n.strokeStyle="rgba(210, 57, 192)",n.lineWidth=1,n.beginPath(),n.moveTo(s,0),n.lineTo(s,o),n.moveTo(0,a),n.lineTo(r,a),n.stroke());},T=()=>{s=pe(s,l,.3),a=pe(a,f,.3),C(),Math.abs(s-l)<.5&&Math.abs(a-f)<.5?d=null:d=requestAnimationFrame(T);},R=()=>{d===null&&(d=requestAnimationFrame(T));},_=()=>{if(l=e.mouseX,f=e.mouseY,!m){s=l,a=f,m=true,C();return}R();};return se(()=>{x(),C();let O=()=>{x(),C();};window.addEventListener("resize",O),he(()=>{window.removeEventListener("resize",O),d!==null&&(cancelAnimationFrame(d),d=null);});}),se(()=>{_();}),k(J,{get when(){return e.visible!==false},get children(){var O=ko(),S=t;return typeof S=="function"?$e(S,O):t=O,O}})};var Kn=e=>[k(J,{get when(){return Ie(()=>!!e.selectionVisible)()&&e.selectionBounds},get children(){return k(bt,{variant:"selection",get bounds(){return e.selectionBounds},get visible(){return e.selectionVisible}})}}),k(J,{get when(){return Ie(()=>e.crosshairVisible===true&&e.mouseX!==void 0)()&&e.mouseY!==void 0},get children(){return k(Wn,{get mouseX(){return e.mouseX},get mouseY(){return e.mouseY},visible:true})}}),k(J,{get when(){return Ie(()=>!!e.dragVisible)()&&e.dragBounds},get children(){return k(bt,{variant:"drag",get bounds(){return e.dragBounds},get visible(){return e.dragVisible}})}}),k(ht,{get each(){return e.grabbedBoxes??[]},children:t=>k(bt,{variant:"grabbed",get bounds(){return t.bounds},get createdAt(){return t.createdAt}})}),k(ht,{get each(){return e.successLabels??[]},children:t=>k(Vt,{variant:"success",get text(){return t.text},get x(){return t.x},get y(){return t.y}})}),k(J,{get when(){return Ie(()=>!!(e.labelVisible&&e.labelVariant&&e.labelText&&e.labelX!==void 0))()&&e.labelY!==void 0},get children(){return k(Vt,{get variant(){return e.labelVariant},get text(){return e.labelText},get x(){return e.labelX},get y(){return e.labelY},get visible(){return e.labelVisible},get zIndex(){return e.labelZIndex}})}}),k(J,{get when(){return Ie(()=>!!(e.progressVisible&&e.progress!==void 0&&e.mouseX!==void 0))()&&e.mouseY!==void 0},get children(){return k(Xn,{get progress(){return e.progress},get mouseX(){return e.mouseX},get mouseY(){return e.mouseY},get visible(){return e.progressVisible}})}})];var Qn="0.5.14",tt=`bippy-${Qn}`,Zn=Object.defineProperty,Mo=Object.prototype.hasOwnProperty,et=()=>{},er=e=>{try{Function.prototype.toString.call(e).indexOf("^_^")>-1&&setTimeout(()=>{throw Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")});}catch{}},Yt=(e=Re())=>"getFiberRoots"in e,tr=false,Jn,St=(e=Re())=>tr?true:(typeof e.inject=="function"&&(Jn=e.inject.toString()),!!Jn?.includes("(injected)")),Tt=new Set,He=new Set,nr=e=>{let t=new Map,n=0,r={_instrumentationIsActive:false,_instrumentationSource:tt,checkDCE:er,hasUnsupportedRendererAttached:false,inject(o){let i=++n;return t.set(i,o),He.add(o),r._instrumentationIsActive||(r._instrumentationIsActive=true,Tt.forEach(s=>s())),i},on:et,onCommitFiberRoot:et,onCommitFiberUnmount:et,onPostCommitFiberRoot:et,renderers:t,supportsFiber:true,supportsFlight:true};try{Zn(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!0,enumerable:!0,get(){return r},set(s){if(s&&typeof s=="object"){let a=r.renderers;r=s,a.size>0&&(a.forEach((l,f)=>{He.add(l),s.renderers.set(f,l);}),Ct(e));}}});let o=window.hasOwnProperty,i=!1;Zn(window,"hasOwnProperty",{configurable:!0,value:function(...s){try{if(!i&&s[0]==="__REACT_DEVTOOLS_GLOBAL_HOOK__")return globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__=void 0,i=!0,-0}catch{}return o.apply(this,s)},writable:!0});}catch{Ct(e);}return r},Ct=e=>{e&&Tt.add(e);try{let t=globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!t)return;if(!t._instrumentationSource){t.checkDCE=er,t.supportsFiber=!0,t.supportsFlight=!0,t.hasUnsupportedRendererAttached=!1,t._instrumentationSource=tt,t._instrumentationIsActive=!1;let n=Yt(t);if(n||(t.on=et),t.renderers.size){t._instrumentationIsActive=!0,Tt.forEach(i=>i());return}let r=t.inject,o=St(t);o&&!n&&(tr=!0,t.inject({scheduleRefresh(){}})&&(t._instrumentationIsActive=!0)),t.inject=i=>{let s=r(i);return He.add(i),o&&t.renderers.set(s,i),t._instrumentationIsActive=!0,Tt.forEach(a=>a()),s};}(t.renderers.size||t._instrumentationIsActive||St())&&e?.();}catch{}},Gt=()=>Mo.call(globalThis,"__REACT_DEVTOOLS_GLOBAL_HOOK__"),Re=e=>Gt()?(Ct(e),globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__):nr(e),rr=()=>!!(typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")),zt=()=>{try{rr()&&Re();}catch{}};zt();var xt=0,Et=1;var vt=5;var Rt=11,Ut=13,or=14,Nt=15,qt=16;var Xt=19;var Ot=26,_t=27,Wt=28,Kt=30;var Zt=e=>{switch(e.tag){case vt:case Ot:case _t:return true;default:return typeof e.type=="string"}},Be=e=>{switch(e.tag){case Et:case Rt:case xt:case or:case Nt:return true;default:return false}};function ke(e,t,n=false){return e&&t(e)instanceof Promise?Qt(e,t,n):Jt(e,t,n)}var Jt=(e,t,n=false)=>{if(!e)return null;if(t(e)===true)return e;let r=n?e.return:e.child;for(;r;){let o=Jt(r,t,n);if(o)return o;r=n?null:r.sibling;}return null},Qt=async(e,t,n=false)=>{if(!e)return null;if(await t(e)===true)return e;let r=n?e.return:e.child;for(;r;){let o=await Qt(r,t,n);if(o)return o;r=n?null:r.sibling;}return null};var en=e=>{let t=e;return typeof t=="function"?t:typeof t=="object"&&t?en(t.type||t.render):null},Me=e=>{let t=e;if(typeof t=="string")return t;if(typeof t!="function"&&!(typeof t=="object"&&t))return null;let n=t.displayName||t.name||null;if(n)return n;let r=en(t);return r&&(r.displayName||r.name)||null};var tn=e=>{let t=e.alternate;if(!t)return e;if(t.actualStartTime&&e.actualStartTime)return t.actualStartTime>e.actualStartTime?t:e;for(let n of At){let r=ke(n.current,o=>{if(o===e)return true});if(r)return r}return e};var nn=e=>{let t=Re(e.onActive);t._instrumentationSource=e.name??tt;let n=t.onCommitFiberRoot;if(e.onCommitFiberRoot){let i=(s,a,l)=>{n!==i&&(n?.(s,a,l),e.onCommitFiberRoot?.(s,a,l));};t.onCommitFiberRoot=i;}let r=t.onCommitFiberUnmount;if(e.onCommitFiberUnmount){let i=(s,a)=>{t.onCommitFiberUnmount===i&&(r?.(s,a),e.onCommitFiberUnmount?.(s,a));};t.onCommitFiberUnmount=i;}let o=t.onPostCommitFiberRoot;if(e.onPostCommitFiberRoot){let i=(s,a)=>{t.onPostCommitFiberRoot===i&&(o?.(s,a),e.onPostCommitFiberRoot?.(s,a));};t.onPostCommitFiberRoot=i;}return t},je=e=>{let t=Re();for(let n of t.renderers.values())try{let r=n.findFiberByHostInstance?.(e);if(r)return r}catch{}if(typeof e=="object"&&e){if("_reactRootContainer"in e)return e._reactRootContainer?._internalRoot?.current?.child;for(let n in e)if(n.startsWith("__reactContainer$")||n.startsWith("__reactInternalInstance$")||n.startsWith("__reactFiber"))return e[n]||null}return null},At=new Set;var Go=Object.create,dr=Object.defineProperty,zo=Object.getOwnPropertyDescriptor,Uo=Object.getOwnPropertyNames,qo=Object.getPrototypeOf,Xo=Object.prototype.hasOwnProperty,Wo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ko=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(var o=Uo(t),i=0,s=o.length,a;i<s;i++)a=o[i],!Xo.call(e,a)&&a!==n&&dr(e,a,{get:(l=>t[l]).bind(null,a),enumerable:!(r=zo(t,a))||r.enumerable});return e},Zo=(e,t,n)=>(n=e==null?{}:Go(qo(e)),Ko(dr(n,"default",{value:e,enumerable:true}),e)),Jo=()=>{let e=Re();for(let t of [...Array.from(He),...Array.from(e.renderers.values())]){let n=t.currentDispatcherRef;if(n&&typeof n=="object")return "H"in n?n.H:n.current}return null},ir=e=>{for(let t of He){let n=t.currentDispatcherRef;n&&typeof n=="object"&&("H"in n?n.H=e:n.current=e);}},Ne=e=>`
10
+ in ${e}`,Qo=(e,t)=>{let n=Ne(e);return t&&(n+=` (at ${t})`),n},rn=false,on=(e,t)=>{if(!e||rn)return "";let n=Error.prepareStackTrace;Error.prepareStackTrace=void 0,rn=true;let r=Jo();ir(null);let o=console.error,i=console.warn;console.error=()=>{},console.warn=()=>{};try{let l={DetermineComponentFrameRoot(){let x;try{if(t){let C=function(){throw Error()};if(Object.defineProperty(C.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(C,[]);}catch(T){x=T;}Reflect.construct(e,[],C);}else {try{C.call();}catch(T){x=T;}e.call(C.prototype);}}else {try{throw Error()}catch(T){x=T;}let C=e();C&&typeof C.catch=="function"&&C.catch(()=>{});}}catch(C){if(C instanceof Error&&x instanceof Error&&typeof C.stack=="string")return [C.stack,x.stack]}return [null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot",Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name")?.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});let[d,m]=l.DetermineComponentFrameRoot();if(d&&m){let x=d.split(`
11
11
  `),C=m.split(`
12
- `),w=0,E=0;for(;w<x.length&&!x[w].includes("DetermineComponentFrameRoot");)w++;for(;E<C.length&&!C[E].includes("DetermineComponentFrameRoot");)E++;if(w===x.length||E===C.length)for(w=x.length-1,E=C.length-1;w>=1&&E>=0&&x[w]!==C[E];)E--;for(;w>=1&&E>=0;w--,E--)if(x[w]!==C[E]){if(w!==1||E!==1)do if(w--,E--,E<0||x[w]!==C[E]){let O=`
13
- ${x[w].replace(" at new "," at ")}`,N=ke(e);return N&&O.includes("<anonymous>")&&(O=O.replace("<anonymous>",N)),O}while(w>=1&&E>=0);break}}}finally{Jt=false,Error.prepareStackTrace=n,Qn(r),console.error=o,console.warn=i;}let s=e?ke(e):"";return s?Re(s):""},zo=(e,t)=>{let n=e.tag,r="";switch(n){case Gt:r=Re("Activity");break;case St:r=Qt(e.type,true);break;case Ct:r=Qt(e.type.render,false);break;case wt:case xt:r=Qt(e.type,false);break;case Tt:case vt:case Et:r=Re(e.type);break;case Vt:r=Re("Lazy");break;case jt:r=e.child!==t&&t!==null?Re("Suspense Fallback"):Re("Suspense");break;case Yt:r=Re("SuspenseList");break;case zt:r=Re("ViewTransition");break;default:return ""}return r},Uo=e=>{try{let t="",n=e,r=null;do{t+=zo(n,r);let o=n._debugInfo;if(o&&Array.isArray(o))for(let i=o.length-1;i>=0;i--){let s=o[i];typeof s.name=="string"&&(t+=Go(s.name,s.env));}r=n,n=n.return;}while(n);return t}catch(t){return t instanceof Error?`
12
+ `),T=0,R=0;for(;T<x.length&&!x[T].includes("DetermineComponentFrameRoot");)T++;for(;R<C.length&&!C[R].includes("DetermineComponentFrameRoot");)R++;if(T===x.length||R===C.length)for(T=x.length-1,R=C.length-1;T>=1&&R>=0&&x[T]!==C[R];)R--;for(;T>=1&&R>=0;T--,R--)if(x[T]!==C[R]){if(T!==1||R!==1)do if(T--,R--,R<0||x[T]!==C[R]){let _=`
13
+ ${x[T].replace(" at new "," at ")}`,O=Me(e);return O&&_.includes("<anonymous>")&&(_=_.replace("<anonymous>",O)),_}while(T>=1&&R>=0);break}}}finally{rn=false,Error.prepareStackTrace=n,ir(r),console.error=o,console.warn=i;}let s=e?Me(e):"";return s?Ne(s):""},ei=(e,t)=>{let n=e.tag,r="";switch(n){case Wt:r=Ne("Activity");break;case Et:r=on(e.type,true);break;case Rt:r=on(e.type.render,false);break;case xt:case Nt:r=on(e.type,false);break;case vt:case Ot:case _t:r=Ne(e.type);break;case qt:r=Ne("Lazy");break;case Ut:r=e.child!==t&&t!==null?Ne("Suspense Fallback"):Ne("Suspense");break;case Xt:r=Ne("SuspenseList");break;case Kt:r=Ne("ViewTransition");break;default:return ""}return r},ti=e=>{try{let t="",n=e,r=null;do{t+=ei(n,r);let o=n._debugInfo;if(o&&Array.isArray(o))for(let i=o.length-1;i>=0;i--){let s=o[i];typeof s.name=="string"&&(t+=Qo(s.name,s.env));}r=n,n=n.return;}while(n);return t}catch(t){return t instanceof Error?`
14
14
  Error generating stack: ${t.message}
15
- ${t.stack}`:""}},qo=e=>{let t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;let n=e;if(!n)return "";Error.prepareStackTrace=t,n.startsWith(`Error: react-stack-top-frame
15
+ ${t.stack}`:""}},ni=e=>{let t=Error.prepareStackTrace;Error.prepareStackTrace=void 0;let n=e;if(!n)return "";Error.prepareStackTrace=t,n.startsWith(`Error: react-stack-top-frame
16
16
  `)&&(n=n.slice(29));let r=n.indexOf(`
17
17
  `);if(r!==-1&&(n=n.slice(r+1)),r=Math.max(n.indexOf("react_stack_bottom_frame"),n.indexOf("react-stack-bottom-frame")),r!==-1&&(r=n.lastIndexOf(`
18
- `,r)),r!==-1)n=n.slice(0,r);else return "";return n},Xo=/(^|@)\S+:\d+/,ar=/^\s*at .*(\S+:\d+|\(native\))/m,Wo=/^(eval@)?(\[native code\])?$/;var lr=(e,t)=>{if(t?.includeInElement!==false){let n=e.split(`
19
- `),r=[];for(let o of n)if(/^\s*at\s+/.test(o)){let i=er(o,void 0)[0];i&&r.push(i);}else if(/^\s*in\s+/.test(o)){let i=o.replace(/^\s*in\s+/,"").replace(/\s*\(at .*\)$/,"");r.push({function:i,raw:o});}else if(o.match(Xo)){let i=tr(o,void 0)[0];i&&r.push(i);}return en(r,t)}return e.match(ar)?er(e,t):tr(e,t)},cr=e=>{if(!e.includes(":"))return [e,void 0,void 0];let t=/(.+?)(?::(\d+))?(?::(\d+))?$/,n=t.exec(e.replace(/[()]/g,""));return [n[1],n[2]||void 0,n[3]||void 0]},en=(e,t)=>t&&t.slice!=null?Array.isArray(t.slice)?e.slice(t.slice[0],t.slice[1]):e.slice(0,t.slice):e;var er=(e,t)=>en(e.split(`
20
- `).filter(r=>!!r.match(ar)),t).map(r=>{let o=r;o.includes("(eval ")&&(o=o.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));let i=o.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),s=i.match(/ (\(.+\)$)/);i=s?i.replace(s[0],""):i;let a=cr(s?s[1]:i),l=s&&i||void 0,f=["eval","<anonymous>"].includes(a[0])?void 0:a[0];return {function:l,file:f,line:a[1]?+a[1]:void 0,col:a[2]?+a[2]:void 0,raw:o}});var tr=(e,t)=>en(e.split(`
21
- `).filter(r=>!r.match(Wo)),t).map(r=>{let o=r;if(o.includes(" > eval")&&(o=o.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),!o.includes("@")&&!o.includes(":"))return {function:o};{let i=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,s=o.match(i),a=s&&s[1]?s[1]:void 0,l=cr(o.replace(i,""));return {function:a,file:l[0],line:l[1]?+l[1]:void 0,col:l[2]?+l[2]:void 0,raw:o}}});var Ko=Bo((e,t)=>{(function(n,r){typeof e=="object"&&t!==void 0?r(e):typeof define=="function"&&define.amd?define(["exports"],r):(n=typeof globalThis<"u"?globalThis:n||self,r(n.sourcemapCodec={}));})(void 0,function(n){let r=44,o=59,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=new Uint8Array(64),a=new Uint8Array(128);for(let h=0;h<i.length;h++){let g=i.charCodeAt(h);s[h]=g,a[g]=h;}function l(h,g){let c=0,b=0,v=0;do{let B=h.next();v=a[B],c|=(v&31)<<b,b+=5;}while(v&32);let M=c&1;return c>>>=1,M&&(c=-2147483648|-c),g+c}function f(h,g,c){let b=g-c;b=b<0?-b<<1|1:b<<1;do{let v=b&31;b>>>=5,b>0&&(v|=32),h.write(s[v]);}while(b>0);return g}function d(h,g){return h.pos>=g?false:h.peek()!==r}let m=1024*16,x=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(h){return Buffer.from(h.buffer,h.byteOffset,h.byteLength).toString()}}:{decode(h){let g="";for(let c=0;c<h.length;c++)g+=String.fromCharCode(h[c]);return g}};class C{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(m);}write(g){let{buffer:c}=this;c[this.pos++]=g,this.pos===m&&(this.out+=x.decode(c),this.pos=0);}flush(){let{buffer:g,out:c,pos:b}=this;return b>0?c+x.decode(g.subarray(0,b)):c}}class w{constructor(g){this.pos=0,this.buffer=g;}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(g){let{buffer:c,pos:b}=this,v=c.indexOf(g,b);return v===-1?c.length:v}}let E=[];function O(h){let{length:g}=h,c=new w(h),b=[],v=[],M=0;for(;c.pos<g;c.pos++){M=l(c,M);let B=l(c,0);if(!d(c,g)){let q=v.pop();q[2]=M,q[3]=B;continue}let D=l(c,0),Z=l(c,0),j=Z&1,V=j?[M,B,0,0,D,l(c,0)]:[M,B,0,0,D],Q=E;if(d(c,g)){Q=[];do{let q=l(c,0);Q.push(q);}while(d(c,g))}V.vars=Q,b.push(V),v.push(V);}return b}function N(h){let g=new C;for(let c=0;c<h.length;)c=S(h,c,g,[0]);return g.flush()}function S(h,g,c,b){let v=h[g],{0:M,1:B,2:D,3:Z,4:j,vars:V}=v;g>0&&c.write(r),b[0]=f(c,M,b[0]),f(c,B,0),f(c,j,0);let Q=v.length===6?1:0;f(c,Q,0),v.length===6&&f(c,v[5],0);for(let q of V)f(c,q,0);for(g++;g<h.length;){let q=h[g],{0:F,1:X}=q;if(F>D||F===D&&X>=Z)break;g=S(h,g,c,b);}return c.write(r),b[0]=f(c,D,b[0]),f(c,Z,0),g}function $(h){let{length:g}=h,c=new w(h),b=[],v=[],M=0,B=0,D=0,Z=0,j=0,V=0,Q=0,q=0;do{let F=c.indexOf(";"),X=0;for(;c.pos<F;c.pos++){if(X=l(c,X),!d(c,F)){let le=v.pop();le[2]=M,le[3]=X;continue}let re=l(c,0),de=re&1,ne=re&2,ce=re&4,Te=null,ye=E,Ce;if(de){let le=l(c,B);D=l(c,B===le?D:0),B=le,Ce=[M,X,0,0,le,D];}else Ce=[M,X,0,0];if(Ce.isScope=!!ce,ne){let le=Z,xe=j;Z=l(c,Z);let Ne=le===Z;j=l(c,Ne?j:0),V=l(c,Ne&&xe===j?V:0),Te=[Z,j,V];}if(Ce.callsite=Te,d(c,F)){ye=[];do{Q=M,q=X;let le=l(c,0),xe;if(le<-1){xe=[[l(c,0)]];for(let Ne=-1;Ne>le;Ne--){let tt=Q;Q=l(c,Q),q=l(c,Q===tt?q:0);let nt=l(c,0);xe.push([nt,Q,q]);}}else xe=[[le]];ye.push(xe);}while(d(c,F))}Ce.bindings=ye,b.push(Ce),v.push(Ce);}M++,c.pos=F+1;}while(c.pos<g);return b}function R(h){if(h.length===0)return "";let g=new C;for(let c=0;c<h.length;)c=P(h,c,g,[0,0,0,0,0,0,0]);return g.flush()}function P(h,g,c,b){let v=h[g],{0:M,1:B,2:D,3:Z,isScope:j,callsite:V,bindings:Q}=v;b[0]<M?(z(c,b[0],M),b[0]=M,b[1]=0):g>0&&c.write(r),b[1]=f(c,v[1],b[1]);let q=(v.length===6?1:0)|(V?2:0)|(j?4:0);if(f(c,q,0),v.length===6){let{4:F,5:X}=v;F!==b[2]&&(b[3]=0),b[2]=f(c,F,b[2]),b[3]=f(c,X,b[3]);}if(V){let{0:F,1:X,2:re}=v.callsite;F===b[4]?X!==b[5]&&(b[6]=0):(b[5]=0,b[6]=0),b[4]=f(c,F,b[4]),b[5]=f(c,X,b[5]),b[6]=f(c,re,b[6]);}if(Q)for(let F of Q){F.length>1&&f(c,-F.length,0);let X=F[0][0];f(c,X,0);let re=M,de=B;for(let ne=1;ne<F.length;ne++){let ce=F[ne];re=f(c,ce[1],re),de=f(c,ce[2],de),f(c,ce[0],0);}}for(g++;g<h.length;){let F=h[g],{0:X,1:re}=F;if(X>D||X===D&&re>=Z)break;g=P(h,g,c,b);}return b[0]<D?(z(c,b[0],D),b[0]=D,b[1]=0):c.write(r),b[1]=f(c,Z,b[1]),g}function z(h,g,c){do h.write(o);while(++g<c)}function K(h){let{length:g}=h,c=new w(h),b=[],v=0,M=0,B=0,D=0,Z=0;do{let j=c.indexOf(";"),V=[],Q=true,q=0;for(v=0;c.pos<j;){let F;v=l(c,v),v<q&&(Q=false),q=v,d(c,j)?(M=l(c,M),B=l(c,B),D=l(c,D),d(c,j)?(Z=l(c,Z),F=[v,M,B,D,Z]):F=[v,M,B,D]):F=[v],V.push(F),c.pos++;}Q||y(V),b.push(V),c.pos=j+1;}while(c.pos<=g);return b}function y(h){h.sort(_);}function _(h,g){return h[0]-g[0]}function H(h){let g=new C,c=0,b=0,v=0,M=0;for(let B=0;B<h.length;B++){let D=h[B];if(B>0&&g.write(o),D.length===0)continue;let Z=0;for(let j=0;j<D.length;j++){let V=D[j];j>0&&g.write(r),Z=f(g,V[0],Z),V.length!==1&&(c=f(g,V[1],c),b=f(g,V[2],b),v=f(g,V[3],v),V.length!==4&&(M=f(g,V[4],M)));}}return g.flush()}n.decode=K,n.decodeGeneratedRanges=$,n.decodeOriginalScopes=O,n.encode=H,n.encodeGeneratedRanges=R,n.encodeOriginalScopes=N,Object.defineProperty(n,"__esModule",{value:true});});}),ur=Vo(Ko()),fr=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,Zo=/^data:application\/json[^,]+base64,/,Jo=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,dr=typeof WeakRef<"u",Ze=new Map,Nt=new Map,Qo=e=>dr&&e instanceof WeakRef,nr=(e,t,n,r)=>{if(n<0||n>=e.length)return null;let o=e[n];if(!o||o.length===0)return null;let i=null;for(let d of o)if(d[0]<=r)i=d;else break;if(!i||i.length<4)return null;let[,s,a,l]=i;if(s===void 0||a===void 0||l===void 0)return null;let f=t[s];return f?{columnNumber:l,fileName:f,lineNumber:a+1}:null},ei=(e,t,n)=>{if(e.sections){let r=null;for(let s of e.sections)if(t>s.offset.line||t===s.offset.line&&n>=s.offset.column)r=s;else break;if(!r)return null;let o=t-r.offset.line,i=t===r.offset.line?n-r.offset.column:n;return nr(r.map.mappings,r.map.sources,o,i)}return nr(e.mappings,e.sources,t-1,n)},ti=(e,t)=>{let n=t.split(`
22
- `),r;for(let i=n.length-1;i>=0&&!r;i--){let s=n[i].match(Jo);s&&(r=s[1]||s[2]);}if(!r)return null;let o=fr.test(r);if(!(Zo.test(r)||o||r.startsWith("/"))){let i=e.split("/");i[i.length-1]=r,r=i.join("/");}return r},ni=e=>({file:e.file,mappings:(0, ur.decode)(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,version:3}),ri=e=>{let t=e.sections.map(({map:r,offset:o})=>({map:{...r,mappings:(0, ur.decode)(r.mappings)},offset:o})),n=new Set;for(let r of t)for(let o of r.map.sources)n.add(o);return {file:e.file,mappings:[],names:[],sections:t,sourceRoot:void 0,sources:Array.from(n),sourcesContent:void 0,version:3}},rr=e=>{if(!e)return false;let t=e.trim();if(!t)return false;let n=t.match(fr);if(!n)return true;let r=n[0].toLowerCase();return r==="http:"||r==="https:"},oi=async(e,t=fetch)=>{if(!rr(e))return null;let n;try{n=await(await t(e)).text();}catch{return null}if(!n)return null;let r=ti(e,n);if(!r||!rr(r))return null;try{let o=await t(r),i=await o.json();return "sections"in i?ri(i):ni(i)}catch{return null}},ii=async(e,t=true,n)=>{if(t&&Ze.has(e)){let i=Ze.get(e);if(i==null)return null;if(Qo(i)){let s=i.deref();if(s)return s;Ze.delete(e);}else return i}if(t&&Nt.has(e))return Nt.get(e);let r=oi(e,n);t&&Nt.set(e,r);let o=await r;return t&&Nt.delete(e),t&&(o===null?Ze.set(e,null):Ze.set(e,dr?new WeakRef(o):o)),o},or=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,si=["rsc://","file:///","webpack://","node:","turbopack://","metro://"],ir="about://React/",ai=["<anonymous>","eval",""],li=/\.(jsx|tsx|ts|js)$/,ci=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,ui=/^\?[\w~.\-]+(?:=[^&#]*)?(?:&[\w~.\-]+(?:=[^&#]*)?)*$/,fi=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack=="string",di=e=>{let t=e._debugSource;return t?typeof t=="object"&&!!t&&"fileName"in t&&typeof t.fileName=="string"&&"lineNumber"in t&&typeof t.lineNumber=="number":false},mi=async(e,t=true,n)=>{if(di(e))return e._debugSource||null;let r=mr(e);return hr(r,void 0,t,n)},mr=e=>fi(e)?qo(e._debugStack.stack):Uo(e),hi=async(e,t=true,n)=>{let r=await hr(e,1,t,n);return !r||r.length===0?null:r[0]},hr=async(e,t=1,n=true,r)=>{let o=lr(e,{slice:t??1}),i=[];for(let s of o){if(!s?.file)continue;let a=await ii(s.file,n,r);if(a&&typeof s.line=="number"&&typeof s.col=="number"){let l=ei(a,s.line,s.col);if(l){i.push(l);continue}}i.push({fileName:s.file,lineNumber:s.line,columnNumber:s.col,functionName:s.function});}return i},Ye=e=>{if(!e||ai.includes(e))return "";let t=e;if(t.startsWith(ir)){let r=t.slice(ir.length),o=r.indexOf("/"),i=r.indexOf(":");t=o!==-1&&(i===-1||o<i)?r.slice(o+1):r;}for(let r of si)if(t.startsWith(r)){t=t.slice(r.length),r==="file:///"&&(t=`/${t.replace(/^\/+/,"")}`);break}if(or.test(t)){let r=t.match(or);r&&(t=t.slice(r[0].length));}let n=t.indexOf("?");if(n!==-1){let r=t.slice(n);ui.test(r)&&(t=t.slice(0,n));}return t},tn=e=>{let t=Ye(e);return !(!t||!li.test(t)||ci.test(t))},gi=async(e,t=true,n)=>{let r=$e(e,s=>{if(De(s))return true},true);if(r){let s=await mi(r,t,n);if(s?.fileName){let a=Ye(s.fileName);if(tn(a))return {fileName:a,lineNumber:s.lineNumber,columnNumber:s.columnNumber,functionName:s.functionName}}}let o=lr(mr(e),{includeInElement:false}),i=null;for(;o.length;){let s=o.pop();if(!s||!s.raw||!s.file)continue;let a=await hi(s.raw,t,n);if(a)return {fileName:Ye(a.fileName),lineNumber:a.lineNumber,columnNumber:a.columnNumber,functionName:a.functionName};i={fileName:Ye(s.file),lineNumber:s.line,columnNumber:s.col,functionName:s.function};}return i},gr=async(e,t=true,n)=>{let r=He(e);if(!r||!Ut(r))return null;let o=Kt(r);return o?gi(o,t,n):null};var pi=new Set(["role","name","aria-label","rel","href"]);function bi(e,t){let n=pi.has(e);n||=e.startsWith("data-")&&Je(e);let r=Je(t)&&t.length<100;return r||=t.startsWith("#")&&Je(t.slice(1)),n&&r}function yi(e){return Je(e)}function wi(e){return Je(e)}function Si(e){return true}function br(e,t){if(e.nodeType!==Node.ELEMENT_NODE)throw new Error("Can't generate CSS selector for non-element node type.");if(e.tagName.toLowerCase()==="html")return "html";let n={root:document.body,idName:yi,className:wi,tagName:Si,attr:bi,timeoutMs:1e3,seedMinLength:3,optimizedMinLength:2,maxNumberOfPathChecks:1/0},r=new Date,o={...n,...t},i=Ei(o.root,n),s,a=0;for(let f of Ti(e,o,i)){if(new Date().getTime()-r.getTime()>o.timeoutMs||a>=o.maxNumberOfPathChecks){let m=xi(e,i);if(!m)throw new Error(`Timeout: Can't find a unique selector after ${o.timeoutMs}ms`);return Qe(m)}if(a++,on(f,i)){s=f;break}}if(!s)throw new Error("Selector was not found.");let l=[...Sr(s,e,o,i,r)];return l.sort(nn),l.length>0?Qe(l[0]):Qe(s)}function*Ti(e,t,n){let r=[],o=[],i=e,s=0;for(;i&&i!==n;){let a=Ci(i,t);for(let l of a)l.level=s;if(r.push(a),i=i.parentElement,s++,o.push(...wr(r)),s>=t.seedMinLength){o.sort(nn);for(let l of o)yield l;o=[];}}o.sort(nn);for(let a of o)yield a;}function Je(e){if(/^[a-z\-]{3,}$/i.test(e)){let t=e.split(/-|[A-Z]/);for(let n of t)if(n.length<=2||/[^aeiou]{4,}/i.test(n))return false;return true}return false}function Ci(e,t){let n=[],r=e.getAttribute("id");r&&t.idName(r)&&n.push({name:"#"+CSS.escape(r),penalty:0});for(let s=0;s<e.classList.length;s++){let a=e.classList[s];t.className(a)&&n.push({name:"."+CSS.escape(a),penalty:1});}for(let s=0;s<e.attributes.length;s++){let a=e.attributes[s];t.attr(a.name,a.value)&&n.push({name:`[${CSS.escape(a.name)}="${CSS.escape(a.value)}"]`,penalty:2});}let o=e.tagName.toLowerCase();if(t.tagName(o)){n.push({name:o,penalty:5});let s=rn(e,o);s!==void 0&&n.push({name:yr(o,s),penalty:10});}let i=rn(e);return i!==void 0&&n.push({name:vi(o,i),penalty:50}),n}function Qe(e){let t=e[0],n=t.name;for(let r=1;r<e.length;r++){let o=e[r].level||0;t.level===o-1?n=`${e[r].name} > ${n}`:n=`${e[r].name} ${n}`,t=e[r];}return n}function pr(e){return e.map(t=>t.penalty).reduce((t,n)=>t+n,0)}function nn(e,t){return pr(e)-pr(t)}function rn(e,t){let n=e.parentNode;if(!n)return;let r=n.firstChild;if(!r)return;let o=0;for(;r&&(r.nodeType===Node.ELEMENT_NODE&&(t===void 0||r.tagName.toLowerCase()===t)&&o++,r!==e);)r=r.nextSibling;return o}function xi(e,t){let n=0,r=e,o=[];for(;r&&r!==t;){let i=r.tagName.toLowerCase(),s=rn(r,i);if(s===void 0)return;o.push({name:yr(i,s),penalty:NaN,level:n}),r=r.parentElement,n++;}if(on(o,t))return o}function vi(e,t){return e==="html"?"html":`${e}:nth-child(${t})`}function yr(e,t){return e==="html"?"html":`${e}:nth-of-type(${t})`}function*wr(e,t=[]){if(e.length>0)for(let n of e[0])yield*wr(e.slice(1,e.length),t.concat(n));else yield t;}function Ei(e,t){return e.nodeType===Node.DOCUMENT_NODE?e:e===t.root?e.ownerDocument:e}function on(e,t){let n=Qe(e);switch(t.querySelectorAll(n).length){case 0:throw new Error(`Can't select any node with this selector: ${n}`);case 1:return true;default:return false}}function*Sr(e,t,n,r,o){if(e.length>2&&e.length>n.optimizedMinLength)for(let i=1;i<e.length-1;i++){if(new Date().getTime()-o.getTime()>n.timeoutMs)return;let a=[...e];a.splice(i,1),on(a,r)&&r.querySelector(Qe(a))===t&&(yield a,yield*Sr(a,t,n,r,o));}}var Ot=e=>e.length>0&&/^[A-Z]/.test(e);Zt({onCommitFiberRoot(e,t){Rt.add(t);}});var Ri=e=>br(e),_t=(e,t)=>e.length>t?`${e.substring(0,t)}...`:e,Ni=e=>!Ot(e)||e.startsWith("_")||e.includes("Provider")&&e.includes("Context"),Tr=e=>{let t=He(e);if(!t)return null;let n=null;return $e(t,r=>{if(De(r)){let o=ke(r);if(o&&!Ni(o))return n=o,true}return false},true),n},Cr=async e=>{let t=await gr(e);if(!t)return null;let n=Ye(t.fileName);return tn(n)?`${n}:${t.lineNumber}:${t.columnNumber}`:null},sn=async e=>{let t=new Set(["article","aside","footer","form","header","main","nav","section"]),n=y=>{let _=y.tagName.toLowerCase();if(t.has(_)||y.id)return true;if(y.className&&typeof y.className=="string"){let H=y.className.trim();if(H&&H.length>0)return true}return Array.from(y.attributes).some(H=>H.name.startsWith("data-"))},r=(y,_=10)=>{let H=[],h=y.parentElement,g=0;for(;h&&g<_&&h.tagName!=="BODY"&&!(n(h)&&(H.push(h),H.length>=3));)h=h.parentElement,g++;return H.reverse()},o=(y,_=false)=>{let H=y.tagName.toLowerCase(),h=[];if(y.id&&h.push(`id="${y.id}"`),y.className&&typeof y.className=="string"){let v=y.className.trim().split(/\s+/);if(v.length>0&&v[0]){let M=_?v.slice(0,3):v,B=_t(M.join(" "),30);h.push(`class="${B}"`);}}let g=Array.from(y.attributes).filter(v=>v.name.startsWith("data-")),c=_?g.slice(0,1):g;for(let v of c)h.push(`${v.name}="${_t(v.value,20)}"`);let b=y.getAttribute("aria-label");return b&&!_&&h.push(`aria-label="${_t(b,20)}"`),h.length>0?`<${H} ${h.join(" ")}>`:`<${H}>`},i=y=>`</${y.tagName.toLowerCase()}>`,s=y=>{let _=(y.textContent||"").trim().replace(/\s+/g," ");return _t(_,60)},a=y=>{if(y.id)return `#${y.id}`;if(y.className&&typeof y.className=="string"){let _=y.className.trim().split(/\s+/);if(_.length>0&&_[0])return `.${_[0]}`}return null},l=[],f=Ri(e);l.push(`- selector: ${f}`);let d=e.getBoundingClientRect();l.push(`- width: ${Math.round(d.width)}`),l.push(`- height: ${Math.round(d.height)}`),l.push("HTML snippet:"),l.push("```html");let m=r(e),x=m.map(y=>Tr(y)),C=Tr(e),w=await Promise.all(m.map(y=>Cr(y))),E=await Cr(e);for(let y=0;y<m.length;y++){let _=" ".repeat(y),H=x[y],h=w[y];H&&h&&(y===0||x[y-1]!==H)&&l.push(`${_}<${H} source="${h}">`),l.push(`${_}${o(m[y],true)}`);}let O=e.parentElement,N=-1;if(O){let y=Array.from(O.children);if(N=y.indexOf(e),N>0){let _=y[N-1];if(a(_)&&N<=2){let h=" ".repeat(m.length);l.push(`${h} ${o(_,true)}`),l.push(`${h} </${_.tagName.toLowerCase()}>`);}else if(N>0){let h=" ".repeat(m.length);l.push(`${h} ... (${N} element${N===1?"":"s"})`);}}}let S=" ".repeat(m.length),$=m.length>0?x[x.length-1]:null,R=C&&E&&C!==$;R&&l.push(`${S} <${C} used-at="${E}">`),l.push(`${S} <!-- IMPORTANT: selected element -->`);let P=s(e),z=e.children.length,K=`${S}${R?" ":" "}`;if(P&&z===0&&P.length<40?l.push(`${K}${o(e)}${P}${i(e)}`):(l.push(`${K}${o(e)}`),P&&l.push(`${K} ${P}`),z>0&&l.push(`${K} ... (${z} element${z===1?"":"s"})`),l.push(`${K}${i(e)}`)),R&&l.push(`${S} </${C}>`),O&&N>=0){let y=Array.from(O.children),_=y.length-N-1;if(_>0){let H=y[N+1];a(H)&&_<=2?(l.push(`${S} ${o(H,true)}`),l.push(`${S} </${H.tagName.toLowerCase()}>`)):l.push(`${S} ... (${_} element${_===1?"":"s"})`);}}for(let y=m.length-1;y>=0;y--){let _=" ".repeat(y);l.push(`${_}${i(m[y])}`);let H=x[y],h=w[y];H&&h&&(y===m.length-1||x[y+1]!==H)&&l.push(`${_}</${H}>`);}return l.push("```"),l.join(`
23
- `)};var Oi=()=>document.hasFocus()?new Promise(e=>setTimeout(e,50)):new Promise(e=>{let t=()=>{window.removeEventListener("focus",t),setTimeout(e,50);};window.addEventListener("focus",t),window.focus();}),an=async e=>{await Oi();try{if(Array.isArray(e)){if(!navigator?.clipboard?.write){for(let n of e)if(typeof n=="string"){let r=xr(n);if(!r)return r}return !0}let t=new Map;for(let n of e)if(n instanceof Blob){let r=n.type||"text/plain";t.has(r)||t.set(r,n);}else t.has("text/plain")||t.set("text/plain",new Blob([n],{type:"text/plain"}));return await navigator.clipboard.write([new ClipboardItem(Object.fromEntries(t))]),!0}else {if(e instanceof Blob)return await navigator.clipboard.write([new ClipboardItem({[e.type]:e})]),!0;try{return await navigator.clipboard.writeText(String(e)),!0}catch{return xr(e)}}}catch{return false}},xr=e=>{if(!document.execCommand)return false;let t=document.createElement("textarea");t.value=String(e),t.style.clipPath="inset(50%)",t.ariaHidden="true",(document.body||document.documentElement).append(t);try{return t.select(),document.execCommand("copy")}finally{t.remove();}};var vr=(e,t=window.getComputedStyle(e))=>t.display!=="none"&&t.visibility!=="hidden"&&t.opacity!=="0";var et=e=>{if(e.closest(`[${Ve}]`))return false;let t=window.getComputedStyle(e);return !(!vr(e,t)||t.pointerEvents==="none")};var ln=(e,t)=>{let n=document.elementsFromPoint(e,t);for(let r of n)if(et(r))return r;return null};var Er=(e,t,n)=>{let r=[],o=Array.from(document.querySelectorAll("*")),i=e.x,s=e.y,a=e.x+e.width,l=e.y+e.height;for(let f of o){if(!n){let E=(f.tagName||"").toUpperCase();if(E==="HTML"||E==="BODY")continue}if(!t(f))continue;let d=f.getBoundingClientRect(),m=d.left,x=d.top,C=d.left+d.width,w=d.top+d.height;if(n){let E=Math.max(i,m),O=Math.max(s,x),N=Math.min(a,C),S=Math.min(l,w),$=Math.max(0,N-E),R=Math.max(0,S-O),P=$*R,z=Math.max(0,d.width*d.height);z>0&&P/z>=.75&&r.push(f);}else m<a&&C>i&&x<l&&w>s&&r.push(f);}return r},Rr=e=>e.filter(t=>!e.some(n=>n!==t&&n.contains(t)));var Nr=(e,t)=>{let n=Er(e,t,true);return Rr(n)},Or=(e,t)=>{let n=Er(e,t,false);return Rr(n)};var cn=e=>{let t=e.getBoundingClientRect(),n=window.getComputedStyle(e);return {borderRadius:n.borderRadius||"0px",height:t.height,transform:n.transform||"none",width:t.width,x:t.left,y:t.top}};var _i=150,_r=e=>{let t={enabled:true,keyHoldDuration:300,allowActivationInsideInput:true,...e};return t.enabled===false?{activate:()=>{},deactivate:()=>{},toggle:()=>{},isActive:()=>false,dispose:()=>{}}:Pe(n=>{let[o,i]=k(false),[s,a]=k(-1e3),[l,f]=k(-1e3),[d,m]=k(false),[x,C]=k(-1e3),[w,E]=k(-1e3),[O,N]=k(false),[S,$]=k(null),[R,P]=k(null),[z,K]=k(0),[y,_]=k([]),[H,h]=k([]),[g,c]=k(false),[b,v]=k(false),[M,B]=k(false),[D,Z]=k(-1e3),[j,V]=k(-1e3),[Q,q]=k(false),F=null,X=null,re=null,de=null,ne=null,ce=-1e3,Te=-1e3,ye=U(()=>g()&&!O()),Ce=U(()=>s()>-1e3&&l()>-1e3),le=u=>(u.metaKey||u.ctrlKey)&&u.key.toLowerCase()==="c",xe=u=>{let T=`grabbed-${Date.now()}-${Math.random()}`,A=Date.now(),Y={id:T,bounds:u,createdAt:A},W=y();_([...W,Y]),setTimeout(()=>{_(oe=>oe.filter(st=>st.id!==T));},1700);},Ne=(u,T,A)=>{let Y=`success-${Date.now()}-${Math.random()}`;h(W=>[...W,{id:Y,text:u,x:T,y:A}]),setTimeout(()=>{h(W=>W.filter(oe=>oe.id!==Y));},1700);},tt=u=>`<selected_element>
24
- ${u}
25
- </selected_element>`,nt=u=>{let T=window.getComputedStyle(u),A=u.getBoundingClientRect();return {width:`${Math.round(A.width)}px`,height:`${Math.round(A.height)}px`,paddingTop:T.paddingTop,paddingRight:T.paddingRight,paddingBottom:T.paddingBottom,paddingLeft:T.paddingLeft,background:T.background,opacity:T.opacity}},un=u=>{let T={elements:u.map(W=>({tagName:W.tagName,content:W.content,computedStyles:W.computedStyles}))},Y=`<div data-react-grab="${btoa(JSON.stringify(T))}"></div>`;return new Blob([Y],{type:"text/html"})},rt=u=>(u.tagName||"").toLowerCase(),Fr=u=>{let T=He(u);if(!T)return null;let A=null;return $e(T,Y=>{if(De(Y)){let W=ke(Y);if(W&&Ot(W)&&!W.startsWith("_"))return A=W,true}return false},true),A},fn=u=>{let T=rt(u),A=Fr(u);return T&&A?`<${T}> in ${A}`:T?`<${T}>`:"<element>"},dn=u=>{try{let T=u.map(A=>({tagName:rt(A)}));window.dispatchEvent(new CustomEvent("react-grab:element-selected",{detail:{elements:T}}));}catch{}},At=async(u,T,A)=>{Z(u),V(T),N(true),Lr(),await A().finally(()=>{N(false),it();});},$r=async u=>{xe(cn(u)),await new Promise(T=>requestAnimationFrame(T));try{let T=await sn(u),A=tt(T),Y=un([{tagName:rt(u),content:T,computedStyles:nt(u)}]);await an([A,Y]);}catch{}Ne(fn(u),D(),j()),dn([u]);},mn=async u=>{if(u.length!==0){for(let T of u)xe(cn(T));await new Promise(T=>requestAnimationFrame(T));try{let T=await Promise.all(u.map(oe=>sn(oe))),A=T.filter(oe=>oe.trim()).map(oe=>tt(oe)).join(`
18
+ `,r)),r!==-1)n=n.slice(0,r);else return "";return n},ri=/(^|@)\S+:\d+/,mr=/^\s*at .*(\S+:\d+|\(native\))/m,oi=/^(eval@)?(\[native code\])?$/;var hr=(e,t)=>{if(t?.includeInElement!==false){let n=e.split(`
19
+ `),r=[];for(let o of n)if(/^\s*at\s+/.test(o)){let i=sr(o,void 0)[0];i&&r.push(i);}else if(/^\s*in\s+/.test(o)){let i=o.replace(/^\s*in\s+/,"").replace(/\s*\(at .*\)$/,"");r.push({function:i,raw:o});}else if(o.match(ri)){let i=ar(o,void 0)[0];i&&r.push(i);}return sn(r,t)}return e.match(mr)?sr(e,t):ar(e,t)},gr=e=>{if(!e.includes(":"))return [e,void 0,void 0];let t=/(.+?)(?::(\d+))?(?::(\d+))?$/,n=t.exec(e.replace(/[()]/g,""));return [n[1],n[2]||void 0,n[3]||void 0]},sn=(e,t)=>t&&t.slice!=null?Array.isArray(t.slice)?e.slice(t.slice[0],t.slice[1]):e.slice(0,t.slice):e;var sr=(e,t)=>sn(e.split(`
20
+ `).filter(r=>!!r.match(mr)),t).map(r=>{let o=r;o.includes("(eval ")&&(o=o.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));let i=o.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),s=i.match(/ (\(.+\)$)/);i=s?i.replace(s[0],""):i;let a=gr(s?s[1]:i),l=s&&i||void 0,f=["eval","<anonymous>"].includes(a[0])?void 0:a[0];return {function:l,file:f,line:a[1]?+a[1]:void 0,col:a[2]?+a[2]:void 0,raw:o}});var ar=(e,t)=>sn(e.split(`
21
+ `).filter(r=>!r.match(oi)),t).map(r=>{let o=r;if(o.includes(" > eval")&&(o=o.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),!o.includes("@")&&!o.includes(":"))return {function:o};{let i=/(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/,s=o.match(i),a=s&&s[1]?s[1]:void 0,l=gr(o.replace(i,""));return {function:a,file:l[0],line:l[1]?+l[1]:void 0,col:l[2]?+l[2]:void 0,raw:o}}});var ii=Wo((e,t)=>{(function(n,r){typeof e=="object"&&t!==void 0?r(e):typeof define=="function"&&define.amd?define(["exports"],r):(n=typeof globalThis<"u"?globalThis:n||self,r(n.sourcemapCodec={}));})(void 0,function(n){let r=44,o=59,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=new Uint8Array(64),a=new Uint8Array(128);for(let h=0;h<i.length;h++){let g=i.charCodeAt(h);s[h]=g,a[g]=h;}function l(h,g){let u=0,b=0,E=0;do{let j=h.next();E=a[j],u|=(E&31)<<b,b+=5;}while(E&32);let M=u&1;return u>>>=1,M&&(u=-2147483648|-u),g+u}function f(h,g,u){let b=g-u;b=b<0?-b<<1|1:b<<1;do{let E=b&31;b>>>=5,b>0&&(E|=32),h.write(s[E]);}while(b>0);return g}function d(h,g){return h.pos>=g?false:h.peek()!==r}let m=1024*16,x=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(h){return Buffer.from(h.buffer,h.byteOffset,h.byteLength).toString()}}:{decode(h){let g="";for(let u=0;u<h.length;u++)g+=String.fromCharCode(h[u]);return g}};class C{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(m);}write(g){let{buffer:u}=this;u[this.pos++]=g,this.pos===m&&(this.out+=x.decode(u),this.pos=0);}flush(){let{buffer:g,out:u,pos:b}=this;return b>0?u+x.decode(g.subarray(0,b)):u}}class T{constructor(g){this.pos=0,this.buffer=g;}next(){return this.buffer.charCodeAt(this.pos++)}peek(){return this.buffer.charCodeAt(this.pos)}indexOf(g){let{buffer:u,pos:b}=this,E=u.indexOf(g,b);return E===-1?u.length:E}}let R=[];function _(h){let{length:g}=h,u=new T(h),b=[],E=[],M=0;for(;u.pos<g;u.pos++){M=l(u,M);let j=l(u,0);if(!d(u,g)){let X=E.pop();X[2]=M,X[3]=j;continue}let H=l(u,0),Z=l(u,0),V=Z&1,Y=V?[M,j,0,0,H,l(u,0)]:[M,j,0,0,H],Q=R;if(d(u,g)){Q=[];do{let X=l(u,0);Q.push(X);}while(d(u,g))}Y.vars=Q,b.push(Y),E.push(Y);}return b}function O(h){let g=new C;for(let u=0;u<h.length;)u=S(h,u,g,[0]);return g.flush()}function S(h,g,u,b){let E=h[g],{0:M,1:j,2:H,3:Z,4:V,vars:Y}=E;g>0&&u.write(r),b[0]=f(u,M,b[0]),f(u,j,0),f(u,V,0);let Q=E.length===6?1:0;f(u,Q,0),E.length===6&&f(u,E[5],0);for(let X of Y)f(u,X,0);for(g++;g<h.length;){let X=h[g],{0:F,1:W}=X;if(F>H||F===H&&W>=Z)break;g=S(h,g,u,b);}return u.write(r),b[0]=f(u,H,b[0]),f(u,Z,0),g}function I(h){let{length:g}=h,u=new T(h),b=[],E=[],M=0,j=0,H=0,Z=0,V=0,Y=0,Q=0,X=0;do{let F=u.indexOf(";"),W=0;for(;u.pos<F;u.pos++){if(W=l(u,W),!d(u,F)){let le=E.pop();le[2]=M,le[3]=W;continue}let oe=l(u,0),de=oe&1,ne=oe&2,ce=oe&4,Ce=null,ye=R,xe;if(de){let le=l(u,j);H=l(u,j===le?H:0),j=le,xe=[M,W,0,0,le,H];}else xe=[M,W,0,0];if(xe.isScope=!!ce,ne){let le=Z,Ee=V;Z=l(u,Z);let _e=le===Z;V=l(u,_e?V:0),Y=l(u,_e&&Ee===V?Y:0),Ce=[Z,V,Y];}if(xe.callsite=Ce,d(u,F)){ye=[];do{Q=M,X=W;let le=l(u,0),Ee;if(le<-1){Ee=[[l(u,0)]];for(let _e=-1;_e>le;_e--){let st=Q;Q=l(u,Q),X=l(u,Q===st?X:0);let at=l(u,0);Ee.push([at,Q,X]);}}else Ee=[[le]];ye.push(Ee);}while(d(u,F))}xe.bindings=ye,b.push(xe),E.push(xe);}M++,u.pos=F+1;}while(u.pos<g);return b}function N(h){if(h.length===0)return "";let g=new C;for(let u=0;u<h.length;)u=L(h,u,g,[0,0,0,0,0,0,0]);return g.flush()}function L(h,g,u,b){let E=h[g],{0:M,1:j,2:H,3:Z,isScope:V,callsite:Y,bindings:Q}=E;b[0]<M?(U(u,b[0],M),b[0]=M,b[1]=0):g>0&&u.write(r),b[1]=f(u,E[1],b[1]);let X=(E.length===6?1:0)|(Y?2:0)|(V?4:0);if(f(u,X,0),E.length===6){let{4:F,5:W}=E;F!==b[2]&&(b[3]=0),b[2]=f(u,F,b[2]),b[3]=f(u,W,b[3]);}if(Y){let{0:F,1:W,2:oe}=E.callsite;F===b[4]?W!==b[5]&&(b[6]=0):(b[5]=0,b[6]=0),b[4]=f(u,F,b[4]),b[5]=f(u,W,b[5]),b[6]=f(u,oe,b[6]);}if(Q)for(let F of Q){F.length>1&&f(u,-F.length,0);let W=F[0][0];f(u,W,0);let oe=M,de=j;for(let ne=1;ne<F.length;ne++){let ce=F[ne];oe=f(u,ce[1],oe),de=f(u,ce[2],de),f(u,ce[0],0);}}for(g++;g<h.length;){let F=h[g],{0:W,1:oe}=F;if(W>H||W===H&&oe>=Z)break;g=L(h,g,u,b);}return b[0]<H?(U(u,b[0],H),b[0]=H,b[1]=0):u.write(r),b[1]=f(u,Z,b[1]),g}function U(h,g,u){do h.write(o);while(++g<u)}function K(h){let{length:g}=h,u=new T(h),b=[],E=0,M=0,j=0,H=0,Z=0;do{let V=u.indexOf(";"),Y=[],Q=true,X=0;for(E=0;u.pos<V;){let F;E=l(u,E),E<X&&(Q=false),X=E,d(u,V)?(M=l(u,M),j=l(u,j),H=l(u,H),d(u,V)?(Z=l(u,Z),F=[E,M,j,H,Z]):F=[E,M,j,H]):F=[E],Y.push(F),u.pos++;}Q||y(Y),b.push(Y),u.pos=V+1;}while(u.pos<=g);return b}function y(h){h.sort(A);}function A(h,g){return h[0]-g[0]}function B(h){let g=new C,u=0,b=0,E=0,M=0;for(let j=0;j<h.length;j++){let H=h[j];if(j>0&&g.write(o),H.length===0)continue;let Z=0;for(let V=0;V<H.length;V++){let Y=H[V];V>0&&g.write(r),Z=f(g,Y[0],Z),Y.length!==1&&(u=f(g,Y[1],u),b=f(g,Y[2],b),E=f(g,Y[3],E),Y.length!==4&&(M=f(g,Y[4],M)));}}return g.flush()}n.decode=K,n.decodeGeneratedRanges=I,n.decodeOriginalScopes=_,n.encode=B,n.encodeGeneratedRanges=N,n.encodeOriginalScopes=O,Object.defineProperty(n,"__esModule",{value:true});});}),pr=Zo(ii()),br=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,si=/^data:application\/json[^,]+base64,/,ai=/(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/,yr=typeof WeakRef<"u",nt=new Map,Ft=new Map,li=e=>yr&&e instanceof WeakRef,lr=(e,t,n,r)=>{if(n<0||n>=e.length)return null;let o=e[n];if(!o||o.length===0)return null;let i=null;for(let d of o)if(d[0]<=r)i=d;else break;if(!i||i.length<4)return null;let[,s,a,l]=i;if(s===void 0||a===void 0||l===void 0)return null;let f=t[s];return f?{columnNumber:l,fileName:f,lineNumber:a+1}:null},ci=(e,t,n)=>{if(e.sections){let r=null;for(let s of e.sections)if(t>s.offset.line||t===s.offset.line&&n>=s.offset.column)r=s;else break;if(!r)return null;let o=t-r.offset.line,i=t===r.offset.line?n-r.offset.column:n;return lr(r.map.mappings,r.map.sources,o,i)}return lr(e.mappings,e.sources,t-1,n)},ui=(e,t)=>{let n=t.split(`
22
+ `),r;for(let i=n.length-1;i>=0&&!r;i--){let s=n[i].match(ai);s&&(r=s[1]||s[2]);}if(!r)return null;let o=br.test(r);if(!(si.test(r)||o||r.startsWith("/"))){let i=e.split("/");i[i.length-1]=r,r=i.join("/");}return r},fi=e=>({file:e.file,mappings:(0, pr.decode)(e.mappings),names:e.names,sourceRoot:e.sourceRoot,sources:e.sources,sourcesContent:e.sourcesContent,version:3}),di=e=>{let t=e.sections.map(({map:r,offset:o})=>({map:{...r,mappings:(0, pr.decode)(r.mappings)},offset:o})),n=new Set;for(let r of t)for(let o of r.map.sources)n.add(o);return {file:e.file,mappings:[],names:[],sections:t,sourceRoot:void 0,sources:Array.from(n),sourcesContent:void 0,version:3}},cr=e=>{if(!e)return false;let t=e.trim();if(!t)return false;let n=t.match(br);if(!n)return true;let r=n[0].toLowerCase();return r==="http:"||r==="https:"},mi=async(e,t=fetch)=>{if(!cr(e))return null;let n;try{n=await(await t(e)).text();}catch{return null}if(!n)return null;let r=ui(e,n);if(!r||!cr(r))return null;try{let o=await t(r),i=await o.json();return "sections"in i?di(i):fi(i)}catch{return null}},hi=async(e,t=true,n)=>{if(t&&nt.has(e)){let i=nt.get(e);if(i==null)return null;if(li(i)){let s=i.deref();if(s)return s;nt.delete(e);}else return i}if(t&&Ft.has(e))return Ft.get(e);let r=mi(e,n);t&&Ft.set(e,r);let o=await r;return t&&Ft.delete(e),t&&(o===null?nt.set(e,null):nt.set(e,yr?new WeakRef(o):o)),o},ur=/^[a-zA-Z][a-zA-Z\d+\-.]*:/,gi=["rsc://","file:///","webpack://","node:","turbopack://","metro://"],fr="about://React/",pi=["<anonymous>","eval",""],bi=/\.(jsx|tsx|ts|js)$/,yi=/(\.min|bundle|chunk|vendor|vendors|runtime|polyfill|polyfills)\.(js|mjs|cjs)$|(chunk|bundle|vendor|vendors|runtime|polyfill|polyfills|framework|app|main|index)[-_.][A-Za-z0-9_-]{4,}\.(js|mjs|cjs)$|[\da-f]{8,}\.(js|mjs|cjs)$|[-_.][\da-f]{20,}\.(js|mjs|cjs)$|\/dist\/|\/build\/|\/.next\/|\/out\/|\/node_modules\/|\.webpack\.|\.vite\.|\.turbopack\./i,wi=/^\?[\w~.\-]+(?:=[^&#]*)?(?:&[\w~.\-]+(?:=[^&#]*)?)*$/,Ti=e=>e._debugStack instanceof Error&&typeof e._debugStack?.stack=="string",Si=e=>{let t=e._debugSource;return t?typeof t=="object"&&!!t&&"fileName"in t&&typeof t.fileName=="string"&&"lineNumber"in t&&typeof t.lineNumber=="number":false},Ci=async(e,t=true,n)=>{if(Si(e))return e._debugSource||null;let r=wr(e);return Tr(r,void 0,t,n)},wr=e=>Ti(e)?ni(e._debugStack.stack):ti(e),xi=async(e,t=true,n)=>{let r=await Tr(e,1,t,n);return !r||r.length===0?null:r[0]},Tr=async(e,t=1,n=true,r)=>{let o=hr(e,{slice:t??1}),i=[];for(let s of o){if(!s?.file)continue;let a=await hi(s.file,n,r);if(a&&typeof s.line=="number"&&typeof s.col=="number"){let l=ci(a,s.line,s.col);if(l){i.push(l);continue}}i.push({fileName:s.file,lineNumber:s.line,columnNumber:s.col,functionName:s.function});}return i},qe=e=>{if(!e||pi.includes(e))return "";let t=e;if(t.startsWith(fr)){let r=t.slice(fr.length),o=r.indexOf("/"),i=r.indexOf(":");t=o!==-1&&(i===-1||o<i)?r.slice(o+1):r;}for(let r of gi)if(t.startsWith(r)){t=t.slice(r.length),r==="file:///"&&(t=`/${t.replace(/^\/+/,"")}`);break}if(ur.test(t)){let r=t.match(ur);r&&(t=t.slice(r[0].length));}let n=t.indexOf("?");if(n!==-1){let r=t.slice(n);wi.test(r)&&(t=t.slice(0,n));}return t},an=e=>{let t=qe(e);return !(!t||!bi.test(t)||yi.test(t))},Ei=async(e,t=true,n)=>{let r=ke(e,s=>{if(Be(s))return true},true);if(r){let s=await Ci(r,t,n);if(s?.fileName){let a=qe(s.fileName);if(an(a))return {fileName:a,lineNumber:s.lineNumber,columnNumber:s.columnNumber,functionName:s.functionName}}}let o=hr(wr(e),{includeInElement:false}),i=null;for(;o.length;){let s=o.pop();if(!s||!s.raw||!s.file)continue;let a=await xi(s.raw,t,n);if(a)return {fileName:qe(a.fileName),lineNumber:a.lineNumber,columnNumber:a.columnNumber,functionName:a.functionName};i={fileName:qe(s.file),lineNumber:s.line,columnNumber:s.col,functionName:s.function};}return i},Sr=async(e,t=true,n)=>{let r=je(e);if(!r||!Zt(r))return null;let o=tn(r);return o?Ei(o,t,n):null};var vi=new Set(["role","name","aria-label","rel","href"]);function Ri(e,t){let n=vi.has(e);n||=e.startsWith("data-")&&rt(e);let r=rt(t)&&t.length<100;return r||=t.startsWith("#")&&rt(t.slice(1)),n&&r}function Ni(e){return rt(e)}function Oi(e){return rt(e)}function _i(e){return true}function xr(e,t){if(e.nodeType!==Node.ELEMENT_NODE)throw new Error("Can't generate CSS selector for non-element node type.");if(e.tagName.toLowerCase()==="html")return "html";let n={root:document.body,idName:Ni,className:Oi,tagName:_i,attr:Ri,timeoutMs:1e3,seedMinLength:3,optimizedMinLength:2,maxNumberOfPathChecks:1/0},r=new Date,o={...n,...t},i=ki(o.root,n),s,a=0;for(let f of Ai(e,o,i)){if(new Date().getTime()-r.getTime()>o.timeoutMs||a>=o.maxNumberOfPathChecks){let m=Ii(e,i);if(!m)throw new Error(`Timeout: Can't find a unique selector after ${o.timeoutMs}ms`);return ot(m)}if(a++,un(f,i)){s=f;break}}if(!s)throw new Error("Selector was not found.");let l=[...Rr(s,e,o,i,r)];return l.sort(ln),l.length>0?ot(l[0]):ot(s)}function*Ai(e,t,n){let r=[],o=[],i=e,s=0;for(;i&&i!==n;){let a=Fi(i,t);for(let l of a)l.level=s;if(r.push(a),i=i.parentElement,s++,o.push(...vr(r)),s>=t.seedMinLength){o.sort(ln);for(let l of o)yield l;o=[];}}o.sort(ln);for(let a of o)yield a;}function rt(e){if(/^[a-z\-]{3,}$/i.test(e)){let t=e.split(/-|[A-Z]/);for(let n of t)if(n.length<=2||/[^aeiou]{4,}/i.test(n))return false;return true}return false}function Fi(e,t){let n=[],r=e.getAttribute("id");r&&t.idName(r)&&n.push({name:"#"+CSS.escape(r),penalty:0});for(let s=0;s<e.classList.length;s++){let a=e.classList[s];t.className(a)&&n.push({name:"."+CSS.escape(a),penalty:1});}for(let s=0;s<e.attributes.length;s++){let a=e.attributes[s];t.attr(a.name,a.value)&&n.push({name:`[${CSS.escape(a.name)}="${CSS.escape(a.value)}"]`,penalty:2});}let o=e.tagName.toLowerCase();if(t.tagName(o)){n.push({name:o,penalty:5});let s=cn(e,o);s!==void 0&&n.push({name:Er(o,s),penalty:10});}let i=cn(e);return i!==void 0&&n.push({name:$i(o,i),penalty:50}),n}function ot(e){let t=e[0],n=t.name;for(let r=1;r<e.length;r++){let o=e[r].level||0;t.level===o-1?n=`${e[r].name} > ${n}`:n=`${e[r].name} ${n}`,t=e[r];}return n}function Cr(e){return e.map(t=>t.penalty).reduce((t,n)=>t+n,0)}function ln(e,t){return Cr(e)-Cr(t)}function cn(e,t){let n=e.parentNode;if(!n)return;let r=n.firstChild;if(!r)return;let o=0;for(;r&&(r.nodeType===Node.ELEMENT_NODE&&(t===void 0||r.tagName.toLowerCase()===t)&&o++,r!==e);)r=r.nextSibling;return o}function Ii(e,t){let n=0,r=e,o=[];for(;r&&r!==t;){let i=r.tagName.toLowerCase(),s=cn(r,i);if(s===void 0)return;o.push({name:Er(i,s),penalty:NaN,level:n}),r=r.parentElement,n++;}if(un(o,t))return o}function $i(e,t){return e==="html"?"html":`${e}:nth-child(${t})`}function Er(e,t){return e==="html"?"html":`${e}:nth-of-type(${t})`}function*vr(e,t=[]){if(e.length>0)for(let n of e[0])yield*vr(e.slice(1,e.length),t.concat(n));else yield t;}function ki(e,t){return e.nodeType===Node.DOCUMENT_NODE?e:e===t.root?e.ownerDocument:e}function un(e,t){let n=ot(e);switch(t.querySelectorAll(n).length){case 0:throw new Error(`Can't select any node with this selector: ${n}`);case 1:return true;default:return false}}function*Rr(e,t,n,r,o){if(e.length>2&&e.length>n.optimizedMinLength)for(let i=1;i<e.length-1;i++){if(new Date().getTime()-o.getTime()>n.timeoutMs)return;let a=[...e];a.splice(i,1),un(a,r)&&r.querySelector(ot(a))===t&&(yield a,yield*Rr(a,t,n,r,o));}}var It=e=>e.length>0&&/^[A-Z]/.test(e);nn({onCommitFiberRoot(e,t){At.add(t);}});var Mi=e=>xr(e),$t=(e,t)=>e.length>t?`${e.substring(0,t)}...`:e,Pi=e=>!It(e)||e.startsWith("_")||e.includes("Provider")&&e.includes("Context"),Nr=e=>{let t=je(e);if(!t)return null;let n=null;return ke(t,r=>{if(Be(r)){let o=Me(r);if(o&&!Pi(o))return n=o,true}return false},true),n},Or=async e=>{let t=await Sr(e);if(!t)return null;let n=qe(t.fileName);return an(n)?`${n}:${t.lineNumber}:${t.columnNumber}`:null},fn=async e=>{let t=new Set(["article","aside","footer","form","header","main","nav","section"]),n=y=>{let A=y.tagName.toLowerCase();if(t.has(A)||y.id)return true;if(y.className&&typeof y.className=="string"){let B=y.className.trim();if(B&&B.length>0)return true}return Array.from(y.attributes).some(B=>B.name.startsWith("data-"))},r=(y,A=10)=>{let B=[],h=y.parentElement,g=0;for(;h&&g<A&&h.tagName!=="BODY"&&!(n(h)&&(B.push(h),B.length>=3));)h=h.parentElement,g++;return B.reverse()},o=(y,A=false)=>{let B=y.tagName.toLowerCase(),h=[];if(y.id&&h.push(`id="${y.id}"`),y.className&&typeof y.className=="string"){let E=y.className.trim().split(/\s+/);if(E.length>0&&E[0]){let M=A?E.slice(0,3):E,j=$t(M.join(" "),30);h.push(`class="${j}"`);}}let g=Array.from(y.attributes).filter(E=>E.name.startsWith("data-")),u=A?g.slice(0,1):g;for(let E of u)h.push(`${E.name}="${$t(E.value,20)}"`);let b=y.getAttribute("aria-label");return b&&!A&&h.push(`aria-label="${$t(b,20)}"`),h.length>0?`<${B} ${h.join(" ")}>`:`<${B}>`},i=y=>`</${y.tagName.toLowerCase()}>`,s=y=>{let A=(y.textContent||"").trim().replace(/\s+/g," ");return $t(A,60)},a=y=>{if(y.id)return `#${y.id}`;if(y.className&&typeof y.className=="string"){let A=y.className.trim().split(/\s+/);if(A.length>0&&A[0])return `.${A[0]}`}return null},l=[],f=Mi(e);l.push(`- selector: ${f}`);let d=e.getBoundingClientRect();l.push(`- width: ${Math.round(d.width)}`),l.push(`- height: ${Math.round(d.height)}`),l.push("HTML snippet:"),l.push("```html");let m=r(e),x=m.map(y=>Nr(y)),C=Nr(e),T=await Promise.all(m.map(y=>Or(y))),R=await Or(e);for(let y=0;y<m.length;y++){let A=" ".repeat(y),B=x[y],h=T[y];B&&h&&(y===0||x[y-1]!==B)&&l.push(`${A}<${B} source="${h}">`),l.push(`${A}${o(m[y],true)}`);}let _=e.parentElement,O=-1;if(_){let y=Array.from(_.children);if(O=y.indexOf(e),O>0){let A=y[O-1];if(a(A)&&O<=2){let h=" ".repeat(m.length);l.push(`${h} ${o(A,true)}`),l.push(`${h} </${A.tagName.toLowerCase()}>`);}else if(O>0){let h=" ".repeat(m.length);l.push(`${h} ... (${O} element${O===1?"":"s"})`);}}}let S=" ".repeat(m.length),I=m.length>0?x[x.length-1]:null,N=C&&R&&C!==I;N&&l.push(`${S} <${C} used-at="${R}">`),l.push(`${S} <!-- IMPORTANT: selected element -->`);let L=s(e),U=e.children.length,K=`${S}${N?" ":" "}`;if(L&&U===0&&L.length<40?l.push(`${K}${o(e)}${L}${i(e)}`):(l.push(`${K}${o(e)}`),L&&l.push(`${K} ${L}`),U>0&&l.push(`${K} ... (${U} element${U===1?"":"s"})`),l.push(`${K}${i(e)}`)),N&&l.push(`${S} </${C}>`),_&&O>=0){let y=Array.from(_.children),A=y.length-O-1;if(A>0){let B=y[O+1];a(B)&&A<=2?(l.push(`${S} ${o(B,true)}`),l.push(`${S} </${B.tagName.toLowerCase()}>`)):l.push(`${S} ... (${A} element${A===1?"":"s"})`);}}for(let y=m.length-1;y>=0;y--){let A=" ".repeat(y);l.push(`${A}${i(m[y])}`);let B=x[y],h=T[y];B&&h&&(y===m.length-1||x[y+1]!==B)&&l.push(`${A}</${B}>`);}return l.push("```"),l.join(`
23
+ `)};var Li=()=>document.hasFocus()?new Promise(e=>setTimeout(e,50)):new Promise(e=>{let t=()=>{window.removeEventListener("focus",t),setTimeout(e,50);};window.addEventListener("focus",t),window.focus();}),Oe=async(e,t)=>{await Li();try{if(Array.isArray(e)){if(!navigator?.clipboard?.write){for(let r of e)if(typeof r=="string"){let o=kt(r,t);if(!o)return o}return t?.(),!0}let n=new Map;for(let r of e)if(r instanceof Blob){let o=r.type||"text/plain";n.has(o)||n.set(o,r);}else n.has("text/plain")||n.set("text/plain",new Blob([r],{type:"text/plain"}));if(n.size===0){let r=e.find(o=>typeof o=="string");return typeof r=="string"?kt(r,t):!1}try{return await navigator.clipboard.write([new ClipboardItem(Object.fromEntries(n))]),t?.(),!0}catch{let r=e.filter(o=>typeof o=="string");if(r.length>0){let o=r.join(`
26
24
 
27
- `),Y=T.map((oe,st)=>({tagName:rt(u[st]),content:oe,computedStyles:nt(u[st])})),W=un(Y);await an([A,W]);}catch{}Ne(`${u.length} elements`,D(),j()),dn(u);}},Ie=U(()=>!ye()||d()?null:ln(s(),l())),kr=U(()=>{let u=Ie();if(!u)return;let T=u.getBoundingClientRect(),A=window.getComputedStyle(u);return {borderRadius:A.borderRadius||"0px",height:T.height,transform:A.transform||"none",width:T.width,x:T.left,y:T.top}}),ot=2,hn=(u,T)=>({x:Math.abs(u-x()),y:Math.abs(T-w())}),gn=U(()=>{if(!d())return false;let u=hn(s(),l());return u.x>ot||u.y>ot}),pn=(u,T)=>{let A=Math.min(x(),u),Y=Math.min(w(),T),W=Math.abs(u-x()),oe=Math.abs(T-w());return {x:A,y:Y,width:W,height:oe}},Ir=U(()=>{if(!gn())return;let u=pn(s(),l());return {borderRadius:"0px",height:u.height,transform:"none",width:u.width,x:u.x,y:u.y}}),Mr=U(()=>{let u=Ie();return u?fn(u):"<element>"}),bn=U(()=>O()?{x:D(),y:j()}:{x:s(),y:l()}),yn=U(()=>O()?{x:D(),y:j()}:{x:s(),y:l()}),Pr=U(()=>!!(Ie()&&Ie()===S()));se(_e(()=>[Ie(),S()],([u,T])=>{T&&u&&T!==u&&$(null);}));let wn=U(()=>{let u=R();if(z(),u===null)return 0;let A=(Date.now()-u)/t.keyHoldDuration,Y=1-Math.exp(-A),W=.95;return O()?Math.min(Y,W):1}),Lr=()=>{P(Date.now()),v(false),re=window.setTimeout(()=>{v(true),re=null;},_i);let u=()=>{if(R()===null)return;K(A=>A+1),wn()<1&&(X=requestAnimationFrame(u));};u();},it=()=>{X!==null&&(cancelAnimationFrame(X),X=null),re!==null&&(window.clearTimeout(re),re=null),P(null),v(false);},Ft=()=>{it(),c(true),document.body.style.cursor="crosshair";},Ge=()=>{i(false),c(false),document.body.style.cursor="",d()&&(m(false),document.body.style.userSelect=""),F&&window.clearTimeout(F),de&&window.clearTimeout(de),ne&&(window.clearTimeout(ne),ne=null),q(false),ce=-1e3,Te=-1e3,it();},Sn=new AbortController,Me=Sn.signal;window.addEventListener("keydown",u=>{if(u.key==="Escape"&&o()){Ge();return}if(!(!t.allowActivationInsideInput&&Dn(u))&&le(u)){if(g()){de!==null&&window.clearTimeout(de),de=window.setTimeout(()=>{Ge();},200);return}u.repeat||(F!==null&&window.clearTimeout(F),o()||i(true),F=window.setTimeout(()=>{Ft(),t.onActivate?.();},t.keyHoldDuration));}},{signal:Me}),window.addEventListener("keyup",u=>{if(!o()&&!g())return;let T=!u.metaKey&&!u.ctrlKey;(u.key.toLowerCase()==="c"||T)&&Ge();},{signal:Me,capture:true}),window.addEventListener("mousemove",u=>{a(u.clientX),f(u.clientY),ce===-1e3&&(ce=u.clientX,Te=u.clientY);let T=u.clientX-ce,A=u.clientY-Te;Math.sqrt(T*T+A*A)>=200?(ne!==null&&window.clearTimeout(ne),q(false),ce=u.clientX,Te=u.clientY,ne=window.setTimeout(()=>{q(true),ce=s(),Te=l(),ne=null;},100)):ne===null&&!Q()&&(ne=window.setTimeout(()=>{q(true),ce=s(),Te=l(),ne=null;},100));},{signal:Me}),window.addEventListener("mousedown",u=>{!ye()||O()||(u.preventDefault(),m(true),C(u.clientX),E(u.clientY),document.body.style.userSelect="none");},{signal:Me}),window.addEventListener("mouseup",u=>{if(!d())return;let T=hn(u.clientX,u.clientY),A=T.x>ot||T.y>ot;if(m(false),document.body.style.userSelect="",A){B(true);let Y=pn(u.clientX,u.clientY),W=Nr(Y,et);if(W.length>0)At(u.clientX,u.clientY,()=>mn(W));else {let oe=Or(Y,et);oe.length>0&&At(u.clientX,u.clientY,()=>mn(oe));}}else {let Y=ln(u.clientX,u.clientY);if(!Y)return;$(Y),At(u.clientX,u.clientY,()=>$r(Y));}},{signal:Me}),window.addEventListener("click",u=>{(ye()||O()||M())&&(u.preventDefault(),u.stopPropagation(),M()&&B(false));},{signal:Me,capture:true}),document.addEventListener("visibilitychange",()=>{document.hidden&&_([]);},{signal:Me}),he(()=>{Sn.abort(),F&&window.clearTimeout(F),de&&window.clearTimeout(de),ne&&window.clearTimeout(ne),it(),document.body.style.userSelect="",document.body.style.cursor="";});let Dr=Hn(),Hr=U(()=>false),Br=U(()=>ye()&&gn()),jr=U(()=>O()?"processing":"hover"),Vr=U(()=>ye()&&!d()&&Q()&&(!!Ie()&&!Pr()||!Ie())||O()),Yr=U(()=>O()&&b()&&Ce()),Gr=U(()=>ye()&&!d());return Pn(()=>I(Gn,{get selectionVisible(){return Hr()},get selectionBounds(){return kr()},get dragVisible(){return Br()},get dragBounds(){return Ir()},get grabbedBoxes(){return y()},get successLabels(){return H()},get labelVariant(){return jr()},get labelText(){return Mr()},get labelX(){return bn().x},get labelY(){return bn().y},get labelVisible(){return Vr()},get progressVisible(){return Yr()},get progress(){return wn()},get mouseX(){return yn().x},get mouseY(){return yn().y},get crosshairVisible(){return Gr()}}),Dr),{activate:()=>{g()||(Ft(),t.onActivate?.());},deactivate:()=>{g()&&Ge();},toggle:()=>{g()?Ge():(Ft(),t.onActivate?.());},isActive:()=>g(),dispose:n}})};var Ar=null,Il=()=>Ar;Ar=_r();/*! Bundled license information:
25
+ `);return kt(o,t)}return !1}}else {if(e instanceof Blob)return await navigator.clipboard.write([new ClipboardItem({[e.type]:e})]),t?.(),!0;try{return await navigator.clipboard.writeText(String(e)),t?.(),!0}catch{return kt(e,t)}}}catch{return false}},kt=(e,t)=>{if(!document.execCommand)return false;let n=document.createElement("textarea");n.value=String(e),n.style.clipPath="inset(50%)",n.ariaHidden="true",(document.body||document.documentElement).append(n);try{n.select();let o=document.execCommand("copy");return o&&t?.(),o}finally{n.remove();}};var Se=()=>{try{let e=new(window.AudioContext||window.webkitAudioContext),t=e.createGain();t.connect(e.destination),[{freq:523.25,start:0,duration:.1},{freq:659.25,start:.05,duration:.1},{freq:783.99,start:.1,duration:.15}].forEach(r=>{let o=e.createOscillator(),i=e.createGain();o.connect(i),i.connect(t),o.frequency.value=r.freq,o.type="triangle";let s=e.currentTime+r.start,a=s+.01,l=s+r.duration;i.gain.setValueAtTime(0,s),i.gain.linearRampToValueAtTime(.15,a),i.gain.exponentialRampToValueAtTime(.01,l),o.start(s),o.stop(l);});}catch{}};var _r=(e,t=window.getComputedStyle(e))=>t.display!=="none"&&t.visibility!=="hidden"&&t.opacity!=="0";var it=e=>{if(e.closest(`[${Ue}]`))return false;let t=window.getComputedStyle(e);return !(!_r(e,t)||t.pointerEvents==="none")};var dn=(e,t)=>{let n=document.elementsFromPoint(e,t);for(let r of n)if(it(r))return r;return null};var Ar=(e,t,n)=>{let r=[],o=Array.from(document.querySelectorAll("*")),i=e.x,s=e.y,a=e.x+e.width,l=e.y+e.height;for(let f of o){if(!n){let R=(f.tagName||"").toUpperCase();if(R==="HTML"||R==="BODY")continue}if(!t(f))continue;let d=f.getBoundingClientRect(),m=d.left,x=d.top,C=d.left+d.width,T=d.top+d.height;if(n){let R=Math.max(i,m),_=Math.max(s,x),O=Math.min(a,C),S=Math.min(l,T),I=Math.max(0,O-R),N=Math.max(0,S-_),L=I*N,U=Math.max(0,d.width*d.height);U>0&&L/U>=.75&&r.push(f);}else m<a&&C>i&&x<l&&T>s&&r.push(f);}return r},Fr=e=>e.filter(t=>!e.some(n=>n!==t&&n.contains(t)));var Ir=(e,t)=>{let n=Ar(e,t,true);return Fr(n)},$r=(e,t)=>{let n=Ar(e,t,false);return Fr(n)};var mn=e=>{let t=e.getBoundingClientRect(),n=window.getComputedStyle(e);return {borderRadius:n.borderRadius||"0px",height:t.height,transform:n.transform||"none",width:t.width,x:t.left,y:t.top}};var kr=()=>{let e=window.location.hostname;return e==="localhost"||e==="127.0.0.1"||e==="[::1]"};var Di=150,Mr=e=>{let t={enabled:true,keyHoldDuration:300,allowActivationInsideInput:true,playCopySound:false,...e};return t.enabled===false?{activate:()=>{},deactivate:()=>{},toggle:()=>{},isActive:()=>false,dispose:()=>{}}:De(n=>{let[o,i]=$(false),[s,a]=$(-1e3),[l,f]=$(-1e3),[d,m]=$(false),[x,C]=$(-1e3),[T,R]=$(-1e3),[_,O]=$(false),[S,I]=$(null),[N,L]=$(null),[U,K]=$(0),[y,A]=$([]),[B,h]=$([]),[g,u]=$(false),[b,E]=$(false),[M,j]=$(false),[H,Z]=$(-1e3),[V,Y]=$(-1e3),[Q,X]=$(false),F=null,W=null,oe=null,de=null,ne=null,ce=-1e3,Ce=-1e3,ye=q(()=>g()&&!_()),xe=q(()=>s()>-1e3&&l()>-1e3),le=c=>(c.metaKey||c.ctrlKey)&&c.key.toLowerCase()==="c",Ee=c=>{let w=`grabbed-${Date.now()}-${Math.random()}`,v=Date.now(),G={id:w,bounds:c,createdAt:v},P=y();A([...P,G]),setTimeout(()=>{A(re=>re.filter(We=>We.id!==w));},1700);},_e=(c,w,v)=>{let G=`success-${Date.now()}-${Math.random()}`;h(P=>[...P,{id:G,text:c,x:w,y:v}]),setTimeout(()=>{h(P=>P.filter(re=>re.id!==G));},1700);},st=c=>`<selected_element>
26
+ ${c}
27
+ </selected_element>`,at=c=>{let w=window.getComputedStyle(c),v=c.getBoundingClientRect();return {width:`${Math.round(v.width)}px`,height:`${Math.round(v.height)}px`,paddingTop:w.paddingTop,paddingRight:w.paddingRight,paddingBottom:w.paddingBottom,paddingLeft:w.paddingLeft,background:w.background,opacity:w.opacity}},hn=c=>{let w={elements:c.map(re=>({tagName:re.tagName,content:re.content,computedStyles:re.computedStyles}))},v=JSON.stringify(w),P=`<div data-react-grab="${btoa(encodeURIComponent(v).replace(/%([0-9A-F]{2})/g,(re,We)=>String.fromCharCode(parseInt(We,16))))}"></div>`;return new Blob([P],{type:"text/html"})},lt=c=>(c.tagName||"").toLowerCase(),Lr=c=>{let w=je(c);if(!w)return null;let v=null;return ke(w,G=>{if(Be(G)){let P=Me(G);if(P&&It(P)&&!P.startsWith("_"))return v=P,true}return false},true),v},gn=c=>{let w=lt(c),v=Lr(c);return w&&v?`<${w}> in ${v}`:w?`<${w}>`:"<element>"},pn=c=>{try{let w=c.map(v=>({tagName:lt(v)}));window.dispatchEvent(new CustomEvent("react-grab:element-selected",{detail:{elements:w}}));}catch{}},Dr=()=>window.__REACT_GRAB_EXTENSION_ACTIVE__===true||t.isExtension===true,bn=()=>Dr()&&!kr(),Mt=async(c,w,v)=>{Z(c),Y(w),O(true),Ur(),await v().finally(()=>{O(false),ut();});},Hr=c=>"innerText"in c,Br=c=>Hr(c)?c.innerText:c.textContent??"",Ve=c=>c.map(w=>Br(w).trim()).filter(w=>w.length>0).join(`
28
+
29
+ `),jr=async c=>{Ee(mn(c)),await new Promise(v=>requestAnimationFrame(v));let w=false;try{if(bn()){let v=Ve([c]);v.length>0&&(w=await Oe(v,t.playCopySound?Se:void 0));}else {let v=await fn(c),G=st(v),P=hn([{tagName:lt(c),content:v,computedStyles:at(c)}]);if(w=await Oe([G,P],t.playCopySound?Se:void 0),!w){let re=Ve([c]);re.length>0&&(w=await Oe(re,t.playCopySound?Se:void 0));}}}catch{let v=Ve([c]);v.length>0&&(w=await Oe(v,t.playCopySound?Se:void 0));}w&&_e(gn(c),H(),V()),pn([c]);},yn=async c=>{if(c.length===0)return;for(let v of c)Ee(mn(v));await new Promise(v=>requestAnimationFrame(v));let w=false;try{if(bn()){let v=Ve(c);v.length>0&&(w=await Oe(v,t.playCopySound?Se:void 0));}else {let G=(await Promise.allSettled(c.map(P=>fn(P)))).map(P=>P.status==="fulfilled"?P.value:"").filter(P=>P.trim());if(G.length>0){let P=G.map(Ye=>st(Ye)).join(`
30
+
31
+ `),re=G.map((Ye,Rn)=>({tagName:lt(c[Rn]),content:Ye,computedStyles:at(c[Rn])})),We=hn(re);if(w=await Oe([P,We],t.playCopySound?Se:void 0),!w){let Ye=Ve(c);Ye.length>0&&(w=await Oe(Ye,t.playCopySound?Se:void 0));}}else {let P=Ve(c);P.length>0&&(w=await Oe(P,t.playCopySound?Se:void 0));}}}catch{}w&&_e(`${c.length} elements`,H(),V()),pn(c);},Pe=q(()=>!ye()||d()?null:dn(s(),l())),Vr=q(()=>{let c=Pe();if(!c)return;let w=c.getBoundingClientRect(),v=window.getComputedStyle(c);return {borderRadius:v.borderRadius||"0px",height:w.height,transform:v.transform||"none",width:w.width,x:w.left,y:w.top}}),ct=2,wn=(c,w)=>({x:Math.abs(c-x()),y:Math.abs(w-T())}),Tn=q(()=>{if(!d())return false;let c=wn(s(),l());return c.x>ct||c.y>ct}),Sn=(c,w)=>{let v=Math.min(x(),c),G=Math.min(T(),w),P=Math.abs(c-x()),re=Math.abs(w-T());return {x:v,y:G,width:P,height:re}},Yr=q(()=>{if(!Tn())return;let c=Sn(s(),l());return {borderRadius:"0px",height:c.height,transform:"none",width:c.width,x:c.x,y:c.y}}),Gr=q(()=>{let c=Pe();return c?gn(c):"<element>"}),Cn=q(()=>_()?{x:H(),y:V()}:{x:s(),y:l()}),xn=q(()=>_()?{x:H(),y:V()}:{x:s(),y:l()}),zr=q(()=>!!(Pe()&&Pe()===S()));se(Fe(()=>[Pe(),S()],([c,w])=>{w&&c&&w!==c&&I(null);}));let En=q(()=>{let c=N();if(U(),c===null)return 0;let v=(Date.now()-c)/t.keyHoldDuration,G=1-Math.exp(-v),P=.95;return _()?Math.min(G,P):1}),Ur=()=>{L(Date.now()),E(false),oe=window.setTimeout(()=>{E(true),oe=null;},Di);let c=()=>{if(N()===null)return;K(v=>v+1),En()<1&&(W=requestAnimationFrame(c));};c();},ut=()=>{W!==null&&(cancelAnimationFrame(W),W=null),oe!==null&&(window.clearTimeout(oe),oe=null),L(null),E(false);},Pt=()=>{ut(),u(true),document.body.style.cursor="crosshair";},Xe=()=>{i(false),u(false),document.body.style.cursor="",d()&&(m(false),document.body.style.userSelect=""),F&&window.clearTimeout(F),de&&window.clearTimeout(de),ne&&(window.clearTimeout(ne),ne=null),X(false),ce=-1e3,Ce=-1e3,ut();},vn=new AbortController,Le=vn.signal;window.addEventListener("keydown",c=>{if(c.key==="Escape"&&o()){Xe();return}if(!(!t.allowActivationInsideInput&&Gn(c))&&le(c)){if(g()){de!==null&&window.clearTimeout(de),de=window.setTimeout(()=>{Xe();},200);return}c.repeat||(F!==null&&window.clearTimeout(F),o()||i(true),F=window.setTimeout(()=>{Pt(),t.onActivate?.();},t.keyHoldDuration));}},{signal:Le}),window.addEventListener("keyup",c=>{if(!o()&&!g())return;let w=!c.metaKey&&!c.ctrlKey;(c.key.toLowerCase()==="c"||w)&&Xe();},{signal:Le,capture:true}),window.addEventListener("mousemove",c=>{a(c.clientX),f(c.clientY),ce===-1e3&&(ce=c.clientX,Ce=c.clientY);let w=c.clientX-ce,v=c.clientY-Ce;Math.sqrt(w*w+v*v)>=200?(ne!==null&&window.clearTimeout(ne),X(false),ce=c.clientX,Ce=c.clientY,ne=window.setTimeout(()=>{X(true),ce=s(),Ce=l(),ne=null;},100)):ne===null&&!Q()&&(ne=window.setTimeout(()=>{X(true),ce=s(),Ce=l(),ne=null;},100));},{signal:Le}),window.addEventListener("mousedown",c=>{!ye()||_()||(c.preventDefault(),m(true),C(c.clientX),R(c.clientY),document.body.style.userSelect="none");},{signal:Le}),window.addEventListener("mouseup",c=>{if(!d())return;let w=wn(c.clientX,c.clientY),v=w.x>ct||w.y>ct;if(m(false),document.body.style.userSelect="",v){j(true);let G=Sn(c.clientX,c.clientY),P=Ir(G,it);if(P.length>0)Mt(c.clientX,c.clientY,()=>yn(P));else {let re=$r(G,it);re.length>0&&Mt(c.clientX,c.clientY,()=>yn(re));}}else {let G=dn(c.clientX,c.clientY);if(!G)return;I(G),Mt(c.clientX,c.clientY,()=>jr(G));}},{signal:Le}),window.addEventListener("click",c=>{(ye()||_()||M())&&(c.preventDefault(),c.stopPropagation(),M()&&j(false));},{signal:Le,capture:true}),document.addEventListener("visibilitychange",()=>{document.hidden&&A([]);},{signal:Le}),he(()=>{vn.abort(),F&&window.clearTimeout(F),de&&window.clearTimeout(de),ne&&window.clearTimeout(ne),ut(),document.body.style.userSelect="",document.body.style.cursor="";});let qr=zn(),Xr=q(()=>false),Wr=q(()=>ye()&&Tn()),Kr=q(()=>_()?"processing":"hover"),Zr=q(()=>ye()&&!d()&&Q()&&(!!Pe()&&!zr()||!Pe())||_()),Jr=q(()=>_()&&b()&&xe()),Qr=q(()=>ye()&&!d());return Vn(()=>k(Kn,{get selectionVisible(){return Xr()},get selectionBounds(){return Vr()},get dragVisible(){return Wr()},get dragBounds(){return Yr()},get grabbedBoxes(){return y()},get successLabels(){return B()},get labelVariant(){return Kr()},get labelText(){return Gr()},get labelX(){return Cn().x},get labelY(){return Cn().y},get labelVisible(){return Zr()},get progressVisible(){return Jr()},get progress(){return En()},get mouseX(){return xn().x},get mouseY(){return xn().y},get crosshairVisible(){return Qr()}}),qr),{activate:()=>{g()||(Pt(),t.onActivate?.());},deactivate:()=>{g()&&Xe();},toggle:()=>{g()?Xe():(Pt(),t.onActivate?.());},isActive:()=>g(),dispose:n}})};var Pr=null,Xl=()=>Pr,Hi="__REACT_GRAB_EXTENSION_ACTIVE__";window[Hi]||(Pr=Mr());/*! Bundled license information:
28
32
 
29
33
  bippy/dist/rdt-hook-DAGphl8S.js:
30
34
  (**
@@ -85,4 +89,4 @@ bippy/dist/source.js:
85
89
  * This source code is licensed under the MIT license found in the
86
90
  * LICENSE file in the root directory of this source tree.
87
91
  *)
88
- */exports.getGlobalApi=Il;exports.init=_r;return exports;})({});
92
+ */exports.getGlobalApi=Xl;exports.init=Mr;exports.playCopySound=Se;return exports;})({});
package/dist/index.js CHANGED
@@ -973,17 +973,18 @@ var waitForFocus = () => {
973
973
  window.focus();
974
974
  });
975
975
  };
976
- var copyContent = async (content) => {
976
+ var copyContent = async (content, onSuccess) => {
977
977
  await waitForFocus();
978
978
  try {
979
979
  if (Array.isArray(content)) {
980
980
  if (!navigator?.clipboard?.write) {
981
981
  for (const contentPart of content) {
982
982
  if (typeof contentPart === "string") {
983
- const result = copyContentFallback(contentPart);
983
+ const result = copyContentFallback(contentPart, onSuccess);
984
984
  if (!result) return result;
985
985
  }
986
986
  }
987
+ onSuccess?.();
987
988
  return true;
988
989
  }
989
990
  const mimeTypeMap = /* @__PURE__ */ new Map();
@@ -1002,28 +1003,52 @@ var copyContent = async (content) => {
1002
1003
  }
1003
1004
  }
1004
1005
  }
1005
- await navigator.clipboard.write([
1006
- new ClipboardItem(Object.fromEntries(mimeTypeMap))
1007
- ]);
1008
- return true;
1006
+ if (mimeTypeMap.size === 0) {
1007
+ const plainTextFallback = content.find(
1008
+ (contentPart) => typeof contentPart === "string"
1009
+ );
1010
+ if (typeof plainTextFallback === "string") {
1011
+ return copyContentFallback(plainTextFallback, onSuccess);
1012
+ }
1013
+ return false;
1014
+ }
1015
+ try {
1016
+ await navigator.clipboard.write([
1017
+ new ClipboardItem(Object.fromEntries(mimeTypeMap))
1018
+ ]);
1019
+ onSuccess?.();
1020
+ return true;
1021
+ } catch {
1022
+ const plainTextParts = content.filter(
1023
+ (contentPart) => typeof contentPart === "string"
1024
+ );
1025
+ if (plainTextParts.length > 0) {
1026
+ const combinedText = plainTextParts.join("\n\n");
1027
+ return copyContentFallback(combinedText, onSuccess);
1028
+ }
1029
+ return false;
1030
+ }
1009
1031
  } else if (content instanceof Blob) {
1010
1032
  await navigator.clipboard.write([
1011
1033
  new ClipboardItem({ [content.type]: content })
1012
1034
  ]);
1035
+ onSuccess?.();
1013
1036
  return true;
1014
1037
  } else {
1015
1038
  try {
1016
1039
  await navigator.clipboard.writeText(String(content));
1040
+ onSuccess?.();
1017
1041
  return true;
1018
1042
  } catch {
1019
- return copyContentFallback(content);
1043
+ const result = copyContentFallback(content, onSuccess);
1044
+ return result;
1020
1045
  }
1021
1046
  }
1022
1047
  } catch {
1023
1048
  return false;
1024
1049
  }
1025
1050
  };
1026
- var copyContentFallback = (content) => {
1051
+ var copyContentFallback = (content, onSuccess) => {
1027
1052
  if (!document.execCommand) return false;
1028
1053
  const el = document.createElement("textarea");
1029
1054
  el.value = String(content);
@@ -1033,12 +1058,46 @@ var copyContentFallback = (content) => {
1033
1058
  doc.append(el);
1034
1059
  try {
1035
1060
  el.select();
1036
- return document.execCommand("copy");
1061
+ const result = document.execCommand("copy");
1062
+ if (result) onSuccess?.();
1063
+ return result;
1037
1064
  } finally {
1038
1065
  el.remove();
1039
1066
  }
1040
1067
  };
1041
1068
 
1069
+ // src/utils/play-copy-sound.ts
1070
+ var playCopySound = () => {
1071
+ try {
1072
+ const audioContext = new (window.AudioContext || // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access -- window.webkitAudioContext is not typed
1073
+ window.webkitAudioContext)();
1074
+ const masterGain = audioContext.createGain();
1075
+ masterGain.connect(audioContext.destination);
1076
+ const notes = [
1077
+ { freq: 523.25, start: 0, duration: 0.1 },
1078
+ { freq: 659.25, start: 0.05, duration: 0.1 },
1079
+ { freq: 783.99, start: 0.1, duration: 0.15 }
1080
+ ];
1081
+ notes.forEach((note) => {
1082
+ const oscillator = audioContext.createOscillator();
1083
+ const gainNode = audioContext.createGain();
1084
+ oscillator.connect(gainNode);
1085
+ gainNode.connect(masterGain);
1086
+ oscillator.frequency.value = note.freq;
1087
+ oscillator.type = "triangle";
1088
+ const startTime = audioContext.currentTime + note.start;
1089
+ const peakTime = startTime + 0.01;
1090
+ const endTime = startTime + note.duration;
1091
+ gainNode.gain.setValueAtTime(0, startTime);
1092
+ gainNode.gain.linearRampToValueAtTime(0.15, peakTime);
1093
+ gainNode.gain.exponentialRampToValueAtTime(0.01, endTime);
1094
+ oscillator.start(startTime);
1095
+ oscillator.stop(endTime);
1096
+ });
1097
+ } catch {
1098
+ }
1099
+ };
1100
+
1042
1101
  // src/utils/is-element-visible.ts
1043
1102
  var isElementVisible = (element, computedStyle = window.getComputedStyle(element)) => {
1044
1103
  return computedStyle.display !== "none" && computedStyle.visibility !== "hidden" && computedStyle.opacity !== "0";
@@ -1146,6 +1205,12 @@ var createElementBounds = (element) => {
1146
1205
  };
1147
1206
  };
1148
1207
 
1208
+ // src/utils/is-localhost.ts
1209
+ var isLocalhost = () => {
1210
+ const hostname = window.location.hostname;
1211
+ return hostname === "localhost" || hostname === "127.0.0.1" || hostname === "[::1]";
1212
+ };
1213
+
1149
1214
  // src/core.tsx
1150
1215
  var PROGRESS_INDICATOR_DELAY_MS = 150;
1151
1216
  var init = (rawOptions) => {
@@ -1153,6 +1218,7 @@ var init = (rawOptions) => {
1153
1218
  enabled: true,
1154
1219
  keyHoldDuration: 300,
1155
1220
  allowActivationInsideInput: true,
1221
+ playCopySound: false,
1156
1222
  ...rawOptions
1157
1223
  };
1158
1224
  if (options.enabled === false) {
@@ -1249,7 +1315,8 @@ ${context}
1249
1315
  computedStyles: element.computedStyles
1250
1316
  }))
1251
1317
  };
1252
- const base64Data = btoa(JSON.stringify(structuredData));
1318
+ const jsonString = JSON.stringify(structuredData);
1319
+ const base64Data = btoa(encodeURIComponent(jsonString).replace(/%([0-9A-F]{2})/g, (_match, p1) => String.fromCharCode(parseInt(p1, 16))));
1253
1320
  const htmlContent = `<div data-react-grab="${base64Data}"></div>`;
1254
1321
  return new Blob([htmlContent], {
1255
1322
  type: "text/html"
@@ -1296,6 +1363,8 @@ ${context}
1296
1363
  } catch {
1297
1364
  }
1298
1365
  };
1366
+ const isExtensionEnvironment = () => window.__REACT_GRAB_EXTENSION_ACTIVE__ === true || options.isExtension === true;
1367
+ const isExtensionTextOnlyMode = () => isExtensionEnvironment() && !isLocalhost();
1299
1368
  const executeCopyOperation = async (positionX, positionY, operation) => {
1300
1369
  setCopyStartX(positionX);
1301
1370
  setCopyStartY(positionY);
@@ -1306,21 +1375,49 @@ ${context}
1306
1375
  stopProgressAnimation();
1307
1376
  });
1308
1377
  };
1378
+ const hasInnerText = (element) => "innerText" in element;
1379
+ const extractElementTextContent = (element) => {
1380
+ if (hasInnerText(element)) {
1381
+ return element.innerText;
1382
+ }
1383
+ return element.textContent ?? "";
1384
+ };
1385
+ const createCombinedTextContent = (elements) => elements.map((element) => extractElementTextContent(element).trim()).filter((textContent) => textContent.length > 0).join("\n\n");
1309
1386
  const copySingleElementToClipboard = async (targetElement2) => {
1310
1387
  showTemporaryGrabbedBox(createElementBounds(targetElement2));
1311
1388
  await new Promise((resolve) => requestAnimationFrame(resolve));
1389
+ let didCopy = false;
1312
1390
  try {
1313
- const content = await getHTMLSnippet(targetElement2);
1314
- const plainTextContent = wrapInSelectedElementTags(content);
1315
- const htmlContent = createStructuredClipboardHtmlBlob([{
1316
- tagName: extractElementTagName(targetElement2),
1317
- content,
1318
- computedStyles: extractRelevantComputedStyles(targetElement2)
1319
- }]);
1320
- await copyContent([plainTextContent, htmlContent]);
1391
+ if (isExtensionTextOnlyMode()) {
1392
+ const plainTextContent = createCombinedTextContent([targetElement2]);
1393
+ if (plainTextContent.length > 0) {
1394
+ didCopy = await copyContent(plainTextContent, options.playCopySound ? playCopySound : void 0);
1395
+ }
1396
+ } else {
1397
+ const content = await getHTMLSnippet(targetElement2);
1398
+ const plainTextContent = wrapInSelectedElementTags(content);
1399
+ const htmlContent = createStructuredClipboardHtmlBlob([{
1400
+ tagName: extractElementTagName(targetElement2),
1401
+ content,
1402
+ computedStyles: extractRelevantComputedStyles(targetElement2)
1403
+ }]);
1404
+ didCopy = await copyContent([plainTextContent, htmlContent], options.playCopySound ? playCopySound : void 0);
1405
+ if (!didCopy) {
1406
+ const plainTextContentOnly = createCombinedTextContent([targetElement2]);
1407
+ if (plainTextContentOnly.length > 0) {
1408
+ didCopy = await copyContent(plainTextContentOnly, options.playCopySound ? playCopySound : void 0);
1409
+ }
1410
+ }
1411
+ }
1321
1412
  } catch {
1413
+ const plainTextContentOnly = createCombinedTextContent([targetElement2]);
1414
+ if (plainTextContentOnly.length > 0) {
1415
+ didCopy = await copyContent(plainTextContentOnly, options.playCopySound ? playCopySound : void 0);
1416
+ }
1417
+ }
1418
+ if (didCopy) {
1419
+ showTemporarySuccessLabel(extractElementLabelText(targetElement2), copyStartX(), copyStartY());
1322
1420
  }
1323
- showTemporarySuccessLabel(extractElementLabelText(targetElement2), copyStartX(), copyStartY());
1324
1421
  notifyElementsSelected([targetElement2]);
1325
1422
  };
1326
1423
  const copyMultipleElementsToClipboard = async (targetElements) => {
@@ -1329,19 +1426,43 @@ ${context}
1329
1426
  showTemporaryGrabbedBox(createElementBounds(element));
1330
1427
  }
1331
1428
  await new Promise((resolve) => requestAnimationFrame(resolve));
1429
+ let didCopy = false;
1332
1430
  try {
1333
- const elementSnippets = await Promise.all(targetElements.map((element) => getHTMLSnippet(element)));
1334
- const plainTextContent = elementSnippets.filter((snippet) => snippet.trim()).map((snippet) => wrapInSelectedElementTags(snippet)).join("\n\n");
1335
- const structuredElements = elementSnippets.map((content, index) => ({
1336
- tagName: extractElementTagName(targetElements[index]),
1337
- content,
1338
- computedStyles: extractRelevantComputedStyles(targetElements[index])
1339
- }));
1340
- const htmlContent = createStructuredClipboardHtmlBlob(structuredElements);
1341
- await copyContent([plainTextContent, htmlContent]);
1431
+ if (isExtensionTextOnlyMode()) {
1432
+ const plainTextContent = createCombinedTextContent(targetElements);
1433
+ if (plainTextContent.length > 0) {
1434
+ didCopy = await copyContent(plainTextContent, options.playCopySound ? playCopySound : void 0);
1435
+ }
1436
+ } else {
1437
+ const elementSnippetResults = await Promise.allSettled(targetElements.map((element) => getHTMLSnippet(element)));
1438
+ const elementSnippets = elementSnippetResults.map((result) => result.status === "fulfilled" ? result.value : "").filter((snippet) => snippet.trim());
1439
+ if (elementSnippets.length > 0) {
1440
+ const plainTextContent = elementSnippets.map((snippet) => wrapInSelectedElementTags(snippet)).join("\n\n");
1441
+ const structuredElements = elementSnippets.map((content, elementIndex) => ({
1442
+ tagName: extractElementTagName(targetElements[elementIndex]),
1443
+ content,
1444
+ computedStyles: extractRelevantComputedStyles(targetElements[elementIndex])
1445
+ }));
1446
+ const htmlContent = createStructuredClipboardHtmlBlob(structuredElements);
1447
+ didCopy = await copyContent([plainTextContent, htmlContent], options.playCopySound ? playCopySound : void 0);
1448
+ if (!didCopy) {
1449
+ const plainTextContentOnly = createCombinedTextContent(targetElements);
1450
+ if (plainTextContentOnly.length > 0) {
1451
+ didCopy = await copyContent(plainTextContentOnly, options.playCopySound ? playCopySound : void 0);
1452
+ }
1453
+ }
1454
+ } else {
1455
+ const plainTextContentOnly = createCombinedTextContent(targetElements);
1456
+ if (plainTextContentOnly.length > 0) {
1457
+ didCopy = await copyContent(plainTextContentOnly, options.playCopySound ? playCopySound : void 0);
1458
+ }
1459
+ }
1460
+ }
1342
1461
  } catch {
1343
1462
  }
1344
- showTemporarySuccessLabel(`${targetElements.length} elements`, copyStartX(), copyStartY());
1463
+ if (didCopy) {
1464
+ showTemporarySuccessLabel(`${targetElements.length} elements`, copyStartX(), copyStartY());
1465
+ }
1345
1466
  notifyElementsSelected(targetElements);
1346
1467
  };
1347
1468
  const targetElement = createMemo(() => {
@@ -1716,6 +1837,9 @@ ${context}
1716
1837
  // src/index.ts
1717
1838
  var globalApi = null;
1718
1839
  var getGlobalApi = () => globalApi;
1719
- globalApi = init();
1840
+ var EXTENSION_MARKER = "__REACT_GRAB_EXTENSION_ACTIVE__";
1841
+ if (!window[EXTENSION_MARKER]) {
1842
+ globalApi = init();
1843
+ }
1720
1844
 
1721
- export { getGlobalApi, init };
1845
+ export { getGlobalApi, init, playCopySound };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-grab",
3
- "version": "0.0.37",
3
+ "version": "0.0.38",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "react",
@@ -69,7 +69,8 @@
69
69
  "@medv/finder": "^4.0.2",
70
70
  "bippy": "^0.5.14",
71
71
  "modern-screenshot": "^4.6.6",
72
- "solid-js": "^1.9.10"
72
+ "solid-js": "^1.9.10",
73
+ "solid-sonner": "^0.2.8"
73
74
  },
74
75
  "scripts": {
75
76
  "build": "NODE_ENV=production tsup",