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.
@@ -888,7 +888,7 @@ function cleanChildren(parent, current, marker, replacement) {
888
888
 
889
889
  // dist/styles.css
890
890
  var styles_default = `/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
891
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--radius-xs:.125rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grab-pink:#b21c8e;--color-grab-purple:#d239c0;--color-label-tag-border:#730079;--color-label-gray-border:#b0b0b0;--color-label-success-bg:#d9ffe4;--color-label-success-border:#00bb69;--color-label-success-text:#006e3b;--color-label-muted:#767676}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-2147483645{z-index:2147483645}.z-2147483646{z-index:2147483646}.z-2147483647{z-index:2147483647}.z-\\[2147483645\\]{z-index:2147483645}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-ml-\\[2px\\]{margin-left:-2px}.ml-1{margin-left:calc(var(--spacing)*1)}.box-border{box-sizing:border-box}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-0{height:calc(var(--spacing)*0)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-5\\.5{height:calc(var(--spacing)*5.5)}.h-\\[9px\\]{height:9px}.h-\\[18px\\]{height:18px}.h-fit{height:fit-content}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.w-0{width:calc(var(--spacing)*0)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-\\[18px\\]{width:18px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-\\[2px\\]{gap:2px}.gap-\\[3px\\]{gap:3px}.gap-\\[5px\\]{gap:5px}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.rounded-\\[1\\.5px\\]{border-radius:1.5px}.rounded-\\[1px\\]{border-radius:1px}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[3px\\]{border-radius:3px}.rounded-full{border-radius:3.40282e38px}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-br-\\[3px\\]{border-bottom-right-radius:3px}.rounded-bl-\\[3px\\]{border-bottom-left-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-\\[0\\.5px\\]{border-style:var(--tw-border-style);border-width:.5px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-grab-purple{border-color:var(--color-grab-purple)}.border-grab-purple\\/40{border-color:#d239c066}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/40{border-color:color-mix(in oklab,var(--color-grab-purple)40%,transparent)}}.border-grab-purple\\/50{border-color:#d239c080}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/50{border-color:color-mix(in oklab,var(--color-grab-purple)50%,transparent)}}.border-label-gray-border{border-color:var(--color-label-gray-border)}.border-label-success-border{border-color:var(--color-label-success-border)}.border-label-tag-border{border-color:var(--color-label-tag-border)}.border-white{border-color:var(--color-white)}.border-t-\\[\\#B6B6B6\\]{border-top-color:#b6b6b6}.bg-\\[\\#F2F2F2\\]{background-color:#f2f2f2}.bg-black{background-color:var(--color-black)}.bg-grab-pink{background-color:var(--color-grab-pink)}.bg-grab-purple\\/5{background-color:#d239c00d}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/5{background-color:color-mix(in oklab,var(--color-grab-purple)5%,transparent)}}.bg-grab-purple\\/8{background-color:#d239c014}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/8{background-color:color-mix(in oklab,var(--color-grab-purple)8%,transparent)}}.bg-label-success-bg{background-color:var(--color-label-success-bg)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.p-0{padding:calc(var(--spacing)*0)}.p-0\\.5{padding:calc(var(--spacing)*.5)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-\\[3px\\]{padding-inline:3px}.px-\\[5px\\]{padding-inline:5px}.py-0{padding-block:calc(var(--spacing)*0)}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.align-middle{vertical-align:middle}.font-\\[ui-monospace\\,\\'SFMono-Regular\\'\\,\\'SF_Mono\\'\\,\\'Menlo\\'\\,\\'Consolas\\'\\,\\'Liberation_Mono\\'\\,monospace\\]{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[12px\\]{font-size:12px}.leading-3\\.5{--tw-leading:calc(var(--spacing)*3.5);line-height:calc(var(--spacing)*3.5)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\\[-0\\.04em\\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\\[-0\\.08em\\]{--tw-tracking:-.08em;letter-spacing:-.08em}.text-\\[\\#47004A\\]{color:#47004a}.text-black{color:var(--color-black)}.text-label-muted{color:var(--color-label-muted)}.text-label-success-text{color:var(--color-label-success-text)}.text-label-tag-border{color:var(--color-label-tag-border)}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.opacity-\\[0\\.99\\]{opacity:.99}.brightness-125{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\,height\\]{transition-property:width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-30{--tw-duration:30ms;transition-duration:30ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[transform\\,width\\,height\\]{will-change:transform,width,height}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,)var(--tw-contain-layout,)var(--tw-contain-paint,)var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.\\[font-synthesis\\:none\\]{font-synthesis:none}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:opacity-80:hover{opacity:.8}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.react-grab-shimmer{position:relative;overflow:hidden}.react-grab-shimmer:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(90deg,#0000 0%,#fff6 50%,#0000 100%) 0 0/200% 100%;animation:1.5s ease-in-out infinite shimmer;position:absolute;inset:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes pulse{50%{opacity:.5}}`;
891
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@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}}`;
892
892
 
893
893
  // src/utils/is-keyboard-event-triggered-by-input.ts
894
894
  var FORM_TAGS_AND_ROLES = [
@@ -3733,75 +3733,12 @@ var Crosshair = (props) => {
3733
3733
  });
3734
3734
  };
3735
3735
 
3736
- // src/components/icon-checkmark.tsx
3737
- 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>`);
3738
- var IconCheckmark = (props) => {
3739
- const size = () => props.size ?? 9;
3740
- return (() => {
3741
- var _el$ = _tmpl$3();
3742
- createRenderEffect((_p$) => {
3743
- var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3744
- _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
3745
- _v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
3746
- _v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
3747
- return _p$;
3748
- }, {
3749
- e: void 0,
3750
- t: void 0,
3751
- a: void 0
3752
- });
3753
- return _el$;
3754
- })();
3755
- };
3756
-
3757
- // src/components/icon-cursor-simple.tsx
3758
- 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>`);
3759
- var IconCursorSimple = (props) => {
3760
- const size = () => props.size ?? 9;
3761
- return (() => {
3762
- var _el$ = _tmpl$4();
3763
- createRenderEffect((_p$) => {
3764
- var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3765
- _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
3766
- _v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
3767
- _v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
3768
- return _p$;
3769
- }, {
3770
- e: void 0,
3771
- t: void 0,
3772
- a: void 0
3773
- });
3774
- return _el$;
3775
- })();
3776
- };
3777
-
3778
3736
  // src/components/icon-open.tsx
3779
- 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">`);
3737
+ 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">`);
3780
3738
  var IconOpen = (props) => {
3781
3739
  const size = () => props.size ?? 12;
3782
3740
  return (() => {
3783
- var _el$ = _tmpl$5();
3784
- createRenderEffect((_p$) => {
3785
- var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3786
- _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
3787
- _v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
3788
- _v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
3789
- return _p$;
3790
- }, {
3791
- e: void 0,
3792
- t: void 0,
3793
- a: void 0
3794
- });
3795
- return _el$;
3796
- })();
3797
- };
3798
-
3799
- // src/components/icon-stop.tsx
3800
- var _tmpl$6 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 9 9"fill=none><rect x=1 y=1 width=7 height=7 rx=1 fill=currentColor>`);
3801
- var IconStop = (props) => {
3802
- const size = () => props.size ?? 9;
3803
- return (() => {
3804
- var _el$ = _tmpl$6();
3741
+ var _el$ = _tmpl$3();
3805
3742
  createRenderEffect((_p$) => {
3806
3743
  var _v$ = size(), _v$2 = size(), _v$3 = props.class;
3807
3744
  _v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
@@ -3818,22 +3755,22 @@ var IconStop = (props) => {
3818
3755
  };
3819
3756
 
3820
3757
  // src/components/selection-label.tsx
3821
- var _tmpl$7 = /* @__PURE__ */ template(`<div style="background-image:linear-gradient(in oklab 180deg, oklab(88.7% 0.086 -0.058) 0%, oklab(83.2% 0.132 -0.089) 100%)"><span>`);
3822
- var _tmpl$22 = /* @__PURE__ */ template(`<span>`);
3823
- var _tmpl$32 = /* @__PURE__ */ template(`<button>`);
3824
- var _tmpl$42 = /* @__PURE__ */ template(`<div>`);
3825
- var _tmpl$52 = /* @__PURE__ */ template(`<div class="flex items-center h-[18px] rounded-[1.5px] gap-[3px] px-[5px] py-px bg-label-success-bg border-[0.5px] border-solid border-label-success-border"><span class="text-label-success-text text-[12px] leading-4 font-medium tracking-[-0.04em]">`);
3826
- var _tmpl$62 = /* @__PURE__ */ template(`<div class="absolute w-0 h-0"style="border-left:8px solid transparent;border-right:8px solid transparent">`);
3827
- var _tmpl$72 = /* @__PURE__ */ template(`<div role=button><div class="text-black text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit">Click to copy`);
3828
- var _tmpl$8 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col items-start px-2 py-[5px] w-auto h-fit rounded-bl-[3px] rounded-br-[3px] self-stretch bg-[#F2F2F2] [border-top-width:0.5px] border-t-solid border-t-[#B6B6B6] rounded-t-none">`);
3829
- var _tmpl$9 = /* @__PURE__ */ template(`<div class="flex items-center gap-[3px] pt-1 pb-1.5 px-1.5">`);
3830
- var _tmpl$0 = /* @__PURE__ */ template(`<button class="flex items-center justify-center w-[18px] h-[18px] rounded-full cursor-pointer bg-black border-none transition-opacity hover:opacity-80"title=Stop>`);
3831
- var _tmpl$1 = /* @__PURE__ */ template(`<div class="flex items-center gap-[3px] react-grab-shimmer rounded-[3px] pt-1 pb-1.5 px-1.5">`);
3832
- var _tmpl$10 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-1 w-fit h-fit"><span class="text-label-muted text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit">Press</span><div class="contain-layout shrink-0 flex flex-col items-start p-0.5 rounded-[1px] bg-white [border-width:0.5px] border-solid border-white w-fit h-fit"style="box-shadow:#0000008C 0px 0px 2px"><div class="w-2.5 h-[9px] shrink-0 opacity-[0.99] bg-cover bg-center"style=background-image:url(https://workers.paper.design/file-assets/01K8D51Q7E2ESJTN18XN2MT96X/01KBEJ7N5GQ0ZZ7K456R42AP4V.svg)></div></div><span class="text-label-muted text-[12px] leading-4 shrink-0 tracking-[-0.04em] font-sans font-medium w-fit h-fit">to edit`);
3833
- var _tmpl$11 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 w-fit h-fit pt-1 px-1.5"></div><div class="grid w-full transition-[grid-template-rows] duration-30 ease-out"><div class="overflow-hidden min-h-0">`);
3834
- var _tmpl$12 = /* @__PURE__ */ template(`<div class="shrink-0 flex justify-between items-end w-full min-h-4"><textarea class="text-black text-[12px] leading-4 tracking-[-0.04em] font-medium bg-transparent border-none outline-none resize-none flex-1 p-0 m-0"placeholder="type to edit"rows=1 style=field-sizing:content;min-height:16px></textarea><button class="contain-layout shrink-0 flex flex-col items-start p-0.5 rounded-xs bg-white [border-width:0.5px] border-solid border-white w-fit h-fit cursor-pointer ml-1 transition-none hover:scale-105 hover:shadow-md"style="box-shadow:#0000008C 0px 0px 2px"><div style=background-image:url(https://workers.paper.design/file-assets/01K8D51Q7E2ESJTN18XN2MT96X/01KBEJ7N5GQ0ZZ7K456R42AP4V.svg)>`);
3758
+ 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>`);
3759
+ 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">`);
3760
+ 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;`);
3761
+ var _tmpl$42 = /* @__PURE__ */ template(`<div class="absolute w-0 h-0"style="border-left:8px solid transparent;border-right:8px solid transparent">`);
3762
+ 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">`);
3763
+ 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%)">`);
3764
+ 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">`);
3765
+ 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">`);
3766
+ 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>`);
3767
+ 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">`);
3768
+ var _tmpl$1 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-px w-fit h-fit">`);
3769
+ 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`);
3770
+ 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">`);
3771
+ 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)>`);
3835
3772
  var _tmpl$13 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-fit h-fit">`);
3836
- var _tmpl$14 = /* @__PURE__ */ template(`<div data-react-grab-ignore-events class="fixed font-sans antialiased transition-opacity duration-300 ease-out"style="z-index:2147483647;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.2)) drop-shadow(0 2px 4px rgba(0,0,0,0.25))"><div class="[font-synthesis:none] contain-layout flex items-center gap-[5px] rounded-[2px] bg-white antialiased w-fit h-fit p-0">`);
3773
+ 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">`);
3837
3774
  var ARROW_HEIGHT = 8;
3838
3775
  var LABEL_GAP = 4;
3839
3776
  var IDLE_TIMEOUT_MS = 400;
@@ -3848,7 +3785,7 @@ var TagBadge = (props) => {
3848
3785
  props.onHoverChange?.(false);
3849
3786
  };
3850
3787
  return (() => {
3851
- var _el$ = _tmpl$7(), _el$2 = _el$.firstChild;
3788
+ var _el$ = _tmpl$4(), _el$2 = _el$.firstChild;
3852
3789
  addEventListener(_el$, "click", props.onClick);
3853
3790
  _el$.addEventListener("mouseleave", handleMouseLeave);
3854
3791
  _el$.addEventListener("mouseenter", handleMouseEnter);
@@ -3867,7 +3804,7 @@ var TagBadge = (props) => {
3867
3804
  }
3868
3805
  }), null);
3869
3806
  createRenderEffect((_p$) => {
3870
- var _v$ = cn("contain-layout flex items-center px-[3px] py-0 h-4 rounded-[1px] gap-[2px] [border-width:0.5px] border-solid border-label-tag-border", props.shrink && "shrink-0 w-fit", props.isClickable && "cursor-pointer"), _v$2 = cn("text-[#47004A] text-[11.5px] leading-3.5 shrink-0 w-fit h-fit", props.showMono ? "tracking-[-0.08em] font-[ui-monospace,'SFMono-Regular','SF_Mono','Menlo','Consolas','Liberation_Mono',monospace]" : "tracking-[-0.04em] font-medium");
3807
+ 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");
3871
3808
  _v$ !== _p$.e && className(_el$, _p$.e = _v$);
3872
3809
  _v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
3873
3810
  return _p$;
@@ -3878,67 +3815,45 @@ var TagBadge = (props) => {
3878
3815
  return _el$;
3879
3816
  })();
3880
3817
  };
3881
- var ActionPill = (props) => {
3882
- 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");
3883
- const content = [memo(() => props.icon), (() => {
3884
- var _el$3 = _tmpl$22();
3885
- insert(_el$3, () => props.label);
3886
- createRenderEffect(() => className(_el$3, cn("text-black text-[12px] leading-4 font-medium tracking-[-0.04em]", props.shrink && "shrink-0 w-fit h-fit")));
3887
- return _el$3;
3888
- })()];
3889
- return props.asButton ? (() => {
3890
- var _el$4 = _tmpl$32();
3891
- addEventListener(_el$4, "click", props.onClick);
3892
- className(_el$4, baseClass);
3893
- insert(_el$4, content);
3894
- return _el$4;
3895
- })() : (() => {
3896
- var _el$5 = _tmpl$42();
3897
- addEventListener(_el$5, "click", props.onClick);
3898
- className(_el$5, baseClass);
3899
- insert(_el$5, content);
3900
- createRenderEffect(() => setAttribute(_el$5, "role", props.onClick ? "button" : void 0));
3901
- return _el$5;
3818
+ var ParentBadge = (props) => (() => {
3819
+ var _el$3 = _tmpl$22(), _el$4 = _el$3.firstChild;
3820
+ insert(_el$4, () => props.name);
3821
+ return _el$3;
3822
+ })();
3823
+ var ChevronSeparator = () => _tmpl$32();
3824
+ var Arrow = (props) => {
3825
+ const arrowColor = () => props.color ?? "white";
3826
+ return (() => {
3827
+ var _el$6 = _tmpl$42();
3828
+ createRenderEffect((_$p) => style(_el$6, {
3829
+ left: `${props.leftPx}px`,
3830
+ ...props.position === "bottom" ? {
3831
+ top: "0",
3832
+ transform: "translateX(-50%) translateY(-100%)"
3833
+ } : {
3834
+ bottom: "0",
3835
+ transform: "translateX(-50%) translateY(100%)"
3836
+ },
3837
+ ...props.position === "bottom" ? {
3838
+ "border-bottom": `8px solid ${arrowColor()}`
3839
+ } : {
3840
+ "border-top": `8px solid ${arrowColor()}`
3841
+ }
3842
+ }, _$p));
3843
+ return _el$6;
3902
3844
  })();
3903
3845
  };
3904
- var SuccessPill = (props) => (() => {
3905
- var _el$6 = _tmpl$52(), _el$7 = _el$6.firstChild;
3906
- insert(_el$6, createComponent(IconCheckmark, {
3907
- size: 9,
3908
- "class": "text-label-success-text shrink-0"
3909
- }), _el$7);
3910
- insert(_el$7, () => props.hasAgent ? "Completed" : "Copied");
3911
- return _el$6;
3912
- })();
3913
- var Arrow = (props) => (() => {
3914
- var _el$8 = _tmpl$62();
3915
- createRenderEffect((_$p) => style(_el$8, {
3916
- left: `${props.leftPx}px`,
3917
- ...props.position === "bottom" ? {
3918
- top: "0",
3919
- transform: "translateX(-50%) translateY(-100%)"
3920
- } : {
3921
- bottom: "0",
3922
- transform: "translateX(-50%) translateY(100%)"
3923
- },
3924
- ...props.position === "bottom" ? {
3925
- "border-bottom": "8px solid white"
3926
- } : {
3927
- "border-top": "8px solid white"
3928
- }
3929
- }, _$p));
3930
- return _el$8;
3931
- })();
3932
3846
  var ClickToCopyPill = (props) => (() => {
3933
- var _el$9 = _tmpl$72();
3934
- addEventListener(_el$9, "click", props.onClick);
3935
- createRenderEffect(() => className(_el$9, cn("contain-layout shrink-0 flex items-center px-0 py-px w-fit h-[18px] rounded-[1.5px] gap-[3px]", props.asButton && "cursor-pointer", props.dimmed && "opacity-50 hover:opacity-100 transition-opacity")));
3936
- return _el$9;
3847
+ var _el$7 = _tmpl$5(), _el$8 = _el$7.firstChild;
3848
+ addEventListener(_el$7, "click", props.onClick);
3849
+ insert(_el$8, () => props.hasParent ? "Copy" : "Click to copy");
3850
+ 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")));
3851
+ return _el$7;
3937
3852
  })();
3938
3853
  var BottomSection = (props) => (() => {
3939
- var _el$0 = _tmpl$8();
3940
- insert(_el$0, () => props.children);
3941
- return _el$0;
3854
+ var _el$9 = _tmpl$6();
3855
+ insert(_el$9, () => props.children);
3856
+ return _el$9;
3942
3857
  })();
3943
3858
  var SelectionLabel = (props) => {
3944
3859
  let containerRef;
@@ -4034,9 +3949,10 @@ var SelectionLabel = (props) => {
4034
3949
  const viewportWidth = window.innerWidth;
4035
3950
  const viewportHeight = window.innerHeight;
4036
3951
  const selectionCenterX = bounds.x + bounds.width / 2;
3952
+ const cursorX = props.mouseX ?? selectionCenterX;
4037
3953
  const selectionBottom = bounds.y + bounds.height;
4038
3954
  const selectionTop = bounds.y;
4039
- let positionLeft = selectionCenterX - labelWidth / 2;
3955
+ let positionLeft = cursorX - labelWidth / 2;
4040
3956
  let positionTop = selectionBottom + ARROW_HEIGHT + LABEL_GAP;
4041
3957
  if (positionLeft + labelWidth > viewportWidth - VIEWPORT_MARGIN_PX) {
4042
3958
  positionLeft = viewportWidth - labelWidth - VIEWPORT_MARGIN_PX;
@@ -4055,7 +3971,7 @@ var SelectionLabel = (props) => {
4055
3971
  if (positionTop < VIEWPORT_MARGIN_PX) {
4056
3972
  positionTop = VIEWPORT_MARGIN_PX;
4057
3973
  }
4058
- const arrowLeft = Math.max(12, Math.min(selectionCenterX - positionLeft, labelWidth - 12));
3974
+ const arrowLeft = Math.max(12, Math.min(cursorX - positionLeft, labelWidth - 12));
4059
3975
  return {
4060
3976
  left: positionLeft,
4061
3977
  top: positionTop,
@@ -4095,187 +4011,221 @@ var SelectionLabel = (props) => {
4095
4011
  return memo(() => props.visible !== false)() && props.selectionBounds;
4096
4012
  },
4097
4013
  get children() {
4098
- var _el$1 = _tmpl$14(), _el$10 = _el$1.firstChild;
4099
- _el$1.$$click = stopPropagation;
4100
- _el$1.$$mousedown = stopPropagation;
4014
+ var _el$0 = _tmpl$14(), _el$12 = _el$0.firstChild;
4015
+ _el$0.$$click = stopPropagation;
4016
+ _el$0.$$mousedown = stopPropagation;
4101
4017
  var _ref$ = containerRef;
4102
- typeof _ref$ === "function" ? use(_ref$, _el$1) : containerRef = _el$1;
4103
- insert(_el$1, createComponent(Arrow, {
4018
+ typeof _ref$ === "function" ? use(_ref$, _el$0) : containerRef = _el$0;
4019
+ insert(_el$0, createComponent(Arrow, {
4104
4020
  get position() {
4105
4021
  return arrowPosition();
4106
4022
  },
4107
4023
  get leftPx() {
4108
4024
  return computedPosition().arrowLeft;
4109
4025
  }
4110
- }), _el$10);
4111
- insert(_el$10, createComponent(Show, {
4026
+ }), _el$12);
4027
+ insert(_el$0, createComponent(Show, {
4112
4028
  get when() {
4113
4029
  return props.status === "copied" || props.status === "fading";
4114
4030
  },
4115
4031
  get children() {
4116
- var _el$11 = _tmpl$9();
4117
- insert(_el$11, createComponent(TagBadge, {
4118
- get tagName() {
4119
- return tagDisplay();
4120
- },
4121
- get isClickable() {
4122
- return isTagClickable();
4123
- },
4124
- onClick: handleTagClick,
4125
- onHoverChange: handleTagHoverChange,
4126
- showMono: true,
4127
- shrink: true
4128
- }), null);
4129
- insert(_el$11, createComponent(SuccessPill, {
4130
- get hasAgent() {
4131
- return props.hasAgent;
4132
- }
4133
- }), null);
4134
- return _el$11;
4032
+ var _el$1 = _tmpl$7(), _el$10 = _el$1.firstChild, _el$11 = _el$10.firstChild;
4033
+ insert(_el$11, () => props.hasAgent ? "Completed" : "Copied");
4034
+ return _el$1;
4135
4035
  }
4136
- }), null);
4137
- insert(_el$10, createComponent(Show, {
4036
+ }), _el$12);
4037
+ insert(_el$12, createComponent(Show, {
4138
4038
  get when() {
4139
4039
  return props.status === "copying";
4140
4040
  },
4141
4041
  get children() {
4142
- var _el$12 = _tmpl$1();
4143
- insert(_el$12, createComponent(TagBadge, {
4144
- get tagName() {
4145
- return tagDisplay();
4146
- },
4147
- get isClickable() {
4148
- return isTagClickable();
4149
- },
4150
- onClick: handleTagClick,
4151
- onHoverChange: handleTagHoverChange,
4152
- showMono: true,
4153
- shrink: true
4154
- }), null);
4155
- insert(_el$12, createComponent(ActionPill, {
4156
- get icon() {
4157
- return createComponent(IconCursorSimple, {
4158
- size: 9,
4159
- "class": "text-black shrink-0"
4160
- });
4161
- },
4162
- get label() {
4163
- return props.statusText ?? "Grabbing\u2026";
4164
- }
4165
- }), null);
4166
- insert(_el$12, createComponent(Show, {
4167
- get when() {
4168
- return memo(() => !!props.hasAgent)() && props.onAbort;
4169
- },
4042
+ var _el$13 = _tmpl$0(), _el$14 = _el$13.firstChild, _el$15 = _el$14.firstChild, _el$16 = _el$15.firstChild;
4043
+ insert(_el$16, () => props.statusText ?? "Grabbing\u2026");
4044
+ insert(_el$13, createComponent(BottomSection, {
4170
4045
  get children() {
4171
- var _el$13 = _tmpl$0();
4172
- _el$13.$$click = (event) => {
4173
- event.preventDefault();
4174
- event.stopPropagation();
4175
- event.stopImmediatePropagation();
4176
- props.onAbort?.();
4177
- };
4178
- _el$13.$$mousedown = (event) => {
4179
- event.preventDefault();
4180
- event.stopPropagation();
4181
- event.stopImmediatePropagation();
4182
- };
4183
- insert(_el$13, createComponent(IconStop, {
4184
- size: 8,
4185
- "class": "text-white"
4186
- }));
4187
- return _el$13;
4046
+ var _el$17 = _tmpl$9(), _el$18 = _el$17.firstChild;
4047
+ var _ref$2 = inputRef;
4048
+ typeof _ref$2 === "function" ? use(_ref$2, _el$18) : inputRef = _el$18;
4049
+ insert(_el$17, createComponent(Show, {
4050
+ get when() {
4051
+ return props.onAbort;
4052
+ },
4053
+ get children() {
4054
+ var _el$19 = _tmpl$8();
4055
+ addEventListener(_el$19, "click", props.onAbort);
4056
+ return _el$19;
4057
+ }
4058
+ }), null);
4059
+ createRenderEffect(() => _el$18.value = props.inputValue ?? "");
4060
+ return _el$17;
4188
4061
  }
4189
4062
  }), null);
4190
- return _el$12;
4063
+ return _el$13;
4191
4064
  }
4192
4065
  }), null);
4193
- insert(_el$10, createComponent(Show, {
4066
+ insert(_el$12, createComponent(Show, {
4194
4067
  get when() {
4195
4068
  return memo(() => !!isNotProcessing())() && !props.isInputExpanded;
4196
4069
  },
4197
4070
  get children() {
4198
- var _el$14 = _tmpl$11(), _el$15 = _el$14.firstChild, _el$16 = _el$15.nextSibling, _el$17 = _el$16.firstChild;
4199
- insert(_el$15, createComponent(ClickToCopyPill, {
4071
+ var _el$20 = _tmpl$11(), _el$21 = _el$20.firstChild, _el$23 = _el$21.nextSibling, _el$24 = _el$23.firstChild;
4072
+ insert(_el$21, createComponent(ClickToCopyPill, {
4200
4073
  onClick: handleSubmit,
4201
- shrink: true
4074
+ shrink: true,
4075
+ get hasParent() {
4076
+ return !!props.componentName;
4077
+ }
4202
4078
  }), null);
4203
- insert(_el$15, createComponent(TagBadge, {
4204
- get tagName() {
4205
- return tagDisplay();
4079
+ insert(_el$21, createComponent(Show, {
4080
+ get when() {
4081
+ return props.componentName;
4206
4082
  },
4207
- get isClickable() {
4208
- return isTagClickable();
4083
+ get children() {
4084
+ var _el$22 = _tmpl$1();
4085
+ insert(_el$22, createComponent(ParentBadge, {
4086
+ get name() {
4087
+ return props.componentName;
4088
+ }
4089
+ }), null);
4090
+ insert(_el$22, createComponent(ChevronSeparator, {}), null);
4091
+ insert(_el$22, createComponent(TagBadge, {
4092
+ get tagName() {
4093
+ return tagDisplay();
4094
+ },
4095
+ get isClickable() {
4096
+ return isTagClickable();
4097
+ },
4098
+ onClick: handleTagClick,
4099
+ onHoverChange: handleTagHoverChange,
4100
+ showMono: true,
4101
+ shrink: true
4102
+ }), null);
4103
+ return _el$22;
4104
+ }
4105
+ }), null);
4106
+ insert(_el$21, createComponent(Show, {
4107
+ get when() {
4108
+ return !props.componentName;
4209
4109
  },
4210
- onClick: handleTagClick,
4211
- onHoverChange: handleTagHoverChange,
4212
- showMono: true,
4213
- shrink: true
4110
+ get children() {
4111
+ return createComponent(TagBadge, {
4112
+ get tagName() {
4113
+ return tagDisplay();
4114
+ },
4115
+ get isClickable() {
4116
+ return isTagClickable();
4117
+ },
4118
+ onClick: handleTagClick,
4119
+ onHoverChange: handleTagHoverChange,
4120
+ showMono: true,
4121
+ shrink: true
4122
+ });
4123
+ }
4214
4124
  }), null);
4215
- insert(_el$17, createComponent(BottomSection, {
4125
+ insert(_el$24, createComponent(BottomSection, {
4216
4126
  get children() {
4217
- var _el$18 = _tmpl$10(), _el$19 = _el$18.firstChild, _el$20 = _el$19.nextSibling; _el$20.firstChild;
4218
- return _el$18;
4127
+ var _el$25 = _tmpl$10(), _el$26 = _el$25.firstChild, _el$27 = _el$26.nextSibling; _el$27.firstChild;
4128
+ return _el$25;
4219
4129
  }
4220
4130
  }));
4221
- createRenderEffect((_$p) => setStyleProperty(_el$16, "grid-template-rows", isIdle() ? "1fr" : "0fr"));
4222
- return _el$14;
4131
+ createRenderEffect((_$p) => setStyleProperty(_el$23, "grid-template-rows", isIdle() ? "1fr" : "0fr"));
4132
+ return _el$20;
4223
4133
  }
4224
4134
  }), null);
4225
- insert(_el$10, createComponent(Show, {
4135
+ insert(_el$12, createComponent(Show, {
4226
4136
  get when() {
4227
4137
  return memo(() => !!isNotProcessing())() && props.isInputExpanded;
4228
4138
  },
4229
4139
  get children() {
4230
- var _el$22 = _tmpl$13(), _el$23 = _el$22.firstChild;
4231
- insert(_el$23, createComponent(ClickToCopyPill, {
4140
+ var _el$29 = _tmpl$13(), _el$30 = _el$29.firstChild;
4141
+ insert(_el$30, createComponent(ClickToCopyPill, {
4232
4142
  onClick: handleSubmit,
4233
4143
  dimmed: true,
4234
- shrink: true
4144
+ shrink: true,
4145
+ get hasParent() {
4146
+ return !!props.componentName;
4147
+ }
4235
4148
  }), null);
4236
- insert(_el$23, createComponent(TagBadge, {
4237
- get tagName() {
4238
- return tagDisplay();
4149
+ insert(_el$30, createComponent(Show, {
4150
+ get when() {
4151
+ return props.componentName;
4239
4152
  },
4240
- get isClickable() {
4241
- return isTagClickable();
4153
+ get children() {
4154
+ var _el$31 = _tmpl$1();
4155
+ insert(_el$31, createComponent(ParentBadge, {
4156
+ get name() {
4157
+ return props.componentName;
4158
+ }
4159
+ }), null);
4160
+ insert(_el$31, createComponent(ChevronSeparator, {}), null);
4161
+ insert(_el$31, createComponent(TagBadge, {
4162
+ get tagName() {
4163
+ return tagDisplay();
4164
+ },
4165
+ get isClickable() {
4166
+ return isTagClickable();
4167
+ },
4168
+ onClick: handleTagClick,
4169
+ onHoverChange: handleTagHoverChange,
4170
+ showMono: true,
4171
+ shrink: true,
4172
+ forceShowIcon: true
4173
+ }), null);
4174
+ return _el$31;
4175
+ }
4176
+ }), null);
4177
+ insert(_el$30, createComponent(Show, {
4178
+ get when() {
4179
+ return !props.componentName;
4242
4180
  },
4243
- onClick: handleTagClick,
4244
- onHoverChange: handleTagHoverChange,
4245
- showMono: true,
4246
- shrink: true,
4247
- forceShowIcon: true
4181
+ get children() {
4182
+ return createComponent(TagBadge, {
4183
+ get tagName() {
4184
+ return tagDisplay();
4185
+ },
4186
+ get isClickable() {
4187
+ return isTagClickable();
4188
+ },
4189
+ onClick: handleTagClick,
4190
+ onHoverChange: handleTagHoverChange,
4191
+ showMono: true,
4192
+ shrink: true,
4193
+ forceShowIcon: true
4194
+ });
4195
+ }
4248
4196
  }), null);
4249
- insert(_el$22, createComponent(BottomSection, {
4197
+ insert(_el$29, createComponent(BottomSection, {
4250
4198
  get children() {
4251
- var _el$24 = _tmpl$12(), _el$25 = _el$24.firstChild, _el$26 = _el$25.nextSibling, _el$27 = _el$26.firstChild;
4252
- _el$25.$$keydown = handleKeyDown;
4253
- _el$25.$$input = handleInput;
4254
- var _ref$2 = inputRef;
4255
- typeof _ref$2 === "function" ? use(_ref$2, _el$25) : inputRef = _el$25;
4256
- _el$26.$$click = handleSubmit;
4257
- createRenderEffect(() => className(_el$27, cn("w-2.5 h-[9px] shrink-0 bg-cover bg-center transition-opacity duration-100", props.inputValue ? "opacity-[0.99]" : "opacity-50")));
4258
- createRenderEffect(() => _el$25.value = props.inputValue ?? "");
4259
- return _el$24;
4199
+ var _el$32 = _tmpl$12(), _el$33 = _el$32.firstChild, _el$34 = _el$33.nextSibling, _el$35 = _el$34.firstChild;
4200
+ _el$33.$$keydown = handleKeyDown;
4201
+ _el$33.$$input = handleInput;
4202
+ var _ref$3 = inputRef;
4203
+ typeof _ref$3 === "function" ? use(_ref$3, _el$33) : inputRef = _el$33;
4204
+ _el$34.$$click = handleSubmit;
4205
+ 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")));
4206
+ createRenderEffect(() => _el$33.value = props.inputValue ?? "");
4207
+ return _el$32;
4260
4208
  }
4261
4209
  }), null);
4262
- return _el$22;
4210
+ return _el$29;
4263
4211
  }
4264
4212
  }), null);
4265
4213
  createRenderEffect((_p$) => {
4266
- var _v$3 = `${computedPosition().top}px`, _v$4 = `${computedPosition().left}px`, _v$5 = props.visible ? "auto" : "none", _v$6 = props.status === "fading" ? 0 : 1;
4267
- _v$3 !== _p$.e && setStyleProperty(_el$1, "top", _p$.e = _v$3);
4268
- _v$4 !== _p$.t && setStyleProperty(_el$1, "left", _p$.t = _v$4);
4269
- _v$5 !== _p$.a && setStyleProperty(_el$1, "pointer-events", _p$.a = _v$5);
4270
- _v$6 !== _p$.o && setStyleProperty(_el$1, "opacity", _p$.o = _v$6);
4214
+ 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;
4215
+ _v$3 !== _p$.e && setStyleProperty(_el$0, "top", _p$.e = _v$3);
4216
+ _v$4 !== _p$.t && setStyleProperty(_el$0, "left", _p$.t = _v$4);
4217
+ _v$5 !== _p$.a && setStyleProperty(_el$0, "pointer-events", _p$.a = _v$5);
4218
+ _v$6 !== _p$.o && setStyleProperty(_el$0, "opacity", _p$.o = _v$6);
4219
+ _v$7 !== _p$.i && setStyleProperty(_el$12, "display", _p$.i = _v$7);
4271
4220
  return _p$;
4272
4221
  }, {
4273
4222
  e: void 0,
4274
4223
  t: void 0,
4275
4224
  a: void 0,
4276
- o: void 0
4225
+ o: void 0,
4226
+ i: void 0
4277
4227
  });
4278
- return _el$1;
4228
+ return _el$0;
4279
4229
  }
4280
4230
  });
4281
4231
  };
@@ -4360,10 +4310,6 @@ var SelectionCursor = (props) => {
4360
4310
  delegateEvents(["click"]);
4361
4311
 
4362
4312
  // src/components/renderer.tsx
4363
- var truncateStatus = (status, maxLength = 30) => {
4364
- if (status.length <= maxLength) return status;
4365
- return `${status.slice(0, maxLength)}\u2026`;
4366
- };
4367
4313
  var ReactGrabRenderer = (props) => {
4368
4314
  return [createComponent(Show, {
4369
4315
  get when() {
@@ -4447,16 +4393,25 @@ var ReactGrabRenderer = (props) => {
4447
4393
  get tagName() {
4448
4394
  return session.tagName;
4449
4395
  },
4396
+ get componentName() {
4397
+ return session.componentName;
4398
+ },
4450
4399
  get selectionBounds() {
4451
4400
  return session.selectionBounds;
4452
4401
  },
4402
+ get mouseX() {
4403
+ return session.position.x;
4404
+ },
4453
4405
  visible: true,
4454
4406
  hasAgent: true,
4455
4407
  get status() {
4456
4408
  return session.isStreaming ? "copying" : "copied";
4457
4409
  },
4458
4410
  get statusText() {
4459
- return truncateStatus(session.lastStatus || "Please wait\u2026");
4411
+ return session.lastStatus || "Please wait\u2026";
4412
+ },
4413
+ get inputValue() {
4414
+ return session.context.prompt;
4460
4415
  },
4461
4416
  onAbort: () => props.onAbortSession?.(session.id)
4462
4417
  })]
@@ -4469,9 +4424,15 @@ var ReactGrabRenderer = (props) => {
4469
4424
  get tagName() {
4470
4425
  return props.selectionTagName;
4471
4426
  },
4427
+ get componentName() {
4428
+ return props.selectionComponentName;
4429
+ },
4472
4430
  get selectionBounds() {
4473
4431
  return props.selectionBounds;
4474
4432
  },
4433
+ get mouseX() {
4434
+ return props.mouseX;
4435
+ },
4475
4436
  get visible() {
4476
4437
  return props.selectionLabelVisible;
4477
4438
  },
@@ -4521,6 +4482,9 @@ var ReactGrabRenderer = (props) => {
4521
4482
  get tagName() {
4522
4483
  return instance.tagName;
4523
4484
  },
4485
+ get componentName() {
4486
+ return instance.componentName;
4487
+ },
4524
4488
  get selectionBounds() {
4525
4489
  return instance.bounds;
4526
4490
  },
@@ -6012,7 +5976,7 @@ var deepMergeTheme = mergeThemeWithBase;
6012
5976
  // src/utils/agent-session.ts
6013
5977
  var STORAGE_KEY = "react-grab:agent-sessions";
6014
5978
  var generateSessionId = () => `session-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
6015
- var createSession = (context, position, selectionBounds, tagName) => ({
5979
+ var createSession = (context, position, selectionBounds, tagName, componentName) => ({
6016
5980
  id: generateSessionId(),
6017
5981
  context,
6018
5982
  lastStatus: "",
@@ -6020,7 +5984,8 @@ var createSession = (context, position, selectionBounds, tagName) => ({
6020
5984
  createdAt: Date.now(),
6021
5985
  position,
6022
5986
  selectionBounds,
6023
- tagName
5987
+ tagName,
5988
+ componentName
6024
5989
  });
6025
5990
  var getStorage = (storage) => {
6026
5991
  if (!storage) return null;
@@ -6231,7 +6196,8 @@ var createAgentManager = (initialAgentOptions) => {
6231
6196
  const content = await generateSnippet(elements);
6232
6197
  const context = { content, prompt, options: agentOptions?.getOptions?.() };
6233
6198
  const tagName = (element.tagName || "").toLowerCase() || void 0;
6234
- const session = createSession(context, position, selectionBounds, tagName);
6199
+ const componentName = await getNearestComponentName(element) || void 0;
6200
+ const session = createSession(context, position, selectionBounds, tagName, componentName);
6235
6201
  session.lastStatus = "Please wait\u2026";
6236
6202
  sessionElements.set(session.id, element);
6237
6203
  setSessions((prev) => new Map(prev).set(session.id, session));
@@ -6380,7 +6346,7 @@ var init = (rawOptions) => {
6380
6346
  hasInited = true;
6381
6347
  const logIntro = () => {
6382
6348
  try {
6383
- const version = "0.0.58";
6349
+ const version = "0.0.60";
6384
6350
  const logoDataUri = `data:image/svg+xml;base64,${btoa(LOGO_SVG)}`;
6385
6351
  console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
6386
6352
  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;`, "");
@@ -6544,12 +6510,13 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6544
6510
  }
6545
6511
  }));
6546
6512
  };
6547
- const createLabelInstance = (bounds, tagName, status, element) => {
6513
+ const createLabelInstance = (bounds, tagName, componentName, status, element) => {
6548
6514
  const instanceId = `label-${Date.now()}-${Math.random().toString(36).slice(2)}`;
6549
6515
  setLabelInstances((prev) => [...prev, {
6550
6516
  id: instanceId,
6551
6517
  bounds,
6552
6518
  tagName,
6519
+ componentName,
6553
6520
  status,
6554
6521
  createdAt: Date.now(),
6555
6522
  element
@@ -6565,12 +6532,12 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
6565
6532
  const removeLabelInstance = (instanceId) => {
6566
6533
  setLabelInstances((prev) => prev.filter((instance) => instance.id !== instanceId));
6567
6534
  };
6568
- const executeCopyOperation = async (positionX, positionY, operation, bounds, tagName, element) => {
6535
+ const executeCopyOperation = async (positionX, positionY, operation, bounds, tagName, componentName, element) => {
6569
6536
  setCopyStartX(positionX);
6570
6537
  setCopyStartY(positionY);
6571
6538
  setIsCopying(true);
6572
6539
  startProgressAnimation();
6573
- const instanceId = bounds && tagName ? createLabelInstance(bounds, tagName, "copying", element) : null;
6540
+ const instanceId = bounds && tagName ? createLabelInstance(bounds, tagName, componentName, "copying", element) : null;
6574
6541
  await operation().finally(() => {
6575
6542
  setIsCopying(false);
6576
6543
  stopProgressAnimation();
@@ -6877,7 +6844,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6877
6844
  } else if (activated && dragging) {
6878
6845
  setCursorOverride("crosshair");
6879
6846
  } else if (activated && target) {
6880
- setCursorOverride("copy");
6847
+ setCursorOverride("default");
6881
6848
  } else if (activated) {
6882
6849
  setCursorOverride("crosshair");
6883
6850
  } else {
@@ -6972,9 +6939,8 @@ ${plainTextContentOnly}` : plainTextContentOnly;
6972
6939
  options.agent?.onAbort?.(session, element);
6973
6940
  if (element && document.contains(element)) {
6974
6941
  const rect = element.getBoundingClientRect();
6975
- const centerX = rect.left + rect.width / 2;
6976
6942
  const centerY = rect.top + rect.height / 2;
6977
- setMouseX(centerX);
6943
+ setMouseX(session.position.x);
6978
6944
  setMouseY(centerY);
6979
6945
  setFrozenElement(element);
6980
6946
  setInputText(session.context.prompt);
@@ -7000,6 +6966,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7000
6966
  return;
7001
6967
  }
7002
6968
  const bounds = createElementBounds(element);
6969
+ const labelPositionX = mouseX();
7003
6970
  const currentX = bounds.x + bounds.width / 2;
7004
6971
  const currentY = bounds.y + bounds.height / 2;
7005
6972
  setMouseX(currentX);
@@ -7010,7 +6977,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7010
6977
  element,
7011
6978
  prompt,
7012
6979
  position: {
7013
- x: currentX,
6980
+ x: labelPositionX,
7014
6981
  y: currentY
7015
6982
  },
7016
6983
  selectionBounds: bounds
@@ -7020,8 +6987,10 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7020
6987
  setIsInputMode(false);
7021
6988
  setInputText("");
7022
6989
  const tagName = extractElementTagName(element);
7023
- void executeCopyOperation(currentX, currentY, () => copySingleElementToClipboard(element, prompt || void 0), bounds, tagName, element).then(() => {
7024
- deactivateRenderer();
6990
+ void getNearestComponentName(element).then((componentName) => {
6991
+ void executeCopyOperation(currentX, currentY, () => copySingleElementToClipboard(element, prompt || void 0), bounds, tagName, componentName ?? void 0, element).then(() => {
6992
+ deactivateRenderer();
6993
+ });
7025
6994
  });
7026
6995
  };
7027
6996
  const handleInputCancel = () => {
@@ -7044,10 +7013,11 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7044
7013
  setHasNativeSelection(false);
7045
7014
  clearNativeSelectionState();
7046
7015
  window.getSelection()?.removeAllRanges();
7016
+ const componentName = nativeSelectionComponentName();
7047
7017
  if (elements.length === 1) {
7048
- await executeCopyOperation(currentX, currentY, () => copySingleElementToClipboard(elements[0]), bounds, tagName);
7018
+ await executeCopyOperation(currentX, currentY, () => copySingleElementToClipboard(elements[0]), bounds, tagName, componentName);
7049
7019
  } else {
7050
- await executeCopyOperation(currentX, currentY, () => copyMultipleElementsToClipboard(elements), bounds, tagName);
7020
+ await executeCopyOperation(currentX, currentY, () => copyMultipleElementsToClipboard(elements), bounds, tagName, componentName);
7051
7021
  }
7052
7022
  };
7053
7023
  const handleNativeSelectionEnter = () => {
@@ -7128,7 +7098,9 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7128
7098
  setIsInputExpanded(true);
7129
7099
  setIsInputMode(true);
7130
7100
  } else {
7131
- void executeCopyOperation(clientX, clientY, () => copyMultipleElementsToClipboard(selectedElements), bounds, tagName, firstElement);
7101
+ void getNearestComponentName(firstElement).then((componentName) => {
7102
+ void executeCopyOperation(clientX, clientY, () => copyMultipleElementsToClipboard(selectedElements), bounds, tagName, componentName ?? void 0, firstElement);
7103
+ });
7132
7104
  }
7133
7105
  }
7134
7106
  } else {
@@ -7137,7 +7109,9 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7137
7109
  setLastGrabbedElement(element);
7138
7110
  const bounds = createElementBounds(element);
7139
7111
  const tagName = extractElementTagName(element);
7140
- void executeCopyOperation(clientX, clientY, () => copySingleElementToClipboard(element), bounds, tagName, element);
7112
+ void getNearestComponentName(element).then((componentName) => {
7113
+ void executeCopyOperation(clientX, clientY, () => copySingleElementToClipboard(element), bounds, tagName, componentName ?? void 0, element);
7114
+ });
7141
7115
  }
7142
7116
  };
7143
7117
  const abortController = new AbortController();
@@ -7473,6 +7447,11 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7473
7447
  if (!element) return void 0;
7474
7448
  return extractElementTagName(element) || void 0;
7475
7449
  });
7450
+ const [selectionComponentName] = createResource(() => targetElement(), async (element) => {
7451
+ if (!element) return void 0;
7452
+ const name = await getNearestComponentName(element);
7453
+ return name ?? void 0;
7454
+ });
7476
7455
  const selectionLabelVisible = createMemo(() => {
7477
7456
  if (!theme().elementLabel.enabled) return false;
7478
7457
  if (successLabels().length > 0) return false;
@@ -7525,6 +7504,9 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7525
7504
  get selectionTagName() {
7526
7505
  return selectionTagName();
7527
7506
  },
7507
+ get selectionComponentName() {
7508
+ return selectionComponentName();
7509
+ },
7528
7510
  get selectionLabelVisible() {
7529
7511
  return selectionLabelVisible();
7530
7512
  },
@@ -7662,9 +7644,8 @@ ${plainTextContentOnly}` : plainTextContentOnly;
7662
7644
  newAgentOptions?.onAbort?.(session, element);
7663
7645
  if (element && document.contains(element)) {
7664
7646
  const rect = element.getBoundingClientRect();
7665
- const centerX = rect.left + rect.width / 2;
7666
7647
  const centerY = rect.top + rect.height / 2;
7667
- setMouseX(centerX);
7648
+ setMouseX(session.position.x);
7668
7649
  setMouseY(centerY);
7669
7650
  setFrozenElement(element);
7670
7651
  setInputText(session.context.prompt);