react-grab 0.0.56 → 0.0.58

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.
@@ -22,6 +22,7 @@ var UNOWNED = {
22
22
  context: null,
23
23
  owner: null
24
24
  };
25
+ var NO_INIT = {};
25
26
  var Owner = null;
26
27
  var Transition = null;
27
28
  var ExternalSourceConfig = null;
@@ -61,6 +62,10 @@ function createSignal(value, options) {
61
62
  };
62
63
  return [readSignal.bind(s3), setter];
63
64
  }
65
+ function createComputed(fn, value, options) {
66
+ const c3 = createComputation(fn, value, true, STALE);
67
+ updateComputation(c3);
68
+ }
64
69
  function createRenderEffect(fn, value, options) {
65
70
  const c3 = createComputation(fn, value, false, STALE);
66
71
  updateComputation(c3);
@@ -80,6 +85,123 @@ function createMemo(fn, value, options) {
80
85
  updateComputation(c3);
81
86
  return readSignal.bind(c3);
82
87
  }
88
+ function isPromise(v2) {
89
+ return v2 && typeof v2 === "object" && "then" in v2;
90
+ }
91
+ function createResource(pSource, pFetcher, pOptions) {
92
+ let source;
93
+ let fetcher;
94
+ let options;
95
+ if (typeof pFetcher === "function") {
96
+ source = pSource;
97
+ fetcher = pFetcher;
98
+ options = {};
99
+ } else {
100
+ source = true;
101
+ fetcher = pSource;
102
+ options = pFetcher || {};
103
+ }
104
+ let pr = null, initP = NO_INIT, scheduled = false, resolved = "initialValue" in options, dynamic = typeof source === "function" && createMemo(source);
105
+ const contexts = /* @__PURE__ */ new Set(), [value, setValue] = (options.storage || createSignal)(options.initialValue), [error, setError] = createSignal(void 0), [track, trigger] = createSignal(void 0, {
106
+ equals: false
107
+ }), [state, setState] = createSignal(resolved ? "ready" : "unresolved");
108
+ function loadEnd(p3, v2, error2, key) {
109
+ if (pr === p3) {
110
+ pr = null;
111
+ key !== void 0 && (resolved = true);
112
+ if ((p3 === initP || v2 === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {
113
+ value: v2
114
+ }));
115
+ initP = NO_INIT;
116
+ completeLoad(v2, error2);
117
+ }
118
+ return v2;
119
+ }
120
+ function completeLoad(v2, err) {
121
+ runUpdates(() => {
122
+ if (err === void 0) setValue(() => v2);
123
+ setState(err !== void 0 ? "errored" : resolved ? "ready" : "unresolved");
124
+ setError(err);
125
+ for (const c3 of contexts.keys()) c3.decrement();
126
+ contexts.clear();
127
+ }, false);
128
+ }
129
+ function read() {
130
+ const c3 = SuspenseContext, v2 = value(), err = error();
131
+ if (err !== void 0 && !pr) throw err;
132
+ if (Listener && !Listener.user && c3) ;
133
+ return v2;
134
+ }
135
+ function load(refetching = true) {
136
+ if (refetching !== false && scheduled) return;
137
+ scheduled = false;
138
+ const lookup = dynamic ? dynamic() : source;
139
+ if (lookup == null || lookup === false) {
140
+ loadEnd(pr, untrack(value));
141
+ return;
142
+ }
143
+ let error2;
144
+ const p3 = initP !== NO_INIT ? initP : untrack(() => {
145
+ try {
146
+ return fetcher(lookup, {
147
+ value: value(),
148
+ refetching
149
+ });
150
+ } catch (fetcherError) {
151
+ error2 = fetcherError;
152
+ }
153
+ });
154
+ if (error2 !== void 0) {
155
+ loadEnd(pr, void 0, castError(error2), lookup);
156
+ return;
157
+ } else if (!isPromise(p3)) {
158
+ loadEnd(pr, p3, void 0, lookup);
159
+ return p3;
160
+ }
161
+ pr = p3;
162
+ if ("v" in p3) {
163
+ if (p3.s === 1) loadEnd(pr, p3.v, void 0, lookup);
164
+ else loadEnd(pr, void 0, castError(p3.v), lookup);
165
+ return p3;
166
+ }
167
+ scheduled = true;
168
+ queueMicrotask(() => scheduled = false);
169
+ runUpdates(() => {
170
+ setState(resolved ? "refreshing" : "pending");
171
+ trigger();
172
+ }, false);
173
+ return p3.then((v2) => loadEnd(p3, v2, void 0, lookup), (e2) => loadEnd(p3, void 0, castError(e2), lookup));
174
+ }
175
+ Object.defineProperties(read, {
176
+ state: {
177
+ get: () => state()
178
+ },
179
+ error: {
180
+ get: () => error()
181
+ },
182
+ loading: {
183
+ get() {
184
+ const s3 = state();
185
+ return s3 === "pending" || s3 === "refreshing";
186
+ }
187
+ },
188
+ latest: {
189
+ get() {
190
+ if (!resolved) return read();
191
+ const err = error();
192
+ if (err && !pr) throw err;
193
+ return value();
194
+ }
195
+ }
196
+ });
197
+ let owner = Owner;
198
+ if (dynamic) createComputed(() => (owner = Owner, load(false)));
199
+ else load(false);
200
+ return [read, {
201
+ refetch: (info) => runWithOwner(owner, () => load(info)),
202
+ mutate: setValue
203
+ }];
204
+ }
83
205
  function untrack(fn) {
84
206
  if (Listener === null) return fn();
85
207
  const listener = Listener;
@@ -114,6 +236,22 @@ function onCleanup(fn) {
114
236
  else Owner.cleanups.push(fn);
115
237
  return fn;
116
238
  }
239
+ function runWithOwner(o3, fn) {
240
+ const prev = Owner;
241
+ const prevListener = Listener;
242
+ Owner = o3;
243
+ Listener = null;
244
+ try {
245
+ return runUpdates(fn, true);
246
+ } catch (err) {
247
+ handleError(err);
248
+ } finally {
249
+ Owner = prev;
250
+ Listener = prevListener;
251
+ }
252
+ }
253
+ var [transPending, setTransPending] = /* @__PURE__ */ createSignal(false);
254
+ var SuspenseContext;
117
255
  function readSignal() {
118
256
  if (this.sources && (this.state)) {
119
257
  if ((this.state) === STALE) updateComputation(this);
@@ -355,7 +493,7 @@ function mapArray(list, mapFn, options = {}) {
355
493
  let items = [], mapped = [], disposers = [], len = 0, indexes = mapFn.length > 1 ? [] : null;
356
494
  onCleanup(() => dispose(disposers));
357
495
  return () => {
358
- let newItems = list() || [], newLen = newItems.length, i2, j2;
496
+ let newItems = list() || [], newLen = newItems.length, i2, j3;
359
497
  newItems[$TRACK];
360
498
  return untrack(() => {
361
499
  let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;
@@ -378,9 +516,9 @@ function mapArray(list, mapFn, options = {}) {
378
516
  }
379
517
  } else if (len === 0) {
380
518
  mapped = new Array(newLen);
381
- for (j2 = 0; j2 < newLen; j2++) {
382
- items[j2] = newItems[j2];
383
- mapped[j2] = createRoot(mapper);
519
+ for (j3 = 0; j3 < newLen; j3++) {
520
+ items[j3] = newItems[j3];
521
+ mapped[j3] = createRoot(mapper);
384
522
  }
385
523
  len = newLen;
386
524
  } else {
@@ -395,32 +533,32 @@ function mapArray(list, mapFn, options = {}) {
395
533
  }
396
534
  newIndices = /* @__PURE__ */ new Map();
397
535
  newIndicesNext = new Array(newEnd + 1);
398
- for (j2 = newEnd; j2 >= start; j2--) {
399
- item = newItems[j2];
536
+ for (j3 = newEnd; j3 >= start; j3--) {
537
+ item = newItems[j3];
400
538
  i2 = newIndices.get(item);
401
- newIndicesNext[j2] = i2 === void 0 ? -1 : i2;
402
- newIndices.set(item, j2);
539
+ newIndicesNext[j3] = i2 === void 0 ? -1 : i2;
540
+ newIndices.set(item, j3);
403
541
  }
404
542
  for (i2 = start; i2 <= end; i2++) {
405
543
  item = items[i2];
406
- j2 = newIndices.get(item);
407
- if (j2 !== void 0 && j2 !== -1) {
408
- temp[j2] = mapped[i2];
409
- tempdisposers[j2] = disposers[i2];
410
- indexes && (tempIndexes[j2] = indexes[i2]);
411
- j2 = newIndicesNext[j2];
412
- newIndices.set(item, j2);
544
+ j3 = newIndices.get(item);
545
+ if (j3 !== void 0 && j3 !== -1) {
546
+ temp[j3] = mapped[i2];
547
+ tempdisposers[j3] = disposers[i2];
548
+ indexes && (tempIndexes[j3] = indexes[i2]);
549
+ j3 = newIndicesNext[j3];
550
+ newIndices.set(item, j3);
413
551
  } else disposers[i2]();
414
552
  }
415
- for (j2 = start; j2 < newLen; j2++) {
416
- if (j2 in temp) {
417
- mapped[j2] = temp[j2];
418
- disposers[j2] = tempdisposers[j2];
553
+ for (j3 = start; j3 < newLen; j3++) {
554
+ if (j3 in temp) {
555
+ mapped[j3] = temp[j3];
556
+ disposers[j3] = tempdisposers[j3];
419
557
  if (indexes) {
420
- indexes[j2] = tempIndexes[j2];
421
- indexes[j2](j2);
558
+ indexes[j3] = tempIndexes[j3];
559
+ indexes[j3](j3);
422
560
  }
423
- } else mapped[j2] = createRoot(mapper);
561
+ } else mapped[j3] = createRoot(mapper);
424
562
  }
425
563
  mapped = mapped.slice(0, len = newLen);
426
564
  items = newItems.slice(0);
@@ -428,13 +566,13 @@ function mapArray(list, mapFn, options = {}) {
428
566
  return mapped;
429
567
  });
430
568
  function mapper(disposer) {
431
- disposers[j2] = disposer;
569
+ disposers[j3] = disposer;
432
570
  if (indexes) {
433
- const [s3, set] = createSignal(j2);
434
- indexes[j2] = set;
435
- return mapFn(newItems[j2], s3);
571
+ const [s3, set] = createSignal(j3);
572
+ indexes[j3] = set;
573
+ return mapFn(newItems[j3], s3);
436
574
  }
437
- return mapFn(newItems[j2]);
575
+ return mapFn(newItems[j3]);
438
576
  }
439
577
  };
440
578
  }
@@ -749,7 +887,8 @@ function cleanChildren(parent, current, marker, replacement) {
749
887
  }
750
888
 
751
889
  // dist/styles.css
752
- var styles_default = '/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grab-pink:#b21c8e;--color-grab-purple:#d239c0;--color-label-tag-border:#730079;--color-label-tag-text:#1e001f;--color-label-gray-border:#b0b0b0;--color-label-success-bg:#d9ffe4;--color-label-success-border:#00bb69;--color-label-success-text:#006e3b;--color-label-divider:#dedede;--color-label-muted:#767676}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-2147483645{z-index:2147483645}.z-2147483646{z-index:2147483646}.z-2147483647{z-index:2147483647}.z-\\[2147483645\\]{z-index:2147483645}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mt-\\[2\\.5px\\]{margin-top:2.5px}.-ml-\\[5px\\]{margin-left:-5px}.ml-1{margin-left:calc(var(--spacing)*1)}.box-border{box-sizing:border-box}.flex{display:flex}.hidden{display:none}.h-0{height:calc(var(--spacing)*0)}.h-5{height:calc(var(--spacing)*5)}.h-5\\.5{height:calc(var(--spacing)*5.5)}.h-\\[14px\\]{height:14px}.h-\\[18px\\]{height:18px}.h-fit{height:fit-content}.min-h-\\[14px\\]{min-height:14px}.w-0{width:calc(var(--spacing)*0)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-\\[18px\\]{width:18px}.w-fit{width:fit-content}.w-full{width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-\\[3px\\]{gap:3px}.gap-\\[5px\\]{gap:5px}.rounded-\\[1\\.5px\\]{border-radius:1.5px}.rounded-\\[3px\\]{border-radius:3px}.rounded-full{border-radius:3.40282e38px}.rounded-br-\\[3px\\]{border-bottom-right-radius:3px}.rounded-bl-\\[3px\\]{border-bottom-left-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-\\[0\\.5px\\]{border-style:var(--tw-border-style);border-width:.5px}.border-t-\\[0\\.5px\\]{border-top-style:var(--tw-border-style);border-top-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-grab-purple{border-color:var(--color-grab-purple)}.border-grab-purple\\/40{border-color:#d239c066}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/40{border-color:color-mix(in oklab,var(--color-grab-purple)40%,transparent)}}.border-grab-purple\\/50{border-color:#d239c080}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/50{border-color:color-mix(in oklab,var(--color-grab-purple)50%,transparent)}}.border-label-gray-border{border-color:var(--color-label-gray-border)}.border-label-success-border{border-color:var(--color-label-success-border)}.border-label-tag-border{border-color:var(--color-label-tag-border)}.border-t-label-divider{border-top-color:var(--color-label-divider)}.bg-black{background-color:var(--color-black)}.bg-grab-pink{background-color:var(--color-grab-pink)}.bg-grab-purple\\/5{background-color:#d239c00d}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/5{background-color:color-mix(in oklab,var(--color-grab-purple)5%,transparent)}}.bg-grab-purple\\/8{background-color:#d239c014}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/8{background-color:color-mix(in oklab,var(--color-grab-purple)8%,transparent)}}.bg-label-success-bg{background-color:var(--color-label-success-bg)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-\\[5px\\]{padding-inline:5px}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\\[12px\\]{font-size:12px}.leading-3\\.5{--tw-leading:calc(var(--spacing)*3.5);line-height:calc(var(--spacing)*3.5)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\\[-0\\.04em\\]{--tw-tracking:-.04em;letter-spacing:-.04em}.text-black{color:var(--color-black)}.text-label-muted{color:var(--color-label-muted)}.text-label-success-text{color:var(--color-label-success-text)}.text-label-tag-border{color:var(--color-label-tag-border)}.text-label-tag-text{color:var(--color-label-tag-text)}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.opacity-\\[0\\.65\\]{opacity:.65}.brightness-125{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\,height\\]{transition-property:width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[transform\\,width\\,height\\]{will-change:transform,width,height}.outline-none{--tw-outline-style:none;outline-style:none}@media (hover:hover){.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-100:hover{opacity:1}}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.react-grab-shimmer{position:relative;overflow:hidden}.react-grab-shimmer:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}';
890
+ var styles_default = `/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
891
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--radius-xs:.125rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grab-pink:#b21c8e;--color-grab-purple:#d239c0;--color-label-tag-border:#730079;--color-label-gray-border:#b0b0b0;--color-label-success-bg:#d9ffe4;--color-label-success-border:#00bb69;--color-label-success-text:#006e3b;--color-label-muted:#767676}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-2147483645{z-index:2147483645}.z-2147483646{z-index:2147483646}.z-2147483647{z-index:2147483647}.z-\\[2147483645\\]{z-index:2147483645}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-ml-\\[2px\\]{margin-left:-2px}.ml-1{margin-left:calc(var(--spacing)*1)}.box-border{box-sizing:border-box}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-0{height:calc(var(--spacing)*0)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-5\\.5{height:calc(var(--spacing)*5.5)}.h-\\[9px\\]{height:9px}.h-\\[18px\\]{height:18px}.h-fit{height:fit-content}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.w-0{width:calc(var(--spacing)*0)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-\\[18px\\]{width:18px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-\\[2px\\]{gap:2px}.gap-\\[3px\\]{gap:3px}.gap-\\[5px\\]{gap:5px}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.rounded-\\[1\\.5px\\]{border-radius:1.5px}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[3px\\]{border-radius:3px}.rounded-full{border-radius:3.40282e38px}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-br-\\[3px\\]{border-bottom-right-radius:3px}.rounded-bl-\\[3px\\]{border-bottom-left-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-\\[0\\.5px\\]{border-style:var(--tw-border-style);border-width:.5px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-grab-purple{border-color:var(--color-grab-purple)}.border-grab-purple\\/40{border-color:#d239c066}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/40{border-color:color-mix(in oklab,var(--color-grab-purple)40%,transparent)}}.border-grab-purple\\/50{border-color:#d239c080}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/50{border-color:color-mix(in oklab,var(--color-grab-purple)50%,transparent)}}.border-label-gray-border{border-color:var(--color-label-gray-border)}.border-label-success-border{border-color:var(--color-label-success-border)}.border-label-tag-border{border-color:var(--color-label-tag-border)}.border-white{border-color:var(--color-white)}.border-t-\\[\\#B6B6B6\\]{border-top-color:#b6b6b6}.bg-\\[\\#F2F2F2\\]{background-color:#f2f2f2}.bg-black{background-color:var(--color-black)}.bg-grab-pink{background-color:var(--color-grab-pink)}.bg-grab-purple\\/5{background-color:#d239c00d}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/5{background-color:color-mix(in oklab,var(--color-grab-purple)5%,transparent)}}.bg-grab-purple\\/8{background-color:#d239c014}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/8{background-color:color-mix(in oklab,var(--color-grab-purple)8%,transparent)}}.bg-label-success-bg{background-color:var(--color-label-success-bg)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-\\[3px\\]{padding-inline:3px}.px-\\[5px\\]{padding-inline:5px}.py-0{padding-block:calc(var(--spacing)*0)}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.align-middle{vertical-align:middle}.font-\\[ui-monospace\\,\\'SFMono-Regular\\'\\,\\'SF_Mono\\'\\,\\'Menlo\\'\\,\\'Consolas\\'\\,\\'Liberation_Mono\\'\\,monospace\\]{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[12px\\]{font-size:12px}.leading-3\\.5{--tw-leading:calc(var(--spacing)*3.5);line-height:calc(var(--spacing)*3.5)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\\[-0\\.04em\\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\\[-0\\.08em\\]{--tw-tracking:-.08em;letter-spacing:-.08em}.text-\\[\\#47004A\\]{color:#47004a}.text-black{color:var(--color-black)}.text-label-muted{color:var(--color-label-muted)}.text-label-success-text{color:var(--color-label-success-text)}.text-label-tag-border{color:var(--color-label-tag-border)}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.opacity-\\[0\\.99\\]{opacity:.99}.brightness-125{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\,height\\]{transition-property:width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-30{--tw-duration:30ms;transition-duration:30ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[transform\\,width\\,height\\]{will-change:transform,width,height}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,)var(--tw-contain-layout,)var(--tw-contain-paint,)var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.\\[font-synthesis\\:none\\]{font-synthesis:none}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.react-grab-shimmer{position:relative;overflow:hidden}.react-grab-shimmer:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes pulse{50%{opacity:.5}}`;
753
892
 
754
893
  // src/utils/is-keyboard-event-triggered-by-input.ts
755
894
  var FORM_TAGS_AND_ROLES = [
@@ -862,6 +1001,11 @@ var mountRoot = (cssText) => {
862
1001
  shadowRoot.appendChild(root);
863
1002
  const doc = document.body ?? document.documentElement;
864
1003
  doc.appendChild(host);
1004
+ setTimeout(() => {
1005
+ if (!doc.contains(host)) {
1006
+ doc.appendChild(host);
1007
+ }
1008
+ }, 1e3);
865
1009
  return root;
866
1010
  };
867
1011
 
@@ -3652,33 +3796,12 @@ var IconOpen = (props) => {
3652
3796
  })();
3653
3797
  };
3654
3798
 
3655
- // src/components/icon-return-key.tsx
3656
- var _tmpl$6 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 12 12"><g fill=none stroke-linecap=round stroke-linejoin=round stroke-width=1 stroke=currentColor><path d=m1.25,6.75h8.5c.5523,0,1-.4477,1-1v-2.5c0-.5523-.4477-1-1-1h-1.75></path><polyline points="3.75 4 1 6.75 3.75 9.5">`);
3657
- var IconReturnKey = (props) => {
3658
- const size = () => props.size ?? 14;
3659
- return (() => {
3660
- var _el$ = _tmpl$6();
3661
- createRenderEffect((_p$) => {
3662
- var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3663
- _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
3664
- _v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
3665
- _v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
3666
- return _p$;
3667
- }, {
3668
- e: void 0,
3669
- t: void 0,
3670
- a: void 0
3671
- });
3672
- return _el$;
3673
- })();
3674
- };
3675
-
3676
3799
  // src/components/icon-stop.tsx
3677
- var _tmpl$7 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 9 9"fill=none><rect x=1 y=1 width=7 height=7 rx=1 fill=currentColor>`);
3800
+ var _tmpl$6 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 9 9"fill=none><rect x=1 y=1 width=7 height=7 rx=1 fill=currentColor>`);
3678
3801
  var IconStop = (props) => {
3679
3802
  const size = () => props.size ?? 9;
3680
3803
  return (() => {
3681
- var _el$ = _tmpl$7();
3804
+ var _el$ = _tmpl$6();
3682
3805
  createRenderEffect((_p$) => {
3683
3806
  var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3684
3807
  _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
@@ -3695,22 +3818,25 @@ var IconStop = (props) => {
3695
3818
  };
3696
3819
 
3697
3820
  // src/components/selection-label.tsx
3698
- var _tmpl$8 = /* @__PURE__ */ template(`<div style="background-image:linear-gradient(in oklab 180deg, oklab(88.7% 0.086 -0.058) 0%, oklab(83.2% 0.132 -0.089) 100%)"><span>`);
3821
+ var _tmpl$7 = /* @__PURE__ */ template(`<div style="background-image:linear-gradient(in oklab 180deg, oklab(88.7% 0.086 -0.058) 0%, oklab(83.2% 0.132 -0.089) 100%)"><span>`);
3699
3822
  var _tmpl$22 = /* @__PURE__ */ template(`<span>`);
3700
3823
  var _tmpl$32 = /* @__PURE__ */ template(`<button>`);
3701
3824
  var _tmpl$42 = /* @__PURE__ */ template(`<div>`);
3702
3825
  var _tmpl$52 = /* @__PURE__ */ template(`<div class="flex items-center h-[18px] rounded-[1.5px] gap-[3px] px-[5px] py-px bg-label-success-bg border-[0.5px] border-solid border-label-success-border"><span class="text-label-success-text text-[12px] leading-4 font-medium tracking-[-0.04em]">`);
3703
- var _tmpl$62 = /* @__PURE__ */ template(`<div class="absolute w-0 h-0"style="border-left:8px solid transparent;border-right:8px solid transparent;z-index:1">`);
3704
- var _tmpl$72 = /* @__PURE__ */ template(`<div class="shrink-0 flex flex-col items-start px-2 py-[5px] w-full h-fit rounded-bl-[3px] rounded-br-[3px] border-t-[0.5px] border-t-solid border-t-label-divider">`);
3705
- var _tmpl$82 = /* @__PURE__ */ template(`<div class="flex items-center gap-[3px]">`);
3706
- var _tmpl$9 = /* @__PURE__ */ template(`<button class="flex items-center justify-center w-[18px] h-[18px] rounded-full cursor-pointer bg-black border-none transition-opacity hover:opacity-80"title=Stop>`);
3707
- var _tmpl$0 = /* @__PURE__ */ template(`<div class="flex items-center gap-[3px] react-grab-shimmer rounded-[3px]">`);
3708
- var _tmpl$1 = /* @__PURE__ */ template(`<div class="shrink-0 flex items-center gap-1 w-full h-[14px]"><span class="text-label-muted text-[12px] leading-3.5 shrink-0 tracking-[-0.04em] font-medium w-fit h-fit">to change`);
3709
- var _tmpl$10 = /* @__PURE__ */ template(`<div class="shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit"><div class="shrink-0 flex items-center gap-[3px] pt-1 w-fit h-fit px-1">`);
3710
- var _tmpl$11 = /* @__PURE__ */ template(`<div class="shrink-0 flex justify-between items-start w-full min-h-[14px]"><textarea class="text-black text-[12px] leading-3.5 tracking-[-0.04em] font-medium bg-transparent border-none outline-none resize-none flex-1 p-0 m-0"placeholder="type to modify..."rows=1 style=field-sizing:content;min-height:14px></textarea><button class="shrink-0 flex items-center gap-1 w-fit h-fit cursor-pointer bg-transparent border-none p-0 ml-1 mt-[2.5px]">`);
3711
- var _tmpl$12 = /* @__PURE__ */ template(`<div data-react-grab-ignore-events class="fixed font-sans antialiased transition-opacity duration-300 ease-out"style=z-index:2147483647><div class="relative flex items-center gap-[5px] bg-white rounded-[3px]"style="box-shadow:#00000033 0px 2px 3px">`);
3826
+ var _tmpl$62 = /* @__PURE__ */ template(`<div class="absolute w-0 h-0"style="border-left:8px solid transparent;border-right:8px solid transparent">`);
3827
+ var _tmpl$72 = /* @__PURE__ */ template(`<div role=button><div class="text-black text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit">Click to copy`);
3828
+ var _tmpl$8 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col items-start px-2 py-[5px] w-auto h-fit rounded-bl-[3px] rounded-br-[3px] self-stretch bg-[#F2F2F2] [border-top-width:0.5px] border-t-solid border-t-[#B6B6B6] rounded-t-none">`);
3829
+ var _tmpl$9 = /* @__PURE__ */ template(`<div class="flex items-center gap-[3px] pt-1 pb-1.5 px-1.5">`);
3830
+ var _tmpl$0 = /* @__PURE__ */ template(`<button class="flex items-center justify-center w-[18px] h-[18px] rounded-full cursor-pointer bg-black border-none transition-opacity hover:opacity-80"title=Stop>`);
3831
+ var _tmpl$1 = /* @__PURE__ */ template(`<div class="flex items-center gap-[3px] react-grab-shimmer rounded-[3px] pt-1 pb-1.5 px-1.5">`);
3832
+ var _tmpl$10 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-1 w-fit h-fit"><span class="text-label-muted text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit">Press</span><div class="contain-layout shrink-0 flex flex-col items-start p-0.5 rounded-[1px] bg-white [border-width:0.5px] border-solid border-white w-fit h-fit"style="box-shadow:#0000008C 0px 0px 2px"><div class="w-2.5 h-[9px] shrink-0 opacity-[0.99] bg-cover bg-center"style=background-image:url(https://workers.paper.design/file-assets/01K8D51Q7E2ESJTN18XN2MT96X/01KBEJ7N5GQ0ZZ7K456R42AP4V.svg)></div></div><span class="text-label-muted text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit">to edit`);
3833
+ var _tmpl$11 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 w-fit h-fit pt-1 px-1.5"></div><div class="grid w-full transition-[grid-template-rows] duration-30 ease-out"><div class="overflow-hidden min-h-0">`);
3834
+ var _tmpl$12 = /* @__PURE__ */ template(`<div class="shrink-0 flex justify-between items-end w-full min-h-4"><textarea class="text-black text-[12px] leading-4 tracking-[-0.04em] font-medium bg-transparent border-none outline-none resize-none flex-1 p-0 m-0"placeholder="type to edit"rows=1 style=field-sizing:content;min-height:16px></textarea><button class="contain-layout shrink-0 flex flex-col items-start p-0.5 rounded-xs bg-white [border-width:0.5px] border-solid border-white w-fit h-fit cursor-pointer ml-1 transition-none hover:scale-105 hover:shadow-md"style="box-shadow:#0000008C 0px 0px 2px"><div style=background-image:url(https://workers.paper.design/file-assets/01K8D51Q7E2ESJTN18XN2MT96X/01KBEJ7N5GQ0ZZ7K456R42AP4V.svg)>`);
3835
+ var _tmpl$13 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-fit h-fit">`);
3836
+ var _tmpl$14 = /* @__PURE__ */ template(`<div data-react-grab-ignore-events class="fixed font-sans antialiased transition-opacity duration-300 ease-out"style="z-index:2147483647;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.2)) drop-shadow(0 2px 4px rgba(0,0,0,0.25))"><div class="[font-synthesis:none] contain-layout flex items-center gap-[5px] rounded-[2px] bg-white antialiased w-fit h-fit p-0">`);
3712
3837
  var ARROW_HEIGHT = 8;
3713
3838
  var LABEL_GAP = 4;
3839
+ var IDLE_TIMEOUT_MS = 400;
3714
3840
  var TagBadge = (props) => {
3715
3841
  const [isHovered, setIsHovered] = createSignal(false);
3716
3842
  const handleMouseEnter = () => {
@@ -3722,26 +3848,26 @@ var TagBadge = (props) => {
3722
3848
  props.onHoverChange?.(false);
3723
3849
  };
3724
3850
  return (() => {
3725
- var _el$ = _tmpl$8(), _el$2 = _el$.firstChild;
3851
+ var _el$ = _tmpl$7(), _el$2 = _el$.firstChild;
3726
3852
  addEventListener(_el$, "click", props.onClick);
3727
3853
  _el$.addEventListener("mouseleave", handleMouseLeave);
3728
3854
  _el$.addEventListener("mouseenter", handleMouseEnter);
3729
3855
  insert(_el$2, () => props.tagName);
3730
3856
  insert(_el$, createComponent(Show, {
3731
3857
  get when() {
3732
- return props.isClickable;
3858
+ return props.isClickable || props.forceShowIcon;
3733
3859
  },
3734
3860
  get children() {
3735
3861
  return createComponent(IconOpen, {
3736
3862
  size: 10,
3737
3863
  get ["class"]() {
3738
- return cn("text-label-tag-border transition-all duration-100", isHovered() ? "opacity-100 scale-100" : "opacity-0 scale-75 -ml-[5px] w-0");
3864
+ return cn("text-label-tag-border transition-all duration-100", isHovered() || props.forceShowIcon ? "opacity-100 scale-100" : "opacity-0 scale-75 -ml-[2px] w-0");
3739
3865
  }
3740
3866
  });
3741
3867
  }
3742
3868
  }), null);
3743
3869
  createRenderEffect((_p$) => {
3744
- var _v$ = cn("flex items-center px-1 py-px h-[18px] rounded-[1.5px] gap-[5px] border-[0.5px] border-solid border-label-tag-border", props.shrink && "shrink-0 w-fit", props.isClickable && "cursor-pointer"), _v$2 = cn("text-label-tag-text text-[12px] leading-4 font-medium tracking-[-0.04em]", props.showMono && "font-mono", props.shrink && "shrink-0 w-fit h-fit");
3870
+ var _v$ = cn("contain-layout flex items-center px-[3px] py-0 h-4 rounded-[1px] gap-[2px] [border-width:0.5px] border-solid border-label-tag-border", props.shrink && "shrink-0 w-fit", props.isClickable && "cursor-pointer"), _v$2 = cn("text-[#47004A] text-[11.5px] leading-3.5 shrink-0 w-fit h-fit", props.showMono ? "tracking-[-0.08em] font-[ui-monospace,'SFMono-Regular','SF_Mono','Menlo','Consolas','Liberation_Mono',monospace]" : "tracking-[-0.04em] font-medium");
3745
3871
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
3746
3872
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
3747
3873
  return _p$;
@@ -3803,32 +3929,17 @@ var Arrow = (props) => (() => {
3803
3929
  }, _$p));
3804
3930
  return _el$8;
3805
3931
  })();
3806
- var ClickToCopyPill = (props) => createComponent(ActionPill, {
3807
- get icon() {
3808
- return createComponent(IconCursorSimple, {
3809
- size: 9,
3810
- "class": "text-black shrink-0"
3811
- });
3812
- },
3813
- label: "Click to copy",
3814
- get onClick() {
3815
- return props.onClick;
3816
- },
3817
- get asButton() {
3818
- return props.asButton;
3819
- },
3820
- get dimmed() {
3821
- return props.dimmed;
3822
- },
3823
- get shrink() {
3824
- return props.shrink;
3825
- }
3826
- });
3827
- var BottomSection = (props) => (() => {
3932
+ var ClickToCopyPill = (props) => (() => {
3828
3933
  var _el$9 = _tmpl$72();
3829
- insert(_el$9, () => props.children);
3934
+ addEventListener(_el$9, "click", props.onClick);
3935
+ createRenderEffect(() => className(_el$9, cn("contain-layout shrink-0 flex items-center px-0 py-px w-fit h-[18px] rounded-[1.5px] gap-[3px]", props.asButton && "cursor-pointer", props.dimmed && "opacity-50 hover:opacity-100 transition-opacity")));
3830
3936
  return _el$9;
3831
3937
  })();
3938
+ var BottomSection = (props) => (() => {
3939
+ var _el$0 = _tmpl$8();
3940
+ insert(_el$0, () => props.children);
3941
+ return _el$0;
3942
+ })();
3832
3943
  var SelectionLabel = (props) => {
3833
3944
  let containerRef;
3834
3945
  let inputRef;
@@ -3837,6 +3948,7 @@ var SelectionLabel = (props) => {
3837
3948
  const [measuredHeight, setMeasuredHeight] = createSignal(0);
3838
3949
  const [arrowPosition, setArrowPosition] = createSignal("bottom");
3839
3950
  const [viewportVersion, setViewportVersion] = createSignal(0);
3951
+ const [isIdle, setIsIdle] = createSignal(false);
3840
3952
  const isNotProcessing = () => props.status !== "copying" && props.status !== "copied" && props.status !== "fading";
3841
3953
  const measureContainer = () => {
3842
3954
  if (containerRef && !isTagCurrentlyHovered) {
@@ -3851,14 +3963,45 @@ var SelectionLabel = (props) => {
3851
3963
  const handleViewportChange = () => {
3852
3964
  setViewportVersion((version) => version + 1);
3853
3965
  };
3966
+ let idleTimeout;
3967
+ const resetIdleTimer = () => {
3968
+ setIsIdle(false);
3969
+ if (idleTimeout) {
3970
+ clearTimeout(idleTimeout);
3971
+ }
3972
+ idleTimeout = setTimeout(() => {
3973
+ setIsIdle(true);
3974
+ }, IDLE_TIMEOUT_MS);
3975
+ };
3976
+ const handleGlobalKeyDown = (event) => {
3977
+ if (event.code === "Enter" && isIdle() && !props.isInputExpanded && isNotProcessing()) {
3978
+ event.preventDefault();
3979
+ event.stopPropagation();
3980
+ props.onToggleExpand?.();
3981
+ }
3982
+ };
3854
3983
  onMount(() => {
3855
3984
  measureContainer();
3856
3985
  window.addEventListener("scroll", handleViewportChange, true);
3857
3986
  window.addEventListener("resize", handleViewportChange);
3987
+ window.addEventListener("keydown", handleGlobalKeyDown, {
3988
+ capture: true
3989
+ });
3990
+ resetIdleTimer();
3858
3991
  });
3859
3992
  onCleanup(() => {
3860
3993
  window.removeEventListener("scroll", handleViewportChange, true);
3861
3994
  window.removeEventListener("resize", handleViewportChange);
3995
+ window.removeEventListener("keydown", handleGlobalKeyDown, {
3996
+ capture: true
3997
+ });
3998
+ if (idleTimeout) {
3999
+ clearTimeout(idleTimeout);
4000
+ }
4001
+ });
4002
+ createEffect(() => {
4003
+ void props.selectionBounds;
4004
+ resetIdleTimer();
3862
4005
  });
3863
4006
  createEffect(() => {
3864
4007
  if (props.visible) {
@@ -3866,7 +4009,7 @@ var SelectionLabel = (props) => {
3866
4009
  }
3867
4010
  });
3868
4011
  createEffect(() => {
3869
- void [props.status, props.isInputExpanded, props.inputValue];
4012
+ void props.status;
3870
4013
  requestAnimationFrame(measureContainer);
3871
4014
  });
3872
4015
  createEffect(() => {
@@ -3952,26 +4095,26 @@ var SelectionLabel = (props) => {
3952
4095
  return memo(() => props.visible !== false)() && props.selectionBounds;
3953
4096
  },
3954
4097
  get children() {
3955
- var _el$0 = _tmpl$12(), _el$1 = _el$0.firstChild;
3956
- _el$0.$$click = stopPropagation;
3957
- _el$0.$$mousedown = stopPropagation;
4098
+ var _el$1 = _tmpl$14(), _el$10 = _el$1.firstChild;
4099
+ _el$1.$$click = stopPropagation;
4100
+ _el$1.$$mousedown = stopPropagation;
3958
4101
  var _ref$ = containerRef;
3959
- typeof _ref$ === "function" ? use(_ref$, _el$0) : containerRef = _el$0;
3960
- insert(_el$0, createComponent(Arrow, {
4102
+ typeof _ref$ === "function" ? use(_ref$, _el$1) : containerRef = _el$1;
4103
+ insert(_el$1, createComponent(Arrow, {
3961
4104
  get position() {
3962
4105
  return arrowPosition();
3963
4106
  },
3964
4107
  get leftPx() {
3965
4108
  return computedPosition().arrowLeft;
3966
4109
  }
3967
- }), _el$1);
3968
- insert(_el$1, createComponent(Show, {
4110
+ }), _el$10);
4111
+ insert(_el$10, createComponent(Show, {
3969
4112
  get when() {
3970
4113
  return props.status === "copied" || props.status === "fading";
3971
4114
  },
3972
4115
  get children() {
3973
- var _el$10 = _tmpl$82();
3974
- insert(_el$10, createComponent(TagBadge, {
4116
+ var _el$11 = _tmpl$9();
4117
+ insert(_el$11, createComponent(TagBadge, {
3975
4118
  get tagName() {
3976
4119
  return tagDisplay();
3977
4120
  },
@@ -3979,23 +4122,25 @@ var SelectionLabel = (props) => {
3979
4122
  return isTagClickable();
3980
4123
  },
3981
4124
  onClick: handleTagClick,
3982
- onHoverChange: handleTagHoverChange
4125
+ onHoverChange: handleTagHoverChange,
4126
+ showMono: true,
4127
+ shrink: true
3983
4128
  }), null);
3984
- insert(_el$10, createComponent(SuccessPill, {
4129
+ insert(_el$11, createComponent(SuccessPill, {
3985
4130
  get hasAgent() {
3986
4131
  return props.hasAgent;
3987
4132
  }
3988
4133
  }), null);
3989
- return _el$10;
4134
+ return _el$11;
3990
4135
  }
3991
4136
  }), null);
3992
- insert(_el$1, createComponent(Show, {
4137
+ insert(_el$10, createComponent(Show, {
3993
4138
  get when() {
3994
4139
  return props.status === "copying";
3995
4140
  },
3996
4141
  get children() {
3997
- var _el$11 = _tmpl$0();
3998
- insert(_el$11, createComponent(TagBadge, {
4142
+ var _el$12 = _tmpl$1();
4143
+ insert(_el$12, createComponent(TagBadge, {
3999
4144
  get tagName() {
4000
4145
  return tagDisplay();
4001
4146
  },
@@ -4004,9 +4149,10 @@ var SelectionLabel = (props) => {
4004
4149
  },
4005
4150
  onClick: handleTagClick,
4006
4151
  onHoverChange: handleTagHoverChange,
4007
- showMono: true
4152
+ showMono: true,
4153
+ shrink: true
4008
4154
  }), null);
4009
- insert(_el$11, createComponent(ActionPill, {
4155
+ insert(_el$12, createComponent(ActionPill, {
4010
4156
  get icon() {
4011
4157
  return createComponent(IconCursorSimple, {
4012
4158
  size: 9,
@@ -4017,40 +4163,44 @@ var SelectionLabel = (props) => {
4017
4163
  return props.statusText ?? "Grabbing\u2026";
4018
4164
  }
4019
4165
  }), null);
4020
- insert(_el$11, createComponent(Show, {
4166
+ insert(_el$12, createComponent(Show, {
4021
4167
  get when() {
4022
4168
  return memo(() => !!props.hasAgent)() && props.onAbort;
4023
4169
  },
4024
4170
  get children() {
4025
- var _el$12 = _tmpl$9();
4026
- _el$12.$$click = (event) => {
4171
+ var _el$13 = _tmpl$0();
4172
+ _el$13.$$click = (event) => {
4027
4173
  event.preventDefault();
4028
4174
  event.stopPropagation();
4029
4175
  event.stopImmediatePropagation();
4030
4176
  props.onAbort?.();
4031
4177
  };
4032
- _el$12.$$mousedown = (event) => {
4178
+ _el$13.$$mousedown = (event) => {
4033
4179
  event.preventDefault();
4034
4180
  event.stopPropagation();
4035
4181
  event.stopImmediatePropagation();
4036
4182
  };
4037
- insert(_el$12, createComponent(IconStop, {
4183
+ insert(_el$13, createComponent(IconStop, {
4038
4184
  size: 8,
4039
4185
  "class": "text-white"
4040
4186
  }));
4041
- return _el$12;
4187
+ return _el$13;
4042
4188
  }
4043
4189
  }), null);
4044
- return _el$11;
4190
+ return _el$12;
4045
4191
  }
4046
4192
  }), null);
4047
- insert(_el$1, createComponent(Show, {
4193
+ insert(_el$10, createComponent(Show, {
4048
4194
  get when() {
4049
4195
  return memo(() => !!isNotProcessing())() && !props.isInputExpanded;
4050
4196
  },
4051
4197
  get children() {
4052
- var _el$13 = _tmpl$10(), _el$14 = _el$13.firstChild;
4053
- insert(_el$14, createComponent(TagBadge, {
4198
+ var _el$14 = _tmpl$11(), _el$15 = _el$14.firstChild, _el$16 = _el$15.nextSibling, _el$17 = _el$16.firstChild;
4199
+ insert(_el$15, createComponent(ClickToCopyPill, {
4200
+ onClick: handleSubmit,
4201
+ shrink: true
4202
+ }), null);
4203
+ insert(_el$15, createComponent(TagBadge, {
4054
4204
  get tagName() {
4055
4205
  return tagDisplay();
4056
4206
  },
@@ -4062,30 +4212,28 @@ var SelectionLabel = (props) => {
4062
4212
  showMono: true,
4063
4213
  shrink: true
4064
4214
  }), null);
4065
- insert(_el$14, createComponent(ClickToCopyPill, {
4066
- onClick: handleSubmit,
4067
- shrink: true
4068
- }), null);
4069
- insert(_el$13, createComponent(BottomSection, {
4215
+ insert(_el$17, createComponent(BottomSection, {
4070
4216
  get children() {
4071
- var _el$15 = _tmpl$1(), _el$16 = _el$15.firstChild;
4072
- insert(_el$15, createComponent(IconReturnKey, {
4073
- size: 12,
4074
- "class": "shrink-0 text-black opacity-[0.65]"
4075
- }), _el$16);
4076
- return _el$15;
4217
+ var _el$18 = _tmpl$10(), _el$19 = _el$18.firstChild, _el$20 = _el$19.nextSibling; _el$20.firstChild;
4218
+ return _el$18;
4077
4219
  }
4078
- }), null);
4079
- return _el$13;
4220
+ }));
4221
+ createRenderEffect((_$p) => setStyleProperty(_el$16, "grid-template-rows", isIdle() ? "1fr" : "0fr"));
4222
+ return _el$14;
4080
4223
  }
4081
4224
  }), null);
4082
- insert(_el$1, createComponent(Show, {
4225
+ insert(_el$10, createComponent(Show, {
4083
4226
  get when() {
4084
4227
  return memo(() => !!isNotProcessing())() && props.isInputExpanded;
4085
4228
  },
4086
4229
  get children() {
4087
- var _el$17 = _tmpl$10(), _el$18 = _el$17.firstChild;
4088
- insert(_el$18, createComponent(TagBadge, {
4230
+ var _el$22 = _tmpl$13(), _el$23 = _el$22.firstChild;
4231
+ insert(_el$23, createComponent(ClickToCopyPill, {
4232
+ onClick: handleSubmit,
4233
+ dimmed: true,
4234
+ shrink: true
4235
+ }), null);
4236
+ insert(_el$23, createComponent(TagBadge, {
4089
4237
  get tagName() {
4090
4238
  return tagDisplay();
4091
4239
  },
@@ -4095,55 +4243,46 @@ var SelectionLabel = (props) => {
4095
4243
  onClick: handleTagClick,
4096
4244
  onHoverChange: handleTagHoverChange,
4097
4245
  showMono: true,
4098
- shrink: true
4246
+ shrink: true,
4247
+ forceShowIcon: true
4099
4248
  }), null);
4100
- insert(_el$18, createComponent(ClickToCopyPill, {
4101
- onClick: handleSubmit,
4102
- dimmed: true,
4103
- shrink: true
4104
- }), null);
4105
- insert(_el$17, createComponent(BottomSection, {
4249
+ insert(_el$22, createComponent(BottomSection, {
4106
4250
  get children() {
4107
- var _el$19 = _tmpl$11(), _el$20 = _el$19.firstChild, _el$21 = _el$20.nextSibling;
4108
- _el$20.$$keydown = handleKeyDown;
4109
- _el$20.$$input = handleInput;
4251
+ var _el$24 = _tmpl$12(), _el$25 = _el$24.firstChild, _el$26 = _el$25.nextSibling, _el$27 = _el$26.firstChild;
4252
+ _el$25.$$keydown = handleKeyDown;
4253
+ _el$25.$$input = handleInput;
4110
4254
  var _ref$2 = inputRef;
4111
- typeof _ref$2 === "function" ? use(_ref$2, _el$20) : inputRef = _el$20;
4112
- _el$21.$$click = handleSubmit;
4113
- insert(_el$21, createComponent(IconReturnKey, {
4114
- size: 12,
4115
- "class": "shrink-0 text-black"
4116
- }));
4117
- createRenderEffect(() => _el$20.value = props.inputValue ?? "");
4118
- return _el$19;
4255
+ typeof _ref$2 === "function" ? use(_ref$2, _el$25) : inputRef = _el$25;
4256
+ _el$26.$$click = handleSubmit;
4257
+ createRenderEffect(() => className(_el$27, cn("w-2.5 h-[9px] shrink-0 bg-cover bg-center transition-opacity duration-100", props.inputValue ? "opacity-[0.99]" : "opacity-50")));
4258
+ createRenderEffect(() => _el$25.value = props.inputValue ?? "");
4259
+ return _el$24;
4119
4260
  }
4120
4261
  }), null);
4121
- return _el$17;
4262
+ return _el$22;
4122
4263
  }
4123
4264
  }), null);
4124
4265
  createRenderEffect((_p$) => {
4125
- var _v$3 = `${computedPosition().top}px`, _v$4 = `${computedPosition().left}px`, _v$5 = props.visible ? "auto" : "none", _v$6 = props.status === "fading" ? 0 : 1, _v$7 = !isNotProcessing() ? "4px" : "0";
4126
- _v$3 !== _p$.e && setStyleProperty(_el$0, "top", _p$.e = _v$3);
4127
- _v$4 !== _p$.t && setStyleProperty(_el$0, "left", _p$.t = _v$4);
4128
- _v$5 !== _p$.a && setStyleProperty(_el$0, "pointer-events", _p$.a = _v$5);
4129
- _v$6 !== _p$.o && setStyleProperty(_el$0, "opacity", _p$.o = _v$6);
4130
- _v$7 !== _p$.i && setStyleProperty(_el$1, "padding", _p$.i = _v$7);
4266
+ var _v$3 = `${computedPosition().top}px`, _v$4 = `${computedPosition().left}px`, _v$5 = props.visible ? "auto" : "none", _v$6 = props.status === "fading" ? 0 : 1;
4267
+ _v$3 !== _p$.e && setStyleProperty(_el$1, "top", _p$.e = _v$3);
4268
+ _v$4 !== _p$.t && setStyleProperty(_el$1, "left", _p$.t = _v$4);
4269
+ _v$5 !== _p$.a && setStyleProperty(_el$1, "pointer-events", _p$.a = _v$5);
4270
+ _v$6 !== _p$.o && setStyleProperty(_el$1, "opacity", _p$.o = _v$6);
4131
4271
  return _p$;
4132
4272
  }, {
4133
4273
  e: void 0,
4134
4274
  t: void 0,
4135
4275
  a: void 0,
4136
- o: void 0,
4137
- i: void 0
4276
+ o: void 0
4138
4277
  });
4139
- return _el$0;
4278
+ return _el$1;
4140
4279
  }
4141
4280
  });
4142
4281
  };
4143
4282
  delegateEvents(["click", "mousedown", "input", "keydown"]);
4144
4283
 
4145
4284
  // src/components/selection-cursor.tsx
4146
- var _tmpl$13 = /* @__PURE__ */ template(`<div class="fixed z-2147483647"><button data-react-grab-selection-cursor>`);
4285
+ var _tmpl$15 = /* @__PURE__ */ template(`<div class="fixed z-2147483647"><button data-react-grab-selection-cursor>`);
4147
4286
  var SelectionCursor = (props) => {
4148
4287
  const [isHovered, setIsHovered] = createSignal(false);
4149
4288
  const [debouncedVisible, setDebouncedVisible] = createSignal(false);
@@ -4180,7 +4319,7 @@ var SelectionCursor = (props) => {
4180
4319
  });
4181
4320
  }
4182
4321
  }), (() => {
4183
- var _el$ = _tmpl$13(), _el$2 = _el$.firstChild;
4322
+ var _el$ = _tmpl$15(), _el$2 = _el$.firstChild;
4184
4323
  _el$.addEventListener("mouseleave", () => setIsHovered(false));
4185
4324
  _el$.addEventListener("mouseenter", () => setIsHovered(true));
4186
4325
  _el$2.$$click = handleClick;
@@ -4425,8 +4564,8 @@ var ReactGrabRenderer = (props) => {
4425
4564
  })];
4426
4565
  };
4427
4566
 
4428
- // ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/rdt-hook-CrcWl4lP.js
4429
- var e = `0.5.16`;
4567
+ // ../../node_modules/.pnpm/bippy@0.5.21_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/rdt-hook-BE3UuUaz.js
4568
+ var e = `0.5.21`;
4430
4569
  var t = `bippy-${e}`;
4431
4570
  var n = Object.defineProperty;
4432
4571
  var r2 = Object.prototype.hasOwnProperty;
@@ -4513,16 +4652,15 @@ var _ = () => {
4513
4652
  }
4514
4653
  };
4515
4654
 
4516
- // ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/install-hook-only-DtUPvEBg.js
4655
+ // ../../node_modules/.pnpm/bippy@0.5.21_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/install-hook-only-_lLceJhv.js
4517
4656
  _();
4518
4657
 
4519
- // ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/core-D7_ABaNC.js
4658
+ // ../../node_modules/.pnpm/bippy@0.5.21_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/core-_xno6DOO.js
4520
4659
  var a2 = 0;
4521
4660
  var o2 = 1;
4522
4661
  var c2 = 5;
4523
4662
  var f2 = 11;
4524
4663
  var p2 = 13;
4525
- var m2 = 14;
4526
4664
  var h2 = 15;
4527
4665
  var ee = 16;
4528
4666
  var te = 19;
@@ -4540,19 +4678,7 @@ var k = (e2) => {
4540
4678
  return typeof e2.type == `string`;
4541
4679
  }
4542
4680
  };
4543
- var pe = (e2) => {
4544
- switch (e2.tag) {
4545
- case o2:
4546
- case f2:
4547
- case a2:
4548
- case m2:
4549
- case h2:
4550
- return true;
4551
- default:
4552
- return false;
4553
- }
4554
- };
4555
- var me = (e2) => !e2 || typeof e2 != `object` ? true : `pendingProps` in e2 && !(`containerInfo` in e2);
4681
+ var me = (e2) => !e2 || typeof e2 != `object` ? false : `pendingProps` in e2 && !(`containerInfo` in e2);
4556
4682
  function N(e2, t2, n2 = false) {
4557
4683
  if (!e2) return null;
4558
4684
  let r3 = t2(e2);
@@ -4641,20 +4767,20 @@ var Pe = (e2) => {
4641
4767
  };
4642
4768
  var $ = /* @__PURE__ */ new Set();
4643
4769
 
4644
- // ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/source.js
4770
+ // ../../node_modules/.pnpm/bippy@0.5.21_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/source.js
4645
4771
  var b2 = Object.create;
4646
4772
  var x2 = Object.defineProperty;
4647
4773
  var S2 = Object.getOwnPropertyDescriptor;
4648
- var C2 = Object.getOwnPropertyNames;
4649
- var ee2 = Object.getPrototypeOf;
4650
- var te2 = Object.prototype.hasOwnProperty;
4651
- var ne2 = (e2, t2) => () => (t2 || e2((t2 = { exports: {} }).exports, t2), t2.exports);
4652
- var re2 = (e2, t2, n2, r3) => {
4653
- if (t2 && typeof t2 == `object` || typeof t2 == `function`) for (var i2 = C2(t2), a3 = 0, o3 = i2.length, s3; a3 < o3; a3++) s3 = i2[a3], !te2.call(e2, s3) && s3 !== n2 && x2(e2, s3, { get: ((e3) => t2[e3]).bind(null, s3), enumerable: !(r3 = S2(t2, s3)) || r3.enumerable });
4774
+ var ee2 = Object.getOwnPropertyNames;
4775
+ var te2 = Object.getPrototypeOf;
4776
+ var ne2 = Object.prototype.hasOwnProperty;
4777
+ var re2 = (e2, t2) => () => (t2 || e2((t2 = { exports: {} }).exports, t2), t2.exports);
4778
+ var ie2 = (e2, t2, n2, r3) => {
4779
+ if (t2 && typeof t2 == `object` || typeof t2 == `function`) for (var i2 = ee2(t2), a3 = 0, o3 = i2.length, s3; a3 < o3; a3++) s3 = i2[a3], !ne2.call(e2, s3) && s3 !== n2 && x2(e2, s3, { get: ((e3) => t2[e3]).bind(null, s3), enumerable: !(r3 = S2(t2, s3)) || r3.enumerable });
4654
4780
  return e2;
4655
4781
  };
4656
- var ie2 = (e2, t2, n2) => (n2 = e2 == null ? {} : b2(ee2(e2)), re2(x2(n2, `default`, { value: e2, enumerable: true }) , e2));
4657
- var ae2 = () => {
4782
+ var ae2 = (e2, t2, n2) => (n2 = e2 == null ? {} : b2(te2(e2)), ie2(x2(n2, `default`, { value: e2, enumerable: true }) , e2));
4783
+ var oe2 = () => {
4658
4784
  let n2 = h();
4659
4785
  for (let t2 of [...Array.from(d), ...Array.from(n2.renderers.values())]) {
4660
4786
  let e2 = t2.currentDispatcherRef;
@@ -4662,16 +4788,16 @@ var ae2 = () => {
4662
4788
  }
4663
4789
  return null;
4664
4790
  };
4665
- var w2 = (t2) => {
4791
+ var C2 = (t2) => {
4666
4792
  for (let n2 of d) {
4667
4793
  let e2 = n2.currentDispatcherRef;
4668
4794
  e2 && typeof e2 == `object` && (`H` in e2 ? e2.H = t2 : e2.current = t2);
4669
4795
  }
4670
4796
  };
4671
- var T2 = (e2) => `
4797
+ var w2 = (e2) => `
4672
4798
  in ${e2}`;
4673
- var oe2 = (e2, t2) => {
4674
- let n2 = T2(e2);
4799
+ var T2 = (e2, t2) => {
4800
+ let n2 = w2(e2);
4675
4801
  return t2 && (n2 += ` (at ${t2})`), n2;
4676
4802
  };
4677
4803
  var E = false;
@@ -4679,8 +4805,8 @@ var D = (e2, t2) => {
4679
4805
  if (!e2 || E) return ``;
4680
4806
  let n2 = Error.prepareStackTrace;
4681
4807
  Error.prepareStackTrace = void 0, E = true;
4682
- let r3 = ae2();
4683
- w2(null);
4808
+ let r3 = oe2();
4809
+ C2(null);
4684
4810
  let i2 = console.error, a3 = console.warn;
4685
4811
  console.error = () => {
4686
4812
  }, console.warn = () => {
@@ -4748,16 +4874,16 @@ ${t3[r5].replace(` at new `, ` at `)}`, i4 = Te(e2);
4748
4874
  }
4749
4875
  }
4750
4876
  } finally {
4751
- E = false, Error.prepareStackTrace = n2, w2(r3), console.error = i2, console.warn = a3;
4877
+ E = false, Error.prepareStackTrace = n2, C2(r3), console.error = i2, console.warn = a3;
4752
4878
  }
4753
- let o3 = e2 ? Te(e2) : ``, s3 = o3 ? T2(o3) : ``;
4879
+ let o3 = e2 ? Te(e2) : ``, s3 = o3 ? w2(o3) : ``;
4754
4880
  return s3;
4755
4881
  };
4756
4882
  var se2 = (e2, t2) => {
4757
4883
  let m3 = e2.tag, h3 = ``;
4758
4884
  switch (m3) {
4759
4885
  case ne:
4760
- h3 = T2(`Activity`);
4886
+ h3 = w2(`Activity`);
4761
4887
  break;
4762
4888
  case o2:
4763
4889
  h3 = D(e2.type, true);
@@ -4772,19 +4898,19 @@ var se2 = (e2, t2) => {
4772
4898
  case c2:
4773
4899
  case y:
4774
4900
  case b:
4775
- h3 = T2(e2.type);
4901
+ h3 = w2(e2.type);
4776
4902
  break;
4777
4903
  case ee:
4778
- h3 = T2(`Lazy`);
4904
+ h3 = w2(`Lazy`);
4779
4905
  break;
4780
4906
  case p2:
4781
- h3 = e2.child !== t2 && t2 !== null ? T2(`Suspense Fallback`) : T2(`Suspense`);
4907
+ h3 = e2.child !== t2 && t2 !== null ? w2(`Suspense Fallback`) : w2(`Suspense`);
4782
4908
  break;
4783
4909
  case te:
4784
- h3 = T2(`SuspenseList`);
4910
+ h3 = w2(`SuspenseList`);
4785
4911
  break;
4786
4912
  case re:
4787
- h3 = T2(`ViewTransition`);
4913
+ h3 = w2(`ViewTransition`);
4788
4914
  break;
4789
4915
  default:
4790
4916
  return ``;
@@ -4799,7 +4925,7 @@ var ce2 = (e2) => {
4799
4925
  let e3 = n2._debugInfo;
4800
4926
  if (e3 && Array.isArray(e3)) for (let n3 = e3.length - 1; n3 >= 0; n3--) {
4801
4927
  let r4 = e3[n3];
4802
- typeof r4.name == `string` && (t2 += oe2(r4.name, r4.env));
4928
+ typeof r4.name == `string` && (t2 += T2(r4.name, r4.env));
4803
4929
  }
4804
4930
  r3 = n2, n2 = n2.return;
4805
4931
  } while (n2);
@@ -4810,7 +4936,7 @@ Error generating stack: ${e3.message}
4810
4936
  ${e3.stack}` : ``;
4811
4937
  }
4812
4938
  };
4813
- var O2 = (e2) => {
4939
+ var le2 = (e2) => {
4814
4940
  let t2 = Error.prepareStackTrace;
4815
4941
  Error.prepareStackTrace = void 0;
4816
4942
  let n2 = e2;
@@ -4824,58 +4950,58 @@ var O2 = (e2) => {
4824
4950
  else return ``;
4825
4951
  return n2;
4826
4952
  };
4827
- var k2 = /(^|@)\S+:\d+/;
4828
- var A2 = /^\s*at .*(\S+:\d+|\(native\))/m;
4829
- var le2 = /^(eval@)?(\[native code\])?$/;
4830
- var M2 = (e2, t2) => {
4953
+ var O2 = /(^|@)\S+:\d+/;
4954
+ var k2 = /^\s*at .*(\S+:\d+|\(native\))/m;
4955
+ var ue2 = /^(eval@)?(\[native code\])?$/;
4956
+ var j2 = (e2, t2) => {
4831
4957
  if (t2?.includeInElement !== false) {
4832
4958
  let n2 = e2.split(`
4833
4959
  `), r3 = [];
4834
4960
  for (let e3 of n2) if (/^\s*at\s+/.test(e3)) {
4835
- let t3 = F2(e3, void 0)[0];
4961
+ let t3 = P2(e3, void 0)[0];
4836
4962
  t3 && r3.push(t3);
4837
4963
  } else if (/^\s*in\s+/.test(e3)) {
4838
4964
  let t3 = e3.replace(/^\s*in\s+/, ``).replace(/\s*\(at .*\)$/, ``);
4839
4965
  r3.push({ function: t3, raw: e3 });
4840
- } else if (e3.match(k2)) {
4841
- let t3 = I2(e3, void 0)[0];
4966
+ } else if (e3.match(O2)) {
4967
+ let t3 = F2(e3, void 0)[0];
4842
4968
  t3 && r3.push(t3);
4843
4969
  }
4844
- return P2(r3, t2);
4970
+ return N2(r3, t2);
4845
4971
  }
4846
- return e2.match(A2) ? F2(e2, t2) : I2(e2, t2);
4972
+ return e2.match(k2) ? P2(e2, t2) : F2(e2, t2);
4847
4973
  };
4848
- var N2 = (e2) => {
4974
+ var M2 = (e2) => {
4849
4975
  if (!e2.includes(`:`)) return [e2, void 0, void 0];
4850
4976
  let t2 = /(.+?)(?::(\d+))?(?::(\d+))?$/, n2 = t2.exec(e2.replace(/[()]/g, ``));
4851
4977
  return [n2[1], n2[2] || void 0, n2[3] || void 0];
4852
4978
  };
4853
- var P2 = (e2, t2) => t2 && t2.slice != null ? Array.isArray(t2.slice) ? e2.slice(t2.slice[0], t2.slice[1]) : e2.slice(0, t2.slice) : e2;
4854
- var F2 = (e2, t2) => {
4855
- let n2 = P2(e2.split(`
4856
- `).filter((e3) => !!e3.match(A2)), t2);
4979
+ var N2 = (e2, t2) => t2 && t2.slice != null ? Array.isArray(t2.slice) ? e2.slice(t2.slice[0], t2.slice[1]) : e2.slice(0, t2.slice) : e2;
4980
+ var P2 = (e2, t2) => {
4981
+ let n2 = N2(e2.split(`
4982
+ `).filter((e3) => !!e3.match(k2)), t2);
4857
4983
  return n2.map((e3) => {
4858
4984
  let t3 = e3;
4859
4985
  t3.includes(`(eval `) && (t3 = t3.replace(/eval code/g, `eval`).replace(/(\(eval at [^()]*)|(,.*$)/g, ``));
4860
4986
  let n3 = t3.replace(/^\s+/, ``).replace(/\(eval code/g, `(`).replace(/^.*?\s+/, ``), r3 = n3.match(/ (\(.+\)$)/);
4861
4987
  n3 = r3 ? n3.replace(r3[0], ``) : n3;
4862
- let i2 = N2(r3 ? r3[1] : n3), a3 = r3 && n3 || void 0, o3 = [`eval`, `<anonymous>`].includes(i2[0]) ? void 0 : i2[0];
4988
+ let i2 = M2(r3 ? r3[1] : n3), a3 = r3 && n3 || void 0, o3 = [`eval`, `<anonymous>`].includes(i2[0]) ? void 0 : i2[0];
4863
4989
  return { function: a3, file: o3, line: i2[1] ? +i2[1] : void 0, col: i2[2] ? +i2[2] : void 0, raw: t3 };
4864
4990
  });
4865
4991
  };
4866
- var I2 = (e2, t2) => {
4867
- let n2 = P2(e2.split(`
4868
- `).filter((e3) => !e3.match(le2)), t2);
4992
+ var F2 = (e2, t2) => {
4993
+ let n2 = N2(e2.split(`
4994
+ `).filter((e3) => !e3.match(ue2)), t2);
4869
4995
  return n2.map((e3) => {
4870
4996
  let t3 = e3;
4871
4997
  if (t3.includes(` > eval`) && (t3 = t3.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, `:$1`)), !t3.includes(`@`) && !t3.includes(`:`)) return { function: t3 };
4872
4998
  {
4873
- let e4 = /(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/, n3 = t3.match(e4), r3 = n3 && n3[1] ? n3[1] : void 0, i2 = N2(t3.replace(e4, ``));
4999
+ let e4 = /(([^\n\r"\u2028\u2029]*".[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*(?:@[^\n\r"\u2028\u2029]*"[^\n\r@\u2028\u2029]*)*(?:[\n\r\u2028\u2029][^@]*)?)?[^@]*)@/, n3 = t3.match(e4), r3 = n3 && n3[1] ? n3[1] : void 0, i2 = M2(t3.replace(e4, ``));
4874
5000
  return { function: r3, file: i2[0], line: i2[1] ? +i2[1] : void 0, col: i2[2] ? +i2[2] : void 0, raw: t3 };
4875
5001
  }
4876
5002
  });
4877
5003
  };
4878
- var pe2 = ne2((exports, t2) => {
5004
+ var me2 = re2((exports, t2) => {
4879
5005
  (function(n2, r3) {
4880
5006
  typeof exports == `object` && t2 !== void 0 ? r3(exports) : typeof define == `function` && define.amd ? define([`exports`], r3) : (n2 = typeof globalThis < `u` ? globalThis : n2 || self, r3(n2.sourcemapCodec = {}));
4881
5007
  })(void 0, function(e2) {
@@ -5079,12 +5205,12 @@ var pe2 = ne2((exports, t2) => {
5079
5205
  return r4;
5080
5206
  }
5081
5207
  function S3(e3) {
5082
- e3.sort(C3);
5208
+ e3.sort(ee3);
5083
5209
  }
5084
- function C3(e3, t4) {
5210
+ function ee3(e3, t4) {
5085
5211
  return e3[0] - t4[0];
5086
5212
  }
5087
- function ee3(e3) {
5213
+ function te3(e3) {
5088
5214
  let r4 = new d3(), i3 = 0, a4 = 0, o4 = 0, c4 = 0;
5089
5215
  for (let l4 = 0; l4 < e3.length; l4++) {
5090
5216
  let u4 = e3[l4];
@@ -5097,18 +5223,18 @@ var pe2 = ne2((exports, t2) => {
5097
5223
  }
5098
5224
  return r4.flush();
5099
5225
  }
5100
- e2.decode = x3, e2.decodeGeneratedRanges = _3, e2.decodeOriginalScopes = m3, e2.encode = ee3, e2.encodeGeneratedRanges = v2, e2.encodeOriginalScopes = h3, Object.defineProperty(e2, `__esModule`, { value: true });
5226
+ e2.decode = x3, e2.decodeGeneratedRanges = _3, e2.decodeOriginalScopes = m3, e2.encode = te3, e2.encodeGeneratedRanges = v2, e2.encodeOriginalScopes = h3, Object.defineProperty(e2, `__esModule`, { value: true });
5101
5227
  });
5102
5228
  });
5103
- var B2 = ie2(pe2());
5104
- var V2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
5105
- var me2 = /^data:application\/json[^,]+base64,/;
5106
- var he2 = /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/;
5107
- var H2 = typeof WeakRef < `u`;
5229
+ var z2 = ae2(me2());
5230
+ var B2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
5231
+ var he2 = /^data:application\/json[^,]+base64,/;
5232
+ var ge2 = /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/;
5233
+ var V2 = typeof WeakRef < `u`;
5234
+ var H2 = /* @__PURE__ */ new Map();
5108
5235
  var U2 = /* @__PURE__ */ new Map();
5109
- var W2 = /* @__PURE__ */ new Map();
5110
- var ge2 = (e2) => H2 && e2 instanceof WeakRef;
5111
- var G2 = (e2, t2, n2, r3) => {
5236
+ var _e2 = (e2) => V2 && e2 instanceof WeakRef;
5237
+ var W2 = (e2, t2, n2, r3) => {
5112
5238
  if (n2 < 0 || n2 >= e2.length) return null;
5113
5239
  let i2 = e2[n2];
5114
5240
  if (!i2 || i2.length === 0) return null;
@@ -5121,49 +5247,49 @@ var G2 = (e2, t2, n2, r3) => {
5121
5247
  let l3 = t2[o3];
5122
5248
  return l3 ? { columnNumber: c3, fileName: l3, lineNumber: s3 + 1 } : null;
5123
5249
  };
5124
- var K = (e2, t2, n2) => {
5250
+ var G2 = (e2, t2, n2) => {
5125
5251
  if (e2.sections) {
5126
5252
  let r3 = null;
5127
5253
  for (let i3 of e2.sections) if (t2 > i3.offset.line || t2 === i3.offset.line && n2 >= i3.offset.column) r3 = i3;
5128
5254
  else break;
5129
5255
  if (!r3) return null;
5130
5256
  let i2 = t2 - r3.offset.line, a3 = t2 === r3.offset.line ? n2 - r3.offset.column : n2;
5131
- return G2(r3.map.mappings, r3.map.sources, i2, a3);
5257
+ return W2(r3.map.mappings, r3.map.sources, i2, a3);
5132
5258
  }
5133
- return G2(e2.mappings, e2.sources, t2 - 1, n2);
5259
+ return W2(e2.mappings, e2.sources, t2 - 1, n2);
5134
5260
  };
5135
- var _e2 = (e2, t2) => {
5261
+ var ve2 = (e2, t2) => {
5136
5262
  let n2 = t2.split(`
5137
5263
  `), r3;
5138
5264
  for (let e3 = n2.length - 1; e3 >= 0 && !r3; e3--) {
5139
- let t3 = n2[e3].match(he2);
5265
+ let t3 = n2[e3].match(ge2);
5140
5266
  t3 && (r3 = t3[1] || t3[2]);
5141
5267
  }
5142
5268
  if (!r3) return null;
5143
- let i2 = V2.test(r3);
5144
- if (!(me2.test(r3) || i2 || r3.startsWith(`/`))) {
5269
+ let i2 = B2.test(r3);
5270
+ if (!(he2.test(r3) || i2 || r3.startsWith(`/`))) {
5145
5271
  let t3 = e2.split(`/`);
5146
5272
  t3[t3.length - 1] = r3, r3 = t3.join(`/`);
5147
5273
  }
5148
5274
  return r3;
5149
5275
  };
5150
- var ve2 = (e2) => ({ file: e2.file, mappings: (0, B2.decode)(e2.mappings), names: e2.names, sourceRoot: e2.sourceRoot, sources: e2.sources, sourcesContent: e2.sourcesContent, version: 3 });
5151
- var ye2 = (e2) => {
5152
- let t2 = e2.sections.map(({ map: e3, offset: t3 }) => ({ map: { ...e3, mappings: (0, B2.decode)(e3.mappings) }, offset: t3 })), n2 = /* @__PURE__ */ new Set();
5276
+ var ye2 = (e2) => ({ file: e2.file, mappings: (0, z2.decode)(e2.mappings), names: e2.names, sourceRoot: e2.sourceRoot, sources: e2.sources, sourcesContent: e2.sourcesContent, version: 3 });
5277
+ var be2 = (e2) => {
5278
+ let t2 = e2.sections.map(({ map: e3, offset: t3 }) => ({ map: { ...e3, mappings: (0, z2.decode)(e3.mappings) }, offset: t3 })), n2 = /* @__PURE__ */ new Set();
5153
5279
  for (let e3 of t2) for (let t3 of e3.map.sources) n2.add(t3);
5154
5280
  return { file: e2.file, mappings: [], names: [], sections: t2, sourceRoot: void 0, sources: Array.from(n2), sourcesContent: void 0, version: 3 };
5155
5281
  };
5156
- var q = (e2) => {
5282
+ var K = (e2) => {
5157
5283
  if (!e2) return false;
5158
5284
  let t2 = e2.trim();
5159
5285
  if (!t2) return false;
5160
- let n2 = t2.match(V2);
5286
+ let n2 = t2.match(B2);
5161
5287
  if (!n2) return true;
5162
5288
  let r3 = n2[0].toLowerCase();
5163
5289
  return r3 === `http:` || r3 === `https:`;
5164
5290
  };
5165
- var J = async (e2, t2 = fetch) => {
5166
- if (!q(e2)) return null;
5291
+ var q = async (e2, t2 = fetch) => {
5292
+ if (!K(e2)) return null;
5167
5293
  let n2;
5168
5294
  try {
5169
5295
  let r4 = await t2(e2);
@@ -5172,59 +5298,65 @@ var J = async (e2, t2 = fetch) => {
5172
5298
  return null;
5173
5299
  }
5174
5300
  if (!n2) return null;
5175
- let r3 = _e2(e2, n2);
5176
- if (!r3 || !q(r3)) return null;
5301
+ let r3 = ve2(e2, n2);
5302
+ if (!r3 || !K(r3)) return null;
5177
5303
  try {
5178
5304
  let e3 = await t2(r3), n3 = await e3.json();
5179
- return `sections` in n3 ? ye2(n3) : ve2(n3);
5305
+ return `sections` in n3 ? be2(n3) : ye2(n3);
5180
5306
  } catch {
5181
5307
  return null;
5182
5308
  }
5183
5309
  };
5184
- var Y = async (e2, t2 = true, n2) => {
5185
- if (t2 && U2.has(e2)) {
5186
- let t3 = U2.get(e2);
5310
+ var J = async (e2, t2 = true, n2) => {
5311
+ if (t2 && H2.has(e2)) {
5312
+ let t3 = H2.get(e2);
5187
5313
  if (t3 == null) return null;
5188
- if (ge2(t3)) {
5314
+ if (_e2(t3)) {
5189
5315
  let n3 = t3.deref();
5190
5316
  if (n3) return n3;
5191
- U2.delete(e2);
5317
+ H2.delete(e2);
5192
5318
  } else return t3;
5193
5319
  }
5194
- if (t2 && W2.has(e2)) return W2.get(e2);
5195
- let r3 = J(e2, n2);
5196
- t2 && W2.set(e2, r3);
5320
+ if (t2 && U2.has(e2)) return U2.get(e2);
5321
+ let r3 = q(e2, n2);
5322
+ t2 && U2.set(e2, r3);
5197
5323
  let i2 = await r3;
5198
- return t2 && W2.delete(e2), t2 && (i2 === null ? U2.set(e2, null) : U2.set(e2, H2 ? new WeakRef(i2) : i2)), i2;
5324
+ return t2 && U2.delete(e2), t2 && (i2 === null ? H2.set(e2, null) : H2.set(e2, V2 ? new WeakRef(i2) : i2)), i2;
5199
5325
  };
5200
- var be2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
5201
- var xe2 = [`rsc://`, `file:///`, `webpack://`, `node:`, `turbopack://`, `metro://`];
5202
- var Se2 = `about://React/`;
5203
- var Ce2 = [`<anonymous>`, `eval`, ``];
5204
- var we2 = /\.(jsx|tsx|ts|js)$/;
5205
- var Te2 = /(\.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;
5206
- var Ee2 = /^\?[\w~.\-]+(?:=[^&#]*)?(?:&[\w~.\-]+(?:=[^&#]*)?)*$/;
5207
- var De2 = (e2) => e2._debugStack instanceof Error && typeof e2._debugStack?.stack == `string`;
5208
- var Oe = (e2) => {
5326
+ var xe2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
5327
+ var Se2 = [`rsc://`, `file:///`, `webpack://`, `webpack-internal://`, `node:`, `turbopack://`, `metro://`, `/app-pages-browser/`];
5328
+ var Ce2 = `about://React/`;
5329
+ var we2 = [`<anonymous>`, `eval`, ``];
5330
+ var Te2 = /\.(jsx|tsx|ts|js)$/;
5331
+ var Ee2 = /(\.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;
5332
+ var De2 = /^\?[\w~.\-]+(?:=[^&#]*)?(?:&[\w~.\-]+(?:=[^&#]*)?)*$/;
5333
+ var Y = (e2) => e2?.fileName != null;
5334
+ var Oe = (e2) => e2._debugStack instanceof Error && typeof e2._debugStack?.stack == `string`;
5335
+ var ke2 = (e2) => {
5209
5336
  let t2 = e2._debugSource;
5210
5337
  return t2 ? typeof t2 == `object` && !!t2 && `fileName` in t2 && typeof t2.fileName == `string` && `lineNumber` in t2 && typeof t2.lineNumber == `number` : false;
5211
5338
  };
5212
- var ke2 = async (e2, t2 = true, n2) => {
5213
- if (Oe(e2)) {
5339
+ var Ae2 = async (e2, t2 = true, n2) => {
5340
+ if (ke2(e2)) {
5214
5341
  let t3 = e2._debugSource;
5215
5342
  return t3 || null;
5216
5343
  }
5217
- let r3 = X2(e2), i2 = await Z(r3, 1, t2, n2);
5218
- return !i2 || i2.length === 0 ? null : i2[0];
5344
+ let r3 = X2(e2), i2 = await Z(r3, 2 ** 53 - 1, t2, n2);
5345
+ if (!i2 || i2.length === 0) return null;
5346
+ for (let e3 of i2) if (Y(e3)) return e3;
5347
+ return null;
5219
5348
  };
5220
- var X2 = (e2) => De2(e2) ? O2(e2._debugStack.stack) : ce2(e2);
5221
- var Z = async (e2, t2 = 1, n2 = true, r3) => {
5222
- let i2 = M2(e2, { slice: t2 ?? 1 }), a3 = [];
5349
+ var X2 = (e2) => Oe(e2) ? le2(e2._debugStack.stack) : ce2(e2);
5350
+ var Z = async (e2, t2 = 2 ** 53 - 1, n2 = true, r3) => {
5351
+ let i2 = j2(e2, { slice: t2 }), a3 = [];
5223
5352
  for (let e3 of i2) {
5224
- if (!e3?.file) continue;
5225
- let t3 = await Y(e3.file, n2, r3);
5353
+ if (!e3?.file) {
5354
+ a3.push({ fileName: void 0, lineNumber: e3?.line, columnNumber: e3?.col, functionName: e3?.function });
5355
+ continue;
5356
+ }
5357
+ let t3 = await J(e3.file, n2, r3);
5226
5358
  if (t3 && typeof e3.line == `number` && typeof e3.col == `number`) {
5227
- let n3 = K(t3, e3.line, e3.col);
5359
+ let n3 = G2(t3, e3.line, e3.col);
5228
5360
  if (n3) {
5229
5361
  a3.push(n3);
5230
5362
  continue;
@@ -5235,30 +5367,30 @@ var Z = async (e2, t2 = 1, n2 = true, r3) => {
5235
5367
  return a3;
5236
5368
  };
5237
5369
  var Q = (e2) => {
5238
- if (!e2 || Ce2.includes(e2)) return ``;
5370
+ if (!e2 || we2.includes(e2)) return ``;
5239
5371
  let t2 = e2;
5240
- if (t2.startsWith(Se2)) {
5241
- let e3 = t2.slice(Se2.length), n3 = e3.indexOf(`/`), r3 = e3.indexOf(`:`);
5372
+ if (t2.startsWith(Ce2)) {
5373
+ let e3 = t2.slice(Ce2.length), n3 = e3.indexOf(`/`), r3 = e3.indexOf(`:`);
5242
5374
  t2 = n3 !== -1 && (r3 === -1 || n3 < r3) ? e3.slice(n3 + 1) : e3;
5243
5375
  }
5244
- for (let e3 of xe2) if (t2.startsWith(e3)) {
5376
+ for (let e3 of Se2) if (t2.startsWith(e3)) {
5245
5377
  t2 = t2.slice(e3.length), e3 === `file:///` && (t2 = `/${t2.replace(/^\/+/, ``)}`);
5246
5378
  break;
5247
5379
  }
5248
- if (be2.test(t2)) {
5249
- let e3 = t2.match(be2);
5380
+ if (xe2.test(t2)) {
5381
+ let e3 = t2.match(xe2);
5250
5382
  e3 && (t2 = t2.slice(e3[0].length));
5251
5383
  }
5252
5384
  let n2 = t2.indexOf(`?`);
5253
5385
  if (n2 !== -1) {
5254
5386
  let e3 = t2.slice(n2);
5255
- Ee2.test(e3) && (t2 = t2.slice(0, n2));
5387
+ De2.test(e3) && (t2 = t2.slice(0, n2));
5256
5388
  }
5257
5389
  return t2;
5258
5390
  };
5259
- var je2 = (e2) => {
5391
+ var Me2 = (e2) => {
5260
5392
  let t2 = Q(e2);
5261
- return !(!t2 || !we2.test(t2) || Te2.test(t2));
5393
+ return !(!t2 || !Te2.test(t2) || Ee2.test(t2));
5262
5394
  };
5263
5395
 
5264
5396
  // src/utils/is-capitalized.ts
@@ -5291,6 +5423,7 @@ var NEXT_INTERNAL_COMPONENT_NAMES = /* @__PURE__ */ new Set([
5291
5423
  "RootErrorBoundary"
5292
5424
  ]);
5293
5425
  var checkIsNextProject = () => {
5426
+ if (typeof document === "undefined") return false;
5294
5427
  return Boolean(document.getElementById("__NEXT_DATA__"));
5295
5428
  };
5296
5429
  var checkIsInternalComponentName = (name) => {
@@ -5305,36 +5438,31 @@ var checkIsSourceComponentName = (name) => {
5305
5438
  if (name.includes("Provider") && name.includes("Context")) return false;
5306
5439
  return true;
5307
5440
  };
5308
- var getNearestComponentName = (element) => {
5309
- if (!Ee()) return null;
5310
- try {
5311
- const fiber = Pe(element);
5312
- if (!fiber) return null;
5313
- let foundComponentName = null;
5314
- N(
5315
- fiber,
5316
- (currentFiber) => {
5317
- if (pe(currentFiber)) {
5318
- const displayName = Te(currentFiber);
5319
- if (displayName && checkIsSourceComponentName(displayName)) {
5320
- foundComponentName = displayName;
5321
- return true;
5322
- }
5323
- }
5324
- return false;
5325
- },
5326
- true
5327
- );
5328
- return foundComponentName;
5329
- } catch {
5330
- return null;
5331
- }
5332
- };
5333
5441
  var getStack = async (element) => {
5334
5442
  if (!Ee()) return [];
5335
5443
  try {
5336
5444
  const maybeFiber = Pe(element);
5337
5445
  if (!maybeFiber || !me(maybeFiber)) return [];
5446
+ const ownerStack = X2(maybeFiber);
5447
+ const sources = await Z(ownerStack);
5448
+ if (sources && sources.length > 0) {
5449
+ const stack = [];
5450
+ for (const source of sources) {
5451
+ if (source.functionName && !checkIsInternalComponentName(source.functionName)) {
5452
+ stack.push({
5453
+ name: source.functionName,
5454
+ source: source.fileName ? {
5455
+ fileName: source.fileName,
5456
+ lineNumber: source.lineNumber,
5457
+ columnNumber: source.columnNumber
5458
+ } : null
5459
+ });
5460
+ }
5461
+ }
5462
+ if (stack.length > 0) {
5463
+ return stack;
5464
+ }
5465
+ }
5338
5466
  const fiber = De(maybeFiber);
5339
5467
  const unresolvedStack = [];
5340
5468
  N(
@@ -5344,7 +5472,7 @@ var getStack = async (element) => {
5344
5472
  if (displayName && !checkIsInternalComponentName(displayName)) {
5345
5473
  unresolvedStack.push({
5346
5474
  name: displayName,
5347
- sourcePromise: ke2(currentFiber)
5475
+ sourcePromise: Ae2(currentFiber)
5348
5476
  });
5349
5477
  }
5350
5478
  },
@@ -5361,51 +5489,55 @@ var getStack = async (element) => {
5361
5489
  return [];
5362
5490
  }
5363
5491
  };
5492
+ var getNearestComponentName = async (element) => {
5493
+ const stack = await getStack(element);
5494
+ for (const frame of stack) {
5495
+ if (checkIsSourceComponentName(frame.name)) {
5496
+ return frame.name;
5497
+ }
5498
+ }
5499
+ return null;
5500
+ };
5364
5501
  var formatElementInfo = async (element) => {
5365
5502
  const html = getHTMLPreview(element);
5366
5503
  const stack = await getStack(element);
5367
5504
  const isNextProject = checkIsNextProject();
5368
- let serverBoundary = null;
5369
- let componentName = null;
5370
5505
  let fileName = null;
5371
5506
  let lineNumber = null;
5372
5507
  let columnNumber = null;
5508
+ let serverComponentName = null;
5509
+ let clientComponentName = null;
5373
5510
  for (const frame of stack) {
5374
- if (!frame.source) continue;
5375
- if (frame.source.fileName.startsWith("about://React/Server")) {
5376
- if (!serverBoundary) serverBoundary = frame.name;
5511
+ if (checkIsSourceComponentName(frame.name) && !serverComponentName && !frame.source?.fileName) {
5512
+ serverComponentName = frame.name;
5377
5513
  continue;
5378
5514
  }
5379
- if (je2(frame.source.fileName)) {
5380
- if (!fileName) {
5381
- fileName = Q(frame.source.fileName);
5382
- lineNumber = frame.source.lineNumber ?? null;
5383
- columnNumber = frame.source.columnNumber ?? null;
5384
- }
5385
- if (!componentName && checkIsSourceComponentName(frame.name)) {
5386
- componentName = frame.name;
5387
- }
5388
- if (fileName && componentName) {
5389
- break;
5390
- }
5515
+ if (!frame.source) continue;
5516
+ if (Me2(frame.source.fileName) && !fileName) {
5517
+ fileName = Q(frame.source.fileName);
5518
+ lineNumber = frame.source.lineNumber ?? null;
5519
+ columnNumber = frame.source.columnNumber ?? null;
5520
+ clientComponentName = frame.name;
5521
+ break;
5391
5522
  }
5392
5523
  }
5393
- if (!componentName || !fileName) {
5394
- return html;
5395
- }
5396
- let result = `${html}
5397
- in ${componentName} at ${fileName}`;
5398
- if (isNextProject && lineNumber && columnNumber) {
5399
- result += `:${lineNumber}:${columnNumber}`;
5524
+ let result = html;
5525
+ if (serverComponentName) {
5526
+ result += `
5527
+ in ${serverComponentName} (Server)`;
5400
5528
  }
5401
- if (serverBoundary) {
5402
- result += ` (via Server: ${serverBoundary})`;
5529
+ if (fileName) {
5530
+ result += `
5531
+ ${clientComponentName ? ` in ${clientComponentName}` : ""} at ${fileName}`;
5532
+ if (isNextProject && lineNumber && columnNumber) {
5533
+ result += `:${lineNumber}:${columnNumber}`;
5534
+ }
5403
5535
  }
5404
5536
  return result;
5405
5537
  };
5406
5538
  var getFileName = (stack) => {
5407
5539
  for (const frame of stack) {
5408
- if (frame.source && je2(frame.source.fileName)) {
5540
+ if (frame.source && Me2(frame.source.fileName)) {
5409
5541
  return Q(frame.source.fileName);
5410
5542
  }
5411
5543
  }
@@ -5965,10 +6097,17 @@ var generateSnippet = async (elements) => {
5965
6097
  };
5966
6098
 
5967
6099
  // src/agent.ts
5968
- var createAgentManager = (agentOptions) => {
6100
+ var createAgentManager = (initialAgentOptions) => {
5969
6101
  const [sessions, setSessions] = createSignal(/* @__PURE__ */ new Map());
5970
6102
  const abortControllers = /* @__PURE__ */ new Map();
5971
6103
  const sessionElements = /* @__PURE__ */ new Map();
6104
+ let agentOptions = initialAgentOptions;
6105
+ const setOptions = (options) => {
6106
+ agentOptions = options;
6107
+ };
6108
+ const getOptions = () => {
6109
+ return agentOptions;
6110
+ };
5972
6111
  const isProcessing = () => sessions().size > 0;
5973
6112
  const executeSessionStream = async (session, streamIterator) => {
5974
6113
  const storage = agentOptions?.storage;
@@ -6152,12 +6291,14 @@ var createAgentManager = (agentOptions) => {
6152
6291
  abortSession,
6153
6292
  abortAllSessions,
6154
6293
  updateSessionBoundsOnViewportChange,
6155
- getSessionElement
6294
+ getSessionElement,
6295
+ setOptions,
6296
+ getOptions
6156
6297
  };
6157
6298
  };
6158
6299
 
6159
6300
  // src/core.tsx
6160
- var _tmpl$14 = /* @__PURE__ */ template(`<span class="tabular-nums align-middle">`);
6301
+ var _tmpl$16 = /* @__PURE__ */ template(`<span class="tabular-nums align-middle">`);
6161
6302
  var _tmpl$23 = /* @__PURE__ */ template(`<span class="font-mono tabular-nums align-middle">&lt;<!>>`);
6162
6303
  var _tmpl$33 = /* @__PURE__ */ template(`<span class="tabular-nums ml-1 align-middle"> in `);
6163
6304
  var hasInited = false;
@@ -6172,6 +6313,34 @@ var getScriptOptions = () => {
6172
6313
  }
6173
6314
  };
6174
6315
  var init = (rawOptions) => {
6316
+ const initialTheme = mergeTheme(rawOptions?.theme);
6317
+ if (typeof window === "undefined") {
6318
+ return {
6319
+ activate: () => {
6320
+ },
6321
+ deactivate: () => {
6322
+ },
6323
+ toggle: () => {
6324
+ },
6325
+ isActive: () => false,
6326
+ dispose: () => {
6327
+ },
6328
+ copyElement: () => Promise.resolve(false),
6329
+ getState: () => ({
6330
+ isActive: false,
6331
+ isDragging: false,
6332
+ isCopying: false,
6333
+ isInputMode: false,
6334
+ targetElement: null,
6335
+ dragBounds: null
6336
+ }),
6337
+ updateTheme: () => {
6338
+ },
6339
+ getTheme: () => initialTheme,
6340
+ setAgent: () => {
6341
+ }
6342
+ };
6343
+ }
6175
6344
  const scriptOptions = getScriptOptions();
6176
6345
  const options = {
6177
6346
  enabled: true,
@@ -6180,7 +6349,7 @@ var init = (rawOptions) => {
6180
6349
  ...scriptOptions,
6181
6350
  ...rawOptions
6182
6351
  };
6183
- const initialTheme = mergeTheme(options.theme);
6352
+ const mergedTheme = mergeTheme(options.theme);
6184
6353
  if (options.enabled === false || hasInited) {
6185
6354
  return {
6186
6355
  activate: () => {
@@ -6203,13 +6372,15 @@ var init = (rawOptions) => {
6203
6372
  }),
6204
6373
  updateTheme: () => {
6205
6374
  },
6206
- getTheme: () => initialTheme
6375
+ getTheme: () => mergedTheme,
6376
+ setAgent: () => {
6377
+ }
6207
6378
  };
6208
6379
  }
6209
6380
  hasInited = true;
6210
6381
  const logIntro = () => {
6211
6382
  try {
6212
- const version = "0.0.56";
6383
+ const version = "0.0.58";
6213
6384
  const logoDataUri = `data:image/svg+xml;base64,${btoa(LOGO_SVG)}`;
6214
6385
  console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
6215
6386
  https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid #d75fcb; padding: 4px 4px 4px 24px; border-radius: 4px; background-image: url("${logoDataUri}"); background-size: 16px 16px; background-repeat: no-repeat; background-position: 4px center; display: inline-block; margin-bottom: 4px;`, "");
@@ -6230,7 +6401,7 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6230
6401
  };
6231
6402
  logIntro();
6232
6403
  return createRoot((dispose2) => {
6233
- const [theme, setTheme] = createSignal(initialTheme);
6404
+ const [theme, setTheme] = createSignal(mergedTheme);
6234
6405
  const [isHoldingKeys, setIsHoldingKeys] = createSignal(false);
6235
6406
  const [mouseX, setMouseX] = createSignal(OFFSCREEN_POSITION);
6236
6407
  const [mouseY, setMouseY] = createSignal(OFFSCREEN_POSITION);
@@ -6258,6 +6429,7 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6258
6429
  const [isToggleFrozen, setIsToggleFrozen] = createSignal(false);
6259
6430
  const [isInputExpanded, setIsInputExpanded] = createSignal(false);
6260
6431
  const [frozenElement, setFrozenElement] = createSignal(null);
6432
+ const [hasAgentProvider, setHasAgentProvider] = createSignal(Boolean(options.agent?.provider));
6261
6433
  const [nativeSelectionCursorX, setNativeSelectionCursorX] = createSignal(OFFSCREEN_POSITION);
6262
6434
  const [nativeSelectionCursorY, setNativeSelectionCursorY] = createSignal(OFFSCREEN_POSITION);
6263
6435
  const [hasNativeSelection, setHasNativeSelection] = createSignal(false);
@@ -6268,10 +6440,13 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6268
6440
  if (elements.length === 0 || !elements[0]) return void 0;
6269
6441
  return extractElementTagName(elements[0]) || void 0;
6270
6442
  });
6271
- const nativeSelectionComponentName = createMemo(() => {
6443
+ const [nativeSelectionComponentName] = createResource(() => {
6272
6444
  const elements = nativeSelectionElements();
6273
- if (elements.length === 0 || !elements[0]) return void 0;
6274
- return getNearestComponentName(elements[0]) || void 0;
6445
+ if (elements.length === 0 || !elements[0]) return null;
6446
+ return elements[0];
6447
+ }, async (element) => {
6448
+ if (!element) return void 0;
6449
+ return await getNearestComponentName(element) || void 0;
6275
6450
  });
6276
6451
  const clearNativeSelectionState = () => {
6277
6452
  setNativeSelectionCursorX(OFFSCREEN_POSITION);
@@ -6409,9 +6584,7 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6409
6584
  }, COPIED_LABEL_DURATION_MS);
6410
6585
  }
6411
6586
  if (isToggleMode()) {
6412
- setTimeout(() => {
6413
- deactivateRenderer();
6414
- }, COPIED_LABEL_DURATION_MS + 350);
6587
+ deactivateRenderer();
6415
6588
  }
6416
6589
  });
6417
6590
  };
@@ -6555,18 +6728,22 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6555
6728
  y: drag.y
6556
6729
  };
6557
6730
  });
6731
+ const [labelComponentName] = createResource(() => targetElement(), async (element) => {
6732
+ if (!element) return null;
6733
+ return getNearestComponentName(element);
6734
+ });
6558
6735
  const labelContent = createMemo(() => {
6559
6736
  const element = targetElement();
6560
6737
  const copying = isCopying();
6561
6738
  if (!element) {
6562
6739
  return (() => {
6563
- var _el$ = _tmpl$14();
6740
+ var _el$ = _tmpl$16();
6564
6741
  insert(_el$, copying ? "Please wait\u2026" : "1 element");
6565
6742
  return _el$;
6566
6743
  })();
6567
6744
  }
6568
6745
  const tagName = extractElementTagName(element);
6569
- const componentName = getNearestComponentName(element);
6746
+ const componentName = labelComponentName();
6570
6747
  if (tagName && componentName) {
6571
6748
  return [(() => {
6572
6749
  var _el$2 = _tmpl$23(), _el$3 = _el$2.firstChild, _el$5 = _el$3.nextSibling; _el$5.nextSibling;
@@ -6586,7 +6763,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6586
6763
  })();
6587
6764
  }
6588
6765
  return (() => {
6589
- var _el$10 = _tmpl$14();
6766
+ var _el$10 = _tmpl$16();
6590
6767
  insert(_el$10, copying ? "Please wait\u2026" : "1 element");
6591
6768
  return _el$10;
6592
6769
  })();
@@ -6617,7 +6794,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6617
6794
  }
6618
6795
  getStack(element).then((stack) => {
6619
6796
  for (const frame of stack) {
6620
- if (frame.source && je2(frame.source.fileName)) {
6797
+ if (frame.source && Me2(frame.source.fileName)) {
6621
6798
  setSelectionFilePath(Q(frame.source.fileName));
6622
6799
  setSelectionLineNumber(frame.source.lineNumber);
6623
6800
  return;
@@ -6827,7 +7004,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6827
7004
  const currentY = bounds.y + bounds.height / 2;
6828
7005
  setMouseX(currentX);
6829
7006
  setMouseY(currentY);
6830
- if (options.agent?.provider && prompt) {
7007
+ if (hasAgentProvider() && prompt) {
6831
7008
  deactivateRenderer();
6832
7009
  void agentManager.startSession({
6833
7010
  element,
@@ -6940,7 +7117,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6940
7117
  transform: stripTranslateFromTransform(firstElement)
6941
7118
  };
6942
7119
  const tagName = extractElementTagName(firstElement);
6943
- if (options.agent?.provider) {
7120
+ if (hasAgentProvider()) {
6944
7121
  const centerX = bounds.x + bounds.width / 2;
6945
7122
  const centerY = bounds.y + bounds.height / 2;
6946
7123
  setMouseX(centerX);
@@ -7383,7 +7560,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7383
7560
  return isInputExpanded();
7384
7561
  },
7385
7562
  get hasAgent() {
7386
- return Boolean(options.agent?.provider);
7563
+ return hasAgentProvider();
7387
7564
  },
7388
7565
  get agentSessions() {
7389
7566
  return agentManager.sessions();
@@ -7418,7 +7595,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7418
7595
  }
7419
7596
  }), rendererRoot);
7420
7597
  }
7421
- if (options.agent?.provider) {
7598
+ if (hasAgentProvider()) {
7422
7599
  agentManager.tryResumeSessions();
7423
7600
  }
7424
7601
  const copyElementAPI = async (elements) => {
@@ -7471,16 +7648,45 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7471
7648
  getState: getStateAPI,
7472
7649
  updateTheme: (partialTheme) => {
7473
7650
  const currentTheme = theme();
7474
- const mergedTheme = deepMergeTheme(currentTheme, partialTheme);
7475
- setTheme(mergedTheme);
7651
+ const mergedTheme2 = deepMergeTheme(currentTheme, partialTheme);
7652
+ setTheme(mergedTheme2);
7476
7653
  },
7477
- getTheme: () => theme()
7654
+ getTheme: () => theme(),
7655
+ setAgent: (newAgentOptions) => {
7656
+ const existingOptions = agentManager.getOptions();
7657
+ const mergedOptions = {
7658
+ ...existingOptions,
7659
+ ...newAgentOptions,
7660
+ provider: newAgentOptions.provider ?? existingOptions?.provider,
7661
+ onAbort: (session, element) => {
7662
+ newAgentOptions?.onAbort?.(session, element);
7663
+ if (element && document.contains(element)) {
7664
+ const rect = element.getBoundingClientRect();
7665
+ const centerX = rect.left + rect.width / 2;
7666
+ const centerY = rect.top + rect.height / 2;
7667
+ setMouseX(centerX);
7668
+ setMouseY(centerY);
7669
+ setFrozenElement(element);
7670
+ setInputText(session.context.prompt);
7671
+ setIsInputExpanded(true);
7672
+ setIsInputMode(true);
7673
+ setIsToggleMode(true);
7674
+ setIsToggleFrozen(true);
7675
+ if (!isActivated()) {
7676
+ activateRenderer();
7677
+ }
7678
+ }
7679
+ }
7680
+ };
7681
+ agentManager.setOptions(mergedOptions);
7682
+ setHasAgentProvider(Boolean(mergedOptions.provider));
7683
+ }
7478
7684
  };
7479
7685
  });
7480
7686
  };
7481
7687
  /*! Bundled license information:
7482
7688
 
7483
- bippy/dist/rdt-hook-CrcWl4lP.js:
7689
+ bippy/dist/rdt-hook-BE3UuUaz.js:
7484
7690
  (**
7485
7691
  * @license bippy
7486
7692
  *
@@ -7490,7 +7696,7 @@ bippy/dist/rdt-hook-CrcWl4lP.js:
7490
7696
  * LICENSE file in the root directory of this source tree.
7491
7697
  *)
7492
7698
 
7493
- bippy/dist/install-hook-only-DtUPvEBg.js:
7699
+ bippy/dist/install-hook-only-_lLceJhv.js:
7494
7700
  (**
7495
7701
  * @license bippy
7496
7702
  *
@@ -7500,7 +7706,7 @@ bippy/dist/install-hook-only-DtUPvEBg.js:
7500
7706
  * LICENSE file in the root directory of this source tree.
7501
7707
  *)
7502
7708
 
7503
- bippy/dist/core-D7_ABaNC.js:
7709
+ bippy/dist/core-_xno6DOO.js:
7504
7710
  (**
7505
7711
  * @license bippy
7506
7712
  *
@@ -7541,4 +7747,4 @@ bippy/dist/source.js:
7541
7747
  *)
7542
7748
  */
7543
7749
 
7544
- export { DEFAULT_THEME, Ee, formatElementInfo, generateSnippet, getFileName, getNearestComponentName, getStack, init };
7750
+ export { DEFAULT_THEME, Ee, formatElementInfo, generateSnippet, getFileName, getStack, init };