react-grab 0.0.72 → 0.0.73

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.
@@ -949,7 +949,7 @@ function cleanChildren(parent, current, marker, replacement) {
949
949
 
950
950
  // dist/styles.css
951
951
  var styles_default = `/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
952
- @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}}}@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-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)}.-mt-px{margin-top:-1px}.-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}.size-fit{width:fit-content;height:fit-content}.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-\\[7px\\]{height:7px}.h-\\[17px\\]{height:17px}.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-\\[7px\\]{width:7px}.w-\\[17px\\]{width:17px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[280px\\]{max-width:280px}.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}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-\\[3px\\]{gap:3px}.gap-\\[5px\\]{gap:5px}.gap-px{gap:1px}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\\[1\\.5px\\]{border-radius:1.5px}.rounded-\\[1px\\]{border-radius:1px}.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-b-xs{border-bottom-right-radius:var(--radius-xs);border-bottom-left-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.\\[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-\\[\\#7e0002\\]{border-color:#7e0002}.border-\\[\\#B3B3B3\\]{border-color:#b3b3b3}.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-tag-border{border-color:var(--color-label-tag-border)}.border-white{border-color:var(--color-white)}.border-t-\\[\\#D9D9D9\\]{border-top-color:#d9d9d9}.bg-\\[\\#F7F7F7\\]{background-color:#f7f7f7}.bg-black{background-color:var(--color-black)}.bg-grab-pink{background-color:var(--color-grab-pink)}.bg-grab-purple{background-color:var(--color-grab-purple)}.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-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.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-\\[2px\\]{padding-inline:2px}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:calc(var(--spacing)*0)}.py-1{padding-block:calc(var(--spacing)*1)}.py-\\[2px\\]{padding-block:2px}.py-\\[3px\\]{padding-block:3px}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-1\\.5{padding-right:calc(var(--spacing)*1.5)}.pl-1\\.5{padding-left: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-\\[11px\\]{font-size:11px}.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}.wrap-break-word{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.text-\\[\\#0C0C0C\\]{color:#0c0c0c}.text-\\[\\#47004A\\]{color:#47004a}.text-\\[\\#71717a\\]{color:#71717a}.text-\\[\\#B91C1C\\]{color:#b91c1c}.text-\\[\\#c00002\\]{color:#c00002}.text-black{color:var(--color-black)}.text-label-muted{color:var(--color-label-muted)}.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,)}.filter-\\[drop-shadow\\(0px_0px_4px_\\#51515180\\)\\]{filter:drop-shadow(0 0 4px #51515180)}.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}.select-none{-webkit-user-select:none;user-select: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\\:bg-\\[\\#F5F5F5\\]:hover{background-color:#f5f5f5}.hover\\:bg-\\[\\#FEF2F2\\]:hover{background-color:#fef2f2}.hover\\:opacity-100:hover{opacity:1}}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@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}@keyframes pulse{50%{opacity:.5}}`;
952
+ @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}}}@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-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)}.-mt-px{margin-top:-1px}.-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}.size-fit{width:fit-content;height:fit-content}.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-\\[7px\\]{height:7px}.h-\\[17px\\]{height:17px}.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-\\[7px\\]{width:7px}.w-\\[17px\\]{width:17px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[280px\\]{max-width:280px}.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}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-\\[3px\\]{gap:3px}.gap-\\[5px\\]{gap:5px}.gap-px{gap:1px}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\\[1\\.5px\\]{border-radius:1.5px}.rounded-\\[1px\\]{border-radius:1px}.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-b-xs{border-bottom-right-radius:var(--radius-xs);border-bottom-left-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.\\[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-\\[\\#7e0002\\]{border-color:#7e0002}.border-\\[\\#B3B3B3\\]{border-color:#b3b3b3}.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-tag-border{border-color:var(--color-label-tag-border)}.border-white{border-color:var(--color-white)}.border-t-\\[\\#D9D9D9\\]{border-top-color:#d9d9d9}.bg-\\[\\#F7F7F7\\]{background-color:#f7f7f7}.bg-black{background-color:var(--color-black)}.bg-grab-pink{background-color:var(--color-grab-pink)}.bg-grab-purple{background-color:var(--color-grab-purple)}.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-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.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-\\[2px\\]{padding-inline:2px}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:calc(var(--spacing)*0)}.py-\\[2px\\]{padding-block:2px}.py-\\[3px\\]{padding-block:3px}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-1\\.5{padding-right:calc(var(--spacing)*1.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pl-1\\.5{padding-left: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-\\[11px\\]{font-size:11px}.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}.wrap-break-word{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.text-\\[\\#0C0C0C\\]{color:#0c0c0c}.text-\\[\\#47004A\\]{color:#47004a}.text-\\[\\#71717a\\]{color:#71717a}.text-\\[\\#B91C1C\\]{color:#b91c1c}.text-\\[\\#c00002\\]{color:#c00002}.text-black{color:var(--color-black)}.text-label-muted{color:var(--color-label-muted)}.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,)}.filter-\\[drop-shadow\\(0px_0px_4px_\\#51515180\\)\\]{filter:drop-shadow(0 0 4px #51515180)}.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}.select-none{-webkit-user-select:none;user-select: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\\:bg-\\[\\#F5F5F5\\]:hover{background-color:#f5f5f5}.hover\\:bg-\\[\\#FEF2F2\\]:hover{background-color:#fef2f2}.hover\\:opacity-100:hover{opacity:1}}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@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}@keyframes pulse{50%{opacity:.5}}`;
953
953
 
954
954
  // src/utils/is-keyboard-event-triggered-by-input.ts
955
955
  var FORM_TAGS_AND_ROLES = [
@@ -1078,7 +1078,7 @@ var buildOpenFileUrl = (filePath, lineNumber) => {
1078
1078
  };
1079
1079
 
1080
1080
  // src/constants.ts
1081
- var VERSION = "0.0.72";
1081
+ var VERSION = "0.0.73";
1082
1082
  var VIEWPORT_MARGIN_PX = 8;
1083
1083
  var OFFSCREEN_POSITION = -1e3;
1084
1084
  var SELECTION_LERP_FACTOR = 0.95;
@@ -1086,6 +1086,7 @@ var SUCCESS_LABEL_DURATION_MS = 1700;
1086
1086
  var COPIED_LABEL_DURATION_MS = 1500;
1087
1087
  var SELECTION_CURSOR_SETTLE_DELAY_MS = 500;
1088
1088
  var BLUR_DEACTIVATION_THRESHOLD_MS = 500;
1089
+ var INPUT_FOCUS_ACTIVATION_DELAY_MS = 150;
1089
1090
  var DRAG_THRESHOLD_PX = 2;
1090
1091
  var ELEMENT_DETECTION_THROTTLE_MS = 32;
1091
1092
  var BOUNDS_RECALC_INTERVAL_MS = 100;
@@ -3949,18 +3950,21 @@ var _tmpl$52 = /* @__PURE__ */ template(`<div role=button><div class="text-black
3949
3950
  var _tmpl$62 = /* @__PURE__ */ template(`<div class="[font-synthesis:none] contain-layout shrink-0 flex flex-col items-start px-2 py-[5px] w-auto h-fit self-stretch [border-top-width:0.5px] border-t-solid border-t-[#D9D9D9] antialiased rounded-t-none rounded-b-xs -mt-px"style="background-image:linear-gradient(in oklab 180deg, oklab(100% 0 0) 0%, oklab(96.1% 0 0) 5.92%)">`);
3950
3951
  var _tmpl$7 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit"><button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 tracking-[-0.04em] font-sans font-medium">No</span></button><button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#7e0002] cursor-pointer transition-all hover:bg-[#FEF2F2] h-[17px]"><span class="text-[#B91C1C] text-[11px] leading-3.5 tracking-[-0.04em] font-sans font-medium">Yes`);
3951
3952
  var _tmpl$8 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-end gap-1 w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-full h-fit"><span class="text-black text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit">Discard prompt?`);
3952
- var _tmpl$9 = /* @__PURE__ */ template(`<div class="[font-synthesis:none] contain-layout shrink-0 flex items-center gap-1 rounded-xs bg-white antialiased w-fit h-fit py-1 px-1.5"><div class="contain-layout shrink-0 flex items-center px-0 py-px w-fit h-[18px] rounded-[1.5px] gap-[3px]"><div class="text-black text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit">`);
3953
- var _tmpl$0 = /* @__PURE__ */ template(`<button data-react-grab-ignore-events class="contain-layout shrink-0 flex flex-col items-start rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] p-1 size-fit cursor-pointer ml-1 transition-none hover:scale-105"><div data-react-grab-ignore-events class="shrink-0 w-[7px] h-[7px] rounded-[1px] bg-black pointer-events-none">`);
3954
- var _tmpl$1 = /* @__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 opacity-50 wrap-break-word overflow-y-auto"placeholder="type to edit"rows=1 disabled style=field-sizing:content;min-height:16px;max-height:95px;scrollbar-width:none>`);
3955
- var _tmpl$10 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit max-w-[280px]"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-auto h-fit"><div class="contain-layout flex items-center px-0 py-px w-auto h-fit rounded-[1.5px] gap-[3px]"><span class="text-[12px] leading-4 tracking-[-0.04em] font-sans font-medium w-auto h-fit whitespace-normal text-[#71717a] animate-pulse">`);
3956
- var _tmpl$11 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-px w-fit h-fit">`);
3957
- var _tmpl$12 = /* @__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 px-[3px] py-[3px] rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] size-fit"></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`);
3958
- 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></div><div class="grid transition-[grid-template-rows] duration-30 ease-out self-stretch"><div>`);
3959
- var _tmpl$14 = /* @__PURE__ */ template(`<button>`);
3960
- var _tmpl$15 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex flex-col items-start px-[3px] py-[3px] rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] size-fit cursor-pointer transition-all hover:scale-105">`);
3961
- var _tmpl$16 = /* @__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 wrap-break-word overflow-y-auto"rows=1 style=field-sizing:content;min-height:16px;max-height:95px;scrollbar-width:none></textarea><div class="flex items-center gap-0.5 ml-1 w-[17px] h-[17px] justify-end">`);
3962
- var _tmpl$17 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit max-w-[280px]"><div>`);
3963
- var _tmpl$18 = /* @__PURE__ */ template(`<div data-react-grab-ignore-events class="fixed font-sans antialiased transition-opacity duration-300 ease-out filter-[drop-shadow(0px_0px_4px_#51515180)] select-none"style=z-index:2147483647><div class="[font-synthesis:none] contain-layout flex items-center gap-[5px] rounded-xs bg-white antialiased w-fit h-fit p-0">`);
3953
+ var _tmpl$9 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 tracking-[-0.04em] font-sans font-medium">Undo`);
3954
+ var _tmpl$0 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 tracking-[-0.04em] font-sans font-medium">Ok`);
3955
+ var _tmpl$1 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit">`);
3956
+ var _tmpl$10 = /* @__PURE__ */ template(`<div class="[font-synthesis:none] contain-layout shrink-0 flex flex-col justify-center items-end rounded-xs bg-white antialiased w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1.5 pb-1 px-1.5 w-full h-fit"><span class="text-black text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit tabular-nums">`);
3957
+ var _tmpl$11 = /* @__PURE__ */ template(`<button data-react-grab-ignore-events class="contain-layout shrink-0 flex flex-col items-start rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] p-1 size-fit cursor-pointer ml-1 transition-none hover:scale-105"><div data-react-grab-ignore-events class="shrink-0 w-[7px] h-[7px] rounded-[1px] bg-black pointer-events-none">`);
3958
+ var _tmpl$12 = /* @__PURE__ */ template(`<div class="shrink-0 flex justify-between items-end w-full min-h-4"><textarea data-react-grab-ignore-events 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 opacity-50 wrap-break-word overflow-y-auto"placeholder="type to edit"rows=1 disabled style=field-sizing:content;min-height:16px;max-height:95px;scrollbar-width:none>`);
3959
+ var _tmpl$13 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit max-w-[280px]"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-auto h-fit"><div class="contain-layout flex items-center px-0 py-px w-auto h-fit rounded-[1.5px] gap-[3px]"><span class="text-[12px] leading-4 tracking-[-0.04em] font-sans font-medium w-auto h-fit whitespace-normal text-[#71717a] animate-pulse tabular-nums">`);
3960
+ var _tmpl$14 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-px w-fit h-fit">`);
3961
+ var _tmpl$15 = /* @__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 px-[3px] py-[3px] rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] size-fit"></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`);
3962
+ var _tmpl$16 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit"><div></div><div class="grid transition-[grid-template-rows] duration-30 ease-out self-stretch"><div>`);
3963
+ var _tmpl$17 = /* @__PURE__ */ template(`<button>`);
3964
+ var _tmpl$18 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex flex-col items-start px-[3px] py-[3px] rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] size-fit cursor-pointer transition-all hover:scale-105">`);
3965
+ var _tmpl$19 = /* @__PURE__ */ template(`<div class="shrink-0 flex justify-between items-end w-full min-h-4"><textarea data-react-grab-ignore-events 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 wrap-break-word overflow-y-auto"rows=1 style=field-sizing:content;min-height:16px;max-height:95px;scrollbar-width:none></textarea><div class="flex items-center gap-0.5 ml-1 w-[17px] h-[17px] justify-end">`);
3966
+ var _tmpl$20 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit max-w-[280px]"><div>`);
3967
+ var _tmpl$21 = /* @__PURE__ */ template(`<div data-react-grab-ignore-events class="fixed font-sans antialiased transition-opacity duration-300 ease-out filter-[drop-shadow(0px_0px_4px_#51515180)] select-none"style=z-index:2147483647><div class="[font-synthesis:none] contain-layout flex items-center gap-[5px] rounded-xs bg-white antialiased w-fit h-fit p-0">`);
3964
3968
  var ARROW_HEIGHT = 8;
3965
3969
  var LABEL_GAP = 4;
3966
3970
  var IDLE_TIMEOUT_MS = 400;
@@ -4281,7 +4285,7 @@ var SelectionLabel = (props) => {
4281
4285
  return memo(() => props.visible !== false)() && (props.selectionBounds || shouldShowWithoutBounds());
4282
4286
  },
4283
4287
  get children() {
4284
- var _el$14 = _tmpl$18(), _el$18 = _el$14.firstChild;
4288
+ var _el$14 = _tmpl$21(), _el$21 = _el$14.firstChild;
4285
4289
  _el$14.$$click = stopPropagation;
4286
4290
  _el$14.$$mousedown = stopPropagation;
4287
4291
  _el$14.$$pointerdown = handleContainerPointerDown;
@@ -4294,62 +4298,98 @@ var SelectionLabel = (props) => {
4294
4298
  get leftPx() {
4295
4299
  return computedPosition().arrowLeft;
4296
4300
  }
4297
- }), _el$18);
4301
+ }), _el$21);
4298
4302
  insert(_el$14, createComponent(Show, {
4299
4303
  get when() {
4300
4304
  return props.status === "copied" || props.status === "fading";
4301
4305
  },
4302
4306
  get children() {
4303
- var _el$15 = _tmpl$9(), _el$16 = _el$15.firstChild, _el$17 = _el$16.firstChild;
4304
- insert(_el$17, () => props.hasAgent ? "Completed" : "Copied");
4307
+ var _el$15 = _tmpl$10(), _el$16 = _el$15.firstChild, _el$17 = _el$16.firstChild;
4308
+ insert(_el$17, (() => {
4309
+ var _c$ = memo(() => !!props.hasAgent);
4310
+ return () => _c$() ? props.statusText ?? "Completed" : "Copied";
4311
+ })());
4312
+ insert(_el$15, createComponent(Show, {
4313
+ get when() {
4314
+ return props.onDismiss || props.onUndo;
4315
+ },
4316
+ get children() {
4317
+ return createComponent(BottomSection, {
4318
+ get children() {
4319
+ var _el$18 = _tmpl$1();
4320
+ insert(_el$18, createComponent(Show, {
4321
+ get when() {
4322
+ return props.onUndo;
4323
+ },
4324
+ get children() {
4325
+ var _el$19 = _tmpl$9();
4326
+ _el$19.$$click = () => props.onUndo?.();
4327
+ return _el$19;
4328
+ }
4329
+ }), null);
4330
+ insert(_el$18, createComponent(Show, {
4331
+ get when() {
4332
+ return props.onDismiss;
4333
+ },
4334
+ get children() {
4335
+ var _el$20 = _tmpl$0();
4336
+ _el$20.$$click = () => props.onDismiss?.();
4337
+ return _el$20;
4338
+ }
4339
+ }), null);
4340
+ return _el$18;
4341
+ }
4342
+ });
4343
+ }
4344
+ }), null);
4305
4345
  return _el$15;
4306
4346
  }
4307
- }), _el$18);
4308
- insert(_el$18, createComponent(Show, {
4347
+ }), _el$21);
4348
+ insert(_el$21, createComponent(Show, {
4309
4349
  get when() {
4310
4350
  return props.status === "copying";
4311
4351
  },
4312
4352
  get children() {
4313
- var _el$19 = _tmpl$10(), _el$20 = _el$19.firstChild, _el$21 = _el$20.firstChild, _el$22 = _el$21.firstChild;
4314
- insert(_el$22, () => props.statusText ?? "Grabbing\u2026");
4315
- insert(_el$19, createComponent(BottomSection, {
4353
+ var _el$22 = _tmpl$13(), _el$23 = _el$22.firstChild, _el$24 = _el$23.firstChild, _el$25 = _el$24.firstChild;
4354
+ insert(_el$25, () => props.statusText ?? "Grabbing\u2026");
4355
+ insert(_el$22, createComponent(BottomSection, {
4316
4356
  get children() {
4317
- var _el$23 = _tmpl$1(), _el$24 = _el$23.firstChild;
4357
+ var _el$26 = _tmpl$12(), _el$27 = _el$26.firstChild;
4318
4358
  var _ref$2 = inputRef;
4319
- typeof _ref$2 === "function" ? use(_ref$2, _el$24) : inputRef = _el$24;
4320
- insert(_el$23, createComponent(Show, {
4359
+ typeof _ref$2 === "function" ? use(_ref$2, _el$27) : inputRef = _el$27;
4360
+ insert(_el$26, createComponent(Show, {
4321
4361
  get when() {
4322
4362
  return props.onAbort;
4323
4363
  },
4324
4364
  get children() {
4325
- var _el$25 = _tmpl$0();
4326
- _el$25.$$click = (event) => {
4365
+ var _el$28 = _tmpl$11();
4366
+ _el$28.$$click = (event) => {
4327
4367
  event.stopPropagation();
4328
4368
  props.onAbort?.();
4329
4369
  };
4330
- _el$25.$$pointerup = (event) => {
4370
+ _el$28.$$pointerup = (event) => {
4331
4371
  event.stopPropagation();
4332
4372
  props.onAbort?.();
4333
4373
  };
4334
- _el$25.$$mousedown = (event) => event.stopPropagation();
4335
- _el$25.$$pointerdown = (event) => event.stopPropagation();
4336
- return _el$25;
4374
+ _el$28.$$mousedown = (event) => event.stopPropagation();
4375
+ _el$28.$$pointerdown = (event) => event.stopPropagation();
4376
+ return _el$28;
4337
4377
  }
4338
4378
  }), null);
4339
- createRenderEffect(() => _el$24.value = props.inputValue ?? "");
4340
- return _el$23;
4379
+ createRenderEffect(() => _el$27.value = props.inputValue ?? "");
4380
+ return _el$26;
4341
4381
  }
4342
4382
  }), null);
4343
- return _el$19;
4383
+ return _el$22;
4344
4384
  }
4345
4385
  }), null);
4346
- insert(_el$18, createComponent(Show, {
4386
+ insert(_el$21, createComponent(Show, {
4347
4387
  get when() {
4348
4388
  return memo(() => !!isNotProcessing())() && !props.isInputExpanded;
4349
4389
  },
4350
4390
  get children() {
4351
- var _el$26 = _tmpl$13(), _el$27 = _el$26.firstChild, _el$29 = _el$27.nextSibling, _el$30 = _el$29.firstChild;
4352
- insert(_el$27, createComponent(ClickToCopyPill, {
4391
+ var _el$29 = _tmpl$16(), _el$30 = _el$29.firstChild, _el$32 = _el$30.nextSibling, _el$33 = _el$32.firstChild;
4392
+ insert(_el$30, createComponent(ClickToCopyPill, {
4353
4393
  onClick: handleSubmit,
4354
4394
  shrink: true,
4355
4395
  get hasParent() {
@@ -4359,19 +4399,19 @@ var SelectionLabel = (props) => {
4359
4399
  return props.hasAgent;
4360
4400
  }
4361
4401
  }), null);
4362
- insert(_el$27, createComponent(Show, {
4402
+ insert(_el$30, createComponent(Show, {
4363
4403
  get when() {
4364
4404
  return props.componentName;
4365
4405
  },
4366
4406
  get children() {
4367
- var _el$28 = _tmpl$11();
4368
- insert(_el$28, createComponent(ParentBadge, {
4407
+ var _el$31 = _tmpl$14();
4408
+ insert(_el$31, createComponent(ParentBadge, {
4369
4409
  get name() {
4370
4410
  return props.componentName;
4371
4411
  }
4372
4412
  }), null);
4373
- insert(_el$28, createComponent(ChevronSeparator, {}), null);
4374
- insert(_el$28, createComponent(TagBadge, {
4413
+ insert(_el$31, createComponent(ChevronSeparator, {}), null);
4414
+ insert(_el$31, createComponent(TagBadge, {
4375
4415
  get tagName() {
4376
4416
  return tagDisplay();
4377
4417
  },
@@ -4383,10 +4423,10 @@ var SelectionLabel = (props) => {
4383
4423
  showMono: true,
4384
4424
  shrink: true
4385
4425
  }), null);
4386
- return _el$28;
4426
+ return _el$31;
4387
4427
  }
4388
4428
  }), null);
4389
- insert(_el$27, createComponent(Show, {
4429
+ insert(_el$30, createComponent(Show, {
4390
4430
  get when() {
4391
4431
  return !props.componentName;
4392
4432
  },
@@ -4405,37 +4445,37 @@ var SelectionLabel = (props) => {
4405
4445
  });
4406
4446
  }
4407
4447
  }), null);
4408
- insert(_el$30, createComponent(BottomSection, {
4448
+ insert(_el$33, createComponent(BottomSection, {
4409
4449
  get children() {
4410
- var _el$31 = _tmpl$12(), _el$32 = _el$31.firstChild, _el$33 = _el$32.nextSibling;
4411
- insert(_el$33, createComponent(IconReturn, {
4450
+ var _el$34 = _tmpl$15(), _el$35 = _el$34.firstChild, _el$36 = _el$35.nextSibling;
4451
+ insert(_el$36, createComponent(IconReturn, {
4412
4452
  size: 10,
4413
4453
  "class": "opacity-[0.99] text-black"
4414
4454
  }));
4415
- return _el$31;
4455
+ return _el$34;
4416
4456
  }
4417
4457
  }));
4418
4458
  createRenderEffect((_p$) => {
4419
4459
  var _v$3 = cn("contain-layout shrink-0 flex items-center gap-1 pt-1 w-fit h-fit pl-1.5", props.componentName ? "pr-1.5" : "pr-1"), _v$4 = isIdle() ? "1fr" : "0fr", _v$5 = cn("overflow-hidden min-h-0", !isIdle() && "w-0");
4420
- _v$3 !== _p$.e && className(_el$27, _p$.e = _v$3);
4421
- _v$4 !== _p$.t && setStyleProperty(_el$29, "grid-template-rows", _p$.t = _v$4);
4422
- _v$5 !== _p$.a && className(_el$30, _p$.a = _v$5);
4460
+ _v$3 !== _p$.e && className(_el$30, _p$.e = _v$3);
4461
+ _v$4 !== _p$.t && setStyleProperty(_el$32, "grid-template-rows", _p$.t = _v$4);
4462
+ _v$5 !== _p$.a && className(_el$33, _p$.a = _v$5);
4423
4463
  return _p$;
4424
4464
  }, {
4425
4465
  e: void 0,
4426
4466
  t: void 0,
4427
4467
  a: void 0
4428
4468
  });
4429
- return _el$26;
4469
+ return _el$29;
4430
4470
  }
4431
4471
  }), null);
4432
- insert(_el$18, createComponent(Show, {
4472
+ insert(_el$21, createComponent(Show, {
4433
4473
  get when() {
4434
4474
  return memo(() => !!(isNotProcessing() && props.isInputExpanded))() && !props.isPendingDismiss;
4435
4475
  },
4436
4476
  get children() {
4437
- var _el$34 = _tmpl$17(), _el$35 = _el$34.firstChild;
4438
- insert(_el$35, createComponent(ClickToCopyPill, {
4477
+ var _el$37 = _tmpl$20(), _el$38 = _el$37.firstChild;
4478
+ insert(_el$38, createComponent(ClickToCopyPill, {
4439
4479
  onClick: handleSubmit,
4440
4480
  dimmed: true,
4441
4481
  shrink: true,
@@ -4446,19 +4486,19 @@ var SelectionLabel = (props) => {
4446
4486
  return props.hasAgent;
4447
4487
  }
4448
4488
  }), null);
4449
- insert(_el$35, createComponent(Show, {
4489
+ insert(_el$38, createComponent(Show, {
4450
4490
  get when() {
4451
4491
  return props.componentName;
4452
4492
  },
4453
4493
  get children() {
4454
- var _el$36 = _tmpl$11();
4455
- insert(_el$36, createComponent(ParentBadge, {
4494
+ var _el$39 = _tmpl$14();
4495
+ insert(_el$39, createComponent(ParentBadge, {
4456
4496
  get name() {
4457
4497
  return props.componentName;
4458
4498
  }
4459
4499
  }), null);
4460
- insert(_el$36, createComponent(ChevronSeparator, {}), null);
4461
- insert(_el$36, createComponent(TagBadge, {
4500
+ insert(_el$39, createComponent(ChevronSeparator, {}), null);
4501
+ insert(_el$39, createComponent(TagBadge, {
4462
4502
  get tagName() {
4463
4503
  return tagDisplay();
4464
4504
  },
@@ -4471,10 +4511,10 @@ var SelectionLabel = (props) => {
4471
4511
  shrink: true,
4472
4512
  forceShowIcon: true
4473
4513
  }), null);
4474
- return _el$36;
4514
+ return _el$39;
4475
4515
  }
4476
4516
  }), null);
4477
- insert(_el$35, createComponent(Show, {
4517
+ insert(_el$38, createComponent(Show, {
4478
4518
  get when() {
4479
4519
  return !props.componentName;
4480
4520
  },
@@ -4494,21 +4534,21 @@ var SelectionLabel = (props) => {
4494
4534
  });
4495
4535
  }
4496
4536
  }), null);
4497
- insert(_el$34, createComponent(BottomSection, {
4537
+ insert(_el$37, createComponent(BottomSection, {
4498
4538
  get children() {
4499
- var _el$37 = _tmpl$16(), _el$38 = _el$37.firstChild, _el$39 = _el$38.nextSibling;
4500
- _el$38.$$keydown = handleKeyDown;
4501
- _el$38.$$input = handleInput;
4539
+ var _el$40 = _tmpl$19(), _el$41 = _el$40.firstChild, _el$42 = _el$41.nextSibling;
4540
+ _el$41.$$keydown = handleKeyDown;
4541
+ _el$41.$$input = handleInput;
4502
4542
  var _ref$3 = inputRef;
4503
- typeof _ref$3 === "function" ? use(_ref$3, _el$38) : inputRef = _el$38;
4504
- insert(_el$39, createComponent(Show, {
4543
+ typeof _ref$3 === "function" ? use(_ref$3, _el$41) : inputRef = _el$41;
4544
+ insert(_el$42, createComponent(Show, {
4505
4545
  get when() {
4506
4546
  return memo(() => !!(props.hasAgent && speechRecognition.isSupported()))() && !props.inputValue;
4507
4547
  },
4508
4548
  get children() {
4509
- var _el$40 = _tmpl$14();
4510
- addEventListener(_el$40, "click", speechRecognition.toggle);
4511
- insert(_el$40, createComponent(IconMic, {
4549
+ var _el$43 = _tmpl$17();
4550
+ addEventListener(_el$43, "click", speechRecognition.toggle);
4551
+ insert(_el$43, createComponent(IconMic, {
4512
4552
  size: 11,
4513
4553
  get ["class"]() {
4514
4554
  return speechRecognition.isListening() ? "animate-pulse" : "";
@@ -4516,40 +4556,40 @@ var SelectionLabel = (props) => {
4516
4556
  }));
4517
4557
  createRenderEffect((_p$) => {
4518
4558
  var _v$6 = cn("contain-layout shrink-0 flex items-center justify-center px-[2px] py-[2px] rounded-xs [border-width:0.5px] border-solid size-fit cursor-pointer transition-all hover:scale-105", speechRecognition.isListening() ? "bg-grab-purple border-grab-purple text-white" : "bg-white border-[#B3B3B3] text-black"), _v$7 = speechRecognition.isListening() ? "Stop listening" : "Start voice input";
4519
- _v$6 !== _p$.e && className(_el$40, _p$.e = _v$6);
4520
- _v$7 !== _p$.t && setAttribute(_el$40, "title", _p$.t = _v$7);
4559
+ _v$6 !== _p$.e && className(_el$43, _p$.e = _v$6);
4560
+ _v$7 !== _p$.t && setAttribute(_el$43, "title", _p$.t = _v$7);
4521
4561
  return _p$;
4522
4562
  }, {
4523
4563
  e: void 0,
4524
4564
  t: void 0
4525
4565
  });
4526
- return _el$40;
4566
+ return _el$43;
4527
4567
  }
4528
4568
  }), null);
4529
- insert(_el$39, createComponent(Show, {
4569
+ insert(_el$42, createComponent(Show, {
4530
4570
  get when() {
4531
4571
  return props.inputValue;
4532
4572
  },
4533
4573
  get children() {
4534
- var _el$41 = _tmpl$15();
4535
- _el$41.$$click = handleSubmit;
4536
- insert(_el$41, createComponent(IconReturn, {
4574
+ var _el$44 = _tmpl$18();
4575
+ _el$44.$$click = handleSubmit;
4576
+ insert(_el$44, createComponent(IconReturn, {
4537
4577
  size: 10,
4538
4578
  "class": "opacity-[0.99] text-black"
4539
4579
  }));
4540
- return _el$41;
4580
+ return _el$44;
4541
4581
  }
4542
4582
  }), null);
4543
- createRenderEffect(() => setAttribute(_el$38, "placeholder", speechRecognition.isListening() ? "listening..." : props.hasAgent && props.isAgentConnected ? "type to edit" : "type prompt"));
4544
- createRenderEffect(() => _el$38.value = props.inputValue ?? "");
4545
- return _el$37;
4583
+ createRenderEffect(() => setAttribute(_el$41, "placeholder", speechRecognition.isListening() ? "listening..." : props.hasAgent && props.isAgentConnected ? "type to edit" : "type prompt"));
4584
+ createRenderEffect(() => _el$41.value = props.inputValue ?? "");
4585
+ return _el$40;
4546
4586
  }
4547
4587
  }), null);
4548
- createRenderEffect(() => className(_el$35, cn("contain-layout shrink-0 flex items-center gap-1 pt-1 w-fit h-fit pl-1.5", props.componentName ? "pr-1.5" : "pr-1")));
4549
- return _el$34;
4588
+ createRenderEffect(() => className(_el$38, cn("contain-layout shrink-0 flex items-center gap-1 pt-1 w-fit h-fit pl-1.5", props.componentName ? "pr-1.5" : "pr-1")));
4589
+ return _el$37;
4550
4590
  }
4551
4591
  }), null);
4552
- insert(_el$18, createComponent(Show, {
4592
+ insert(_el$21, createComponent(Show, {
4553
4593
  get when() {
4554
4594
  return props.isPendingDismiss;
4555
4595
  },
@@ -4565,12 +4605,12 @@ var SelectionLabel = (props) => {
4565
4605
  }
4566
4606
  }), null);
4567
4607
  createRenderEffect((_p$) => {
4568
- var _v$8 = `${computedPosition().top}px`, _v$9 = `${computedPosition().left}px`, _v$0 = props.isInputExpanded ? "auto" : "none", _v$1 = props.status === "fading" ? 0 : 1, _v$10 = props.status === "copied" || props.status === "fading" ? "none" : void 0;
4608
+ var _v$8 = `${computedPosition().top}px`, _v$9 = `${computedPosition().left}px`, _v$0 = props.isInputExpanded || props.status === "copied" && props.onDismiss || props.status === "copying" && props.onAbort ? "auto" : "none", _v$1 = props.status === "fading" ? 0 : 1, _v$10 = props.status === "copied" || props.status === "fading" ? "none" : void 0;
4569
4609
  _v$8 !== _p$.e && setStyleProperty(_el$14, "top", _p$.e = _v$8);
4570
4610
  _v$9 !== _p$.t && setStyleProperty(_el$14, "left", _p$.t = _v$9);
4571
4611
  _v$0 !== _p$.a && setStyleProperty(_el$14, "pointer-events", _p$.a = _v$0);
4572
4612
  _v$1 !== _p$.o && setStyleProperty(_el$14, "opacity", _p$.o = _v$1);
4573
- _v$10 !== _p$.i && setStyleProperty(_el$18, "display", _p$.i = _v$10);
4613
+ _v$10 !== _p$.i && setStyleProperty(_el$21, "display", _p$.i = _v$10);
4574
4614
  return _p$;
4575
4615
  }, {
4576
4616
  e: void 0,
@@ -4586,7 +4626,7 @@ var SelectionLabel = (props) => {
4586
4626
  delegateEvents(["click", "pointerdown", "mousedown", "pointerup", "input", "keydown"]);
4587
4627
 
4588
4628
  // src/components/selection-cursor.tsx
4589
- var _tmpl$19 = /* @__PURE__ */ template(`<div class="fixed z-2147483647"><button data-react-grab-selection-cursor>`);
4629
+ var _tmpl$23 = /* @__PURE__ */ template(`<div class="fixed z-2147483647"><button data-react-grab-selection-cursor>`);
4590
4630
  var SelectionCursor = (props) => {
4591
4631
  const [isHovered, setIsHovered] = createSignal(false);
4592
4632
  const [debouncedVisible, setDebouncedVisible] = createSignal(false);
@@ -4623,7 +4663,7 @@ var SelectionCursor = (props) => {
4623
4663
  });
4624
4664
  }
4625
4665
  }), (() => {
4626
- var _el$ = _tmpl$19(), _el$2 = _el$.firstChild;
4666
+ var _el$ = _tmpl$23(), _el$2 = _el$.firstChild;
4627
4667
  _el$.addEventListener("mouseleave", () => setIsHovered(false));
4628
4668
  _el$.addEventListener("mouseenter", () => setIsHovered(true));
4629
4669
  _el$2.$$click = handleClick;
@@ -4775,7 +4815,13 @@ var ReactGrabRenderer = (props) => {
4775
4815
  get inputValue() {
4776
4816
  return session().context.prompt;
4777
4817
  },
4778
- onAbort: () => props.onAbortSession?.(session().id)
4818
+ onAbort: () => props.onAbortSession?.(session().id),
4819
+ get onDismiss() {
4820
+ return session().isStreaming ? void 0 : () => props.onDismissSession?.(session().id);
4821
+ },
4822
+ get onUndo() {
4823
+ return session().isStreaming ? void 0 : () => props.onUndoSession?.(session().id);
4824
+ }
4779
4825
  })]
4780
4826
  }), createComponent(Show, {
4781
4827
  get when() {
@@ -4905,7 +4951,7 @@ var ReactGrabRenderer = (props) => {
4905
4951
  })];
4906
4952
  };
4907
4953
 
4908
- // ../../node_modules/.pnpm/bippy@0.5.25_@types+react@19.2.2_react@19.2.1/node_modules/bippy/dist/rdt-hook-7WClMTWh.js
4954
+ // ../../node_modules/.pnpm/bippy@0.5.25_@types+react@19.2.7_react@19.2.1/node_modules/bippy/dist/rdt-hook-7WClMTWh.js
4909
4955
  var e = `0.5.25`;
4910
4956
  var t = `bippy-${e}`;
4911
4957
  var n = Object.defineProperty;
@@ -4993,7 +5039,7 @@ var _ = () => {
4993
5039
  }
4994
5040
  };
4995
5041
 
4996
- // ../../node_modules/.pnpm/bippy@0.5.25_@types+react@19.2.2_react@19.2.1/node_modules/bippy/dist/core-CoV0JPOT.js
5042
+ // ../../node_modules/.pnpm/bippy@0.5.25_@types+react@19.2.7_react@19.2.1/node_modules/bippy/dist/core-CoV0JPOT.js
4997
5043
  var a2 = 0;
4998
5044
  var o2 = 1;
4999
5045
  var c2 = 5;
@@ -5081,7 +5127,7 @@ var Pe = (e2) => {
5081
5127
  return null;
5082
5128
  };
5083
5129
 
5084
- // ../../node_modules/.pnpm/bippy@0.5.25_@types+react@19.2.2_react@19.2.1/node_modules/bippy/dist/source.js
5130
+ // ../../node_modules/.pnpm/bippy@0.5.25_@types+react@19.2.7_react@19.2.1/node_modules/bippy/dist/source.js
5085
5131
  var g2 = Object.create;
5086
5132
  var _2 = Object.defineProperty;
5087
5133
  var v = Object.getOwnPropertyDescriptor;
@@ -5723,7 +5769,7 @@ var je = (e2) => {
5723
5769
  // src/utils/is-capitalized.ts
5724
5770
  var isCapitalized = (value) => value.length > 0 && /^[A-Z]/.test(value);
5725
5771
 
5726
- // ../../node_modules/.pnpm/bippy@0.5.25_@types+react@19.2.2_react@19.2.1/node_modules/bippy/dist/install-hook-only-CTBENLgG.js
5772
+ // ../../node_modules/.pnpm/bippy@0.5.25_@types+react@19.2.7_react@19.2.1/node_modules/bippy/dist/install-hook-only-CTBENLgG.js
5727
5773
  _();
5728
5774
 
5729
5775
  // src/context.ts
@@ -5886,11 +5932,12 @@ var getHTMLPreview = (element) => {
5886
5932
 
5887
5933
  // src/utils/copy-content.ts
5888
5934
  var REACT_GRAB_MIME_TYPE = "application/x-react-grab";
5889
- var copyContent = (content, onSuccess) => {
5935
+ var copyContent = (content, options) => {
5890
5936
  const metadata = JSON.stringify({
5891
5937
  version: VERSION,
5892
5938
  content,
5893
- timestamp: Date.now()
5939
+ timestamp: Date.now(),
5940
+ ...options?.prompt && { prompt: options.prompt }
5894
5941
  });
5895
5942
  const copyHandler = (event) => {
5896
5943
  event.preventDefault();
@@ -5908,7 +5955,7 @@ var copyContent = (content, onSuccess) => {
5908
5955
  try {
5909
5956
  const didCopySucceed = document.execCommand("copy");
5910
5957
  if (didCopySucceed) {
5911
- onSuccess?.();
5958
+ options?.onSuccess?.();
5912
5959
  }
5913
5960
  return didCopySucceed;
5914
5961
  } finally {
@@ -6362,9 +6409,7 @@ var createAgentManager = (initialAgentOptions) => {
6362
6409
  const isProcessing = () => sessions().size > 0;
6363
6410
  const executeSessionStream = async (session, streamIterator) => {
6364
6411
  const storage = agentOptions?.storage;
6365
- let didComplete = false;
6366
6412
  let wasAborted = false;
6367
- let hadError = false;
6368
6413
  try {
6369
6414
  for await (const status of streamIterator) {
6370
6415
  const currentSessions = sessions();
@@ -6378,13 +6423,16 @@ var createAgentManager = (initialAgentOptions) => {
6378
6423
  setSessions((prev) => new Map(prev).set(session.id, updatedSession));
6379
6424
  agentOptions?.onStatus?.(status, updatedSession);
6380
6425
  }
6381
- didComplete = true;
6382
6426
  const finalSessions = sessions();
6383
6427
  const finalSession = finalSessions.get(session.id);
6384
6428
  if (finalSession) {
6429
+ const completionMessage = agentOptions?.provider?.getCompletionMessage?.();
6385
6430
  const completedSession = updateSession(
6386
6431
  finalSession,
6387
- { isStreaming: false },
6432
+ {
6433
+ isStreaming: false,
6434
+ ...completionMessage ? { lastStatus: completionMessage } : {}
6435
+ },
6388
6436
  storage
6389
6437
  );
6390
6438
  setSessions((prev) => new Map(prev).set(session.id, completedSession));
@@ -6416,7 +6464,6 @@ var createAgentManager = (initialAgentOptions) => {
6416
6464
  setSessions((prev) => new Map(prev).set(session.id, errorSession));
6417
6465
  }
6418
6466
  } else {
6419
- hadError = true;
6420
6467
  if (currentSession) {
6421
6468
  const errorSession = updateSession(
6422
6469
  currentSession,
@@ -6435,7 +6482,7 @@ var createAgentManager = (initialAgentOptions) => {
6435
6482
  }
6436
6483
  } finally {
6437
6484
  abortControllers.delete(session.id);
6438
- const removeSession = () => {
6485
+ if (wasAborted) {
6439
6486
  sessionElements.delete(session.id);
6440
6487
  clearSessionById(session.id, storage);
6441
6488
  setSessions((prev) => {
@@ -6443,11 +6490,6 @@ var createAgentManager = (initialAgentOptions) => {
6443
6490
  next.delete(session.id);
6444
6491
  return next;
6445
6492
  });
6446
- };
6447
- if (wasAborted) {
6448
- removeSession();
6449
- } else if (didComplete || hadError) {
6450
- setTimeout(removeSession, 1500);
6451
6493
  }
6452
6494
  }
6453
6495
  };
@@ -6562,20 +6604,33 @@ var createAgentManager = (initialAgentOptions) => {
6562
6604
  setSessions(/* @__PURE__ */ new Map());
6563
6605
  clearSessions(agentOptions?.storage);
6564
6606
  };
6607
+ const dismissSession = (sessionId) => {
6608
+ const storage = agentOptions?.storage;
6609
+ sessionElements.delete(sessionId);
6610
+ clearSessionById(sessionId, storage);
6611
+ setSessions((prev) => {
6612
+ const next = new Map(prev);
6613
+ next.delete(sessionId);
6614
+ return next;
6615
+ });
6616
+ };
6617
+ const undoSession = (sessionId) => {
6618
+ const currentSessions = sessions();
6619
+ const session = currentSessions.get(sessionId);
6620
+ if (session) {
6621
+ const element = sessionElements.get(sessionId);
6622
+ agentOptions?.onUndo?.(session, element);
6623
+ void agentOptions?.provider?.undo?.();
6624
+ }
6625
+ dismissSession(sessionId);
6626
+ };
6565
6627
  const updateSessionBoundsOnViewportChange = () => {
6566
6628
  const currentSessions = sessions();
6567
6629
  if (currentSessions.size === 0) return;
6568
6630
  const updatedSessions = new Map(currentSessions);
6569
6631
  let didUpdate = false;
6570
6632
  for (const [sessionId, session] of currentSessions) {
6571
- let element = sessionElements.get(sessionId);
6572
- if (!element || !document.contains(element)) {
6573
- const reacquiredElement = tryReacquireElement(session);
6574
- if (reacquiredElement) {
6575
- sessionElements.set(sessionId, reacquiredElement);
6576
- element = reacquiredElement;
6577
- }
6578
- }
6633
+ const element = sessionElements.get(sessionId);
6579
6634
  if (element && document.contains(element)) {
6580
6635
  const newBounds = createElementBounds(element);
6581
6636
  if (newBounds) {
@@ -6610,6 +6665,8 @@ var createAgentManager = (initialAgentOptions) => {
6610
6665
  startSession,
6611
6666
  abortSession,
6612
6667
  abortAllSessions,
6668
+ dismissSession,
6669
+ undoSession,
6613
6670
  updateSessionBoundsOnViewportChange,
6614
6671
  getSessionElement,
6615
6672
  setOptions,
@@ -6618,8 +6675,8 @@ var createAgentManager = (initialAgentOptions) => {
6618
6675
  };
6619
6676
 
6620
6677
  // src/core.tsx
6621
- var _tmpl$20 = /* @__PURE__ */ template(`<span class="tabular-nums align-middle">`);
6622
- var _tmpl$23 = /* @__PURE__ */ template(`<span class="font-mono tabular-nums align-middle">&lt;<!>>`);
6678
+ var _tmpl$24 = /* @__PURE__ */ template(`<span class="tabular-nums align-middle">`);
6679
+ var _tmpl$25 = /* @__PURE__ */ template(`<span class="font-mono tabular-nums align-middle">&lt;<!>>`);
6623
6680
  var _tmpl$33 = /* @__PURE__ */ template(`<span class="tabular-nums ml-1 align-middle"> in `);
6624
6681
  var onIdle = (callback) => {
6625
6682
  if ("scheduler" in globalThis) {
@@ -6712,7 +6769,7 @@ var init = (rawOptions) => {
6712
6769
  hasInited = true;
6713
6770
  const logIntro = () => {
6714
6771
  try {
6715
- const version = "0.0.72";
6772
+ const version = "0.0.73";
6716
6773
  const logoDataUri = `data:image/svg+xml;base64,${btoa(LOGO_SVG)}`;
6717
6774
  console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
6718
6775
  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;`, "");
@@ -6950,7 +7007,9 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6950
7007
 
6951
7008
  ${combinedSnippets}` : combinedSnippets;
6952
7009
  copiedContent = plainTextContent;
6953
- didCopy = copyContent(plainTextContent);
7010
+ didCopy = copyContent(plainTextContent, {
7011
+ prompt: extraPrompt
7012
+ });
6954
7013
  }
6955
7014
  if (!didCopy) {
6956
7015
  const plainTextContentOnly = createCombinedTextContent(elements);
@@ -6959,7 +7018,9 @@ ${combinedSnippets}` : combinedSnippets;
6959
7018
 
6960
7019
  ${plainTextContentOnly}` : plainTextContentOnly;
6961
7020
  copiedContent = contentWithPrompt;
6962
- didCopy = copyContent(contentWithPrompt);
7021
+ didCopy = copyContent(contentWithPrompt, {
7022
+ prompt: extraPrompt
7023
+ });
6963
7024
  }
6964
7025
  }
6965
7026
  if (didCopy) {
@@ -6973,7 +7034,9 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6973
7034
 
6974
7035
  ${plainTextContentOnly}` : plainTextContentOnly;
6975
7036
  copiedContent = contentWithPrompt;
6976
- didCopy = copyContent(contentWithPrompt);
7037
+ didCopy = copyContent(contentWithPrompt, {
7038
+ prompt: extraPrompt
7039
+ });
6977
7040
  }
6978
7041
  }
6979
7042
  options.onAfterCopy?.(elements, didCopy);
@@ -7025,6 +7088,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7025
7088
  onCleanup(() => clearInterval(intervalId));
7026
7089
  });
7027
7090
  createEffect(() => {
7091
+ if (isToggleFrozen()) return;
7028
7092
  const element = targetElement();
7029
7093
  if (element) {
7030
7094
  setFrozenElement(element);
@@ -7084,7 +7148,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7084
7148
  const copying = isCopying();
7085
7149
  if (!element) {
7086
7150
  return (() => {
7087
- var _el$ = _tmpl$20();
7151
+ var _el$ = _tmpl$24();
7088
7152
  insert(_el$, copying ? "Processing\u2026" : "1 element");
7089
7153
  return _el$;
7090
7154
  })();
@@ -7093,7 +7157,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7093
7157
  const componentName = labelComponentName();
7094
7158
  if (tagName && componentName) {
7095
7159
  return [(() => {
7096
- var _el$2 = _tmpl$23(), _el$3 = _el$2.firstChild, _el$5 = _el$3.nextSibling; _el$5.nextSibling;
7160
+ var _el$2 = _tmpl$25(), _el$3 = _el$2.firstChild, _el$5 = _el$3.nextSibling; _el$5.nextSibling;
7097
7161
  insert(_el$2, tagName, _el$5);
7098
7162
  return _el$2;
7099
7163
  })(), (() => {
@@ -7104,13 +7168,13 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7104
7168
  }
7105
7169
  if (tagName) {
7106
7170
  return (() => {
7107
- var _el$8 = _tmpl$23(), _el$9 = _el$8.firstChild, _el$1 = _el$9.nextSibling; _el$1.nextSibling;
7171
+ var _el$8 = _tmpl$25(), _el$9 = _el$8.firstChild, _el$1 = _el$9.nextSibling; _el$1.nextSibling;
7108
7172
  insert(_el$8, tagName, _el$1);
7109
7173
  return _el$8;
7110
7174
  })();
7111
7175
  }
7112
7176
  return (() => {
7113
- var _el$10 = _tmpl$20();
7177
+ var _el$10 = _tmpl$24();
7114
7178
  insert(_el$10, copying ? "Processing\u2026" : "1 element");
7115
7179
  return _el$10;
7116
7180
  })();
@@ -7322,25 +7386,32 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7322
7386
  previouslyFocusedElement = null;
7323
7387
  options.onDeactivate?.();
7324
7388
  };
7389
+ const restoreInputFromSession = (session, element) => {
7390
+ if (element && document.contains(element)) {
7391
+ const rect = element.getBoundingClientRect();
7392
+ const centerY = rect.top + rect.height / 2;
7393
+ setMouseX(session.position.x);
7394
+ setMouseY(centerY);
7395
+ setFrozenElement(element);
7396
+ setInputText(session.context.prompt);
7397
+ setIsInputExpanded(true);
7398
+ setIsInputMode(true);
7399
+ setIsToggleMode(true);
7400
+ setIsToggleFrozen(true);
7401
+ if (!isActivated()) {
7402
+ activateRenderer();
7403
+ }
7404
+ }
7405
+ };
7325
7406
  const agentOptions = options.agent ? {
7326
7407
  ...options.agent,
7327
7408
  onAbort: (session, element) => {
7328
7409
  options.agent?.onAbort?.(session, element);
7329
- if (element && document.contains(element)) {
7330
- const rect = element.getBoundingClientRect();
7331
- const centerY = rect.top + rect.height / 2;
7332
- setMouseX(session.position.x);
7333
- setMouseY(centerY);
7334
- setFrozenElement(element);
7335
- setInputText(session.context.prompt);
7336
- setIsInputExpanded(true);
7337
- setIsInputMode(true);
7338
- setIsToggleMode(true);
7339
- setIsToggleFrozen(true);
7340
- if (!isActivated()) {
7341
- activateRenderer();
7342
- }
7343
- }
7410
+ restoreInputFromSession(session, element);
7411
+ },
7412
+ onUndo: (session, element) => {
7413
+ options.agent?.onUndo?.(session, element);
7414
+ restoreInputFromSession(session, element);
7344
7415
  }
7345
7416
  } : void 0;
7346
7417
  const agentManager = createAgentManager(agentOptions);
@@ -7629,7 +7700,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7629
7700
  }
7630
7701
  }
7631
7702
  const copiedElement = lastCopiedElement();
7632
- if (isEnterCode(event.code) && !isHoldingKeys() && !isInputMode() && !isActivated() && copiedElement && document.contains(copiedElement)) {
7703
+ if (isEnterCode(event.code) && !isHoldingKeys() && !isInputMode() && !isActivated() && copiedElement && document.contains(copiedElement) && !labelInstances().some((instance) => instance.status === "copied" || instance.status === "fading")) {
7633
7704
  event.preventDefault();
7634
7705
  event.stopPropagation();
7635
7706
  event.stopImmediatePropagation();
@@ -7740,9 +7811,10 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7740
7811
  if (!isHoldingKeys()) {
7741
7812
  setIsHoldingKeys(true);
7742
7813
  }
7814
+ const activationDuration = isKeyboardEventTriggeredByInput(event) ? options.keyHoldDuration + INPUT_FOCUS_ACTIVATION_DELAY_MS : options.keyHoldDuration;
7743
7815
  holdTimerId = window.setTimeout(() => {
7744
7816
  activateRenderer();
7745
- }, options.keyHoldDuration);
7817
+ }, activationDuration);
7746
7818
  }, {
7747
7819
  signal: eventListenerSignal,
7748
7820
  capture: true
@@ -8126,6 +8198,8 @@ ${plainTextContentOnly}` : plainTextContentOnly;
8126
8198
  return agentManager.sessions();
8127
8199
  },
8128
8200
  onAbortSession: (sessionId) => agentManager.abortSession(sessionId),
8201
+ onDismissSession: (sessionId) => agentManager.dismissSession(sessionId),
8202
+ onUndoSession: (sessionId) => agentManager.undoSession(sessionId),
8129
8203
  onInputChange: handleInputChange,
8130
8204
  onInputSubmit: () => void handleInputSubmit(),
8131
8205
  onInputCancel: handleInputCancel,
@@ -8225,21 +8299,11 @@ ${plainTextContentOnly}` : plainTextContentOnly;
8225
8299
  provider: newAgentOptions.provider ?? existingOptions?.provider,
8226
8300
  onAbort: (session, element) => {
8227
8301
  newAgentOptions?.onAbort?.(session, element);
8228
- if (element && document.contains(element)) {
8229
- const rect = element.getBoundingClientRect();
8230
- const centerY = rect.top + rect.height / 2;
8231
- setMouseX(session.position.x);
8232
- setMouseY(centerY);
8233
- setFrozenElement(element);
8234
- setInputText(session.context.prompt);
8235
- setIsInputExpanded(true);
8236
- setIsInputMode(true);
8237
- setIsToggleMode(true);
8238
- setIsToggleFrozen(true);
8239
- if (!isActivated()) {
8240
- activateRenderer();
8241
- }
8242
- }
8302
+ restoreInputFromSession(session, element);
8303
+ },
8304
+ onUndo: (session, element) => {
8305
+ newAgentOptions?.onUndo?.(session, element);
8306
+ restoreInputFromSession(session, element);
8243
8307
  }
8244
8308
  };
8245
8309
  agentManager.setOptions(mergedOptions);