react-grab 0.0.58 → 0.0.60

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.
@@ -890,7 +890,7 @@ function cleanChildren(parent, current, marker, replacement) {
890
890
 
891
891
  // dist/styles.css
892
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}}`;
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}}}@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}}@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}.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-\\[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-\\[7px\\]{width:7px}.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}.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}.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-\\[\\#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\\/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)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.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-\\[3px\\]{padding-inline:3px}.py-0{padding-block:calc(var(--spacing)*0)}.py-1{padding-block:calc(var(--spacing)*1)}.py-\\[3px\\]{padding-block:3px}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.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}.whitespace-normal{white-space:normal}.text-\\[\\#0C0C0C\\]{color:#0c0c0c}.text-\\[\\#47004A\\]{color:#47004a}.text-\\[\\#767676\\]{color:#767676}.text-black{color:var(--color-black)}.text-label-tag-border{color:var(--color-label-tag-border)}.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\\:drop-shadow\\(0px_0px_4px_\\#51515180\\)\\]{filter:drop-shadow(0 0 4px #51515180)}.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-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}@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}}`;
894
894
 
895
895
  // src/utils/is-keyboard-event-triggered-by-input.ts
896
896
  var FORM_TAGS_AND_ROLES = [
@@ -3735,75 +3735,12 @@ var Crosshair = (props) => {
3735
3735
  });
3736
3736
  };
3737
3737
 
3738
- // src/components/icon-checkmark.tsx
3739
- var _tmpl$3 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 9 9"fill=none><path d="M1 4.5L3.5 7L8 1.5"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`);
3740
- var IconCheckmark = (props) => {
3741
- const size = () => props.size ?? 9;
3742
- return (() => {
3743
- var _el$ = _tmpl$3();
3744
- createRenderEffect((_p$) => {
3745
- var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3746
- _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
3747
- _v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
3748
- _v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
3749
- return _p$;
3750
- }, {
3751
- e: void 0,
3752
- t: void 0,
3753
- a: void 0
3754
- });
3755
- return _el$;
3756
- })();
3757
- };
3758
-
3759
- // src/components/icon-cursor-simple.tsx
3760
- var _tmpl$4 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 12 12"fill=none><path fill-rule=evenodd clip-rule=evenodd d="M0.675576 0.0318497C0.491988 -0.0369956 0.285105 0.0078173 0.146461 0.146461C0.0078173 0.285105 -0.0369956 0.491988 0.0318497 0.675576L4.15685 11.6756C4.2337 11.8805 4.43492 12.0117 4.65345 11.9992C4.87197 11.9868 5.057 11.8336 5.11009 11.6213L6.41232 6.41232L11.6213 5.11009C11.8336 5.057 11.9868 4.87197 11.9992 4.65345C12.0117 4.43492 11.8805 4.2337 11.6756 4.15685L0.675576 0.0318497Z"fill=currentColor>`);
3761
- var IconCursorSimple = (props) => {
3762
- const size = () => props.size ?? 9;
3763
- return (() => {
3764
- var _el$ = _tmpl$4();
3765
- createRenderEffect((_p$) => {
3766
- var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3767
- _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
3768
- _v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
3769
- _v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
3770
- return _p$;
3771
- }, {
3772
- e: void 0,
3773
- t: void 0,
3774
- a: void 0
3775
- });
3776
- return _el$;
3777
- })();
3778
- };
3779
-
3780
3738
  // src/components/icon-open.tsx
3781
- var _tmpl$5 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2><path d="M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6"></path><path d="M11 13l9-9"></path><path d="M15 4h5v5">`);
3739
+ var _tmpl$3 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2><path d="M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6"></path><path d="M11 13l9-9"></path><path d="M15 4h5v5">`);
3782
3740
  var IconOpen = (props) => {
3783
3741
  const size = () => props.size ?? 12;
3784
3742
  return (() => {
3785
- var _el$ = _tmpl$5();
3786
- createRenderEffect((_p$) => {
3787
- var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3788
- _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
3789
- _v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
3790
- _v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
3791
- return _p$;
3792
- }, {
3793
- e: void 0,
3794
- t: void 0,
3795
- a: void 0
3796
- });
3797
- return _el$;
3798
- })();
3799
- };
3800
-
3801
- // src/components/icon-stop.tsx
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>`);
3803
- var IconStop = (props) => {
3804
- const size = () => props.size ?? 9;
3805
- return (() => {
3806
- var _el$ = _tmpl$6();
3743
+ var _el$ = _tmpl$3();
3807
3744
  createRenderEffect((_p$) => {
3808
3745
  var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3809
3746
  _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
@@ -3820,22 +3757,22 @@ var IconStop = (props) => {
3820
3757
  };
3821
3758
 
3822
3759
  // src/components/selection-label.tsx
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>`);
3824
- var _tmpl$22 = /* @__PURE__ */ template(`<span>`);
3825
- var _tmpl$32 = /* @__PURE__ */ template(`<button>`);
3826
- var _tmpl$42 = /* @__PURE__ */ template(`<div>`);
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]">`);
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)>`);
3760
+ var _tmpl$4 = /* @__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>`);
3761
+ var _tmpl$22 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center w-fit h-4 rounded-[1px] gap-1 px-[3px] [border-width:0.5px] border-solid border-[#B3B3B3] py-0 bg-[#F7F7F7]"><span class="text-[#0C0C0C] text-[11.5px] leading-3.5 shrink-0 tracking-[-0.08em] font-[ui-monospace,'SFMono-Regular','SF_Mono','Menlo','Consolas','Liberation_Mono',monospace] w-fit h-fit">`);
3762
+ var _tmpl$32 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center w-fit h-4 rounded-[1px] gap-1 px-[3px] [border-width:0.5px] border-solid border-white py-0"><span class="text-[#0C0C0C] text-[11.5px] leading-3.5 shrink-0 tracking-[-0.08em] font-[ui-monospace,'SFMono-Regular','SF_Mono','Menlo','Consolas','Liberation_Mono',monospace] w-fit h-fit">&gt;`);
3763
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class="absolute w-0 h-0"style="border-left:8px solid transparent;border-right:8px solid transparent">`);
3764
+ var _tmpl$5 = /* @__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">`);
3765
+ var _tmpl$6 = /* @__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"style="background-image:linear-gradient(in oklab 180deg, oklab(100% 0 0) 0%, oklab(96.1% 0 0) 5.92%)">`);
3766
+ var _tmpl$7 = /* @__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">`);
3767
+ var _tmpl$8 = /* @__PURE__ */ template(`<button 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 class="shrink-0 w-[7px] h-[7px] rounded-[1px] bg-black">`);
3768
+ var _tmpl$9 = /* @__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"placeholder="type to edit"rows=1 disabled style=field-sizing:content;min-height:16px>`);
3769
+ var _tmpl$0 = /* @__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]"><div class="text-black text-[12px] leading-4 tracking-[-0.04em] font-sans font-medium w-auto h-fit whitespace-normal react-grab-shimmer">`);
3770
+ var _tmpl$1 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-px w-fit h-fit">`);
3771
+ var _tmpl$10 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-1 w-fit h-fit"><span class="text-[#767676] 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 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-[#767676] text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit">to edit`);
3772
+ 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 pt-1 w-fit h-fit px-1.5"></div><div class="grid w-full transition-[grid-template-rows] duration-30 ease-out"><div class="overflow-hidden min-h-0">`);
3773
+ 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 px-[3px] py-[3px] rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] size-fit cursor-pointer ml-1 transition-none hover:scale-105"><div style=background-image:url(https://workers.paper.design/file-assets/01K8D51Q7E2ESJTN18XN2MT96X/01KBEJ7N5GQ0ZZ7K456R42AP4V.svg)>`);
3837
3774
  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">`);
3775
+ var _tmpl$14 = /* @__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)]"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">`);
3839
3776
  var ARROW_HEIGHT = 8;
3840
3777
  var LABEL_GAP = 4;
3841
3778
  var IDLE_TIMEOUT_MS = 400;
@@ -3850,7 +3787,7 @@ var TagBadge = (props) => {
3850
3787
  props.onHoverChange?.(false);
3851
3788
  };
3852
3789
  return (() => {
3853
- var _el$ = _tmpl$7(), _el$2 = _el$.firstChild;
3790
+ var _el$ = _tmpl$4(), _el$2 = _el$.firstChild;
3854
3791
  addEventListener(_el$, "click", props.onClick);
3855
3792
  _el$.addEventListener("mouseleave", handleMouseLeave);
3856
3793
  _el$.addEventListener("mouseenter", handleMouseEnter);
@@ -3869,7 +3806,7 @@ var TagBadge = (props) => {
3869
3806
  }
3870
3807
  }), null);
3871
3808
  createRenderEffect((_p$) => {
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");
3809
+ var _v$ = cn("contain-layout flex items-center px-[3px] py-0 h-4 rounded-[1px] gap-0.5 [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");
3873
3810
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
3874
3811
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
3875
3812
  return _p$;
@@ -3880,67 +3817,45 @@ var TagBadge = (props) => {
3880
3817
  return _el$;
3881
3818
  })();
3882
3819
  };
3883
- var ActionPill = (props) => {
3884
- const baseClass = cn("flex items-center h-[18px] rounded-[1.5px] gap-[3px] px-[5px] py-px border-[0.5px] border-solid border-label-gray-border", props.shrink && "shrink-0 w-fit", props.asButton && "cursor-pointer bg-transparent", props.dimmed && "opacity-50 hover:opacity-100 transition-opacity");
3885
- const content = [memo(() => props.icon), (() => {
3886
- var _el$3 = _tmpl$22();
3887
- insert(_el$3, () => props.label);
3888
- createRenderEffect(() => className(_el$3, cn("text-black text-[12px] leading-4 font-medium tracking-[-0.04em]", props.shrink && "shrink-0 w-fit h-fit")));
3889
- return _el$3;
3890
- })()];
3891
- return props.asButton ? (() => {
3892
- var _el$4 = _tmpl$32();
3893
- addEventListener(_el$4, "click", props.onClick);
3894
- className(_el$4, baseClass);
3895
- insert(_el$4, content);
3896
- return _el$4;
3897
- })() : (() => {
3898
- var _el$5 = _tmpl$42();
3899
- addEventListener(_el$5, "click", props.onClick);
3900
- className(_el$5, baseClass);
3901
- insert(_el$5, content);
3902
- createRenderEffect(() => setAttribute(_el$5, "role", props.onClick ? "button" : void 0));
3903
- return _el$5;
3820
+ var ParentBadge = (props) => (() => {
3821
+ var _el$3 = _tmpl$22(), _el$4 = _el$3.firstChild;
3822
+ insert(_el$4, () => props.name);
3823
+ return _el$3;
3824
+ })();
3825
+ var ChevronSeparator = () => _tmpl$32();
3826
+ var Arrow = (props) => {
3827
+ const arrowColor = () => props.color ?? "white";
3828
+ return (() => {
3829
+ var _el$6 = _tmpl$42();
3830
+ createRenderEffect((_$p) => style(_el$6, {
3831
+ left: `${props.leftPx}px`,
3832
+ ...props.position === "bottom" ? {
3833
+ top: "0",
3834
+ transform: "translateX(-50%) translateY(-100%)"
3835
+ } : {
3836
+ bottom: "0",
3837
+ transform: "translateX(-50%) translateY(100%)"
3838
+ },
3839
+ ...props.position === "bottom" ? {
3840
+ "border-bottom": `8px solid ${arrowColor()}`
3841
+ } : {
3842
+ "border-top": `8px solid ${arrowColor()}`
3843
+ }
3844
+ }, _$p));
3845
+ return _el$6;
3904
3846
  })();
3905
3847
  };
3906
- var SuccessPill = (props) => (() => {
3907
- var _el$6 = _tmpl$52(), _el$7 = _el$6.firstChild;
3908
- insert(_el$6, createComponent(IconCheckmark, {
3909
- size: 9,
3910
- "class": "text-label-success-text shrink-0"
3911
- }), _el$7);
3912
- insert(_el$7, () => props.hasAgent ? "Completed" : "Copied");
3913
- return _el$6;
3914
- })();
3915
- var Arrow = (props) => (() => {
3916
- var _el$8 = _tmpl$62();
3917
- createRenderEffect((_$p) => style(_el$8, {
3918
- left: `${props.leftPx}px`,
3919
- ...props.position === "bottom" ? {
3920
- top: "0",
3921
- transform: "translateX(-50%) translateY(-100%)"
3922
- } : {
3923
- bottom: "0",
3924
- transform: "translateX(-50%) translateY(100%)"
3925
- },
3926
- ...props.position === "bottom" ? {
3927
- "border-bottom": "8px solid white"
3928
- } : {
3929
- "border-top": "8px solid white"
3930
- }
3931
- }, _$p));
3932
- return _el$8;
3933
- })();
3934
3848
  var ClickToCopyPill = (props) => (() => {
3935
- var _el$9 = _tmpl$72();
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")));
3938
- return _el$9;
3849
+ var _el$7 = _tmpl$5(), _el$8 = _el$7.firstChild;
3850
+ addEventListener(_el$7, "click", props.onClick);
3851
+ insert(_el$8, () => props.hasParent ? "Copy" : "Click to copy");
3852
+ createRenderEffect(() => className(_el$7, 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")));
3853
+ return _el$7;
3939
3854
  })();
3940
3855
  var BottomSection = (props) => (() => {
3941
- var _el$0 = _tmpl$8();
3942
- insert(_el$0, () => props.children);
3943
- return _el$0;
3856
+ var _el$9 = _tmpl$6();
3857
+ insert(_el$9, () => props.children);
3858
+ return _el$9;
3944
3859
  })();
3945
3860
  var SelectionLabel = (props) => {
3946
3861
  let containerRef;
@@ -4036,9 +3951,10 @@ var SelectionLabel = (props) => {
4036
3951
  const viewportWidth = window.innerWidth;
4037
3952
  const viewportHeight = window.innerHeight;
4038
3953
  const selectionCenterX = bounds.x + bounds.width / 2;
3954
+ const cursorX = props.mouseX ?? selectionCenterX;
4039
3955
  const selectionBottom = bounds.y + bounds.height;
4040
3956
  const selectionTop = bounds.y;
4041
- let positionLeft = selectionCenterX - labelWidth / 2;
3957
+ let positionLeft = cursorX - labelWidth / 2;
4042
3958
  let positionTop = selectionBottom + ARROW_HEIGHT + LABEL_GAP;
4043
3959
  if (positionLeft + labelWidth > viewportWidth - VIEWPORT_MARGIN_PX) {
4044
3960
  positionLeft = viewportWidth - labelWidth - VIEWPORT_MARGIN_PX;
@@ -4057,7 +3973,7 @@ var SelectionLabel = (props) => {
4057
3973
  if (positionTop < VIEWPORT_MARGIN_PX) {
4058
3974
  positionTop = VIEWPORT_MARGIN_PX;
4059
3975
  }
4060
- const arrowLeft = Math.max(12, Math.min(selectionCenterX - positionLeft, labelWidth - 12));
3976
+ const arrowLeft = Math.max(12, Math.min(cursorX - positionLeft, labelWidth - 12));
4061
3977
  return {
4062
3978
  left: positionLeft,
4063
3979
  top: positionTop,
@@ -4097,187 +4013,221 @@ var SelectionLabel = (props) => {
4097
4013
  return memo(() => props.visible !== false)() && props.selectionBounds;
4098
4014
  },
4099
4015
  get children() {
4100
- var _el$1 = _tmpl$14(), _el$10 = _el$1.firstChild;
4101
- _el$1.$$click = stopPropagation;
4102
- _el$1.$$mousedown = stopPropagation;
4016
+ var _el$0 = _tmpl$14(), _el$12 = _el$0.firstChild;
4017
+ _el$0.$$click = stopPropagation;
4018
+ _el$0.$$mousedown = stopPropagation;
4103
4019
  var _ref$ = containerRef;
4104
- typeof _ref$ === "function" ? use(_ref$, _el$1) : containerRef = _el$1;
4105
- insert(_el$1, createComponent(Arrow, {
4020
+ typeof _ref$ === "function" ? use(_ref$, _el$0) : containerRef = _el$0;
4021
+ insert(_el$0, createComponent(Arrow, {
4106
4022
  get position() {
4107
4023
  return arrowPosition();
4108
4024
  },
4109
4025
  get leftPx() {
4110
4026
  return computedPosition().arrowLeft;
4111
4027
  }
4112
- }), _el$10);
4113
- insert(_el$10, createComponent(Show, {
4028
+ }), _el$12);
4029
+ insert(_el$0, createComponent(Show, {
4114
4030
  get when() {
4115
4031
  return props.status === "copied" || props.status === "fading";
4116
4032
  },
4117
4033
  get children() {
4118
- var _el$11 = _tmpl$9();
4119
- insert(_el$11, createComponent(TagBadge, {
4120
- get tagName() {
4121
- return tagDisplay();
4122
- },
4123
- get isClickable() {
4124
- return isTagClickable();
4125
- },
4126
- onClick: handleTagClick,
4127
- onHoverChange: handleTagHoverChange,
4128
- showMono: true,
4129
- shrink: true
4130
- }), null);
4131
- insert(_el$11, createComponent(SuccessPill, {
4132
- get hasAgent() {
4133
- return props.hasAgent;
4134
- }
4135
- }), null);
4136
- return _el$11;
4034
+ var _el$1 = _tmpl$7(), _el$10 = _el$1.firstChild, _el$11 = _el$10.firstChild;
4035
+ insert(_el$11, () => props.hasAgent ? "Completed" : "Copied");
4036
+ return _el$1;
4137
4037
  }
4138
- }), null);
4139
- insert(_el$10, createComponent(Show, {
4038
+ }), _el$12);
4039
+ insert(_el$12, createComponent(Show, {
4140
4040
  get when() {
4141
4041
  return props.status === "copying";
4142
4042
  },
4143
4043
  get children() {
4144
- var _el$12 = _tmpl$1();
4145
- insert(_el$12, createComponent(TagBadge, {
4146
- get tagName() {
4147
- return tagDisplay();
4148
- },
4149
- get isClickable() {
4150
- return isTagClickable();
4151
- },
4152
- onClick: handleTagClick,
4153
- onHoverChange: handleTagHoverChange,
4154
- showMono: true,
4155
- shrink: true
4156
- }), null);
4157
- insert(_el$12, createComponent(ActionPill, {
4158
- get icon() {
4159
- return createComponent(IconCursorSimple, {
4160
- size: 9,
4161
- "class": "text-black shrink-0"
4162
- });
4163
- },
4164
- get label() {
4165
- return props.statusText ?? "Grabbing\u2026";
4166
- }
4167
- }), null);
4168
- insert(_el$12, createComponent(Show, {
4169
- get when() {
4170
- return memo(() => !!props.hasAgent)() && props.onAbort;
4171
- },
4044
+ var _el$13 = _tmpl$0(), _el$14 = _el$13.firstChild, _el$15 = _el$14.firstChild, _el$16 = _el$15.firstChild;
4045
+ insert(_el$16, () => props.statusText ?? "Grabbing\u2026");
4046
+ insert(_el$13, createComponent(BottomSection, {
4172
4047
  get children() {
4173
- var _el$13 = _tmpl$0();
4174
- _el$13.$$click = (event) => {
4175
- event.preventDefault();
4176
- event.stopPropagation();
4177
- event.stopImmediatePropagation();
4178
- props.onAbort?.();
4179
- };
4180
- _el$13.$$mousedown = (event) => {
4181
- event.preventDefault();
4182
- event.stopPropagation();
4183
- event.stopImmediatePropagation();
4184
- };
4185
- insert(_el$13, createComponent(IconStop, {
4186
- size: 8,
4187
- "class": "text-white"
4188
- }));
4189
- return _el$13;
4048
+ var _el$17 = _tmpl$9(), _el$18 = _el$17.firstChild;
4049
+ var _ref$2 = inputRef;
4050
+ typeof _ref$2 === "function" ? use(_ref$2, _el$18) : inputRef = _el$18;
4051
+ insert(_el$17, createComponent(Show, {
4052
+ get when() {
4053
+ return props.onAbort;
4054
+ },
4055
+ get children() {
4056
+ var _el$19 = _tmpl$8();
4057
+ addEventListener(_el$19, "click", props.onAbort);
4058
+ return _el$19;
4059
+ }
4060
+ }), null);
4061
+ createRenderEffect(() => _el$18.value = props.inputValue ?? "");
4062
+ return _el$17;
4190
4063
  }
4191
4064
  }), null);
4192
- return _el$12;
4065
+ return _el$13;
4193
4066
  }
4194
4067
  }), null);
4195
- insert(_el$10, createComponent(Show, {
4068
+ insert(_el$12, createComponent(Show, {
4196
4069
  get when() {
4197
4070
  return memo(() => !!isNotProcessing())() && !props.isInputExpanded;
4198
4071
  },
4199
4072
  get children() {
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, {
4073
+ var _el$20 = _tmpl$11(), _el$21 = _el$20.firstChild, _el$23 = _el$21.nextSibling, _el$24 = _el$23.firstChild;
4074
+ insert(_el$21, createComponent(ClickToCopyPill, {
4202
4075
  onClick: handleSubmit,
4203
- shrink: true
4076
+ shrink: true,
4077
+ get hasParent() {
4078
+ return !!props.componentName;
4079
+ }
4204
4080
  }), null);
4205
- insert(_el$15, createComponent(TagBadge, {
4206
- get tagName() {
4207
- return tagDisplay();
4081
+ insert(_el$21, createComponent(Show, {
4082
+ get when() {
4083
+ return props.componentName;
4208
4084
  },
4209
- get isClickable() {
4210
- return isTagClickable();
4085
+ get children() {
4086
+ var _el$22 = _tmpl$1();
4087
+ insert(_el$22, createComponent(ParentBadge, {
4088
+ get name() {
4089
+ return props.componentName;
4090
+ }
4091
+ }), null);
4092
+ insert(_el$22, createComponent(ChevronSeparator, {}), null);
4093
+ insert(_el$22, createComponent(TagBadge, {
4094
+ get tagName() {
4095
+ return tagDisplay();
4096
+ },
4097
+ get isClickable() {
4098
+ return isTagClickable();
4099
+ },
4100
+ onClick: handleTagClick,
4101
+ onHoverChange: handleTagHoverChange,
4102
+ showMono: true,
4103
+ shrink: true
4104
+ }), null);
4105
+ return _el$22;
4106
+ }
4107
+ }), null);
4108
+ insert(_el$21, createComponent(Show, {
4109
+ get when() {
4110
+ return !props.componentName;
4211
4111
  },
4212
- onClick: handleTagClick,
4213
- onHoverChange: handleTagHoverChange,
4214
- showMono: true,
4215
- shrink: true
4112
+ get children() {
4113
+ return createComponent(TagBadge, {
4114
+ get tagName() {
4115
+ return tagDisplay();
4116
+ },
4117
+ get isClickable() {
4118
+ return isTagClickable();
4119
+ },
4120
+ onClick: handleTagClick,
4121
+ onHoverChange: handleTagHoverChange,
4122
+ showMono: true,
4123
+ shrink: true
4124
+ });
4125
+ }
4216
4126
  }), null);
4217
- insert(_el$17, createComponent(BottomSection, {
4127
+ insert(_el$24, createComponent(BottomSection, {
4218
4128
  get children() {
4219
- var _el$18 = _tmpl$10(), _el$19 = _el$18.firstChild, _el$20 = _el$19.nextSibling; _el$20.firstChild;
4220
- return _el$18;
4129
+ var _el$25 = _tmpl$10(), _el$26 = _el$25.firstChild, _el$27 = _el$26.nextSibling; _el$27.firstChild;
4130
+ return _el$25;
4221
4131
  }
4222
4132
  }));
4223
- createRenderEffect((_$p) => setStyleProperty(_el$16, "grid-template-rows", isIdle() ? "1fr" : "0fr"));
4224
- return _el$14;
4133
+ createRenderEffect((_$p) => setStyleProperty(_el$23, "grid-template-rows", isIdle() ? "1fr" : "0fr"));
4134
+ return _el$20;
4225
4135
  }
4226
4136
  }), null);
4227
- insert(_el$10, createComponent(Show, {
4137
+ insert(_el$12, createComponent(Show, {
4228
4138
  get when() {
4229
4139
  return memo(() => !!isNotProcessing())() && props.isInputExpanded;
4230
4140
  },
4231
4141
  get children() {
4232
- var _el$22 = _tmpl$13(), _el$23 = _el$22.firstChild;
4233
- insert(_el$23, createComponent(ClickToCopyPill, {
4142
+ var _el$29 = _tmpl$13(), _el$30 = _el$29.firstChild;
4143
+ insert(_el$30, createComponent(ClickToCopyPill, {
4234
4144
  onClick: handleSubmit,
4235
4145
  dimmed: true,
4236
- shrink: true
4146
+ shrink: true,
4147
+ get hasParent() {
4148
+ return !!props.componentName;
4149
+ }
4237
4150
  }), null);
4238
- insert(_el$23, createComponent(TagBadge, {
4239
- get tagName() {
4240
- return tagDisplay();
4151
+ insert(_el$30, createComponent(Show, {
4152
+ get when() {
4153
+ return props.componentName;
4241
4154
  },
4242
- get isClickable() {
4243
- return isTagClickable();
4155
+ get children() {
4156
+ var _el$31 = _tmpl$1();
4157
+ insert(_el$31, createComponent(ParentBadge, {
4158
+ get name() {
4159
+ return props.componentName;
4160
+ }
4161
+ }), null);
4162
+ insert(_el$31, createComponent(ChevronSeparator, {}), null);
4163
+ insert(_el$31, createComponent(TagBadge, {
4164
+ get tagName() {
4165
+ return tagDisplay();
4166
+ },
4167
+ get isClickable() {
4168
+ return isTagClickable();
4169
+ },
4170
+ onClick: handleTagClick,
4171
+ onHoverChange: handleTagHoverChange,
4172
+ showMono: true,
4173
+ shrink: true,
4174
+ forceShowIcon: true
4175
+ }), null);
4176
+ return _el$31;
4177
+ }
4178
+ }), null);
4179
+ insert(_el$30, createComponent(Show, {
4180
+ get when() {
4181
+ return !props.componentName;
4244
4182
  },
4245
- onClick: handleTagClick,
4246
- onHoverChange: handleTagHoverChange,
4247
- showMono: true,
4248
- shrink: true,
4249
- forceShowIcon: true
4183
+ get children() {
4184
+ return createComponent(TagBadge, {
4185
+ get tagName() {
4186
+ return tagDisplay();
4187
+ },
4188
+ get isClickable() {
4189
+ return isTagClickable();
4190
+ },
4191
+ onClick: handleTagClick,
4192
+ onHoverChange: handleTagHoverChange,
4193
+ showMono: true,
4194
+ shrink: true,
4195
+ forceShowIcon: true
4196
+ });
4197
+ }
4250
4198
  }), null);
4251
- insert(_el$22, createComponent(BottomSection, {
4199
+ insert(_el$29, createComponent(BottomSection, {
4252
4200
  get children() {
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;
4256
- var _ref$2 = inputRef;
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;
4201
+ var _el$32 = _tmpl$12(), _el$33 = _el$32.firstChild, _el$34 = _el$33.nextSibling, _el$35 = _el$34.firstChild;
4202
+ _el$33.$$keydown = handleKeyDown;
4203
+ _el$33.$$input = handleInput;
4204
+ var _ref$3 = inputRef;
4205
+ typeof _ref$3 === "function" ? use(_ref$3, _el$33) : inputRef = _el$33;
4206
+ _el$34.$$click = handleSubmit;
4207
+ createRenderEffect(() => className(_el$35, cn("w-2.5 h-[9px] shrink-0 bg-cover bg-center transition-opacity duration-100", props.inputValue ? "opacity-[0.99]" : "opacity-50")));
4208
+ createRenderEffect(() => _el$33.value = props.inputValue ?? "");
4209
+ return _el$32;
4262
4210
  }
4263
4211
  }), null);
4264
- return _el$22;
4212
+ return _el$29;
4265
4213
  }
4266
4214
  }), null);
4267
4215
  createRenderEffect((_p$) => {
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);
4216
+ 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 = props.status === "copied" || props.status === "fading" ? "none" : void 0;
4217
+ _v$3 !== _p$.e && setStyleProperty(_el$0, "top", _p$.e = _v$3);
4218
+ _v$4 !== _p$.t && setStyleProperty(_el$0, "left", _p$.t = _v$4);
4219
+ _v$5 !== _p$.a && setStyleProperty(_el$0, "pointer-events", _p$.a = _v$5);
4220
+ _v$6 !== _p$.o && setStyleProperty(_el$0, "opacity", _p$.o = _v$6);
4221
+ _v$7 !== _p$.i && setStyleProperty(_el$12, "display", _p$.i = _v$7);
4273
4222
  return _p$;
4274
4223
  }, {
4275
4224
  e: void 0,
4276
4225
  t: void 0,
4277
4226
  a: void 0,
4278
- o: void 0
4227
+ o: void 0,
4228
+ i: void 0
4279
4229
  });
4280
- return _el$1;
4230
+ return _el$0;
4281
4231
  }
4282
4232
  });
4283
4233
  };
@@ -4362,10 +4312,6 @@ var SelectionCursor = (props) => {
4362
4312
  delegateEvents(["click"]);
4363
4313
 
4364
4314
  // src/components/renderer.tsx
4365
- var truncateStatus = (status, maxLength = 30) => {
4366
- if (status.length <= maxLength) return status;
4367
- return `${status.slice(0, maxLength)}\u2026`;
4368
- };
4369
4315
  var ReactGrabRenderer = (props) => {
4370
4316
  return [createComponent(Show, {
4371
4317
  get when() {
@@ -4449,16 +4395,25 @@ var ReactGrabRenderer = (props) => {
4449
4395
  get tagName() {
4450
4396
  return session.tagName;
4451
4397
  },
4398
+ get componentName() {
4399
+ return session.componentName;
4400
+ },
4452
4401
  get selectionBounds() {
4453
4402
  return session.selectionBounds;
4454
4403
  },
4404
+ get mouseX() {
4405
+ return session.position.x;
4406
+ },
4455
4407
  visible: true,
4456
4408
  hasAgent: true,
4457
4409
  get status() {
4458
4410
  return session.isStreaming ? "copying" : "copied";
4459
4411
  },
4460
4412
  get statusText() {
4461
- return truncateStatus(session.lastStatus || "Please wait\u2026");
4413
+ return session.lastStatus || "Please wait\u2026";
4414
+ },
4415
+ get inputValue() {
4416
+ return session.context.prompt;
4462
4417
  },
4463
4418
  onAbort: () => props.onAbortSession?.(session.id)
4464
4419
  })]
@@ -4471,9 +4426,15 @@ var ReactGrabRenderer = (props) => {
4471
4426
  get tagName() {
4472
4427
  return props.selectionTagName;
4473
4428
  },
4429
+ get componentName() {
4430
+ return props.selectionComponentName;
4431
+ },
4474
4432
  get selectionBounds() {
4475
4433
  return props.selectionBounds;
4476
4434
  },
4435
+ get mouseX() {
4436
+ return props.mouseX;
4437
+ },
4477
4438
  get visible() {
4478
4439
  return props.selectionLabelVisible;
4479
4440
  },
@@ -4523,6 +4484,9 @@ var ReactGrabRenderer = (props) => {
4523
4484
  get tagName() {
4524
4485
  return instance.tagName;
4525
4486
  },
4487
+ get componentName() {
4488
+ return instance.componentName;
4489
+ },
4526
4490
  get selectionBounds() {
4527
4491
  return instance.bounds;
4528
4492
  },
@@ -6014,7 +5978,7 @@ var deepMergeTheme = mergeThemeWithBase;
6014
5978
  // src/utils/agent-session.ts
6015
5979
  var STORAGE_KEY = "react-grab:agent-sessions";
6016
5980
  var generateSessionId = () => `session-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
6017
- var createSession = (context, position, selectionBounds, tagName) => ({
5981
+ var createSession = (context, position, selectionBounds, tagName, componentName) => ({
6018
5982
  id: generateSessionId(),
6019
5983
  context,
6020
5984
  lastStatus: "",
@@ -6022,7 +5986,8 @@ var createSession = (context, position, selectionBounds, tagName) => ({
6022
5986
  createdAt: Date.now(),
6023
5987
  position,
6024
5988
  selectionBounds,
6025
- tagName
5989
+ tagName,
5990
+ componentName
6026
5991
  });
6027
5992
  var getStorage = (storage) => {
6028
5993
  if (!storage) return null;
@@ -6233,7 +6198,8 @@ var createAgentManager = (initialAgentOptions) => {
6233
6198
  const content = await generateSnippet(elements);
6234
6199
  const context = { content, prompt, options: agentOptions?.getOptions?.() };
6235
6200
  const tagName = (element.tagName || "").toLowerCase() || void 0;
6236
- const session = createSession(context, position, selectionBounds, tagName);
6201
+ const componentName = await getNearestComponentName(element) || void 0;
6202
+ const session = createSession(context, position, selectionBounds, tagName, componentName);
6237
6203
  session.lastStatus = "Please wait\u2026";
6238
6204
  sessionElements.set(session.id, element);
6239
6205
  setSessions((prev) => new Map(prev).set(session.id, session));
@@ -6382,7 +6348,7 @@ var init = (rawOptions) => {
6382
6348
  hasInited = true;
6383
6349
  const logIntro = () => {
6384
6350
  try {
6385
- const version = "0.0.58";
6351
+ const version = "0.0.60";
6386
6352
  const logoDataUri = `data:image/svg+xml;base64,${btoa(LOGO_SVG)}`;
6387
6353
  console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
6388
6354
  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;`, "");
@@ -6546,12 +6512,13 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6546
6512
  }
6547
6513
  }));
6548
6514
  };
6549
- const createLabelInstance = (bounds, tagName, status, element) => {
6515
+ const createLabelInstance = (bounds, tagName, componentName, status, element) => {
6550
6516
  const instanceId = `label-${Date.now()}-${Math.random().toString(36).slice(2)}`;
6551
6517
  setLabelInstances((prev) => [...prev, {
6552
6518
  id: instanceId,
6553
6519
  bounds,
6554
6520
  tagName,
6521
+ componentName,
6555
6522
  status,
6556
6523
  createdAt: Date.now(),
6557
6524
  element
@@ -6567,12 +6534,12 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6567
6534
  const removeLabelInstance = (instanceId) => {
6568
6535
  setLabelInstances((prev) => prev.filter((instance) => instance.id !== instanceId));
6569
6536
  };
6570
- const executeCopyOperation = async (positionX, positionY, operation, bounds, tagName, element) => {
6537
+ const executeCopyOperation = async (positionX, positionY, operation, bounds, tagName, componentName, element) => {
6571
6538
  setCopyStartX(positionX);
6572
6539
  setCopyStartY(positionY);
6573
6540
  setIsCopying(true);
6574
6541
  startProgressAnimation();
6575
- const instanceId = bounds && tagName ? createLabelInstance(bounds, tagName, "copying", element) : null;
6542
+ const instanceId = bounds && tagName ? createLabelInstance(bounds, tagName, componentName, "copying", element) : null;
6576
6543
  await operation().finally(() => {
6577
6544
  setIsCopying(false);
6578
6545
  stopProgressAnimation();
@@ -6879,7 +6846,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6879
6846
  } else if (activated && dragging) {
6880
6847
  setCursorOverride("crosshair");
6881
6848
  } else if (activated && target) {
6882
- setCursorOverride("copy");
6849
+ setCursorOverride("default");
6883
6850
  } else if (activated) {
6884
6851
  setCursorOverride("crosshair");
6885
6852
  } else {
@@ -6974,9 +6941,8 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6974
6941
  options.agent?.onAbort?.(session, element);
6975
6942
  if (element && document.contains(element)) {
6976
6943
  const rect = element.getBoundingClientRect();
6977
- const centerX = rect.left + rect.width / 2;
6978
6944
  const centerY = rect.top + rect.height / 2;
6979
- setMouseX(centerX);
6945
+ setMouseX(session.position.x);
6980
6946
  setMouseY(centerY);
6981
6947
  setFrozenElement(element);
6982
6948
  setInputText(session.context.prompt);
@@ -7002,6 +6968,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7002
6968
  return;
7003
6969
  }
7004
6970
  const bounds = createElementBounds(element);
6971
+ const labelPositionX = mouseX();
7005
6972
  const currentX = bounds.x + bounds.width / 2;
7006
6973
  const currentY = bounds.y + bounds.height / 2;
7007
6974
  setMouseX(currentX);
@@ -7012,7 +6979,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7012
6979
  element,
7013
6980
  prompt,
7014
6981
  position: {
7015
- x: currentX,
6982
+ x: labelPositionX,
7016
6983
  y: currentY
7017
6984
  },
7018
6985
  selectionBounds: bounds
@@ -7022,8 +6989,10 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7022
6989
  setIsInputMode(false);
7023
6990
  setInputText("");
7024
6991
  const tagName = extractElementTagName(element);
7025
- void executeCopyOperation(currentX, currentY, () => copySingleElementToClipboard(element, prompt || void 0), bounds, tagName, element).then(() => {
7026
- deactivateRenderer();
6992
+ void getNearestComponentName(element).then((componentName) => {
6993
+ void executeCopyOperation(currentX, currentY, () => copySingleElementToClipboard(element, prompt || void 0), bounds, tagName, componentName ?? void 0, element).then(() => {
6994
+ deactivateRenderer();
6995
+ });
7027
6996
  });
7028
6997
  };
7029
6998
  const handleInputCancel = () => {
@@ -7046,10 +7015,11 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7046
7015
  setHasNativeSelection(false);
7047
7016
  clearNativeSelectionState();
7048
7017
  window.getSelection()?.removeAllRanges();
7018
+ const componentName = nativeSelectionComponentName();
7049
7019
  if (elements.length === 1) {
7050
- await executeCopyOperation(currentX, currentY, () => copySingleElementToClipboard(elements[0]), bounds, tagName);
7020
+ await executeCopyOperation(currentX, currentY, () => copySingleElementToClipboard(elements[0]), bounds, tagName, componentName);
7051
7021
  } else {
7052
- await executeCopyOperation(currentX, currentY, () => copyMultipleElementsToClipboard(elements), bounds, tagName);
7022
+ await executeCopyOperation(currentX, currentY, () => copyMultipleElementsToClipboard(elements), bounds, tagName, componentName);
7053
7023
  }
7054
7024
  };
7055
7025
  const handleNativeSelectionEnter = () => {
@@ -7130,7 +7100,9 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7130
7100
  setIsInputExpanded(true);
7131
7101
  setIsInputMode(true);
7132
7102
  } else {
7133
- void executeCopyOperation(clientX, clientY, () => copyMultipleElementsToClipboard(selectedElements), bounds, tagName, firstElement);
7103
+ void getNearestComponentName(firstElement).then((componentName) => {
7104
+ void executeCopyOperation(clientX, clientY, () => copyMultipleElementsToClipboard(selectedElements), bounds, tagName, componentName ?? void 0, firstElement);
7105
+ });
7134
7106
  }
7135
7107
  }
7136
7108
  } else {
@@ -7139,7 +7111,9 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7139
7111
  setLastGrabbedElement(element);
7140
7112
  const bounds = createElementBounds(element);
7141
7113
  const tagName = extractElementTagName(element);
7142
- void executeCopyOperation(clientX, clientY, () => copySingleElementToClipboard(element), bounds, tagName, element);
7114
+ void getNearestComponentName(element).then((componentName) => {
7115
+ void executeCopyOperation(clientX, clientY, () => copySingleElementToClipboard(element), bounds, tagName, componentName ?? void 0, element);
7116
+ });
7143
7117
  }
7144
7118
  };
7145
7119
  const abortController = new AbortController();
@@ -7475,6 +7449,11 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7475
7449
  if (!element) return void 0;
7476
7450
  return extractElementTagName(element) || void 0;
7477
7451
  });
7452
+ const [selectionComponentName] = createResource(() => targetElement(), async (element) => {
7453
+ if (!element) return void 0;
7454
+ const name = await getNearestComponentName(element);
7455
+ return name ?? void 0;
7456
+ });
7478
7457
  const selectionLabelVisible = createMemo(() => {
7479
7458
  if (!theme().elementLabel.enabled) return false;
7480
7459
  if (successLabels().length > 0) return false;
@@ -7527,6 +7506,9 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7527
7506
  get selectionTagName() {
7528
7507
  return selectionTagName();
7529
7508
  },
7509
+ get selectionComponentName() {
7510
+ return selectionComponentName();
7511
+ },
7530
7512
  get selectionLabelVisible() {
7531
7513
  return selectionLabelVisible();
7532
7514
  },
@@ -7664,9 +7646,8 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7664
7646
  newAgentOptions?.onAbort?.(session, element);
7665
7647
  if (element && document.contains(element)) {
7666
7648
  const rect = element.getBoundingClientRect();
7667
- const centerX = rect.left + rect.width / 2;
7668
7649
  const centerY = rect.top + rect.height / 2;
7669
- setMouseX(centerX);
7650
+ setMouseX(session.position.x);
7670
7651
  setMouseY(centerY);
7671
7652
  setFrozenElement(element);
7672
7653
  setInputText(session.context.prompt);