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.
@@ -24,6 +24,7 @@ var UNOWNED = {
24
24
  context: null,
25
25
  owner: null
26
26
  };
27
+ var NO_INIT = {};
27
28
  var Owner = null;
28
29
  var Transition = null;
29
30
  var ExternalSourceConfig = null;
@@ -63,6 +64,10 @@ function createSignal(value, options) {
63
64
  };
64
65
  return [readSignal.bind(s3), setter];
65
66
  }
67
+ function createComputed(fn, value, options) {
68
+ const c3 = createComputation(fn, value, true, STALE);
69
+ updateComputation(c3);
70
+ }
66
71
  function createRenderEffect(fn, value, options) {
67
72
  const c3 = createComputation(fn, value, false, STALE);
68
73
  updateComputation(c3);
@@ -82,6 +87,123 @@ function createMemo(fn, value, options) {
82
87
  updateComputation(c3);
83
88
  return readSignal.bind(c3);
84
89
  }
90
+ function isPromise(v2) {
91
+ return v2 && typeof v2 === "object" && "then" in v2;
92
+ }
93
+ function createResource(pSource, pFetcher, pOptions) {
94
+ let source;
95
+ let fetcher;
96
+ let options;
97
+ if (typeof pFetcher === "function") {
98
+ source = pSource;
99
+ fetcher = pFetcher;
100
+ options = {};
101
+ } else {
102
+ source = true;
103
+ fetcher = pSource;
104
+ options = pFetcher || {};
105
+ }
106
+ let pr = null, initP = NO_INIT, scheduled = false, resolved = "initialValue" in options, dynamic = typeof source === "function" && createMemo(source);
107
+ const contexts = /* @__PURE__ */ new Set(), [value, setValue] = (options.storage || createSignal)(options.initialValue), [error, setError] = createSignal(void 0), [track, trigger] = createSignal(void 0, {
108
+ equals: false
109
+ }), [state, setState] = createSignal(resolved ? "ready" : "unresolved");
110
+ function loadEnd(p3, v2, error2, key) {
111
+ if (pr === p3) {
112
+ pr = null;
113
+ key !== void 0 && (resolved = true);
114
+ if ((p3 === initP || v2 === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, {
115
+ value: v2
116
+ }));
117
+ initP = NO_INIT;
118
+ completeLoad(v2, error2);
119
+ }
120
+ return v2;
121
+ }
122
+ function completeLoad(v2, err) {
123
+ runUpdates(() => {
124
+ if (err === void 0) setValue(() => v2);
125
+ setState(err !== void 0 ? "errored" : resolved ? "ready" : "unresolved");
126
+ setError(err);
127
+ for (const c3 of contexts.keys()) c3.decrement();
128
+ contexts.clear();
129
+ }, false);
130
+ }
131
+ function read() {
132
+ const c3 = SuspenseContext, v2 = value(), err = error();
133
+ if (err !== void 0 && !pr) throw err;
134
+ if (Listener && !Listener.user && c3) ;
135
+ return v2;
136
+ }
137
+ function load(refetching = true) {
138
+ if (refetching !== false && scheduled) return;
139
+ scheduled = false;
140
+ const lookup = dynamic ? dynamic() : source;
141
+ if (lookup == null || lookup === false) {
142
+ loadEnd(pr, untrack(value));
143
+ return;
144
+ }
145
+ let error2;
146
+ const p3 = initP !== NO_INIT ? initP : untrack(() => {
147
+ try {
148
+ return fetcher(lookup, {
149
+ value: value(),
150
+ refetching
151
+ });
152
+ } catch (fetcherError) {
153
+ error2 = fetcherError;
154
+ }
155
+ });
156
+ if (error2 !== void 0) {
157
+ loadEnd(pr, void 0, castError(error2), lookup);
158
+ return;
159
+ } else if (!isPromise(p3)) {
160
+ loadEnd(pr, p3, void 0, lookup);
161
+ return p3;
162
+ }
163
+ pr = p3;
164
+ if ("v" in p3) {
165
+ if (p3.s === 1) loadEnd(pr, p3.v, void 0, lookup);
166
+ else loadEnd(pr, void 0, castError(p3.v), lookup);
167
+ return p3;
168
+ }
169
+ scheduled = true;
170
+ queueMicrotask(() => scheduled = false);
171
+ runUpdates(() => {
172
+ setState(resolved ? "refreshing" : "pending");
173
+ trigger();
174
+ }, false);
175
+ return p3.then((v2) => loadEnd(p3, v2, void 0, lookup), (e2) => loadEnd(p3, void 0, castError(e2), lookup));
176
+ }
177
+ Object.defineProperties(read, {
178
+ state: {
179
+ get: () => state()
180
+ },
181
+ error: {
182
+ get: () => error()
183
+ },
184
+ loading: {
185
+ get() {
186
+ const s3 = state();
187
+ return s3 === "pending" || s3 === "refreshing";
188
+ }
189
+ },
190
+ latest: {
191
+ get() {
192
+ if (!resolved) return read();
193
+ const err = error();
194
+ if (err && !pr) throw err;
195
+ return value();
196
+ }
197
+ }
198
+ });
199
+ let owner = Owner;
200
+ if (dynamic) createComputed(() => (owner = Owner, load(false)));
201
+ else load(false);
202
+ return [read, {
203
+ refetch: (info) => runWithOwner(owner, () => load(info)),
204
+ mutate: setValue
205
+ }];
206
+ }
85
207
  function untrack(fn) {
86
208
  if (Listener === null) return fn();
87
209
  const listener = Listener;
@@ -116,6 +238,22 @@ function onCleanup(fn) {
116
238
  else Owner.cleanups.push(fn);
117
239
  return fn;
118
240
  }
241
+ function runWithOwner(o3, fn) {
242
+ const prev = Owner;
243
+ const prevListener = Listener;
244
+ Owner = o3;
245
+ Listener = null;
246
+ try {
247
+ return runUpdates(fn, true);
248
+ } catch (err) {
249
+ handleError(err);
250
+ } finally {
251
+ Owner = prev;
252
+ Listener = prevListener;
253
+ }
254
+ }
255
+ var [transPending, setTransPending] = /* @__PURE__ */ createSignal(false);
256
+ var SuspenseContext;
119
257
  function readSignal() {
120
258
  if (this.sources && (this.state)) {
121
259
  if ((this.state) === STALE) updateComputation(this);
@@ -357,7 +495,7 @@ function mapArray(list, mapFn, options = {}) {
357
495
  let items = [], mapped = [], disposers = [], len = 0, indexes = mapFn.length > 1 ? [] : null;
358
496
  onCleanup(() => dispose(disposers));
359
497
  return () => {
360
- let newItems = list() || [], newLen = newItems.length, i2, j2;
498
+ let newItems = list() || [], newLen = newItems.length, i2, j3;
361
499
  newItems[$TRACK];
362
500
  return untrack(() => {
363
501
  let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;
@@ -380,9 +518,9 @@ function mapArray(list, mapFn, options = {}) {
380
518
  }
381
519
  } else if (len === 0) {
382
520
  mapped = new Array(newLen);
383
- for (j2 = 0; j2 < newLen; j2++) {
384
- items[j2] = newItems[j2];
385
- mapped[j2] = createRoot(mapper);
521
+ for (j3 = 0; j3 < newLen; j3++) {
522
+ items[j3] = newItems[j3];
523
+ mapped[j3] = createRoot(mapper);
386
524
  }
387
525
  len = newLen;
388
526
  } else {
@@ -397,32 +535,32 @@ function mapArray(list, mapFn, options = {}) {
397
535
  }
398
536
  newIndices = /* @__PURE__ */ new Map();
399
537
  newIndicesNext = new Array(newEnd + 1);
400
- for (j2 = newEnd; j2 >= start; j2--) {
401
- item = newItems[j2];
538
+ for (j3 = newEnd; j3 >= start; j3--) {
539
+ item = newItems[j3];
402
540
  i2 = newIndices.get(item);
403
- newIndicesNext[j2] = i2 === void 0 ? -1 : i2;
404
- newIndices.set(item, j2);
541
+ newIndicesNext[j3] = i2 === void 0 ? -1 : i2;
542
+ newIndices.set(item, j3);
405
543
  }
406
544
  for (i2 = start; i2 <= end; i2++) {
407
545
  item = items[i2];
408
- j2 = newIndices.get(item);
409
- if (j2 !== void 0 && j2 !== -1) {
410
- temp[j2] = mapped[i2];
411
- tempdisposers[j2] = disposers[i2];
412
- indexes && (tempIndexes[j2] = indexes[i2]);
413
- j2 = newIndicesNext[j2];
414
- newIndices.set(item, j2);
546
+ j3 = newIndices.get(item);
547
+ if (j3 !== void 0 && j3 !== -1) {
548
+ temp[j3] = mapped[i2];
549
+ tempdisposers[j3] = disposers[i2];
550
+ indexes && (tempIndexes[j3] = indexes[i2]);
551
+ j3 = newIndicesNext[j3];
552
+ newIndices.set(item, j3);
415
553
  } else disposers[i2]();
416
554
  }
417
- for (j2 = start; j2 < newLen; j2++) {
418
- if (j2 in temp) {
419
- mapped[j2] = temp[j2];
420
- disposers[j2] = tempdisposers[j2];
555
+ for (j3 = start; j3 < newLen; j3++) {
556
+ if (j3 in temp) {
557
+ mapped[j3] = temp[j3];
558
+ disposers[j3] = tempdisposers[j3];
421
559
  if (indexes) {
422
- indexes[j2] = tempIndexes[j2];
423
- indexes[j2](j2);
560
+ indexes[j3] = tempIndexes[j3];
561
+ indexes[j3](j3);
424
562
  }
425
- } else mapped[j2] = createRoot(mapper);
563
+ } else mapped[j3] = createRoot(mapper);
426
564
  }
427
565
  mapped = mapped.slice(0, len = newLen);
428
566
  items = newItems.slice(0);
@@ -430,13 +568,13 @@ function mapArray(list, mapFn, options = {}) {
430
568
  return mapped;
431
569
  });
432
570
  function mapper(disposer) {
433
- disposers[j2] = disposer;
571
+ disposers[j3] = disposer;
434
572
  if (indexes) {
435
- const [s3, set] = createSignal(j2);
436
- indexes[j2] = set;
437
- return mapFn(newItems[j2], s3);
573
+ const [s3, set] = createSignal(j3);
574
+ indexes[j3] = set;
575
+ return mapFn(newItems[j3], s3);
438
576
  }
439
- return mapFn(newItems[j2]);
577
+ return mapFn(newItems[j3]);
440
578
  }
441
579
  };
442
580
  }
@@ -751,7 +889,8 @@ function cleanChildren(parent, current, marker, replacement) {
751
889
  }
752
890
 
753
891
  // dist/styles.css
754
- 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}}';
892
+ var styles_default = `/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
893
+ @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}}`;
755
894
 
756
895
  // src/utils/is-keyboard-event-triggered-by-input.ts
757
896
  var FORM_TAGS_AND_ROLES = [
@@ -864,6 +1003,11 @@ var mountRoot = (cssText) => {
864
1003
  shadowRoot.appendChild(root);
865
1004
  const doc = document.body ?? document.documentElement;
866
1005
  doc.appendChild(host);
1006
+ setTimeout(() => {
1007
+ if (!doc.contains(host)) {
1008
+ doc.appendChild(host);
1009
+ }
1010
+ }, 1e3);
867
1011
  return root;
868
1012
  };
869
1013
 
@@ -3654,33 +3798,12 @@ var IconOpen = (props) => {
3654
3798
  })();
3655
3799
  };
3656
3800
 
3657
- // src/components/icon-return-key.tsx
3658
- 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">`);
3659
- var IconReturnKey = (props) => {
3660
- const size = () => props.size ?? 14;
3661
- return (() => {
3662
- var _el$ = _tmpl$6();
3663
- createRenderEffect((_p$) => {
3664
- var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3665
- _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
3666
- _v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
3667
- _v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
3668
- return _p$;
3669
- }, {
3670
- e: void 0,
3671
- t: void 0,
3672
- a: void 0
3673
- });
3674
- return _el$;
3675
- })();
3676
- };
3677
-
3678
3801
  // src/components/icon-stop.tsx
3679
- 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>`);
3802
+ 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>`);
3680
3803
  var IconStop = (props) => {
3681
3804
  const size = () => props.size ?? 9;
3682
3805
  return (() => {
3683
- var _el$ = _tmpl$7();
3806
+ var _el$ = _tmpl$6();
3684
3807
  createRenderEffect((_p$) => {
3685
3808
  var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3686
3809
  _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
@@ -3697,22 +3820,25 @@ var IconStop = (props) => {
3697
3820
  };
3698
3821
 
3699
3822
  // src/components/selection-label.tsx
3700
- 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>`);
3823
+ 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>`);
3701
3824
  var _tmpl$22 = /* @__PURE__ */ template(`<span>`);
3702
3825
  var _tmpl$32 = /* @__PURE__ */ template(`<button>`);
3703
3826
  var _tmpl$42 = /* @__PURE__ */ template(`<div>`);
3704
3827
  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]">`);
3705
- 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">`);
3706
- 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">`);
3707
- var _tmpl$82 = /* @__PURE__ */ template(`<div class="flex items-center gap-[3px]">`);
3708
- 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>`);
3709
- var _tmpl$0 = /* @__PURE__ */ template(`<div class="flex items-center gap-[3px] react-grab-shimmer rounded-[3px]">`);
3710
- 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`);
3711
- 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">`);
3712
- 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]">`);
3713
- 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">`);
3828
+ var _tmpl$62 = /* @__PURE__ */ template(`<div class="absolute w-0 h-0"style="border-left:8px solid transparent;border-right:8px solid transparent">`);
3829
+ 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`);
3830
+ 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">`);
3831
+ var _tmpl$9 = /* @__PURE__ */ template(`<div class="flex items-center gap-[3px] pt-1 pb-1.5 px-1.5">`);
3832
+ 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>`);
3833
+ 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">`);
3834
+ 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`);
3835
+ 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">`);
3836
+ 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)>`);
3837
+ 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">`);
3838
+ 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">`);
3714
3839
  var ARROW_HEIGHT = 8;
3715
3840
  var LABEL_GAP = 4;
3841
+ var IDLE_TIMEOUT_MS = 400;
3716
3842
  var TagBadge = (props) => {
3717
3843
  const [isHovered, setIsHovered] = createSignal(false);
3718
3844
  const handleMouseEnter = () => {
@@ -3724,26 +3850,26 @@ var TagBadge = (props) => {
3724
3850
  props.onHoverChange?.(false);
3725
3851
  };
3726
3852
  return (() => {
3727
- var _el$ = _tmpl$8(), _el$2 = _el$.firstChild;
3853
+ var _el$ = _tmpl$7(), _el$2 = _el$.firstChild;
3728
3854
  addEventListener(_el$, "click", props.onClick);
3729
3855
  _el$.addEventListener("mouseleave", handleMouseLeave);
3730
3856
  _el$.addEventListener("mouseenter", handleMouseEnter);
3731
3857
  insert(_el$2, () => props.tagName);
3732
3858
  insert(_el$, createComponent(Show, {
3733
3859
  get when() {
3734
- return props.isClickable;
3860
+ return props.isClickable || props.forceShowIcon;
3735
3861
  },
3736
3862
  get children() {
3737
3863
  return createComponent(IconOpen, {
3738
3864
  size: 10,
3739
3865
  get ["class"]() {
3740
- return cn("text-label-tag-border transition-all duration-100", isHovered() ? "opacity-100 scale-100" : "opacity-0 scale-75 -ml-[5px] w-0");
3866
+ 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");
3741
3867
  }
3742
3868
  });
3743
3869
  }
3744
3870
  }), null);
3745
3871
  createRenderEffect((_p$) => {
3746
- 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");
3872
+ 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");
3747
3873
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
3748
3874
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
3749
3875
  return _p$;
@@ -3805,32 +3931,17 @@ var Arrow = (props) => (() => {
3805
3931
  }, _$p));
3806
3932
  return _el$8;
3807
3933
  })();
3808
- var ClickToCopyPill = (props) => createComponent(ActionPill, {
3809
- get icon() {
3810
- return createComponent(IconCursorSimple, {
3811
- size: 9,
3812
- "class": "text-black shrink-0"
3813
- });
3814
- },
3815
- label: "Click to copy",
3816
- get onClick() {
3817
- return props.onClick;
3818
- },
3819
- get asButton() {
3820
- return props.asButton;
3821
- },
3822
- get dimmed() {
3823
- return props.dimmed;
3824
- },
3825
- get shrink() {
3826
- return props.shrink;
3827
- }
3828
- });
3829
- var BottomSection = (props) => (() => {
3934
+ var ClickToCopyPill = (props) => (() => {
3830
3935
  var _el$9 = _tmpl$72();
3831
- insert(_el$9, () => props.children);
3936
+ addEventListener(_el$9, "click", props.onClick);
3937
+ 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")));
3832
3938
  return _el$9;
3833
3939
  })();
3940
+ var BottomSection = (props) => (() => {
3941
+ var _el$0 = _tmpl$8();
3942
+ insert(_el$0, () => props.children);
3943
+ return _el$0;
3944
+ })();
3834
3945
  var SelectionLabel = (props) => {
3835
3946
  let containerRef;
3836
3947
  let inputRef;
@@ -3839,6 +3950,7 @@ var SelectionLabel = (props) => {
3839
3950
  const [measuredHeight, setMeasuredHeight] = createSignal(0);
3840
3951
  const [arrowPosition, setArrowPosition] = createSignal("bottom");
3841
3952
  const [viewportVersion, setViewportVersion] = createSignal(0);
3953
+ const [isIdle, setIsIdle] = createSignal(false);
3842
3954
  const isNotProcessing = () => props.status !== "copying" && props.status !== "copied" && props.status !== "fading";
3843
3955
  const measureContainer = () => {
3844
3956
  if (containerRef && !isTagCurrentlyHovered) {
@@ -3853,14 +3965,45 @@ var SelectionLabel = (props) => {
3853
3965
  const handleViewportChange = () => {
3854
3966
  setViewportVersion((version) => version + 1);
3855
3967
  };
3968
+ let idleTimeout;
3969
+ const resetIdleTimer = () => {
3970
+ setIsIdle(false);
3971
+ if (idleTimeout) {
3972
+ clearTimeout(idleTimeout);
3973
+ }
3974
+ idleTimeout = setTimeout(() => {
3975
+ setIsIdle(true);
3976
+ }, IDLE_TIMEOUT_MS);
3977
+ };
3978
+ const handleGlobalKeyDown = (event) => {
3979
+ if (event.code === "Enter" && isIdle() && !props.isInputExpanded && isNotProcessing()) {
3980
+ event.preventDefault();
3981
+ event.stopPropagation();
3982
+ props.onToggleExpand?.();
3983
+ }
3984
+ };
3856
3985
  onMount(() => {
3857
3986
  measureContainer();
3858
3987
  window.addEventListener("scroll", handleViewportChange, true);
3859
3988
  window.addEventListener("resize", handleViewportChange);
3989
+ window.addEventListener("keydown", handleGlobalKeyDown, {
3990
+ capture: true
3991
+ });
3992
+ resetIdleTimer();
3860
3993
  });
3861
3994
  onCleanup(() => {
3862
3995
  window.removeEventListener("scroll", handleViewportChange, true);
3863
3996
  window.removeEventListener("resize", handleViewportChange);
3997
+ window.removeEventListener("keydown", handleGlobalKeyDown, {
3998
+ capture: true
3999
+ });
4000
+ if (idleTimeout) {
4001
+ clearTimeout(idleTimeout);
4002
+ }
4003
+ });
4004
+ createEffect(() => {
4005
+ void props.selectionBounds;
4006
+ resetIdleTimer();
3864
4007
  });
3865
4008
  createEffect(() => {
3866
4009
  if (props.visible) {
@@ -3868,7 +4011,7 @@ var SelectionLabel = (props) => {
3868
4011
  }
3869
4012
  });
3870
4013
  createEffect(() => {
3871
- void [props.status, props.isInputExpanded, props.inputValue];
4014
+ void props.status;
3872
4015
  requestAnimationFrame(measureContainer);
3873
4016
  });
3874
4017
  createEffect(() => {
@@ -3954,26 +4097,26 @@ var SelectionLabel = (props) => {
3954
4097
  return memo(() => props.visible !== false)() && props.selectionBounds;
3955
4098
  },
3956
4099
  get children() {
3957
- var _el$0 = _tmpl$12(), _el$1 = _el$0.firstChild;
3958
- _el$0.$$click = stopPropagation;
3959
- _el$0.$$mousedown = stopPropagation;
4100
+ var _el$1 = _tmpl$14(), _el$10 = _el$1.firstChild;
4101
+ _el$1.$$click = stopPropagation;
4102
+ _el$1.$$mousedown = stopPropagation;
3960
4103
  var _ref$ = containerRef;
3961
- typeof _ref$ === "function" ? use(_ref$, _el$0) : containerRef = _el$0;
3962
- insert(_el$0, createComponent(Arrow, {
4104
+ typeof _ref$ === "function" ? use(_ref$, _el$1) : containerRef = _el$1;
4105
+ insert(_el$1, createComponent(Arrow, {
3963
4106
  get position() {
3964
4107
  return arrowPosition();
3965
4108
  },
3966
4109
  get leftPx() {
3967
4110
  return computedPosition().arrowLeft;
3968
4111
  }
3969
- }), _el$1);
3970
- insert(_el$1, createComponent(Show, {
4112
+ }), _el$10);
4113
+ insert(_el$10, createComponent(Show, {
3971
4114
  get when() {
3972
4115
  return props.status === "copied" || props.status === "fading";
3973
4116
  },
3974
4117
  get children() {
3975
- var _el$10 = _tmpl$82();
3976
- insert(_el$10, createComponent(TagBadge, {
4118
+ var _el$11 = _tmpl$9();
4119
+ insert(_el$11, createComponent(TagBadge, {
3977
4120
  get tagName() {
3978
4121
  return tagDisplay();
3979
4122
  },
@@ -3981,23 +4124,25 @@ var SelectionLabel = (props) => {
3981
4124
  return isTagClickable();
3982
4125
  },
3983
4126
  onClick: handleTagClick,
3984
- onHoverChange: handleTagHoverChange
4127
+ onHoverChange: handleTagHoverChange,
4128
+ showMono: true,
4129
+ shrink: true
3985
4130
  }), null);
3986
- insert(_el$10, createComponent(SuccessPill, {
4131
+ insert(_el$11, createComponent(SuccessPill, {
3987
4132
  get hasAgent() {
3988
4133
  return props.hasAgent;
3989
4134
  }
3990
4135
  }), null);
3991
- return _el$10;
4136
+ return _el$11;
3992
4137
  }
3993
4138
  }), null);
3994
- insert(_el$1, createComponent(Show, {
4139
+ insert(_el$10, createComponent(Show, {
3995
4140
  get when() {
3996
4141
  return props.status === "copying";
3997
4142
  },
3998
4143
  get children() {
3999
- var _el$11 = _tmpl$0();
4000
- insert(_el$11, createComponent(TagBadge, {
4144
+ var _el$12 = _tmpl$1();
4145
+ insert(_el$12, createComponent(TagBadge, {
4001
4146
  get tagName() {
4002
4147
  return tagDisplay();
4003
4148
  },
@@ -4006,9 +4151,10 @@ var SelectionLabel = (props) => {
4006
4151
  },
4007
4152
  onClick: handleTagClick,
4008
4153
  onHoverChange: handleTagHoverChange,
4009
- showMono: true
4154
+ showMono: true,
4155
+ shrink: true
4010
4156
  }), null);
4011
- insert(_el$11, createComponent(ActionPill, {
4157
+ insert(_el$12, createComponent(ActionPill, {
4012
4158
  get icon() {
4013
4159
  return createComponent(IconCursorSimple, {
4014
4160
  size: 9,
@@ -4019,40 +4165,44 @@ var SelectionLabel = (props) => {
4019
4165
  return props.statusText ?? "Grabbing\u2026";
4020
4166
  }
4021
4167
  }), null);
4022
- insert(_el$11, createComponent(Show, {
4168
+ insert(_el$12, createComponent(Show, {
4023
4169
  get when() {
4024
4170
  return memo(() => !!props.hasAgent)() && props.onAbort;
4025
4171
  },
4026
4172
  get children() {
4027
- var _el$12 = _tmpl$9();
4028
- _el$12.$$click = (event) => {
4173
+ var _el$13 = _tmpl$0();
4174
+ _el$13.$$click = (event) => {
4029
4175
  event.preventDefault();
4030
4176
  event.stopPropagation();
4031
4177
  event.stopImmediatePropagation();
4032
4178
  props.onAbort?.();
4033
4179
  };
4034
- _el$12.$$mousedown = (event) => {
4180
+ _el$13.$$mousedown = (event) => {
4035
4181
  event.preventDefault();
4036
4182
  event.stopPropagation();
4037
4183
  event.stopImmediatePropagation();
4038
4184
  };
4039
- insert(_el$12, createComponent(IconStop, {
4185
+ insert(_el$13, createComponent(IconStop, {
4040
4186
  size: 8,
4041
4187
  "class": "text-white"
4042
4188
  }));
4043
- return _el$12;
4189
+ return _el$13;
4044
4190
  }
4045
4191
  }), null);
4046
- return _el$11;
4192
+ return _el$12;
4047
4193
  }
4048
4194
  }), null);
4049
- insert(_el$1, createComponent(Show, {
4195
+ insert(_el$10, createComponent(Show, {
4050
4196
  get when() {
4051
4197
  return memo(() => !!isNotProcessing())() && !props.isInputExpanded;
4052
4198
  },
4053
4199
  get children() {
4054
- var _el$13 = _tmpl$10(), _el$14 = _el$13.firstChild;
4055
- insert(_el$14, createComponent(TagBadge, {
4200
+ var _el$14 = _tmpl$11(), _el$15 = _el$14.firstChild, _el$16 = _el$15.nextSibling, _el$17 = _el$16.firstChild;
4201
+ insert(_el$15, createComponent(ClickToCopyPill, {
4202
+ onClick: handleSubmit,
4203
+ shrink: true
4204
+ }), null);
4205
+ insert(_el$15, createComponent(TagBadge, {
4056
4206
  get tagName() {
4057
4207
  return tagDisplay();
4058
4208
  },
@@ -4064,30 +4214,28 @@ var SelectionLabel = (props) => {
4064
4214
  showMono: true,
4065
4215
  shrink: true
4066
4216
  }), null);
4067
- insert(_el$14, createComponent(ClickToCopyPill, {
4068
- onClick: handleSubmit,
4069
- shrink: true
4070
- }), null);
4071
- insert(_el$13, createComponent(BottomSection, {
4217
+ insert(_el$17, createComponent(BottomSection, {
4072
4218
  get children() {
4073
- var _el$15 = _tmpl$1(), _el$16 = _el$15.firstChild;
4074
- insert(_el$15, createComponent(IconReturnKey, {
4075
- size: 12,
4076
- "class": "shrink-0 text-black opacity-[0.65]"
4077
- }), _el$16);
4078
- return _el$15;
4219
+ var _el$18 = _tmpl$10(), _el$19 = _el$18.firstChild, _el$20 = _el$19.nextSibling; _el$20.firstChild;
4220
+ return _el$18;
4079
4221
  }
4080
- }), null);
4081
- return _el$13;
4222
+ }));
4223
+ createRenderEffect((_$p) => setStyleProperty(_el$16, "grid-template-rows", isIdle() ? "1fr" : "0fr"));
4224
+ return _el$14;
4082
4225
  }
4083
4226
  }), null);
4084
- insert(_el$1, createComponent(Show, {
4227
+ insert(_el$10, createComponent(Show, {
4085
4228
  get when() {
4086
4229
  return memo(() => !!isNotProcessing())() && props.isInputExpanded;
4087
4230
  },
4088
4231
  get children() {
4089
- var _el$17 = _tmpl$10(), _el$18 = _el$17.firstChild;
4090
- insert(_el$18, createComponent(TagBadge, {
4232
+ var _el$22 = _tmpl$13(), _el$23 = _el$22.firstChild;
4233
+ insert(_el$23, createComponent(ClickToCopyPill, {
4234
+ onClick: handleSubmit,
4235
+ dimmed: true,
4236
+ shrink: true
4237
+ }), null);
4238
+ insert(_el$23, createComponent(TagBadge, {
4091
4239
  get tagName() {
4092
4240
  return tagDisplay();
4093
4241
  },
@@ -4097,55 +4245,46 @@ var SelectionLabel = (props) => {
4097
4245
  onClick: handleTagClick,
4098
4246
  onHoverChange: handleTagHoverChange,
4099
4247
  showMono: true,
4100
- shrink: true
4248
+ shrink: true,
4249
+ forceShowIcon: true
4101
4250
  }), null);
4102
- insert(_el$18, createComponent(ClickToCopyPill, {
4103
- onClick: handleSubmit,
4104
- dimmed: true,
4105
- shrink: true
4106
- }), null);
4107
- insert(_el$17, createComponent(BottomSection, {
4251
+ insert(_el$22, createComponent(BottomSection, {
4108
4252
  get children() {
4109
- var _el$19 = _tmpl$11(), _el$20 = _el$19.firstChild, _el$21 = _el$20.nextSibling;
4110
- _el$20.$$keydown = handleKeyDown;
4111
- _el$20.$$input = handleInput;
4253
+ var _el$24 = _tmpl$12(), _el$25 = _el$24.firstChild, _el$26 = _el$25.nextSibling, _el$27 = _el$26.firstChild;
4254
+ _el$25.$$keydown = handleKeyDown;
4255
+ _el$25.$$input = handleInput;
4112
4256
  var _ref$2 = inputRef;
4113
- typeof _ref$2 === "function" ? use(_ref$2, _el$20) : inputRef = _el$20;
4114
- _el$21.$$click = handleSubmit;
4115
- insert(_el$21, createComponent(IconReturnKey, {
4116
- size: 12,
4117
- "class": "shrink-0 text-black"
4118
- }));
4119
- createRenderEffect(() => _el$20.value = props.inputValue ?? "");
4120
- return _el$19;
4257
+ typeof _ref$2 === "function" ? use(_ref$2, _el$25) : inputRef = _el$25;
4258
+ _el$26.$$click = handleSubmit;
4259
+ 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")));
4260
+ createRenderEffect(() => _el$25.value = props.inputValue ?? "");
4261
+ return _el$24;
4121
4262
  }
4122
4263
  }), null);
4123
- return _el$17;
4264
+ return _el$22;
4124
4265
  }
4125
4266
  }), null);
4126
4267
  createRenderEffect((_p$) => {
4127
- 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";
4128
- _v$3 !== _p$.e && setStyleProperty(_el$0, "top", _p$.e = _v$3);
4129
- _v$4 !== _p$.t && setStyleProperty(_el$0, "left", _p$.t = _v$4);
4130
- _v$5 !== _p$.a && setStyleProperty(_el$0, "pointer-events", _p$.a = _v$5);
4131
- _v$6 !== _p$.o && setStyleProperty(_el$0, "opacity", _p$.o = _v$6);
4132
- _v$7 !== _p$.i && setStyleProperty(_el$1, "padding", _p$.i = _v$7);
4268
+ var _v$3 = `${computedPosition().top}px`, _v$4 = `${computedPosition().left}px`, _v$5 = props.visible ? "auto" : "none", _v$6 = props.status === "fading" ? 0 : 1;
4269
+ _v$3 !== _p$.e && setStyleProperty(_el$1, "top", _p$.e = _v$3);
4270
+ _v$4 !== _p$.t && setStyleProperty(_el$1, "left", _p$.t = _v$4);
4271
+ _v$5 !== _p$.a && setStyleProperty(_el$1, "pointer-events", _p$.a = _v$5);
4272
+ _v$6 !== _p$.o && setStyleProperty(_el$1, "opacity", _p$.o = _v$6);
4133
4273
  return _p$;
4134
4274
  }, {
4135
4275
  e: void 0,
4136
4276
  t: void 0,
4137
4277
  a: void 0,
4138
- o: void 0,
4139
- i: void 0
4278
+ o: void 0
4140
4279
  });
4141
- return _el$0;
4280
+ return _el$1;
4142
4281
  }
4143
4282
  });
4144
4283
  };
4145
4284
  delegateEvents(["click", "mousedown", "input", "keydown"]);
4146
4285
 
4147
4286
  // src/components/selection-cursor.tsx
4148
- var _tmpl$13 = /* @__PURE__ */ template(`<div class="fixed z-2147483647"><button data-react-grab-selection-cursor>`);
4287
+ var _tmpl$15 = /* @__PURE__ */ template(`<div class="fixed z-2147483647"><button data-react-grab-selection-cursor>`);
4149
4288
  var SelectionCursor = (props) => {
4150
4289
  const [isHovered, setIsHovered] = createSignal(false);
4151
4290
  const [debouncedVisible, setDebouncedVisible] = createSignal(false);
@@ -4182,7 +4321,7 @@ var SelectionCursor = (props) => {
4182
4321
  });
4183
4322
  }
4184
4323
  }), (() => {
4185
- var _el$ = _tmpl$13(), _el$2 = _el$.firstChild;
4324
+ var _el$ = _tmpl$15(), _el$2 = _el$.firstChild;
4186
4325
  _el$.addEventListener("mouseleave", () => setIsHovered(false));
4187
4326
  _el$.addEventListener("mouseenter", () => setIsHovered(true));
4188
4327
  _el$2.$$click = handleClick;
@@ -4427,8 +4566,8 @@ var ReactGrabRenderer = (props) => {
4427
4566
  })];
4428
4567
  };
4429
4568
 
4430
- // ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/rdt-hook-CrcWl4lP.js
4431
- var e = `0.5.16`;
4569
+ // ../../node_modules/.pnpm/bippy@0.5.21_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/rdt-hook-BE3UuUaz.js
4570
+ var e = `0.5.21`;
4432
4571
  var t = `bippy-${e}`;
4433
4572
  var n = Object.defineProperty;
4434
4573
  var r2 = Object.prototype.hasOwnProperty;
@@ -4515,16 +4654,15 @@ var _ = () => {
4515
4654
  }
4516
4655
  };
4517
4656
 
4518
- // ../../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
4657
+ // ../../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
4519
4658
  _();
4520
4659
 
4521
- // ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/core-D7_ABaNC.js
4660
+ // ../../node_modules/.pnpm/bippy@0.5.21_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/core-_xno6DOO.js
4522
4661
  var a2 = 0;
4523
4662
  var o2 = 1;
4524
4663
  var c2 = 5;
4525
4664
  var f2 = 11;
4526
4665
  var p2 = 13;
4527
- var m2 = 14;
4528
4666
  var h2 = 15;
4529
4667
  var ee = 16;
4530
4668
  var te = 19;
@@ -4542,19 +4680,7 @@ var k = (e2) => {
4542
4680
  return typeof e2.type == `string`;
4543
4681
  }
4544
4682
  };
4545
- var pe = (e2) => {
4546
- switch (e2.tag) {
4547
- case o2:
4548
- case f2:
4549
- case a2:
4550
- case m2:
4551
- case h2:
4552
- return true;
4553
- default:
4554
- return false;
4555
- }
4556
- };
4557
- var me = (e2) => !e2 || typeof e2 != `object` ? true : `pendingProps` in e2 && !(`containerInfo` in e2);
4683
+ var me = (e2) => !e2 || typeof e2 != `object` ? false : `pendingProps` in e2 && !(`containerInfo` in e2);
4558
4684
  function N(e2, t2, n2 = false) {
4559
4685
  if (!e2) return null;
4560
4686
  let r3 = t2(e2);
@@ -4643,20 +4769,20 @@ var Pe = (e2) => {
4643
4769
  };
4644
4770
  var $ = /* @__PURE__ */ new Set();
4645
4771
 
4646
- // ../../node_modules/.pnpm/bippy@0.5.16_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/source.js
4772
+ // ../../node_modules/.pnpm/bippy@0.5.21_@types+react@19.2.2_react@19.2.0/node_modules/bippy/dist/source.js
4647
4773
  var b2 = Object.create;
4648
4774
  var x2 = Object.defineProperty;
4649
4775
  var S2 = Object.getOwnPropertyDescriptor;
4650
- var C2 = Object.getOwnPropertyNames;
4651
- var ee2 = Object.getPrototypeOf;
4652
- var te2 = Object.prototype.hasOwnProperty;
4653
- var ne2 = (e2, t2) => () => (t2 || e2((t2 = { exports: {} }).exports, t2), t2.exports);
4654
- var re2 = (e2, t2, n2, r3) => {
4655
- 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 });
4776
+ var ee2 = Object.getOwnPropertyNames;
4777
+ var te2 = Object.getPrototypeOf;
4778
+ var ne2 = Object.prototype.hasOwnProperty;
4779
+ var re2 = (e2, t2) => () => (t2 || e2((t2 = { exports: {} }).exports, t2), t2.exports);
4780
+ var ie2 = (e2, t2, n2, r3) => {
4781
+ 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 });
4656
4782
  return e2;
4657
4783
  };
4658
- var ie2 = (e2, t2, n2) => (n2 = e2 == null ? {} : b2(ee2(e2)), re2(x2(n2, `default`, { value: e2, enumerable: true }) , e2));
4659
- var ae2 = () => {
4784
+ var ae2 = (e2, t2, n2) => (n2 = e2 == null ? {} : b2(te2(e2)), ie2(x2(n2, `default`, { value: e2, enumerable: true }) , e2));
4785
+ var oe2 = () => {
4660
4786
  let n2 = h();
4661
4787
  for (let t2 of [...Array.from(d), ...Array.from(n2.renderers.values())]) {
4662
4788
  let e2 = t2.currentDispatcherRef;
@@ -4664,16 +4790,16 @@ var ae2 = () => {
4664
4790
  }
4665
4791
  return null;
4666
4792
  };
4667
- var w2 = (t2) => {
4793
+ var C2 = (t2) => {
4668
4794
  for (let n2 of d) {
4669
4795
  let e2 = n2.currentDispatcherRef;
4670
4796
  e2 && typeof e2 == `object` && (`H` in e2 ? e2.H = t2 : e2.current = t2);
4671
4797
  }
4672
4798
  };
4673
- var T2 = (e2) => `
4799
+ var w2 = (e2) => `
4674
4800
  in ${e2}`;
4675
- var oe2 = (e2, t2) => {
4676
- let n2 = T2(e2);
4801
+ var T2 = (e2, t2) => {
4802
+ let n2 = w2(e2);
4677
4803
  return t2 && (n2 += ` (at ${t2})`), n2;
4678
4804
  };
4679
4805
  var E = false;
@@ -4681,8 +4807,8 @@ var D = (e2, t2) => {
4681
4807
  if (!e2 || E) return ``;
4682
4808
  let n2 = Error.prepareStackTrace;
4683
4809
  Error.prepareStackTrace = void 0, E = true;
4684
- let r3 = ae2();
4685
- w2(null);
4810
+ let r3 = oe2();
4811
+ C2(null);
4686
4812
  let i2 = console.error, a3 = console.warn;
4687
4813
  console.error = () => {
4688
4814
  }, console.warn = () => {
@@ -4750,16 +4876,16 @@ ${t3[r5].replace(` at new `, ` at `)}`, i4 = Te(e2);
4750
4876
  }
4751
4877
  }
4752
4878
  } finally {
4753
- E = false, Error.prepareStackTrace = n2, w2(r3), console.error = i2, console.warn = a3;
4879
+ E = false, Error.prepareStackTrace = n2, C2(r3), console.error = i2, console.warn = a3;
4754
4880
  }
4755
- let o3 = e2 ? Te(e2) : ``, s3 = o3 ? T2(o3) : ``;
4881
+ let o3 = e2 ? Te(e2) : ``, s3 = o3 ? w2(o3) : ``;
4756
4882
  return s3;
4757
4883
  };
4758
4884
  var se2 = (e2, t2) => {
4759
4885
  let m3 = e2.tag, h3 = ``;
4760
4886
  switch (m3) {
4761
4887
  case ne:
4762
- h3 = T2(`Activity`);
4888
+ h3 = w2(`Activity`);
4763
4889
  break;
4764
4890
  case o2:
4765
4891
  h3 = D(e2.type, true);
@@ -4774,19 +4900,19 @@ var se2 = (e2, t2) => {
4774
4900
  case c2:
4775
4901
  case y:
4776
4902
  case b:
4777
- h3 = T2(e2.type);
4903
+ h3 = w2(e2.type);
4778
4904
  break;
4779
4905
  case ee:
4780
- h3 = T2(`Lazy`);
4906
+ h3 = w2(`Lazy`);
4781
4907
  break;
4782
4908
  case p2:
4783
- h3 = e2.child !== t2 && t2 !== null ? T2(`Suspense Fallback`) : T2(`Suspense`);
4909
+ h3 = e2.child !== t2 && t2 !== null ? w2(`Suspense Fallback`) : w2(`Suspense`);
4784
4910
  break;
4785
4911
  case te:
4786
- h3 = T2(`SuspenseList`);
4912
+ h3 = w2(`SuspenseList`);
4787
4913
  break;
4788
4914
  case re:
4789
- h3 = T2(`ViewTransition`);
4915
+ h3 = w2(`ViewTransition`);
4790
4916
  break;
4791
4917
  default:
4792
4918
  return ``;
@@ -4801,7 +4927,7 @@ var ce2 = (e2) => {
4801
4927
  let e3 = n2._debugInfo;
4802
4928
  if (e3 && Array.isArray(e3)) for (let n3 = e3.length - 1; n3 >= 0; n3--) {
4803
4929
  let r4 = e3[n3];
4804
- typeof r4.name == `string` && (t2 += oe2(r4.name, r4.env));
4930
+ typeof r4.name == `string` && (t2 += T2(r4.name, r4.env));
4805
4931
  }
4806
4932
  r3 = n2, n2 = n2.return;
4807
4933
  } while (n2);
@@ -4812,7 +4938,7 @@ Error generating stack: ${e3.message}
4812
4938
  ${e3.stack}` : ``;
4813
4939
  }
4814
4940
  };
4815
- var O2 = (e2) => {
4941
+ var le2 = (e2) => {
4816
4942
  let t2 = Error.prepareStackTrace;
4817
4943
  Error.prepareStackTrace = void 0;
4818
4944
  let n2 = e2;
@@ -4826,58 +4952,58 @@ var O2 = (e2) => {
4826
4952
  else return ``;
4827
4953
  return n2;
4828
4954
  };
4829
- var k2 = /(^|@)\S+:\d+/;
4830
- var A2 = /^\s*at .*(\S+:\d+|\(native\))/m;
4831
- var le2 = /^(eval@)?(\[native code\])?$/;
4832
- var M2 = (e2, t2) => {
4955
+ var O2 = /(^|@)\S+:\d+/;
4956
+ var k2 = /^\s*at .*(\S+:\d+|\(native\))/m;
4957
+ var ue2 = /^(eval@)?(\[native code\])?$/;
4958
+ var j2 = (e2, t2) => {
4833
4959
  if (t2?.includeInElement !== false) {
4834
4960
  let n2 = e2.split(`
4835
4961
  `), r3 = [];
4836
4962
  for (let e3 of n2) if (/^\s*at\s+/.test(e3)) {
4837
- let t3 = F2(e3, void 0)[0];
4963
+ let t3 = P2(e3, void 0)[0];
4838
4964
  t3 && r3.push(t3);
4839
4965
  } else if (/^\s*in\s+/.test(e3)) {
4840
4966
  let t3 = e3.replace(/^\s*in\s+/, ``).replace(/\s*\(at .*\)$/, ``);
4841
4967
  r3.push({ function: t3, raw: e3 });
4842
- } else if (e3.match(k2)) {
4843
- let t3 = I2(e3, void 0)[0];
4968
+ } else if (e3.match(O2)) {
4969
+ let t3 = F2(e3, void 0)[0];
4844
4970
  t3 && r3.push(t3);
4845
4971
  }
4846
- return P2(r3, t2);
4972
+ return N2(r3, t2);
4847
4973
  }
4848
- return e2.match(A2) ? F2(e2, t2) : I2(e2, t2);
4974
+ return e2.match(k2) ? P2(e2, t2) : F2(e2, t2);
4849
4975
  };
4850
- var N2 = (e2) => {
4976
+ var M2 = (e2) => {
4851
4977
  if (!e2.includes(`:`)) return [e2, void 0, void 0];
4852
4978
  let t2 = /(.+?)(?::(\d+))?(?::(\d+))?$/, n2 = t2.exec(e2.replace(/[()]/g, ``));
4853
4979
  return [n2[1], n2[2] || void 0, n2[3] || void 0];
4854
4980
  };
4855
- 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;
4856
- var F2 = (e2, t2) => {
4857
- let n2 = P2(e2.split(`
4858
- `).filter((e3) => !!e3.match(A2)), t2);
4981
+ 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;
4982
+ var P2 = (e2, t2) => {
4983
+ let n2 = N2(e2.split(`
4984
+ `).filter((e3) => !!e3.match(k2)), t2);
4859
4985
  return n2.map((e3) => {
4860
4986
  let t3 = e3;
4861
4987
  t3.includes(`(eval `) && (t3 = t3.replace(/eval code/g, `eval`).replace(/(\(eval at [^()]*)|(,.*$)/g, ``));
4862
4988
  let n3 = t3.replace(/^\s+/, ``).replace(/\(eval code/g, `(`).replace(/^.*?\s+/, ``), r3 = n3.match(/ (\(.+\)$)/);
4863
4989
  n3 = r3 ? n3.replace(r3[0], ``) : n3;
4864
- let i2 = N2(r3 ? r3[1] : n3), a3 = r3 && n3 || void 0, o3 = [`eval`, `<anonymous>`].includes(i2[0]) ? void 0 : i2[0];
4990
+ let i2 = M2(r3 ? r3[1] : n3), a3 = r3 && n3 || void 0, o3 = [`eval`, `<anonymous>`].includes(i2[0]) ? void 0 : i2[0];
4865
4991
  return { function: a3, file: o3, line: i2[1] ? +i2[1] : void 0, col: i2[2] ? +i2[2] : void 0, raw: t3 };
4866
4992
  });
4867
4993
  };
4868
- var I2 = (e2, t2) => {
4869
- let n2 = P2(e2.split(`
4870
- `).filter((e3) => !e3.match(le2)), t2);
4994
+ var F2 = (e2, t2) => {
4995
+ let n2 = N2(e2.split(`
4996
+ `).filter((e3) => !e3.match(ue2)), t2);
4871
4997
  return n2.map((e3) => {
4872
4998
  let t3 = e3;
4873
4999
  if (t3.includes(` > eval`) && (t3 = t3.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g, `:$1`)), !t3.includes(`@`) && !t3.includes(`:`)) return { function: t3 };
4874
5000
  {
4875
- 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, ``));
5001
+ 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, ``));
4876
5002
  return { function: r3, file: i2[0], line: i2[1] ? +i2[1] : void 0, col: i2[2] ? +i2[2] : void 0, raw: t3 };
4877
5003
  }
4878
5004
  });
4879
5005
  };
4880
- var pe2 = ne2((exports, t2) => {
5006
+ var me2 = re2((exports, t2) => {
4881
5007
  (function(n2, r3) {
4882
5008
  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 = {}));
4883
5009
  })(void 0, function(e2) {
@@ -5081,12 +5207,12 @@ var pe2 = ne2((exports, t2) => {
5081
5207
  return r4;
5082
5208
  }
5083
5209
  function S3(e3) {
5084
- e3.sort(C3);
5210
+ e3.sort(ee3);
5085
5211
  }
5086
- function C3(e3, t4) {
5212
+ function ee3(e3, t4) {
5087
5213
  return e3[0] - t4[0];
5088
5214
  }
5089
- function ee3(e3) {
5215
+ function te3(e3) {
5090
5216
  let r4 = new d3(), i3 = 0, a4 = 0, o4 = 0, c4 = 0;
5091
5217
  for (let l4 = 0; l4 < e3.length; l4++) {
5092
5218
  let u4 = e3[l4];
@@ -5099,18 +5225,18 @@ var pe2 = ne2((exports, t2) => {
5099
5225
  }
5100
5226
  return r4.flush();
5101
5227
  }
5102
- e2.decode = x3, e2.decodeGeneratedRanges = _3, e2.decodeOriginalScopes = m3, e2.encode = ee3, e2.encodeGeneratedRanges = v2, e2.encodeOriginalScopes = h3, Object.defineProperty(e2, `__esModule`, { value: true });
5228
+ e2.decode = x3, e2.decodeGeneratedRanges = _3, e2.decodeOriginalScopes = m3, e2.encode = te3, e2.encodeGeneratedRanges = v2, e2.encodeOriginalScopes = h3, Object.defineProperty(e2, `__esModule`, { value: true });
5103
5229
  });
5104
5230
  });
5105
- var B2 = ie2(pe2());
5106
- var V2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
5107
- var me2 = /^data:application\/json[^,]+base64,/;
5108
- var he2 = /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/;
5109
- var H2 = typeof WeakRef < `u`;
5231
+ var z2 = ae2(me2());
5232
+ var B2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
5233
+ var he2 = /^data:application\/json[^,]+base64,/;
5234
+ var ge2 = /(?:\/\/[@#][ \t]+sourceMappingURL=([^\s'"]+?)[ \t]*$)|(?:\/\*[@#][ \t]+sourceMappingURL=([^*]+?)[ \t]*(?:\*\/)[ \t]*$)/;
5235
+ var V2 = typeof WeakRef < `u`;
5236
+ var H2 = /* @__PURE__ */ new Map();
5110
5237
  var U2 = /* @__PURE__ */ new Map();
5111
- var W2 = /* @__PURE__ */ new Map();
5112
- var ge2 = (e2) => H2 && e2 instanceof WeakRef;
5113
- var G2 = (e2, t2, n2, r3) => {
5238
+ var _e2 = (e2) => V2 && e2 instanceof WeakRef;
5239
+ var W2 = (e2, t2, n2, r3) => {
5114
5240
  if (n2 < 0 || n2 >= e2.length) return null;
5115
5241
  let i2 = e2[n2];
5116
5242
  if (!i2 || i2.length === 0) return null;
@@ -5123,49 +5249,49 @@ var G2 = (e2, t2, n2, r3) => {
5123
5249
  let l3 = t2[o3];
5124
5250
  return l3 ? { columnNumber: c3, fileName: l3, lineNumber: s3 + 1 } : null;
5125
5251
  };
5126
- var K = (e2, t2, n2) => {
5252
+ var G2 = (e2, t2, n2) => {
5127
5253
  if (e2.sections) {
5128
5254
  let r3 = null;
5129
5255
  for (let i3 of e2.sections) if (t2 > i3.offset.line || t2 === i3.offset.line && n2 >= i3.offset.column) r3 = i3;
5130
5256
  else break;
5131
5257
  if (!r3) return null;
5132
5258
  let i2 = t2 - r3.offset.line, a3 = t2 === r3.offset.line ? n2 - r3.offset.column : n2;
5133
- return G2(r3.map.mappings, r3.map.sources, i2, a3);
5259
+ return W2(r3.map.mappings, r3.map.sources, i2, a3);
5134
5260
  }
5135
- return G2(e2.mappings, e2.sources, t2 - 1, n2);
5261
+ return W2(e2.mappings, e2.sources, t2 - 1, n2);
5136
5262
  };
5137
- var _e2 = (e2, t2) => {
5263
+ var ve2 = (e2, t2) => {
5138
5264
  let n2 = t2.split(`
5139
5265
  `), r3;
5140
5266
  for (let e3 = n2.length - 1; e3 >= 0 && !r3; e3--) {
5141
- let t3 = n2[e3].match(he2);
5267
+ let t3 = n2[e3].match(ge2);
5142
5268
  t3 && (r3 = t3[1] || t3[2]);
5143
5269
  }
5144
5270
  if (!r3) return null;
5145
- let i2 = V2.test(r3);
5146
- if (!(me2.test(r3) || i2 || r3.startsWith(`/`))) {
5271
+ let i2 = B2.test(r3);
5272
+ if (!(he2.test(r3) || i2 || r3.startsWith(`/`))) {
5147
5273
  let t3 = e2.split(`/`);
5148
5274
  t3[t3.length - 1] = r3, r3 = t3.join(`/`);
5149
5275
  }
5150
5276
  return r3;
5151
5277
  };
5152
- 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 });
5153
- var ye2 = (e2) => {
5154
- let t2 = e2.sections.map(({ map: e3, offset: t3 }) => ({ map: { ...e3, mappings: (0, B2.decode)(e3.mappings) }, offset: t3 })), n2 = /* @__PURE__ */ new Set();
5278
+ 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 });
5279
+ var be2 = (e2) => {
5280
+ let t2 = e2.sections.map(({ map: e3, offset: t3 }) => ({ map: { ...e3, mappings: (0, z2.decode)(e3.mappings) }, offset: t3 })), n2 = /* @__PURE__ */ new Set();
5155
5281
  for (let e3 of t2) for (let t3 of e3.map.sources) n2.add(t3);
5156
5282
  return { file: e2.file, mappings: [], names: [], sections: t2, sourceRoot: void 0, sources: Array.from(n2), sourcesContent: void 0, version: 3 };
5157
5283
  };
5158
- var q = (e2) => {
5284
+ var K = (e2) => {
5159
5285
  if (!e2) return false;
5160
5286
  let t2 = e2.trim();
5161
5287
  if (!t2) return false;
5162
- let n2 = t2.match(V2);
5288
+ let n2 = t2.match(B2);
5163
5289
  if (!n2) return true;
5164
5290
  let r3 = n2[0].toLowerCase();
5165
5291
  return r3 === `http:` || r3 === `https:`;
5166
5292
  };
5167
- var J = async (e2, t2 = fetch) => {
5168
- if (!q(e2)) return null;
5293
+ var q = async (e2, t2 = fetch) => {
5294
+ if (!K(e2)) return null;
5169
5295
  let n2;
5170
5296
  try {
5171
5297
  let r4 = await t2(e2);
@@ -5174,59 +5300,65 @@ var J = async (e2, t2 = fetch) => {
5174
5300
  return null;
5175
5301
  }
5176
5302
  if (!n2) return null;
5177
- let r3 = _e2(e2, n2);
5178
- if (!r3 || !q(r3)) return null;
5303
+ let r3 = ve2(e2, n2);
5304
+ if (!r3 || !K(r3)) return null;
5179
5305
  try {
5180
5306
  let e3 = await t2(r3), n3 = await e3.json();
5181
- return `sections` in n3 ? ye2(n3) : ve2(n3);
5307
+ return `sections` in n3 ? be2(n3) : ye2(n3);
5182
5308
  } catch {
5183
5309
  return null;
5184
5310
  }
5185
5311
  };
5186
- var Y = async (e2, t2 = true, n2) => {
5187
- if (t2 && U2.has(e2)) {
5188
- let t3 = U2.get(e2);
5312
+ var J = async (e2, t2 = true, n2) => {
5313
+ if (t2 && H2.has(e2)) {
5314
+ let t3 = H2.get(e2);
5189
5315
  if (t3 == null) return null;
5190
- if (ge2(t3)) {
5316
+ if (_e2(t3)) {
5191
5317
  let n3 = t3.deref();
5192
5318
  if (n3) return n3;
5193
- U2.delete(e2);
5319
+ H2.delete(e2);
5194
5320
  } else return t3;
5195
5321
  }
5196
- if (t2 && W2.has(e2)) return W2.get(e2);
5197
- let r3 = J(e2, n2);
5198
- t2 && W2.set(e2, r3);
5322
+ if (t2 && U2.has(e2)) return U2.get(e2);
5323
+ let r3 = q(e2, n2);
5324
+ t2 && U2.set(e2, r3);
5199
5325
  let i2 = await r3;
5200
- return t2 && W2.delete(e2), t2 && (i2 === null ? U2.set(e2, null) : U2.set(e2, H2 ? new WeakRef(i2) : i2)), i2;
5326
+ return t2 && U2.delete(e2), t2 && (i2 === null ? H2.set(e2, null) : H2.set(e2, V2 ? new WeakRef(i2) : i2)), i2;
5201
5327
  };
5202
- var be2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
5203
- var xe2 = [`rsc://`, `file:///`, `webpack://`, `node:`, `turbopack://`, `metro://`];
5204
- var Se2 = `about://React/`;
5205
- var Ce2 = [`<anonymous>`, `eval`, ``];
5206
- var we2 = /\.(jsx|tsx|ts|js)$/;
5207
- 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;
5208
- var Ee2 = /^\?[\w~.\-]+(?:=[^&#]*)?(?:&[\w~.\-]+(?:=[^&#]*)?)*$/;
5209
- var De2 = (e2) => e2._debugStack instanceof Error && typeof e2._debugStack?.stack == `string`;
5210
- var Oe = (e2) => {
5328
+ var xe2 = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
5329
+ var Se2 = [`rsc://`, `file:///`, `webpack://`, `webpack-internal://`, `node:`, `turbopack://`, `metro://`, `/app-pages-browser/`];
5330
+ var Ce2 = `about://React/`;
5331
+ var we2 = [`<anonymous>`, `eval`, ``];
5332
+ var Te2 = /\.(jsx|tsx|ts|js)$/;
5333
+ 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;
5334
+ var De2 = /^\?[\w~.\-]+(?:=[^&#]*)?(?:&[\w~.\-]+(?:=[^&#]*)?)*$/;
5335
+ var Y = (e2) => e2?.fileName != null;
5336
+ var Oe = (e2) => e2._debugStack instanceof Error && typeof e2._debugStack?.stack == `string`;
5337
+ var ke2 = (e2) => {
5211
5338
  let t2 = e2._debugSource;
5212
5339
  return t2 ? typeof t2 == `object` && !!t2 && `fileName` in t2 && typeof t2.fileName == `string` && `lineNumber` in t2 && typeof t2.lineNumber == `number` : false;
5213
5340
  };
5214
- var ke2 = async (e2, t2 = true, n2) => {
5215
- if (Oe(e2)) {
5341
+ var Ae2 = async (e2, t2 = true, n2) => {
5342
+ if (ke2(e2)) {
5216
5343
  let t3 = e2._debugSource;
5217
5344
  return t3 || null;
5218
5345
  }
5219
- let r3 = X2(e2), i2 = await Z(r3, 1, t2, n2);
5220
- return !i2 || i2.length === 0 ? null : i2[0];
5346
+ let r3 = X2(e2), i2 = await Z(r3, 2 ** 53 - 1, t2, n2);
5347
+ if (!i2 || i2.length === 0) return null;
5348
+ for (let e3 of i2) if (Y(e3)) return e3;
5349
+ return null;
5221
5350
  };
5222
- var X2 = (e2) => De2(e2) ? O2(e2._debugStack.stack) : ce2(e2);
5223
- var Z = async (e2, t2 = 1, n2 = true, r3) => {
5224
- let i2 = M2(e2, { slice: t2 ?? 1 }), a3 = [];
5351
+ var X2 = (e2) => Oe(e2) ? le2(e2._debugStack.stack) : ce2(e2);
5352
+ var Z = async (e2, t2 = 2 ** 53 - 1, n2 = true, r3) => {
5353
+ let i2 = j2(e2, { slice: t2 }), a3 = [];
5225
5354
  for (let e3 of i2) {
5226
- if (!e3?.file) continue;
5227
- let t3 = await Y(e3.file, n2, r3);
5355
+ if (!e3?.file) {
5356
+ a3.push({ fileName: void 0, lineNumber: e3?.line, columnNumber: e3?.col, functionName: e3?.function });
5357
+ continue;
5358
+ }
5359
+ let t3 = await J(e3.file, n2, r3);
5228
5360
  if (t3 && typeof e3.line == `number` && typeof e3.col == `number`) {
5229
- let n3 = K(t3, e3.line, e3.col);
5361
+ let n3 = G2(t3, e3.line, e3.col);
5230
5362
  if (n3) {
5231
5363
  a3.push(n3);
5232
5364
  continue;
@@ -5237,30 +5369,30 @@ var Z = async (e2, t2 = 1, n2 = true, r3) => {
5237
5369
  return a3;
5238
5370
  };
5239
5371
  var Q = (e2) => {
5240
- if (!e2 || Ce2.includes(e2)) return ``;
5372
+ if (!e2 || we2.includes(e2)) return ``;
5241
5373
  let t2 = e2;
5242
- if (t2.startsWith(Se2)) {
5243
- let e3 = t2.slice(Se2.length), n3 = e3.indexOf(`/`), r3 = e3.indexOf(`:`);
5374
+ if (t2.startsWith(Ce2)) {
5375
+ let e3 = t2.slice(Ce2.length), n3 = e3.indexOf(`/`), r3 = e3.indexOf(`:`);
5244
5376
  t2 = n3 !== -1 && (r3 === -1 || n3 < r3) ? e3.slice(n3 + 1) : e3;
5245
5377
  }
5246
- for (let e3 of xe2) if (t2.startsWith(e3)) {
5378
+ for (let e3 of Se2) if (t2.startsWith(e3)) {
5247
5379
  t2 = t2.slice(e3.length), e3 === `file:///` && (t2 = `/${t2.replace(/^\/+/, ``)}`);
5248
5380
  break;
5249
5381
  }
5250
- if (be2.test(t2)) {
5251
- let e3 = t2.match(be2);
5382
+ if (xe2.test(t2)) {
5383
+ let e3 = t2.match(xe2);
5252
5384
  e3 && (t2 = t2.slice(e3[0].length));
5253
5385
  }
5254
5386
  let n2 = t2.indexOf(`?`);
5255
5387
  if (n2 !== -1) {
5256
5388
  let e3 = t2.slice(n2);
5257
- Ee2.test(e3) && (t2 = t2.slice(0, n2));
5389
+ De2.test(e3) && (t2 = t2.slice(0, n2));
5258
5390
  }
5259
5391
  return t2;
5260
5392
  };
5261
- var je2 = (e2) => {
5393
+ var Me2 = (e2) => {
5262
5394
  let t2 = Q(e2);
5263
- return !(!t2 || !we2.test(t2) || Te2.test(t2));
5395
+ return !(!t2 || !Te2.test(t2) || Ee2.test(t2));
5264
5396
  };
5265
5397
 
5266
5398
  // src/utils/is-capitalized.ts
@@ -5293,6 +5425,7 @@ var NEXT_INTERNAL_COMPONENT_NAMES = /* @__PURE__ */ new Set([
5293
5425
  "RootErrorBoundary"
5294
5426
  ]);
5295
5427
  var checkIsNextProject = () => {
5428
+ if (typeof document === "undefined") return false;
5296
5429
  return Boolean(document.getElementById("__NEXT_DATA__"));
5297
5430
  };
5298
5431
  var checkIsInternalComponentName = (name) => {
@@ -5307,36 +5440,31 @@ var checkIsSourceComponentName = (name) => {
5307
5440
  if (name.includes("Provider") && name.includes("Context")) return false;
5308
5441
  return true;
5309
5442
  };
5310
- var getNearestComponentName = (element) => {
5311
- if (!Ee()) return null;
5312
- try {
5313
- const fiber = Pe(element);
5314
- if (!fiber) return null;
5315
- let foundComponentName = null;
5316
- N(
5317
- fiber,
5318
- (currentFiber) => {
5319
- if (pe(currentFiber)) {
5320
- const displayName = Te(currentFiber);
5321
- if (displayName && checkIsSourceComponentName(displayName)) {
5322
- foundComponentName = displayName;
5323
- return true;
5324
- }
5325
- }
5326
- return false;
5327
- },
5328
- true
5329
- );
5330
- return foundComponentName;
5331
- } catch {
5332
- return null;
5333
- }
5334
- };
5335
5443
  var getStack = async (element) => {
5336
5444
  if (!Ee()) return [];
5337
5445
  try {
5338
5446
  const maybeFiber = Pe(element);
5339
5447
  if (!maybeFiber || !me(maybeFiber)) return [];
5448
+ const ownerStack = X2(maybeFiber);
5449
+ const sources = await Z(ownerStack);
5450
+ if (sources && sources.length > 0) {
5451
+ const stack = [];
5452
+ for (const source of sources) {
5453
+ if (source.functionName && !checkIsInternalComponentName(source.functionName)) {
5454
+ stack.push({
5455
+ name: source.functionName,
5456
+ source: source.fileName ? {
5457
+ fileName: source.fileName,
5458
+ lineNumber: source.lineNumber,
5459
+ columnNumber: source.columnNumber
5460
+ } : null
5461
+ });
5462
+ }
5463
+ }
5464
+ if (stack.length > 0) {
5465
+ return stack;
5466
+ }
5467
+ }
5340
5468
  const fiber = De(maybeFiber);
5341
5469
  const unresolvedStack = [];
5342
5470
  N(
@@ -5346,7 +5474,7 @@ var getStack = async (element) => {
5346
5474
  if (displayName && !checkIsInternalComponentName(displayName)) {
5347
5475
  unresolvedStack.push({
5348
5476
  name: displayName,
5349
- sourcePromise: ke2(currentFiber)
5477
+ sourcePromise: Ae2(currentFiber)
5350
5478
  });
5351
5479
  }
5352
5480
  },
@@ -5363,51 +5491,55 @@ var getStack = async (element) => {
5363
5491
  return [];
5364
5492
  }
5365
5493
  };
5494
+ var getNearestComponentName = async (element) => {
5495
+ const stack = await getStack(element);
5496
+ for (const frame of stack) {
5497
+ if (checkIsSourceComponentName(frame.name)) {
5498
+ return frame.name;
5499
+ }
5500
+ }
5501
+ return null;
5502
+ };
5366
5503
  var formatElementInfo = async (element) => {
5367
5504
  const html = getHTMLPreview(element);
5368
5505
  const stack = await getStack(element);
5369
5506
  const isNextProject = checkIsNextProject();
5370
- let serverBoundary = null;
5371
- let componentName = null;
5372
5507
  let fileName = null;
5373
5508
  let lineNumber = null;
5374
5509
  let columnNumber = null;
5510
+ let serverComponentName = null;
5511
+ let clientComponentName = null;
5375
5512
  for (const frame of stack) {
5376
- if (!frame.source) continue;
5377
- if (frame.source.fileName.startsWith("about://React/Server")) {
5378
- if (!serverBoundary) serverBoundary = frame.name;
5513
+ if (checkIsSourceComponentName(frame.name) && !serverComponentName && !frame.source?.fileName) {
5514
+ serverComponentName = frame.name;
5379
5515
  continue;
5380
5516
  }
5381
- if (je2(frame.source.fileName)) {
5382
- if (!fileName) {
5383
- fileName = Q(frame.source.fileName);
5384
- lineNumber = frame.source.lineNumber ?? null;
5385
- columnNumber = frame.source.columnNumber ?? null;
5386
- }
5387
- if (!componentName && checkIsSourceComponentName(frame.name)) {
5388
- componentName = frame.name;
5389
- }
5390
- if (fileName && componentName) {
5391
- break;
5392
- }
5517
+ if (!frame.source) continue;
5518
+ if (Me2(frame.source.fileName) && !fileName) {
5519
+ fileName = Q(frame.source.fileName);
5520
+ lineNumber = frame.source.lineNumber ?? null;
5521
+ columnNumber = frame.source.columnNumber ?? null;
5522
+ clientComponentName = frame.name;
5523
+ break;
5393
5524
  }
5394
5525
  }
5395
- if (!componentName || !fileName) {
5396
- return html;
5397
- }
5398
- let result = `${html}
5399
- in ${componentName} at ${fileName}`;
5400
- if (isNextProject && lineNumber && columnNumber) {
5401
- result += `:${lineNumber}:${columnNumber}`;
5526
+ let result = html;
5527
+ if (serverComponentName) {
5528
+ result += `
5529
+ in ${serverComponentName} (Server)`;
5402
5530
  }
5403
- if (serverBoundary) {
5404
- result += ` (via Server: ${serverBoundary})`;
5531
+ if (fileName) {
5532
+ result += `
5533
+ ${clientComponentName ? ` in ${clientComponentName}` : ""} at ${fileName}`;
5534
+ if (isNextProject && lineNumber && columnNumber) {
5535
+ result += `:${lineNumber}:${columnNumber}`;
5536
+ }
5405
5537
  }
5406
5538
  return result;
5407
5539
  };
5408
5540
  var getFileName = (stack) => {
5409
5541
  for (const frame of stack) {
5410
- if (frame.source && je2(frame.source.fileName)) {
5542
+ if (frame.source && Me2(frame.source.fileName)) {
5411
5543
  return Q(frame.source.fileName);
5412
5544
  }
5413
5545
  }
@@ -5967,10 +6099,17 @@ var generateSnippet = async (elements) => {
5967
6099
  };
5968
6100
 
5969
6101
  // src/agent.ts
5970
- var createAgentManager = (agentOptions) => {
6102
+ var createAgentManager = (initialAgentOptions) => {
5971
6103
  const [sessions, setSessions] = createSignal(/* @__PURE__ */ new Map());
5972
6104
  const abortControllers = /* @__PURE__ */ new Map();
5973
6105
  const sessionElements = /* @__PURE__ */ new Map();
6106
+ let agentOptions = initialAgentOptions;
6107
+ const setOptions = (options) => {
6108
+ agentOptions = options;
6109
+ };
6110
+ const getOptions = () => {
6111
+ return agentOptions;
6112
+ };
5974
6113
  const isProcessing = () => sessions().size > 0;
5975
6114
  const executeSessionStream = async (session, streamIterator) => {
5976
6115
  const storage = agentOptions?.storage;
@@ -6154,12 +6293,14 @@ var createAgentManager = (agentOptions) => {
6154
6293
  abortSession,
6155
6294
  abortAllSessions,
6156
6295
  updateSessionBoundsOnViewportChange,
6157
- getSessionElement
6296
+ getSessionElement,
6297
+ setOptions,
6298
+ getOptions
6158
6299
  };
6159
6300
  };
6160
6301
 
6161
6302
  // src/core.tsx
6162
- var _tmpl$14 = /* @__PURE__ */ template(`<span class="tabular-nums align-middle">`);
6303
+ var _tmpl$16 = /* @__PURE__ */ template(`<span class="tabular-nums align-middle">`);
6163
6304
  var _tmpl$23 = /* @__PURE__ */ template(`<span class="font-mono tabular-nums align-middle">&lt;<!>>`);
6164
6305
  var _tmpl$33 = /* @__PURE__ */ template(`<span class="tabular-nums ml-1 align-middle"> in `);
6165
6306
  var hasInited = false;
@@ -6174,6 +6315,34 @@ var getScriptOptions = () => {
6174
6315
  }
6175
6316
  };
6176
6317
  var init = (rawOptions) => {
6318
+ const initialTheme = mergeTheme(rawOptions?.theme);
6319
+ if (typeof window === "undefined") {
6320
+ return {
6321
+ activate: () => {
6322
+ },
6323
+ deactivate: () => {
6324
+ },
6325
+ toggle: () => {
6326
+ },
6327
+ isActive: () => false,
6328
+ dispose: () => {
6329
+ },
6330
+ copyElement: () => Promise.resolve(false),
6331
+ getState: () => ({
6332
+ isActive: false,
6333
+ isDragging: false,
6334
+ isCopying: false,
6335
+ isInputMode: false,
6336
+ targetElement: null,
6337
+ dragBounds: null
6338
+ }),
6339
+ updateTheme: () => {
6340
+ },
6341
+ getTheme: () => initialTheme,
6342
+ setAgent: () => {
6343
+ }
6344
+ };
6345
+ }
6177
6346
  const scriptOptions = getScriptOptions();
6178
6347
  const options = {
6179
6348
  enabled: true,
@@ -6182,7 +6351,7 @@ var init = (rawOptions) => {
6182
6351
  ...scriptOptions,
6183
6352
  ...rawOptions
6184
6353
  };
6185
- const initialTheme = mergeTheme(options.theme);
6354
+ const mergedTheme = mergeTheme(options.theme);
6186
6355
  if (options.enabled === false || hasInited) {
6187
6356
  return {
6188
6357
  activate: () => {
@@ -6205,13 +6374,15 @@ var init = (rawOptions) => {
6205
6374
  }),
6206
6375
  updateTheme: () => {
6207
6376
  },
6208
- getTheme: () => initialTheme
6377
+ getTheme: () => mergedTheme,
6378
+ setAgent: () => {
6379
+ }
6209
6380
  };
6210
6381
  }
6211
6382
  hasInited = true;
6212
6383
  const logIntro = () => {
6213
6384
  try {
6214
- const version = "0.0.56";
6385
+ const version = "0.0.58";
6215
6386
  const logoDataUri = `data:image/svg+xml;base64,${btoa(LOGO_SVG)}`;
6216
6387
  console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
6217
6388
  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;`, "");
@@ -6232,7 +6403,7 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6232
6403
  };
6233
6404
  logIntro();
6234
6405
  return createRoot((dispose2) => {
6235
- const [theme, setTheme] = createSignal(initialTheme);
6406
+ const [theme, setTheme] = createSignal(mergedTheme);
6236
6407
  const [isHoldingKeys, setIsHoldingKeys] = createSignal(false);
6237
6408
  const [mouseX, setMouseX] = createSignal(OFFSCREEN_POSITION);
6238
6409
  const [mouseY, setMouseY] = createSignal(OFFSCREEN_POSITION);
@@ -6260,6 +6431,7 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6260
6431
  const [isToggleFrozen, setIsToggleFrozen] = createSignal(false);
6261
6432
  const [isInputExpanded, setIsInputExpanded] = createSignal(false);
6262
6433
  const [frozenElement, setFrozenElement] = createSignal(null);
6434
+ const [hasAgentProvider, setHasAgentProvider] = createSignal(Boolean(options.agent?.provider));
6263
6435
  const [nativeSelectionCursorX, setNativeSelectionCursorX] = createSignal(OFFSCREEN_POSITION);
6264
6436
  const [nativeSelectionCursorY, setNativeSelectionCursorY] = createSignal(OFFSCREEN_POSITION);
6265
6437
  const [hasNativeSelection, setHasNativeSelection] = createSignal(false);
@@ -6270,10 +6442,13 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6270
6442
  if (elements.length === 0 || !elements[0]) return void 0;
6271
6443
  return extractElementTagName(elements[0]) || void 0;
6272
6444
  });
6273
- const nativeSelectionComponentName = createMemo(() => {
6445
+ const [nativeSelectionComponentName] = createResource(() => {
6274
6446
  const elements = nativeSelectionElements();
6275
- if (elements.length === 0 || !elements[0]) return void 0;
6276
- return getNearestComponentName(elements[0]) || void 0;
6447
+ if (elements.length === 0 || !elements[0]) return null;
6448
+ return elements[0];
6449
+ }, async (element) => {
6450
+ if (!element) return void 0;
6451
+ return await getNearestComponentName(element) || void 0;
6277
6452
  });
6278
6453
  const clearNativeSelectionState = () => {
6279
6454
  setNativeSelectionCursorX(OFFSCREEN_POSITION);
@@ -6411,9 +6586,7 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6411
6586
  }, COPIED_LABEL_DURATION_MS);
6412
6587
  }
6413
6588
  if (isToggleMode()) {
6414
- setTimeout(() => {
6415
- deactivateRenderer();
6416
- }, COPIED_LABEL_DURATION_MS + 350);
6589
+ deactivateRenderer();
6417
6590
  }
6418
6591
  });
6419
6592
  };
@@ -6557,18 +6730,22 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6557
6730
  y: drag.y
6558
6731
  };
6559
6732
  });
6733
+ const [labelComponentName] = createResource(() => targetElement(), async (element) => {
6734
+ if (!element) return null;
6735
+ return getNearestComponentName(element);
6736
+ });
6560
6737
  const labelContent = createMemo(() => {
6561
6738
  const element = targetElement();
6562
6739
  const copying = isCopying();
6563
6740
  if (!element) {
6564
6741
  return (() => {
6565
- var _el$ = _tmpl$14();
6742
+ var _el$ = _tmpl$16();
6566
6743
  insert(_el$, copying ? "Please wait\u2026" : "1 element");
6567
6744
  return _el$;
6568
6745
  })();
6569
6746
  }
6570
6747
  const tagName = extractElementTagName(element);
6571
- const componentName = getNearestComponentName(element);
6748
+ const componentName = labelComponentName();
6572
6749
  if (tagName && componentName) {
6573
6750
  return [(() => {
6574
6751
  var _el$2 = _tmpl$23(), _el$3 = _el$2.firstChild, _el$5 = _el$3.nextSibling; _el$5.nextSibling;
@@ -6588,7 +6765,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6588
6765
  })();
6589
6766
  }
6590
6767
  return (() => {
6591
- var _el$10 = _tmpl$14();
6768
+ var _el$10 = _tmpl$16();
6592
6769
  insert(_el$10, copying ? "Please wait\u2026" : "1 element");
6593
6770
  return _el$10;
6594
6771
  })();
@@ -6619,7 +6796,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6619
6796
  }
6620
6797
  getStack(element).then((stack) => {
6621
6798
  for (const frame of stack) {
6622
- if (frame.source && je2(frame.source.fileName)) {
6799
+ if (frame.source && Me2(frame.source.fileName)) {
6623
6800
  setSelectionFilePath(Q(frame.source.fileName));
6624
6801
  setSelectionLineNumber(frame.source.lineNumber);
6625
6802
  return;
@@ -6829,7 +7006,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6829
7006
  const currentY = bounds.y + bounds.height / 2;
6830
7007
  setMouseX(currentX);
6831
7008
  setMouseY(currentY);
6832
- if (options.agent?.provider && prompt) {
7009
+ if (hasAgentProvider() && prompt) {
6833
7010
  deactivateRenderer();
6834
7011
  void agentManager.startSession({
6835
7012
  element,
@@ -6942,7 +7119,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6942
7119
  transform: stripTranslateFromTransform(firstElement)
6943
7120
  };
6944
7121
  const tagName = extractElementTagName(firstElement);
6945
- if (options.agent?.provider) {
7122
+ if (hasAgentProvider()) {
6946
7123
  const centerX = bounds.x + bounds.width / 2;
6947
7124
  const centerY = bounds.y + bounds.height / 2;
6948
7125
  setMouseX(centerX);
@@ -7385,7 +7562,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7385
7562
  return isInputExpanded();
7386
7563
  },
7387
7564
  get hasAgent() {
7388
- return Boolean(options.agent?.provider);
7565
+ return hasAgentProvider();
7389
7566
  },
7390
7567
  get agentSessions() {
7391
7568
  return agentManager.sessions();
@@ -7420,7 +7597,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7420
7597
  }
7421
7598
  }), rendererRoot);
7422
7599
  }
7423
- if (options.agent?.provider) {
7600
+ if (hasAgentProvider()) {
7424
7601
  agentManager.tryResumeSessions();
7425
7602
  }
7426
7603
  const copyElementAPI = async (elements) => {
@@ -7473,16 +7650,45 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7473
7650
  getState: getStateAPI,
7474
7651
  updateTheme: (partialTheme) => {
7475
7652
  const currentTheme = theme();
7476
- const mergedTheme = deepMergeTheme(currentTheme, partialTheme);
7477
- setTheme(mergedTheme);
7653
+ const mergedTheme2 = deepMergeTheme(currentTheme, partialTheme);
7654
+ setTheme(mergedTheme2);
7478
7655
  },
7479
- getTheme: () => theme()
7656
+ getTheme: () => theme(),
7657
+ setAgent: (newAgentOptions) => {
7658
+ const existingOptions = agentManager.getOptions();
7659
+ const mergedOptions = {
7660
+ ...existingOptions,
7661
+ ...newAgentOptions,
7662
+ provider: newAgentOptions.provider ?? existingOptions?.provider,
7663
+ onAbort: (session, element) => {
7664
+ newAgentOptions?.onAbort?.(session, element);
7665
+ if (element && document.contains(element)) {
7666
+ const rect = element.getBoundingClientRect();
7667
+ const centerX = rect.left + rect.width / 2;
7668
+ const centerY = rect.top + rect.height / 2;
7669
+ setMouseX(centerX);
7670
+ setMouseY(centerY);
7671
+ setFrozenElement(element);
7672
+ setInputText(session.context.prompt);
7673
+ setIsInputExpanded(true);
7674
+ setIsInputMode(true);
7675
+ setIsToggleMode(true);
7676
+ setIsToggleFrozen(true);
7677
+ if (!isActivated()) {
7678
+ activateRenderer();
7679
+ }
7680
+ }
7681
+ }
7682
+ };
7683
+ agentManager.setOptions(mergedOptions);
7684
+ setHasAgentProvider(Boolean(mergedOptions.provider));
7685
+ }
7480
7686
  };
7481
7687
  });
7482
7688
  };
7483
7689
  /*! Bundled license information:
7484
7690
 
7485
- bippy/dist/rdt-hook-CrcWl4lP.js:
7691
+ bippy/dist/rdt-hook-BE3UuUaz.js:
7486
7692
  (**
7487
7693
  * @license bippy
7488
7694
  *
@@ -7492,7 +7698,7 @@ bippy/dist/rdt-hook-CrcWl4lP.js:
7492
7698
  * LICENSE file in the root directory of this source tree.
7493
7699
  *)
7494
7700
 
7495
- bippy/dist/install-hook-only-DtUPvEBg.js:
7701
+ bippy/dist/install-hook-only-_lLceJhv.js:
7496
7702
  (**
7497
7703
  * @license bippy
7498
7704
  *
@@ -7502,7 +7708,7 @@ bippy/dist/install-hook-only-DtUPvEBg.js:
7502
7708
  * LICENSE file in the root directory of this source tree.
7503
7709
  *)
7504
7710
 
7505
- bippy/dist/core-D7_ABaNC.js:
7711
+ bippy/dist/core-_xno6DOO.js:
7506
7712
  (**
7507
7713
  * @license bippy
7508
7714
  *
@@ -7548,6 +7754,5 @@ exports.Ee = Ee;
7548
7754
  exports.formatElementInfo = formatElementInfo;
7549
7755
  exports.generateSnippet = generateSnippet;
7550
7756
  exports.getFileName = getFileName;
7551
- exports.getNearestComponentName = getNearestComponentName;
7552
7757
  exports.getStack = getStack;
7553
7758
  exports.init = init;