react-grab 0.0.78 → 0.0.80
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.
- package/README.md +3 -1
- package/dist/{chunk-IOEUCYGF.cjs → chunk-2OKPQEMK.cjs} +397 -211
- package/dist/{chunk-PJCJQBH7.js → chunk-VO4Y6JSD.js} +397 -211
- package/dist/cli.cjs +1 -1
- package/dist/{core-BIJVr_bk.d.cts → core-CO-ZnW1x.d.cts} +9 -0
- package/dist/{core-BIJVr_bk.d.ts → core-CO-ZnW1x.d.ts} +9 -0
- package/dist/core.cjs +7 -7
- package/dist/core.d.cts +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +1 -1
- package/dist/index.cjs +8 -8
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.global.js +27 -27
- package/dist/index.js +2 -2
- package/dist/styles.css +1 -1
- package/package.json +2 -2
|
@@ -950,8 +950,7 @@ function cleanChildren(parent, current, marker, replacement) {
|
|
|
950
950
|
}
|
|
951
951
|
|
|
952
952
|
// dist/styles.css
|
|
953
|
-
var styles_default = `/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
|
|
954
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--radius-xs:.125rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grab-pink:#b21c8e;--color-grab-purple:#d239c0;--color-label-tag-border:#730079;--color-label-muted:#767676}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-2147483645{z-index:2147483645}.z-2147483646{z-index:2147483646}.z-2147483647{z-index:2147483647}.z-\\[2147483645\\]{z-index:2147483645}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mt-px{margin-top:-1px}.-ml-\\[2px\\]{margin-left:-2px}.ml-1{margin-left:calc(var(--spacing)*1)}.box-border{box-sizing:border-box}.flex{display:flex}.grid{display:grid}.hidden{display:none}.size-fit{width:fit-content;height:fit-content}.h-0{height:calc(var(--spacing)*0)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-5\\.5{height:calc(var(--spacing)*5.5)}.h-\\[7px\\]{height:7px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-fit{height:fit-content}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.w-0{width:calc(var(--spacing)*0)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-\\[7px\\]{width:7px}.w-\\[17px\\]{width:17px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[280px\\]{max-width:280px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-\\[3px\\]{gap:3px}.gap-\\[5px\\]{gap:5px}.gap-px{gap:1px}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\\[1\\.5px\\]{border-radius:1.5px}.rounded-\\[1px\\]{border-radius:1px}.rounded-full{border-radius:3.40282e38px}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-b-xs{border-bottom-right-radius:var(--radius-xs);border-bottom-left-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[\\#7e0002\\]{border-color:#7e0002}.border-\\[\\#B3B3B3\\]{border-color:#b3b3b3}.border-grab-purple{border-color:var(--color-grab-purple)}.border-grab-purple\\/40{border-color:#d239c066}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/40{border-color:color-mix(in oklab,var(--color-grab-purple)40%,transparent)}}.border-grab-purple\\/50{border-color:#d239c080}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/50{border-color:color-mix(in oklab,var(--color-grab-purple)50%,transparent)}}.border-label-tag-border{border-color:var(--color-label-tag-border)}.border-white{border-color:var(--color-white)}.border-t-\\[\\#D9D9D9\\]{border-top-color:#d9d9d9}.bg-\\[\\#F7F7F7\\]{background-color:#f7f7f7}.bg-black{background-color:var(--color-black)}.bg-grab-pink{background-color:var(--color-grab-pink)}.bg-grab-purple{background-color:var(--color-grab-purple)}.bg-grab-purple\\/5{background-color:#d239c00d}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/5{background-color:color-mix(in oklab,var(--color-grab-purple)5%,transparent)}}.bg-grab-purple\\/8{background-color:#d239c014}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/8{background-color:color-mix(in oklab,var(--color-grab-purple)8%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-\\[2px\\]{padding-inline:2px}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:calc(var(--spacing)*0)}.py-\\[2px\\]{padding-block:2px}.py-\\[3px\\]{padding-block:3px}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-1\\.5{padding-right:calc(var(--spacing)*1.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pl-1\\.5{padding-left:calc(var(--spacing)*1.5)}.align-middle{vertical-align:middle}.font-\\[ui-monospace\\,\\'SFMono-Regular\\'\\,\\'SF_Mono\\'\\,\\'Menlo\\'\\,\\'Consolas\\'\\,\\'Liberation_Mono\\'\\,monospace\\]{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\\[10px\\]{font-size:10px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.leading-3\\.5{--tw-leading:calc(var(--spacing)*3.5);line-height:calc(var(--spacing)*3.5)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-\\[14px\\]{--tw-leading:14px;line-height:14px}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\\[-0\\.04em\\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\\[-0\\.08em\\]{--tw-tracking:-.08em;letter-spacing:-.08em}.wrap-break-word{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.text-\\[\\#0C0C0C\\]{color:#0c0c0c}.text-\\[\\#47004A\\]{color:#47004a}.text-\\[\\#71717a\\]{color:#71717a}.text-\\[\\#B91C1C\\]{color:#b91c1c}.text-\\[\\#c00002\\]{color:#c00002}.text-black{color:var(--color-black)}.text-black\\/50{color:#00000080}@supports (color:color-mix(in lab, red, red)){.text-black\\/50{color:color-mix(in oklab,var(--color-black)50%,transparent)}}.text-label-muted{color:var(--color-label-muted)}.text-label-tag-border{color:var(--color-label-tag-border)}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.opacity-\\[0\\.99\\]{opacity:.99}.brightness-125{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter-\\[drop-shadow\\(0px_0px_4px_\\#51515180\\)\\]{filter:drop-shadow(0 0 4px #51515180)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\,height\\]{transition-property:width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-30{--tw-duration:30ms;transition-duration:30ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[transform\\,width\\,height\\]{will-change:transform,width,height}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,)var(--tw-contain-layout,)var(--tw-contain-paint,)var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[font-synthesis\\:none\\]{font-synthesis:none}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:bg-\\[\\#F5F5F5\\]:hover{background-color:#f5f5f5}.hover\\:bg-\\[\\#FEF2F2\\]:hover{background-color:#fef2f2}.hover\\:opacity-100:hover{opacity:1}}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}`;
|
|
953
|
+
var styles_default = '/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--radius-xs:.125rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grab-pink:#b21c8e;--color-grab-purple:#d239c0;--color-label-tag-border:#730079;--color-label-muted:#767676}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-2147483645{z-index:2147483645}.z-2147483646{z-index:2147483646}.z-2147483647{z-index:2147483647}.z-\\[2147483645\\]{z-index:2147483645}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mt-px{margin-top:-1px}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.-ml-\\[2px\\]{margin-left:-2px}.ml-1{margin-left:calc(var(--spacing)*1)}.box-border{box-sizing:border-box}.flex{display:flex}.grid{display:grid}.hidden{display:none}.size-fit{width:fit-content;height:fit-content}.h-0{height:calc(var(--spacing)*0)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-5\\.5{height:calc(var(--spacing)*5.5)}.h-\\[7px\\]{height:7px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-fit{height:fit-content}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.w-0{width:calc(var(--spacing)*0)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-\\[7px\\]{width:7px}.w-\\[17px\\]{width:17px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[280px\\]{max-width:280px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-\\[3px\\]{gap:3px}.gap-\\[5px\\]{gap:5px}.gap-px{gap:1px}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\\[1\\.5px\\]{border-radius:1.5px}.rounded-\\[1px\\]{border-radius:1px}.rounded-full{border-radius:3.40282e38px}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-b-xs{border-bottom-right-radius:var(--radius-xs);border-bottom-left-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[\\#7e0002\\]{border-color:#7e0002}.border-\\[\\#B3B3B3\\]{border-color:#b3b3b3}.border-grab-purple{border-color:var(--color-grab-purple)}.border-grab-purple\\/40{border-color:#d239c066}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/40{border-color:color-mix(in oklab,var(--color-grab-purple)40%,transparent)}}.border-grab-purple\\/50{border-color:#d239c080}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/50{border-color:color-mix(in oklab,var(--color-grab-purple)50%,transparent)}}.border-label-tag-border{border-color:var(--color-label-tag-border)}.border-white{border-color:var(--color-white)}.border-t-\\[\\#D9D9D9\\]{border-top-color:#d9d9d9}.bg-\\[\\#F7F7F7\\]{background-color:#f7f7f7}.bg-black{background-color:var(--color-black)}.bg-grab-pink{background-color:var(--color-grab-pink)}.bg-grab-purple{background-color:var(--color-grab-purple)}.bg-grab-purple\\/5{background-color:#d239c00d}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/5{background-color:color-mix(in oklab,var(--color-grab-purple)5%,transparent)}}.bg-grab-purple\\/8{background-color:#d239c014}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/8{background-color:color-mix(in oklab,var(--color-grab-purple)8%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-\\[2px\\]{padding-inline:2px}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:calc(var(--spacing)*0)}.py-\\[2px\\]{padding-block:2px}.py-\\[3px\\]{padding-block:3px}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-1\\.5{padding-right:calc(var(--spacing)*1.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pl-1\\.5{padding-left:calc(var(--spacing)*1.5)}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\\[9px\\]{font-size:9px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.leading-3{--tw-leading:calc(var(--spacing)*3);line-height:calc(var(--spacing)*3)}.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)}.wrap-break-word{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-\\[\\#0C0C0C\\]{color:#0c0c0c}.text-\\[\\#47004A\\]{color:#47004a}.text-\\[\\#71717a\\]{color:#71717a}.text-\\[\\#B91C1C\\]{color:#b91c1c}.text-\\[\\#a1a1aa\\]{color:#a1a1aa}.text-\\[\\#c00002\\]{color:#c00002}.text-black{color:var(--color-black)}.text-black\\/50{color:#00000080}@supports (color:color-mix(in lab, red, red)){.text-black\\/50{color:color-mix(in oklab,var(--color-black)50%,transparent)}}.text-label-muted{color:var(--color-label-muted)}.text-label-tag-border{color:var(--color-label-tag-border)}.text-white{color:var(--color-white)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.opacity-\\[0\\.99\\]{opacity:.99}.brightness-125{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter-\\[drop-shadow\\(0px_0px_4px_\\#51515180\\)\\]{filter:drop-shadow(0 0 4px #51515180)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\,height\\]{transition-property:width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-30{--tw-duration:30ms;transition-duration:30ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[transform\\,width\\,height\\]{will-change:transform,width,height}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,)var(--tw-contain-layout,)var(--tw-contain-paint,)var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[font-synthesis\\:none\\]{font-synthesis:none}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:bg-\\[\\#F5F5F5\\]:hover{background-color:#f5f5f5}.hover\\:bg-\\[\\#FEF2F2\\]:hover{background-color:#fef2f2}.hover\\:opacity-100:hover{opacity:1}}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-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}}';
|
|
955
954
|
|
|
956
955
|
// src/utils/is-keyboard-event-triggered-by-input.ts
|
|
957
956
|
var FORM_TAGS_AND_ROLES = [
|
|
@@ -1080,7 +1079,7 @@ var buildOpenFileUrl = (filePath, lineNumber) => {
|
|
|
1080
1079
|
};
|
|
1081
1080
|
|
|
1082
1081
|
// src/constants.ts
|
|
1083
|
-
var VERSION = "0.0.
|
|
1082
|
+
var VERSION = "0.0.80";
|
|
1084
1083
|
var VIEWPORT_MARGIN_PX = 8;
|
|
1085
1084
|
var OFFSCREEN_POSITION = -1e3;
|
|
1086
1085
|
var SELECTION_LERP_FACTOR = 0.95;
|
|
@@ -1091,6 +1090,7 @@ var BLUR_DEACTIVATION_THRESHOLD_MS = 500;
|
|
|
1091
1090
|
var INPUT_FOCUS_ACTIVATION_DELAY_MS = 150;
|
|
1092
1091
|
var DEFAULT_KEY_HOLD_DURATION_MS = 200;
|
|
1093
1092
|
var DOUBLE_CLICK_THRESHOLD_MS = 250;
|
|
1093
|
+
var RECENT_THRESHOLD_MS = 1e4;
|
|
1094
1094
|
var DRAG_THRESHOLD_PX = 2;
|
|
1095
1095
|
var ELEMENT_DETECTION_THROTTLE_MS = 32;
|
|
1096
1096
|
var BOUNDS_RECALC_INTERVAL_MS = 100;
|
|
@@ -3945,32 +3945,55 @@ var IconReturn = (props) => {
|
|
|
3945
3945
|
})();
|
|
3946
3946
|
};
|
|
3947
3947
|
|
|
3948
|
+
// src/components/icon-retry.tsx
|
|
3949
|
+
var _tmpl$6 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4C7.58 4 4.01 7.58 4.01 12C4.01 16.42 7.58 20 12 20C15.73 20 18.84 17.45 19.73 14H17.65C16.83 16.33 14.61 18 12 18C8.69 18 6 15.31 6 12C6 8.69 8.69 6 12 6C13.66 6 15.14 6.69 16.22 7.78L13 11H20V4L17.65 6.35Z"fill=currentColor>`);
|
|
3950
|
+
var IconRetry = (props) => {
|
|
3951
|
+
const size = () => props.size ?? 12;
|
|
3952
|
+
return (() => {
|
|
3953
|
+
var _el$ = _tmpl$6();
|
|
3954
|
+
createRenderEffect((_p$) => {
|
|
3955
|
+
var _v$ = size(), _v$2 = size(), _v$3 = props.class;
|
|
3956
|
+
_v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
|
|
3957
|
+
_v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
|
|
3958
|
+
_v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
|
|
3959
|
+
return _p$;
|
|
3960
|
+
}, {
|
|
3961
|
+
e: void 0,
|
|
3962
|
+
t: void 0,
|
|
3963
|
+
a: void 0
|
|
3964
|
+
});
|
|
3965
|
+
return _el$;
|
|
3966
|
+
})();
|
|
3967
|
+
};
|
|
3968
|
+
|
|
3948
3969
|
// src/components/selection-label.tsx
|
|
3949
|
-
var _tmpl$
|
|
3950
|
-
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
|
|
3951
|
-
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
|
|
3970
|
+
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>`);
|
|
3971
|
+
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 font-medium w-fit h-fit">`);
|
|
3972
|
+
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 font-medium w-fit h-fit">>`);
|
|
3952
3973
|
var _tmpl$42 = /* @__PURE__ */ template(`<div class="absolute w-0 h-0"style="border-left:8px solid transparent;border-right:8px solid transparent">`);
|
|
3953
|
-
var _tmpl$52 = /* @__PURE__ */ template(`<div role=button><div class="text-black text-[12px] leading-4 shrink-0
|
|
3974
|
+
var _tmpl$52 = /* @__PURE__ */ template(`<div role=button><div class="text-black text-[12px] leading-4 shrink-0 font-sans font-medium w-fit h-fit">`);
|
|
3954
3975
|
var _tmpl$62 = /* @__PURE__ */ template(`<div class="[font-synthesis:none] contain-layout shrink-0 flex flex-col items-start px-2 py-[5px] w-auto h-fit self-stretch [border-top-width:0.5px] border-t-solid border-t-[#D9D9D9] antialiased rounded-t-none rounded-b-xs -mt-px"style="background-image:linear-gradient(in oklab 180deg, oklab(100% 0 0) 0%, oklab(96.1% 0 0) 5.92%)">`);
|
|
3955
|
-
var _tmpl$
|
|
3956
|
-
var _tmpl$8 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-end gap-1 w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-full h-fit"><span class="text-black text-[12px] leading-4 shrink-0
|
|
3957
|
-
var _tmpl$9 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit"><button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5
|
|
3958
|
-
var _tmpl$0 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-end 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-full h-fit"><span class="text-[#B91C1C] text-[12px] leading-4
|
|
3959
|
-
var _tmpl$1 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#
|
|
3960
|
-
var _tmpl$10 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center
|
|
3961
|
-
var _tmpl$11 = /* @__PURE__ */ template(`<
|
|
3962
|
-
var _tmpl$12 = /* @__PURE__ */ template(`<div class="
|
|
3963
|
-
var _tmpl$13 = /* @__PURE__ */ template(`<
|
|
3964
|
-
var _tmpl$14 = /* @__PURE__ */ template(`<
|
|
3965
|
-
var _tmpl$15 = /* @__PURE__ */ template(`<div class="
|
|
3966
|
-
var _tmpl$16 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-px w-fit h-fit">`);
|
|
3967
|
-
var _tmpl$17 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-
|
|
3968
|
-
var _tmpl$18 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex
|
|
3969
|
-
var _tmpl$19 = /* @__PURE__ */ template(`<
|
|
3970
|
-
var _tmpl$20 = /* @__PURE__ */ template(`<
|
|
3971
|
-
var _tmpl$21 = /* @__PURE__ */ template(`<
|
|
3972
|
-
var _tmpl$222 = /* @__PURE__ */ template(`<
|
|
3973
|
-
var _tmpl$23 = /* @__PURE__ */ template(`<div data-react-grab-ignore-events class="
|
|
3976
|
+
var _tmpl$72 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit"><button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">No</span></button><button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#7e0002] cursor-pointer transition-all hover:bg-[#FEF2F2] h-[17px]"><span class="text-[#B91C1C] text-[11px] leading-3.5 font-sans font-medium">Yes`);
|
|
3977
|
+
var _tmpl$8 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-end gap-1 w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-full h-fit"><span class="text-black text-[12px] leading-4 shrink-0 font-sans font-medium w-fit h-fit">Discard prompt?`);
|
|
3978
|
+
var _tmpl$9 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit"><button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">Retry</span></button><button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">Ok`);
|
|
3979
|
+
var _tmpl$0 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-end 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-full h-fit"><span class="text-[#B91C1C] text-[12px] leading-4 font-sans font-medium">`);
|
|
3980
|
+
var _tmpl$1 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#7e0002] cursor-pointer transition-all hover:bg-[#FEF2F2] h-[17px]"><span class="text-[#B91C1C] text-[11px] leading-3.5 font-sans font-medium">Undo`);
|
|
3981
|
+
var _tmpl$10 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">Reply`);
|
|
3982
|
+
var _tmpl$11 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">Ok`);
|
|
3983
|
+
var _tmpl$12 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit">`);
|
|
3984
|
+
var _tmpl$13 = /* @__PURE__ */ template(`<div class="[font-synthesis:none] contain-layout shrink-0 flex flex-col justify-center items-end rounded-xs bg-white antialiased w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1.5 pb-1 px-1.5 w-full h-fit"><span class="text-black text-[12px] leading-4 shrink-0 font-sans font-medium w-fit h-fit tabular-nums">`);
|
|
3985
|
+
var _tmpl$14 = /* @__PURE__ */ template(`<button data-react-grab-ignore-events class="contain-layout shrink-0 flex flex-col items-start rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] p-1 size-fit cursor-pointer ml-1 transition-none hover:scale-105"><div data-react-grab-ignore-events class="shrink-0 w-[7px] h-[7px] rounded-[1px] bg-black pointer-events-none">`);
|
|
3986
|
+
var _tmpl$15 = /* @__PURE__ */ template(`<div class="shrink-0 flex justify-between items-end w-full min-h-4"><textarea data-react-grab-ignore-events class="text-black text-[12px] leading-4 font-medium bg-transparent border-none outline-none resize-none flex-1 p-0 m-0 opacity-50 wrap-break-word overflow-y-auto"placeholder="type to edit"rows=1 disabled style=field-sizing:content;min-height:16px;max-height:95px;scrollbar-width:none>`);
|
|
3987
|
+
var _tmpl$16 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit max-w-[280px]"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-auto h-fit"><div class="contain-layout flex items-center px-0 py-px w-auto h-fit rounded-[1.5px] gap-[3px]"><span class="text-[12px] leading-4 font-sans font-medium w-auto h-fit whitespace-normal text-[#71717a] animate-pulse tabular-nums">`);
|
|
3988
|
+
var _tmpl$17 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-px w-fit h-fit">`);
|
|
3989
|
+
var _tmpl$18 = /* @__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 font-sans font-medium w-fit h-fit">Double click to edit</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">`);
|
|
3990
|
+
var _tmpl$19 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit"><div></div><div class="grid transition-[grid-template-rows] duration-30 ease-out self-stretch"><div>`);
|
|
3991
|
+
var _tmpl$20 = /* @__PURE__ */ template(`<div class="shrink-0 flex items-center gap-0.5 w-full mb-0.5 overflow-hidden"><span class="text-[#a1a1aa] text-[9px] leading-3 shrink-0">\u21B3</span><span class="text-[#a1a1aa] text-[9px] leading-3 italic truncate whitespace-nowrap">`);
|
|
3992
|
+
var _tmpl$21 = /* @__PURE__ */ template(`<button>`);
|
|
3993
|
+
var _tmpl$222 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex flex-col items-start px-[3px] py-[3px] rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] size-fit cursor-pointer transition-all hover:scale-105">`);
|
|
3994
|
+
var _tmpl$23 = /* @__PURE__ */ template(`<div class="shrink-0 flex justify-between items-end w-full min-h-4"><textarea data-react-grab-ignore-events class="text-black text-[12px] leading-4 font-medium bg-transparent border-none outline-none resize-none flex-1 p-0 m-0 wrap-break-word overflow-y-auto"rows=1 style=field-sizing:content;min-height:16px;max-height:95px;scrollbar-width:none></textarea><div class="flex items-center gap-0.5 ml-1 w-[17px] h-[17px] justify-end">`);
|
|
3995
|
+
var _tmpl$24 = /* @__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>`);
|
|
3996
|
+
var _tmpl$25 = /* @__PURE__ */ template(`<div data-react-grab-ignore-events class="fixed font-sans antialiased transition-opacity duration-300 ease-out filter-[drop-shadow(0px_0px_4px_#51515180)] select-none"style=z-index:2147483647><div class="[font-synthesis:none] contain-layout flex items-center gap-[5px] rounded-xs bg-white antialiased w-fit h-fit p-0">`);
|
|
3974
3997
|
var ARROW_HEIGHT = 8;
|
|
3975
3998
|
var LABEL_GAP = 4;
|
|
3976
3999
|
var IDLE_TIMEOUT_MS = 400;
|
|
@@ -3985,7 +4008,7 @@ var TagBadge = (props) => {
|
|
|
3985
4008
|
props.onHoverChange?.(false);
|
|
3986
4009
|
};
|
|
3987
4010
|
return (() => {
|
|
3988
|
-
var _el$ = _tmpl$
|
|
4011
|
+
var _el$ = _tmpl$7(), _el$2 = _el$.firstChild;
|
|
3989
4012
|
addEventListener(_el$, "click", props.onClick);
|
|
3990
4013
|
_el$.addEventListener("mouseleave", handleMouseLeave);
|
|
3991
4014
|
_el$.addEventListener("mouseenter", handleMouseEnter);
|
|
@@ -4004,7 +4027,7 @@ var TagBadge = (props) => {
|
|
|
4004
4027
|
}
|
|
4005
4028
|
}), null);
|
|
4006
4029
|
createRenderEffect((_p$) => {
|
|
4007
|
-
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
|
|
4030
|
+
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 font-medium");
|
|
4008
4031
|
_v$ !== _p$.e && className(_el$, _p$.e = _v$);
|
|
4009
4032
|
_v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
|
|
4010
4033
|
return _p$;
|
|
@@ -4084,7 +4107,7 @@ var DismissConfirmation = (props) => {
|
|
|
4084
4107
|
var _el$0 = _tmpl$8(); _el$0.firstChild;
|
|
4085
4108
|
insert(_el$0, createComponent(BottomSection, {
|
|
4086
4109
|
get children() {
|
|
4087
|
-
var _el$10 = _tmpl$
|
|
4110
|
+
var _el$10 = _tmpl$72(), _el$11 = _el$10.firstChild, _el$12 = _el$11.nextSibling; _el$12.firstChild;
|
|
4088
4111
|
addEventListener(_el$11, "click", props.onCancel);
|
|
4089
4112
|
addEventListener(_el$12, "click", props.onConfirm);
|
|
4090
4113
|
insert(_el$12, createComponent(IconReturn, {
|
|
@@ -4100,7 +4123,11 @@ var DismissConfirmation = (props) => {
|
|
|
4100
4123
|
var MAX_ERROR_LENGTH = 50;
|
|
4101
4124
|
var ErrorConfirmation = (props) => {
|
|
4102
4125
|
const handleKeyDown = (event) => {
|
|
4103
|
-
if (event.code === "Enter"
|
|
4126
|
+
if (event.code === "Enter") {
|
|
4127
|
+
event.preventDefault();
|
|
4128
|
+
event.stopPropagation();
|
|
4129
|
+
props.onRetry?.();
|
|
4130
|
+
} else if (event.code === "Escape") {
|
|
4104
4131
|
event.preventDefault();
|
|
4105
4132
|
event.stopPropagation();
|
|
4106
4133
|
props.onAcknowledge?.();
|
|
@@ -4126,12 +4153,13 @@ var ErrorConfirmation = (props) => {
|
|
|
4126
4153
|
insert(_el$16, truncatedError);
|
|
4127
4154
|
insert(_el$14, createComponent(BottomSection, {
|
|
4128
4155
|
get children() {
|
|
4129
|
-
var _el$17 = _tmpl$9(), _el$18 = _el$17.firstChild; _el$18.firstChild;
|
|
4130
|
-
addEventListener(_el$18, "click", props.
|
|
4131
|
-
insert(_el$18, createComponent(
|
|
4156
|
+
var _el$17 = _tmpl$9(), _el$18 = _el$17.firstChild; _el$18.firstChild; var _el$20 = _el$18.nextSibling;
|
|
4157
|
+
addEventListener(_el$18, "click", props.onRetry);
|
|
4158
|
+
insert(_el$18, createComponent(IconRetry, {
|
|
4132
4159
|
size: 10,
|
|
4133
4160
|
"class": "text-black/50"
|
|
4134
4161
|
}), null);
|
|
4162
|
+
addEventListener(_el$20, "click", props.onAcknowledge);
|
|
4135
4163
|
return _el$17;
|
|
4136
4164
|
}
|
|
4137
4165
|
}), null);
|
|
@@ -4158,46 +4186,56 @@ var CompletedConfirmation = (props) => {
|
|
|
4158
4186
|
});
|
|
4159
4187
|
});
|
|
4160
4188
|
return (() => {
|
|
4161
|
-
var _el$
|
|
4162
|
-
insert(_el$
|
|
4163
|
-
insert(_el$
|
|
4189
|
+
var _el$21 = _tmpl$13(), _el$22 = _el$21.firstChild, _el$23 = _el$22.firstChild;
|
|
4190
|
+
insert(_el$23, () => props.statusText);
|
|
4191
|
+
insert(_el$21, createComponent(Show, {
|
|
4164
4192
|
get when() {
|
|
4165
|
-
return props.onDismiss || props.onUndo;
|
|
4193
|
+
return props.onDismiss || props.onUndo || props.onReply;
|
|
4166
4194
|
},
|
|
4167
4195
|
get children() {
|
|
4168
4196
|
return createComponent(BottomSection, {
|
|
4169
4197
|
get children() {
|
|
4170
|
-
var _el$
|
|
4171
|
-
insert(_el$
|
|
4198
|
+
var _el$24 = _tmpl$12();
|
|
4199
|
+
insert(_el$24, createComponent(Show, {
|
|
4172
4200
|
get when() {
|
|
4173
|
-
return props.onUndo;
|
|
4201
|
+
return memo(() => !!props.supportsUndo)() && props.onUndo;
|
|
4174
4202
|
},
|
|
4175
4203
|
get children() {
|
|
4176
|
-
var _el$
|
|
4177
|
-
_el$
|
|
4178
|
-
return _el$
|
|
4204
|
+
var _el$25 = _tmpl$1();
|
|
4205
|
+
_el$25.$$click = () => props.onUndo?.();
|
|
4206
|
+
return _el$25;
|
|
4179
4207
|
}
|
|
4180
4208
|
}), null);
|
|
4181
|
-
insert(_el$
|
|
4209
|
+
insert(_el$24, createComponent(Show, {
|
|
4210
|
+
get when() {
|
|
4211
|
+
return memo(() => !!props.supportsFollowUp)() && props.onReply;
|
|
4212
|
+
},
|
|
4213
|
+
get children() {
|
|
4214
|
+
var _el$26 = _tmpl$10();
|
|
4215
|
+
_el$26.$$click = () => props.onReply?.();
|
|
4216
|
+
return _el$26;
|
|
4217
|
+
}
|
|
4218
|
+
}), null);
|
|
4219
|
+
insert(_el$24, createComponent(Show, {
|
|
4182
4220
|
get when() {
|
|
4183
4221
|
return props.onDismiss;
|
|
4184
4222
|
},
|
|
4185
4223
|
get children() {
|
|
4186
|
-
var _el$
|
|
4187
|
-
_el$
|
|
4188
|
-
insert(_el$
|
|
4224
|
+
var _el$27 = _tmpl$11(); _el$27.firstChild;
|
|
4225
|
+
_el$27.$$click = () => props.onDismiss?.();
|
|
4226
|
+
insert(_el$27, createComponent(IconReturn, {
|
|
4189
4227
|
size: 10,
|
|
4190
4228
|
"class": "text-black/50"
|
|
4191
4229
|
}), null);
|
|
4192
|
-
return _el$
|
|
4230
|
+
return _el$27;
|
|
4193
4231
|
}
|
|
4194
4232
|
}), null);
|
|
4195
|
-
return _el$
|
|
4233
|
+
return _el$24;
|
|
4196
4234
|
}
|
|
4197
4235
|
});
|
|
4198
4236
|
}
|
|
4199
4237
|
}), null);
|
|
4200
|
-
return _el$
|
|
4238
|
+
return _el$21;
|
|
4201
4239
|
})();
|
|
4202
4240
|
};
|
|
4203
4241
|
var SelectionLabel = (props) => {
|
|
@@ -4401,21 +4439,21 @@ var SelectionLabel = (props) => {
|
|
|
4401
4439
|
return memo(() => props.visible !== false)() && (props.selectionBounds || shouldShowWithoutBounds());
|
|
4402
4440
|
},
|
|
4403
4441
|
get children() {
|
|
4404
|
-
var _el$
|
|
4405
|
-
_el$
|
|
4406
|
-
_el$
|
|
4407
|
-
_el$
|
|
4442
|
+
var _el$29 = _tmpl$25(), _el$30 = _el$29.firstChild;
|
|
4443
|
+
_el$29.$$click = stopPropagation;
|
|
4444
|
+
_el$29.$$mousedown = stopPropagation;
|
|
4445
|
+
_el$29.$$pointerdown = handleContainerPointerDown;
|
|
4408
4446
|
var _ref$ = containerRef;
|
|
4409
|
-
typeof _ref$ === "function" ? use(_ref$, _el$
|
|
4410
|
-
insert(_el$
|
|
4447
|
+
typeof _ref$ === "function" ? use(_ref$, _el$29) : containerRef = _el$29;
|
|
4448
|
+
insert(_el$29, createComponent(Arrow, {
|
|
4411
4449
|
get position() {
|
|
4412
4450
|
return arrowPosition();
|
|
4413
4451
|
},
|
|
4414
4452
|
get leftPx() {
|
|
4415
4453
|
return computedPosition().arrowLeft;
|
|
4416
4454
|
}
|
|
4417
|
-
}), _el$
|
|
4418
|
-
insert(_el$
|
|
4455
|
+
}), _el$30);
|
|
4456
|
+
insert(_el$29, createComponent(Show, {
|
|
4419
4457
|
get when() {
|
|
4420
4458
|
return memo(() => !!(props.status === "copied" || props.status === "fading"))() && !props.error;
|
|
4421
4459
|
},
|
|
@@ -4424,60 +4462,69 @@ var SelectionLabel = (props) => {
|
|
|
4424
4462
|
get statusText() {
|
|
4425
4463
|
return memo(() => !!props.hasAgent)() ? props.statusText ?? "Completed" : "Copied";
|
|
4426
4464
|
},
|
|
4465
|
+
get supportsUndo() {
|
|
4466
|
+
return props.supportsUndo;
|
|
4467
|
+
},
|
|
4468
|
+
get supportsFollowUp() {
|
|
4469
|
+
return props.supportsFollowUp;
|
|
4470
|
+
},
|
|
4427
4471
|
get onDismiss() {
|
|
4428
4472
|
return props.onDismiss;
|
|
4429
4473
|
},
|
|
4430
4474
|
get onUndo() {
|
|
4431
4475
|
return props.onUndo;
|
|
4476
|
+
},
|
|
4477
|
+
get onReply() {
|
|
4478
|
+
return props.onReply;
|
|
4432
4479
|
}
|
|
4433
4480
|
});
|
|
4434
4481
|
}
|
|
4435
|
-
}), _el$
|
|
4436
|
-
insert(_el$
|
|
4482
|
+
}), _el$30);
|
|
4483
|
+
insert(_el$30, createComponent(Show, {
|
|
4437
4484
|
get when() {
|
|
4438
4485
|
return props.status === "copying";
|
|
4439
4486
|
},
|
|
4440
4487
|
get children() {
|
|
4441
|
-
var _el$
|
|
4442
|
-
insert(_el$
|
|
4443
|
-
insert(_el$
|
|
4488
|
+
var _el$31 = _tmpl$16(), _el$32 = _el$31.firstChild, _el$33 = _el$32.firstChild, _el$34 = _el$33.firstChild;
|
|
4489
|
+
insert(_el$34, () => props.statusText ?? "Grabbing\u2026");
|
|
4490
|
+
insert(_el$31, createComponent(BottomSection, {
|
|
4444
4491
|
get children() {
|
|
4445
|
-
var _el$
|
|
4492
|
+
var _el$35 = _tmpl$15(), _el$36 = _el$35.firstChild;
|
|
4446
4493
|
var _ref$2 = inputRef;
|
|
4447
|
-
typeof _ref$2 === "function" ? use(_ref$2, _el$
|
|
4448
|
-
insert(_el$
|
|
4494
|
+
typeof _ref$2 === "function" ? use(_ref$2, _el$36) : inputRef = _el$36;
|
|
4495
|
+
insert(_el$35, createComponent(Show, {
|
|
4449
4496
|
get when() {
|
|
4450
4497
|
return props.onAbort;
|
|
4451
4498
|
},
|
|
4452
4499
|
get children() {
|
|
4453
|
-
var _el$
|
|
4454
|
-
_el$
|
|
4500
|
+
var _el$37 = _tmpl$14();
|
|
4501
|
+
_el$37.$$click = (event) => {
|
|
4455
4502
|
event.stopPropagation();
|
|
4456
4503
|
props.onAbort?.();
|
|
4457
4504
|
};
|
|
4458
|
-
_el$
|
|
4505
|
+
_el$37.$$pointerup = (event) => {
|
|
4459
4506
|
event.stopPropagation();
|
|
4460
4507
|
props.onAbort?.();
|
|
4461
4508
|
};
|
|
4462
|
-
_el$
|
|
4463
|
-
_el$
|
|
4464
|
-
return _el$
|
|
4509
|
+
_el$37.$$mousedown = (event) => event.stopPropagation();
|
|
4510
|
+
_el$37.$$pointerdown = (event) => event.stopPropagation();
|
|
4511
|
+
return _el$37;
|
|
4465
4512
|
}
|
|
4466
4513
|
}), null);
|
|
4467
|
-
createRenderEffect(() => _el$
|
|
4468
|
-
return _el$
|
|
4514
|
+
createRenderEffect(() => _el$36.value = props.inputValue ?? "");
|
|
4515
|
+
return _el$35;
|
|
4469
4516
|
}
|
|
4470
4517
|
}), null);
|
|
4471
|
-
return _el$
|
|
4518
|
+
return _el$31;
|
|
4472
4519
|
}
|
|
4473
4520
|
}), null);
|
|
4474
|
-
insert(_el$
|
|
4521
|
+
insert(_el$30, createComponent(Show, {
|
|
4475
4522
|
get when() {
|
|
4476
4523
|
return memo(() => !!isNotProcessing())() && !props.isInputExpanded;
|
|
4477
4524
|
},
|
|
4478
4525
|
get children() {
|
|
4479
|
-
var _el$
|
|
4480
|
-
insert(_el$
|
|
4526
|
+
var _el$38 = _tmpl$19(), _el$39 = _el$38.firstChild, _el$41 = _el$39.nextSibling, _el$42 = _el$41.firstChild;
|
|
4527
|
+
insert(_el$39, createComponent(ClickToCopyPill, {
|
|
4481
4528
|
onClick: handleSubmit,
|
|
4482
4529
|
shrink: true,
|
|
4483
4530
|
get hasParent() {
|
|
@@ -4487,19 +4534,19 @@ var SelectionLabel = (props) => {
|
|
|
4487
4534
|
return props.hasAgent;
|
|
4488
4535
|
}
|
|
4489
4536
|
}), null);
|
|
4490
|
-
insert(_el$
|
|
4537
|
+
insert(_el$39, createComponent(Show, {
|
|
4491
4538
|
get when() {
|
|
4492
4539
|
return props.componentName;
|
|
4493
4540
|
},
|
|
4494
4541
|
get children() {
|
|
4495
|
-
var _el$
|
|
4496
|
-
insert(_el$
|
|
4542
|
+
var _el$40 = _tmpl$17();
|
|
4543
|
+
insert(_el$40, createComponent(ParentBadge, {
|
|
4497
4544
|
get name() {
|
|
4498
4545
|
return props.componentName;
|
|
4499
4546
|
}
|
|
4500
4547
|
}), null);
|
|
4501
|
-
insert(_el$
|
|
4502
|
-
insert(_el$
|
|
4548
|
+
insert(_el$40, createComponent(ChevronSeparator, {}), null);
|
|
4549
|
+
insert(_el$40, createComponent(TagBadge, {
|
|
4503
4550
|
get tagName() {
|
|
4504
4551
|
return tagDisplay();
|
|
4505
4552
|
},
|
|
@@ -4508,13 +4555,12 @@ var SelectionLabel = (props) => {
|
|
|
4508
4555
|
},
|
|
4509
4556
|
onClick: handleTagClick,
|
|
4510
4557
|
onHoverChange: handleTagHoverChange,
|
|
4511
|
-
showMono: true,
|
|
4512
4558
|
shrink: true
|
|
4513
4559
|
}), null);
|
|
4514
|
-
return _el$
|
|
4560
|
+
return _el$40;
|
|
4515
4561
|
}
|
|
4516
4562
|
}), null);
|
|
4517
|
-
insert(_el$
|
|
4563
|
+
insert(_el$39, createComponent(Show, {
|
|
4518
4564
|
get when() {
|
|
4519
4565
|
return !props.componentName;
|
|
4520
4566
|
},
|
|
@@ -4528,42 +4574,41 @@ var SelectionLabel = (props) => {
|
|
|
4528
4574
|
},
|
|
4529
4575
|
onClick: handleTagClick,
|
|
4530
4576
|
onHoverChange: handleTagHoverChange,
|
|
4531
|
-
showMono: true,
|
|
4532
4577
|
shrink: true
|
|
4533
4578
|
});
|
|
4534
4579
|
}
|
|
4535
4580
|
}), null);
|
|
4536
|
-
insert(_el$
|
|
4581
|
+
insert(_el$42, createComponent(BottomSection, {
|
|
4537
4582
|
get children() {
|
|
4538
|
-
var _el$
|
|
4539
|
-
insert(_el$
|
|
4583
|
+
var _el$43 = _tmpl$18(), _el$44 = _el$43.firstChild, _el$45 = _el$44.nextSibling;
|
|
4584
|
+
insert(_el$45, createComponent(IconReturn, {
|
|
4540
4585
|
size: 10,
|
|
4541
4586
|
"class": "opacity-[0.99] text-black"
|
|
4542
4587
|
}));
|
|
4543
|
-
return _el$
|
|
4588
|
+
return _el$43;
|
|
4544
4589
|
}
|
|
4545
4590
|
}));
|
|
4546
4591
|
createRenderEffect((_p$) => {
|
|
4547
4592
|
var _v$3 = cn("contain-layout shrink-0 flex items-center gap-1 pt-1 w-fit h-fit pl-1.5", props.componentName ? "pr-1.5" : "pr-1"), _v$4 = isIdle() ? "1fr" : "0fr", _v$5 = cn("overflow-hidden min-h-0", !isIdle() && "w-0");
|
|
4548
|
-
_v$3 !== _p$.e && className(_el$
|
|
4549
|
-
_v$4 !== _p$.t && setStyleProperty(_el$
|
|
4550
|
-
_v$5 !== _p$.a && className(_el$
|
|
4593
|
+
_v$3 !== _p$.e && className(_el$39, _p$.e = _v$3);
|
|
4594
|
+
_v$4 !== _p$.t && setStyleProperty(_el$41, "grid-template-rows", _p$.t = _v$4);
|
|
4595
|
+
_v$5 !== _p$.a && className(_el$42, _p$.a = _v$5);
|
|
4551
4596
|
return _p$;
|
|
4552
4597
|
}, {
|
|
4553
4598
|
e: void 0,
|
|
4554
4599
|
t: void 0,
|
|
4555
4600
|
a: void 0
|
|
4556
4601
|
});
|
|
4557
|
-
return _el$
|
|
4602
|
+
return _el$38;
|
|
4558
4603
|
}
|
|
4559
4604
|
}), null);
|
|
4560
|
-
insert(_el$
|
|
4605
|
+
insert(_el$30, createComponent(Show, {
|
|
4561
4606
|
get when() {
|
|
4562
4607
|
return memo(() => !!(isNotProcessing() && props.isInputExpanded))() && !props.isPendingDismiss;
|
|
4563
4608
|
},
|
|
4564
4609
|
get children() {
|
|
4565
|
-
var _el$
|
|
4566
|
-
insert(_el$
|
|
4610
|
+
var _el$46 = _tmpl$24(), _el$47 = _el$46.firstChild;
|
|
4611
|
+
insert(_el$47, createComponent(ClickToCopyPill, {
|
|
4567
4612
|
onClick: handleSubmit,
|
|
4568
4613
|
dimmed: true,
|
|
4569
4614
|
shrink: true,
|
|
@@ -4574,19 +4619,19 @@ var SelectionLabel = (props) => {
|
|
|
4574
4619
|
return props.hasAgent;
|
|
4575
4620
|
}
|
|
4576
4621
|
}), null);
|
|
4577
|
-
insert(_el$
|
|
4622
|
+
insert(_el$47, createComponent(Show, {
|
|
4578
4623
|
get when() {
|
|
4579
4624
|
return props.componentName;
|
|
4580
4625
|
},
|
|
4581
4626
|
get children() {
|
|
4582
|
-
var _el$
|
|
4583
|
-
insert(_el$
|
|
4627
|
+
var _el$48 = _tmpl$17();
|
|
4628
|
+
insert(_el$48, createComponent(ParentBadge, {
|
|
4584
4629
|
get name() {
|
|
4585
4630
|
return props.componentName;
|
|
4586
4631
|
}
|
|
4587
4632
|
}), null);
|
|
4588
|
-
insert(_el$
|
|
4589
|
-
insert(_el$
|
|
4633
|
+
insert(_el$48, createComponent(ChevronSeparator, {}), null);
|
|
4634
|
+
insert(_el$48, createComponent(TagBadge, {
|
|
4590
4635
|
get tagName() {
|
|
4591
4636
|
return tagDisplay();
|
|
4592
4637
|
},
|
|
@@ -4595,14 +4640,13 @@ var SelectionLabel = (props) => {
|
|
|
4595
4640
|
},
|
|
4596
4641
|
onClick: handleTagClick,
|
|
4597
4642
|
onHoverChange: handleTagHoverChange,
|
|
4598
|
-
showMono: true,
|
|
4599
4643
|
shrink: true,
|
|
4600
4644
|
forceShowIcon: true
|
|
4601
4645
|
}), null);
|
|
4602
|
-
return _el$
|
|
4646
|
+
return _el$48;
|
|
4603
4647
|
}
|
|
4604
4648
|
}), null);
|
|
4605
|
-
insert(_el$
|
|
4649
|
+
insert(_el$47, createComponent(Show, {
|
|
4606
4650
|
get when() {
|
|
4607
4651
|
return !props.componentName;
|
|
4608
4652
|
},
|
|
@@ -4616,68 +4660,78 @@ var SelectionLabel = (props) => {
|
|
|
4616
4660
|
},
|
|
4617
4661
|
onClick: handleTagClick,
|
|
4618
4662
|
onHoverChange: handleTagHoverChange,
|
|
4619
|
-
showMono: true,
|
|
4620
4663
|
shrink: true,
|
|
4621
4664
|
forceShowIcon: true
|
|
4622
4665
|
});
|
|
4623
4666
|
}
|
|
4624
4667
|
}), null);
|
|
4625
|
-
insert(_el$
|
|
4668
|
+
insert(_el$46, createComponent(BottomSection, {
|
|
4626
4669
|
get children() {
|
|
4627
|
-
|
|
4628
|
-
_el$48.$$keydown = handleKeyDown;
|
|
4629
|
-
_el$48.$$input = handleInput;
|
|
4630
|
-
var _ref$3 = inputRef;
|
|
4631
|
-
typeof _ref$3 === "function" ? use(_ref$3, _el$48) : inputRef = _el$48;
|
|
4632
|
-
insert(_el$49, createComponent(Show, {
|
|
4633
|
-
get when() {
|
|
4634
|
-
return memo(() => !!(props.hasAgent && speechRecognition.isSupported()))() && !props.inputValue;
|
|
4635
|
-
},
|
|
4636
|
-
get children() {
|
|
4637
|
-
var _el$50 = _tmpl$19();
|
|
4638
|
-
addEventListener(_el$50, "click", speechRecognition.toggle);
|
|
4639
|
-
insert(_el$50, createComponent(IconMic, {
|
|
4640
|
-
size: 11,
|
|
4641
|
-
get ["class"]() {
|
|
4642
|
-
return speechRecognition.isListening() ? "animate-pulse" : "";
|
|
4643
|
-
}
|
|
4644
|
-
}));
|
|
4645
|
-
createRenderEffect((_p$) => {
|
|
4646
|
-
var _v$6 = cn("contain-layout shrink-0 flex items-center justify-center px-[2px] py-[2px] rounded-xs [border-width:0.5px] border-solid size-fit cursor-pointer transition-all hover:scale-105", speechRecognition.isListening() ? "bg-grab-purple border-grab-purple text-white" : "bg-white border-[#B3B3B3] text-black"), _v$7 = speechRecognition.isListening() ? "Stop listening" : "Start voice input";
|
|
4647
|
-
_v$6 !== _p$.e && className(_el$50, _p$.e = _v$6);
|
|
4648
|
-
_v$7 !== _p$.t && setAttribute(_el$50, "title", _p$.t = _v$7);
|
|
4649
|
-
return _p$;
|
|
4650
|
-
}, {
|
|
4651
|
-
e: void 0,
|
|
4652
|
-
t: void 0
|
|
4653
|
-
});
|
|
4654
|
-
return _el$50;
|
|
4655
|
-
}
|
|
4656
|
-
}), null);
|
|
4657
|
-
insert(_el$49, createComponent(Show, {
|
|
4670
|
+
return [createComponent(Show, {
|
|
4658
4671
|
get when() {
|
|
4659
|
-
return props.
|
|
4672
|
+
return props.replyToPrompt;
|
|
4660
4673
|
},
|
|
4661
4674
|
get children() {
|
|
4662
|
-
var _el$
|
|
4663
|
-
_el$51
|
|
4664
|
-
|
|
4665
|
-
size: 10,
|
|
4666
|
-
"class": "opacity-[0.99] text-black"
|
|
4667
|
-
}));
|
|
4668
|
-
return _el$51;
|
|
4675
|
+
var _el$49 = _tmpl$20(), _el$50 = _el$49.firstChild, _el$51 = _el$50.nextSibling;
|
|
4676
|
+
insert(_el$51, () => props.replyToPrompt);
|
|
4677
|
+
return _el$49;
|
|
4669
4678
|
}
|
|
4670
|
-
}),
|
|
4671
|
-
|
|
4672
|
-
|
|
4673
|
-
|
|
4679
|
+
}), (() => {
|
|
4680
|
+
var _el$52 = _tmpl$23(), _el$53 = _el$52.firstChild, _el$54 = _el$53.nextSibling;
|
|
4681
|
+
_el$53.$$keydown = handleKeyDown;
|
|
4682
|
+
_el$53.$$input = handleInput;
|
|
4683
|
+
var _ref$3 = inputRef;
|
|
4684
|
+
typeof _ref$3 === "function" ? use(_ref$3, _el$53) : inputRef = _el$53;
|
|
4685
|
+
insert(_el$54, createComponent(Show, {
|
|
4686
|
+
get when() {
|
|
4687
|
+
return memo(() => !!(props.hasAgent && speechRecognition.isSupported()))() && !props.inputValue;
|
|
4688
|
+
},
|
|
4689
|
+
get children() {
|
|
4690
|
+
var _el$55 = _tmpl$21();
|
|
4691
|
+
addEventListener(_el$55, "click", speechRecognition.toggle);
|
|
4692
|
+
insert(_el$55, createComponent(IconMic, {
|
|
4693
|
+
size: 11,
|
|
4694
|
+
get ["class"]() {
|
|
4695
|
+
return speechRecognition.isListening() ? "animate-pulse" : "";
|
|
4696
|
+
}
|
|
4697
|
+
}));
|
|
4698
|
+
createRenderEffect((_p$) => {
|
|
4699
|
+
var _v$6 = cn("contain-layout shrink-0 flex items-center justify-center px-[2px] py-[2px] rounded-xs [border-width:0.5px] border-solid size-fit cursor-pointer transition-all hover:scale-105", speechRecognition.isListening() ? "bg-grab-purple border-grab-purple text-white" : "bg-white border-[#B3B3B3] text-black"), _v$7 = speechRecognition.isListening() ? "Stop listening" : "Start voice input";
|
|
4700
|
+
_v$6 !== _p$.e && className(_el$55, _p$.e = _v$6);
|
|
4701
|
+
_v$7 !== _p$.t && setAttribute(_el$55, "title", _p$.t = _v$7);
|
|
4702
|
+
return _p$;
|
|
4703
|
+
}, {
|
|
4704
|
+
e: void 0,
|
|
4705
|
+
t: void 0
|
|
4706
|
+
});
|
|
4707
|
+
return _el$55;
|
|
4708
|
+
}
|
|
4709
|
+
}), null);
|
|
4710
|
+
insert(_el$54, createComponent(Show, {
|
|
4711
|
+
get when() {
|
|
4712
|
+
return props.inputValue;
|
|
4713
|
+
},
|
|
4714
|
+
get children() {
|
|
4715
|
+
var _el$56 = _tmpl$222();
|
|
4716
|
+
_el$56.$$click = handleSubmit;
|
|
4717
|
+
insert(_el$56, createComponent(IconReturn, {
|
|
4718
|
+
size: 10,
|
|
4719
|
+
"class": "opacity-[0.99] text-black"
|
|
4720
|
+
}));
|
|
4721
|
+
return _el$56;
|
|
4722
|
+
}
|
|
4723
|
+
}), null);
|
|
4724
|
+
createRenderEffect(() => setAttribute(_el$53, "placeholder", speechRecognition.isListening() ? "listening..." : "type prompt"));
|
|
4725
|
+
createRenderEffect(() => _el$53.value = props.inputValue ?? "");
|
|
4726
|
+
return _el$52;
|
|
4727
|
+
})()];
|
|
4674
4728
|
}
|
|
4675
4729
|
}), null);
|
|
4676
|
-
createRenderEffect(() => className(_el$
|
|
4677
|
-
return _el$
|
|
4730
|
+
createRenderEffect(() => className(_el$47, cn("contain-layout shrink-0 flex items-center gap-1 pt-1 w-fit h-fit pl-1.5", props.componentName ? "pr-1.5" : "pr-1")));
|
|
4731
|
+
return _el$46;
|
|
4678
4732
|
}
|
|
4679
4733
|
}), null);
|
|
4680
|
-
insert(_el$
|
|
4734
|
+
insert(_el$30, createComponent(Show, {
|
|
4681
4735
|
get when() {
|
|
4682
4736
|
return props.isPendingDismiss;
|
|
4683
4737
|
},
|
|
@@ -4692,7 +4746,7 @@ var SelectionLabel = (props) => {
|
|
|
4692
4746
|
});
|
|
4693
4747
|
}
|
|
4694
4748
|
}), null);
|
|
4695
|
-
insert(_el$
|
|
4749
|
+
insert(_el$30, createComponent(Show, {
|
|
4696
4750
|
get when() {
|
|
4697
4751
|
return props.error;
|
|
4698
4752
|
},
|
|
@@ -4703,17 +4757,20 @@ var SelectionLabel = (props) => {
|
|
|
4703
4757
|
},
|
|
4704
4758
|
get onAcknowledge() {
|
|
4705
4759
|
return props.onAcknowledgeError;
|
|
4760
|
+
},
|
|
4761
|
+
get onRetry() {
|
|
4762
|
+
return props.onRetry;
|
|
4706
4763
|
}
|
|
4707
4764
|
});
|
|
4708
4765
|
}
|
|
4709
4766
|
}), null);
|
|
4710
4767
|
createRenderEffect((_p$) => {
|
|
4711
4768
|
var _v$8 = `${computedPosition().top}px`, _v$9 = `${computedPosition().left}px`, _v$0 = props.isInputExpanded || props.status === "copied" && props.onDismiss || props.status === "copying" && props.onAbort ? "auto" : "none", _v$1 = props.status === "fading" ? 0 : 1, _v$10 = (props.status === "copied" || props.status === "fading") && !props.error ? "none" : void 0;
|
|
4712
|
-
_v$8 !== _p$.e && setStyleProperty(_el$
|
|
4713
|
-
_v$9 !== _p$.t && setStyleProperty(_el$
|
|
4714
|
-
_v$0 !== _p$.a && setStyleProperty(_el$
|
|
4715
|
-
_v$1 !== _p$.o && setStyleProperty(_el$
|
|
4716
|
-
_v$10 !== _p$.i && setStyleProperty(_el$
|
|
4769
|
+
_v$8 !== _p$.e && setStyleProperty(_el$29, "top", _p$.e = _v$8);
|
|
4770
|
+
_v$9 !== _p$.t && setStyleProperty(_el$29, "left", _p$.t = _v$9);
|
|
4771
|
+
_v$0 !== _p$.a && setStyleProperty(_el$29, "pointer-events", _p$.a = _v$0);
|
|
4772
|
+
_v$1 !== _p$.o && setStyleProperty(_el$29, "opacity", _p$.o = _v$1);
|
|
4773
|
+
_v$10 !== _p$.i && setStyleProperty(_el$30, "display", _p$.i = _v$10);
|
|
4717
4774
|
return _p$;
|
|
4718
4775
|
}, {
|
|
4719
4776
|
e: void 0,
|
|
@@ -4722,14 +4779,14 @@ var SelectionLabel = (props) => {
|
|
|
4722
4779
|
o: void 0,
|
|
4723
4780
|
i: void 0
|
|
4724
4781
|
});
|
|
4725
|
-
return _el$
|
|
4782
|
+
return _el$29;
|
|
4726
4783
|
}
|
|
4727
4784
|
});
|
|
4728
4785
|
};
|
|
4729
4786
|
delegateEvents(["click", "pointerdown", "mousedown", "pointerup", "input", "keydown"]);
|
|
4730
4787
|
|
|
4731
4788
|
// src/components/selection-cursor.tsx
|
|
4732
|
-
var _tmpl$
|
|
4789
|
+
var _tmpl$26 = /* @__PURE__ */ template(`<div class="fixed z-2147483647"><button data-react-grab-selection-cursor>`);
|
|
4733
4790
|
var SelectionCursor = (props) => {
|
|
4734
4791
|
const [isHovered, setIsHovered] = createSignal(false);
|
|
4735
4792
|
const [debouncedVisible, setDebouncedVisible] = createSignal(false);
|
|
@@ -4766,7 +4823,7 @@ var SelectionCursor = (props) => {
|
|
|
4766
4823
|
});
|
|
4767
4824
|
}
|
|
4768
4825
|
}), (() => {
|
|
4769
|
-
var _el$ = _tmpl$
|
|
4826
|
+
var _el$ = _tmpl$26(), _el$2 = _el$.firstChild;
|
|
4770
4827
|
_el$.addEventListener("mouseleave", () => setIsHovered(false));
|
|
4771
4828
|
_el$.addEventListener("mouseenter", () => setIsHovered(true));
|
|
4772
4829
|
_el$2.$$click = handleClick;
|
|
@@ -4918,6 +4975,12 @@ var ReactGrabRenderer = (props) => {
|
|
|
4918
4975
|
get inputValue() {
|
|
4919
4976
|
return session().context.prompt;
|
|
4920
4977
|
},
|
|
4978
|
+
get supportsUndo() {
|
|
4979
|
+
return props.supportsUndo;
|
|
4980
|
+
},
|
|
4981
|
+
get supportsFollowUp() {
|
|
4982
|
+
return props.supportsFollowUp;
|
|
4983
|
+
},
|
|
4921
4984
|
onAbort: () => props.onAbortSession?.(session().id),
|
|
4922
4985
|
get onDismiss() {
|
|
4923
4986
|
return session().isStreaming ? void 0 : () => props.onDismissSession?.(session().id);
|
|
@@ -4925,10 +4988,14 @@ var ReactGrabRenderer = (props) => {
|
|
|
4925
4988
|
get onUndo() {
|
|
4926
4989
|
return session().isStreaming ? void 0 : () => props.onUndoSession?.(session().id);
|
|
4927
4990
|
},
|
|
4991
|
+
get onReply() {
|
|
4992
|
+
return session().isStreaming ? void 0 : () => props.onReplySession?.(session().id);
|
|
4993
|
+
},
|
|
4928
4994
|
get error() {
|
|
4929
4995
|
return session().error;
|
|
4930
4996
|
},
|
|
4931
|
-
onAcknowledgeError: () => props.onAcknowledgeSessionError?.(session().id)
|
|
4997
|
+
onAcknowledgeError: () => props.onAcknowledgeSessionError?.(session().id),
|
|
4998
|
+
onRetry: () => props.onRetrySession?.(session().id)
|
|
4932
4999
|
})]
|
|
4933
5000
|
}), createComponent(Show, {
|
|
4934
5001
|
get when() {
|
|
@@ -4957,6 +5024,9 @@ var ReactGrabRenderer = (props) => {
|
|
|
4957
5024
|
get inputValue() {
|
|
4958
5025
|
return props.inputValue;
|
|
4959
5026
|
},
|
|
5027
|
+
get replyToPrompt() {
|
|
5028
|
+
return props.replyToPrompt;
|
|
5029
|
+
},
|
|
4960
5030
|
get hasAgent() {
|
|
4961
5031
|
return props.hasAgent;
|
|
4962
5032
|
},
|
|
@@ -6361,7 +6431,10 @@ var isTargetKeyCombination = (event, options) => {
|
|
|
6361
6431
|
const modifiersMatch = hasModifier ? (metaKey ? event.metaKey : true) && (ctrlKey ? event.ctrlKey : true) && (shiftKey ? event.shiftKey : true) && (altKey ? event.altKey : true) : event.metaKey || event.ctrlKey;
|
|
6362
6432
|
return keyMatches && modifiersMatch;
|
|
6363
6433
|
}
|
|
6364
|
-
|
|
6434
|
+
const hasOnlyMetaOrCtrl = (event.metaKey || event.ctrlKey) && !event.shiftKey && !event.altKey;
|
|
6435
|
+
return Boolean(
|
|
6436
|
+
event.key && hasOnlyMetaOrCtrl && isCLikeKey(event.key, event.code)
|
|
6437
|
+
);
|
|
6365
6438
|
};
|
|
6366
6439
|
|
|
6367
6440
|
// src/utils/is-event-from-overlay.ts
|
|
@@ -6420,17 +6493,21 @@ var deepMergeTheme = mergeThemeWithBase;
|
|
|
6420
6493
|
// src/utils/agent-session.ts
|
|
6421
6494
|
var STORAGE_KEY = "react-grab:agent-sessions";
|
|
6422
6495
|
var generateSessionId = () => `session-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
|
|
6423
|
-
var createSession = (context, position, selectionBounds, tagName, componentName) =>
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
|
|
6429
|
-
|
|
6430
|
-
|
|
6431
|
-
|
|
6432
|
-
|
|
6433
|
-
|
|
6496
|
+
var createSession = (context, position, selectionBounds, tagName, componentName) => {
|
|
6497
|
+
const now = Date.now();
|
|
6498
|
+
return {
|
|
6499
|
+
id: generateSessionId(),
|
|
6500
|
+
context,
|
|
6501
|
+
lastStatus: "",
|
|
6502
|
+
isStreaming: true,
|
|
6503
|
+
createdAt: now,
|
|
6504
|
+
lastUpdatedAt: now,
|
|
6505
|
+
position,
|
|
6506
|
+
selectionBounds,
|
|
6507
|
+
tagName,
|
|
6508
|
+
componentName
|
|
6509
|
+
};
|
|
6510
|
+
};
|
|
6434
6511
|
var getStorage = (storage) => {
|
|
6435
6512
|
if (!storage) return null;
|
|
6436
6513
|
return storage;
|
|
@@ -6488,7 +6565,7 @@ var clearSessionById = (sessionId, storage) => {
|
|
|
6488
6565
|
saveSessions(sessions, storage);
|
|
6489
6566
|
};
|
|
6490
6567
|
var updateSession = (session, updates, storage) => {
|
|
6491
|
-
const updatedSession = { ...session, ...updates };
|
|
6568
|
+
const updatedSession = { ...session, ...updates, lastUpdatedAt: Date.now() };
|
|
6492
6569
|
saveSessionById(updatedSession, storage);
|
|
6493
6570
|
return updatedSession;
|
|
6494
6571
|
};
|
|
@@ -6620,10 +6697,17 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6620
6697
|
if (existingSessions.size === 0) {
|
|
6621
6698
|
return;
|
|
6622
6699
|
}
|
|
6623
|
-
const
|
|
6624
|
-
|
|
6700
|
+
const now = Date.now();
|
|
6701
|
+
const resumableSessions = Array.from(existingSessions.values()).filter(
|
|
6702
|
+
(session) => {
|
|
6703
|
+
if (session.isStreaming) return true;
|
|
6704
|
+
const lastUpdatedAt = session.lastUpdatedAt ?? session.createdAt;
|
|
6705
|
+
const age = now - lastUpdatedAt;
|
|
6706
|
+
const isRecent = age < RECENT_THRESHOLD_MS;
|
|
6707
|
+
return isRecent && Boolean(session.error);
|
|
6708
|
+
}
|
|
6625
6709
|
);
|
|
6626
|
-
if (
|
|
6710
|
+
if (resumableSessions.length === 0) {
|
|
6627
6711
|
clearSessions(storage);
|
|
6628
6712
|
return;
|
|
6629
6713
|
}
|
|
@@ -6631,18 +6715,20 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6631
6715
|
clearSessions(storage);
|
|
6632
6716
|
return;
|
|
6633
6717
|
}
|
|
6634
|
-
const
|
|
6635
|
-
|
|
6718
|
+
const resumableSessionsMap = new Map(
|
|
6719
|
+
resumableSessions.map((session) => [session.id, session])
|
|
6636
6720
|
);
|
|
6637
|
-
setSessions(
|
|
6638
|
-
saveSessions(
|
|
6639
|
-
for (const existingSession of
|
|
6721
|
+
setSessions(resumableSessionsMap);
|
|
6722
|
+
saveSessions(resumableSessionsMap, storage);
|
|
6723
|
+
for (const existingSession of resumableSessions) {
|
|
6640
6724
|
const reacquiredElement = tryReacquireElement(existingSession);
|
|
6641
6725
|
if (reacquiredElement) {
|
|
6642
6726
|
sessionElements.set(existingSession.id, reacquiredElement);
|
|
6643
6727
|
}
|
|
6644
6728
|
const sessionWithResumeStatus = {
|
|
6645
6729
|
...existingSession,
|
|
6730
|
+
isStreaming: true,
|
|
6731
|
+
error: void 0,
|
|
6646
6732
|
lastStatus: existingSession.lastStatus || "Resuming...",
|
|
6647
6733
|
position: existingSession.position ?? {
|
|
6648
6734
|
x: window.innerWidth / 2,
|
|
@@ -6664,36 +6750,55 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6664
6750
|
}
|
|
6665
6751
|
};
|
|
6666
6752
|
const startSession = async (params) => {
|
|
6667
|
-
const { element, prompt, position, selectionBounds } = params;
|
|
6753
|
+
const { element, prompt, position, selectionBounds, sessionId } = params;
|
|
6668
6754
|
const storage = agentOptions?.storage;
|
|
6669
6755
|
if (!agentOptions?.provider) {
|
|
6670
6756
|
return;
|
|
6671
6757
|
}
|
|
6672
|
-
const
|
|
6673
|
-
const
|
|
6758
|
+
const existingSession = sessionId ? sessions().get(sessionId) : void 0;
|
|
6759
|
+
const isFollowUp = Boolean(sessionId);
|
|
6760
|
+
const content = existingSession ? existingSession.context.content : await generateSnippet([element], { maxLines: Infinity });
|
|
6674
6761
|
const context = {
|
|
6675
6762
|
content,
|
|
6676
6763
|
prompt,
|
|
6677
|
-
options: agentOptions?.getOptions?.()
|
|
6764
|
+
options: agentOptions?.getOptions?.(),
|
|
6765
|
+
sessionId: isFollowUp ? sessionId : void 0
|
|
6678
6766
|
};
|
|
6679
|
-
|
|
6680
|
-
|
|
6681
|
-
|
|
6682
|
-
|
|
6683
|
-
|
|
6684
|
-
|
|
6685
|
-
|
|
6686
|
-
|
|
6687
|
-
|
|
6688
|
-
|
|
6689
|
-
|
|
6767
|
+
let session;
|
|
6768
|
+
if (existingSession) {
|
|
6769
|
+
session = updateSession(
|
|
6770
|
+
existingSession,
|
|
6771
|
+
{
|
|
6772
|
+
context,
|
|
6773
|
+
isStreaming: true,
|
|
6774
|
+
lastStatus: "Thinking\u2026"
|
|
6775
|
+
},
|
|
6776
|
+
storage
|
|
6777
|
+
);
|
|
6778
|
+
} else {
|
|
6779
|
+
const tagName = (element.tagName || "").toLowerCase() || void 0;
|
|
6780
|
+
const componentName = await getNearestComponentName(element) || void 0;
|
|
6781
|
+
session = createSession(
|
|
6782
|
+
context,
|
|
6783
|
+
position,
|
|
6784
|
+
selectionBounds,
|
|
6785
|
+
tagName,
|
|
6786
|
+
componentName
|
|
6787
|
+
);
|
|
6788
|
+
session.lastStatus = "Thinking\u2026";
|
|
6789
|
+
sessionElements.set(session.id, element);
|
|
6790
|
+
}
|
|
6690
6791
|
setSessions((prev) => new Map(prev).set(session.id, session));
|
|
6691
6792
|
saveSessionById(session, storage);
|
|
6692
6793
|
agentOptions.onStart?.(session, element);
|
|
6693
6794
|
const abortController = new AbortController();
|
|
6694
6795
|
abortControllers.set(session.id, abortController);
|
|
6796
|
+
const contextWithSessionId = {
|
|
6797
|
+
...context,
|
|
6798
|
+
sessionId: sessionId ?? session.id
|
|
6799
|
+
};
|
|
6695
6800
|
const streamIterator = agentOptions.provider.send(
|
|
6696
|
-
|
|
6801
|
+
contextWithSessionId,
|
|
6697
6802
|
abortController.signal
|
|
6698
6803
|
);
|
|
6699
6804
|
void executeSessionStream(session, streamIterator);
|
|
@@ -6737,6 +6842,38 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6737
6842
|
dismissSession(sessionId);
|
|
6738
6843
|
return prompt;
|
|
6739
6844
|
};
|
|
6845
|
+
const retrySession = (sessionId) => {
|
|
6846
|
+
const currentSessions = sessions();
|
|
6847
|
+
const session = currentSessions.get(sessionId);
|
|
6848
|
+
if (!session || !agentOptions?.provider) return;
|
|
6849
|
+
const storage = agentOptions.storage;
|
|
6850
|
+
const element = sessionElements.get(sessionId);
|
|
6851
|
+
const retriedSession = updateSession(
|
|
6852
|
+
session,
|
|
6853
|
+
{
|
|
6854
|
+
error: void 0,
|
|
6855
|
+
isStreaming: true,
|
|
6856
|
+
lastStatus: "Retrying\u2026"
|
|
6857
|
+
},
|
|
6858
|
+
storage
|
|
6859
|
+
);
|
|
6860
|
+
setSessions((prev) => new Map(prev).set(sessionId, retriedSession));
|
|
6861
|
+
saveSessionById(retriedSession, storage);
|
|
6862
|
+
if (element) {
|
|
6863
|
+
agentOptions.onStart?.(retriedSession, element);
|
|
6864
|
+
}
|
|
6865
|
+
const abortController = new AbortController();
|
|
6866
|
+
abortControllers.set(sessionId, abortController);
|
|
6867
|
+
const contextWithSessionId = {
|
|
6868
|
+
...retriedSession.context,
|
|
6869
|
+
sessionId
|
|
6870
|
+
};
|
|
6871
|
+
const streamIterator = agentOptions.provider.send(
|
|
6872
|
+
contextWithSessionId,
|
|
6873
|
+
abortController.signal
|
|
6874
|
+
);
|
|
6875
|
+
void executeSessionStream(retriedSession, streamIterator);
|
|
6876
|
+
};
|
|
6740
6877
|
const updateSessionBoundsOnViewportChange = () => {
|
|
6741
6878
|
const currentSessions = sessions();
|
|
6742
6879
|
if (currentSessions.size === 0) return;
|
|
@@ -6781,6 +6918,7 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6781
6918
|
dismissSession,
|
|
6782
6919
|
undoSession,
|
|
6783
6920
|
acknowledgeSessionError,
|
|
6921
|
+
retrySession,
|
|
6784
6922
|
updateSessionBoundsOnViewportChange,
|
|
6785
6923
|
getSessionElement,
|
|
6786
6924
|
setOptions,
|
|
@@ -6789,8 +6927,8 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6789
6927
|
};
|
|
6790
6928
|
|
|
6791
6929
|
// src/core.tsx
|
|
6792
|
-
var _tmpl$
|
|
6793
|
-
var _tmpl$
|
|
6930
|
+
var _tmpl$27 = /* @__PURE__ */ template(`<span class="tabular-nums align-middle">`);
|
|
6931
|
+
var _tmpl$28 = /* @__PURE__ */ template(`<span class="font-mono tabular-nums align-middle"><<!>>`);
|
|
6794
6932
|
var _tmpl$33 = /* @__PURE__ */ template(`<span class="tabular-nums ml-1 align-middle"> in `);
|
|
6795
6933
|
var onIdle = (callback) => {
|
|
6796
6934
|
if ("scheduler" in globalThis) {
|
|
@@ -6887,7 +7025,7 @@ var init = (rawOptions) => {
|
|
|
6887
7025
|
hasInited = true;
|
|
6888
7026
|
const logIntro = () => {
|
|
6889
7027
|
try {
|
|
6890
|
-
const version = "0.0.
|
|
7028
|
+
const version = "0.0.80";
|
|
6891
7029
|
const logoDataUri = `data:image/svg+xml;base64,${btoa(LOGO_SVG)}`;
|
|
6892
7030
|
console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
|
|
6893
7031
|
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;`, "");
|
|
@@ -6942,6 +7080,10 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
|
|
|
6942
7080
|
const [frozenElement, setFrozenElement] = createSignal(null);
|
|
6943
7081
|
const [hasAgentProvider, setHasAgentProvider] = createSignal(Boolean(options.agent?.provider));
|
|
6944
7082
|
const [isAgentConnected, setIsAgentConnected] = createSignal(false);
|
|
7083
|
+
const [supportsUndo, setSupportsUndo] = createSignal(Boolean(options.agent?.provider?.undo));
|
|
7084
|
+
const [supportsFollowUp, setSupportsFollowUp] = createSignal(Boolean(options.agent?.provider?.supportsFollowUp));
|
|
7085
|
+
const [replySessionId, setReplySessionId] = createSignal(null);
|
|
7086
|
+
const [replyToPrompt, setReplyToPrompt] = createSignal(null);
|
|
6945
7087
|
const [isPendingDismiss, setIsPendingDismiss] = createSignal(false);
|
|
6946
7088
|
const elementInputCache = /* @__PURE__ */ new WeakMap();
|
|
6947
7089
|
const [nativeSelectionCursorX, setNativeSelectionCursorX] = createSignal(OFFSCREEN_POSITION);
|
|
@@ -7268,7 +7410,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7268
7410
|
const copying = isCopying();
|
|
7269
7411
|
if (!element) {
|
|
7270
7412
|
return (() => {
|
|
7271
|
-
var _el$ = _tmpl$
|
|
7413
|
+
var _el$ = _tmpl$27();
|
|
7272
7414
|
insert(_el$, copying ? "Processing\u2026" : "1 element");
|
|
7273
7415
|
return _el$;
|
|
7274
7416
|
})();
|
|
@@ -7277,7 +7419,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7277
7419
|
const componentName = labelComponentName();
|
|
7278
7420
|
if (tagName && componentName) {
|
|
7279
7421
|
return [(() => {
|
|
7280
|
-
var _el$2 = _tmpl$
|
|
7422
|
+
var _el$2 = _tmpl$28(), _el$3 = _el$2.firstChild, _el$5 = _el$3.nextSibling; _el$5.nextSibling;
|
|
7281
7423
|
insert(_el$2, tagName, _el$5);
|
|
7282
7424
|
return _el$2;
|
|
7283
7425
|
})(), (() => {
|
|
@@ -7288,13 +7430,13 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7288
7430
|
}
|
|
7289
7431
|
if (tagName) {
|
|
7290
7432
|
return (() => {
|
|
7291
|
-
var _el$8 = _tmpl$
|
|
7433
|
+
var _el$8 = _tmpl$28(), _el$9 = _el$8.firstChild, _el$1 = _el$9.nextSibling; _el$1.nextSibling;
|
|
7292
7434
|
insert(_el$8, tagName, _el$1);
|
|
7293
7435
|
return _el$8;
|
|
7294
7436
|
})();
|
|
7295
7437
|
}
|
|
7296
7438
|
return (() => {
|
|
7297
|
-
var _el$10 = _tmpl$
|
|
7439
|
+
var _el$10 = _tmpl$27();
|
|
7298
7440
|
insert(_el$10, copying ? "Processing\u2026" : "1 element");
|
|
7299
7441
|
return _el$10;
|
|
7300
7442
|
})();
|
|
@@ -7564,11 +7706,12 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7564
7706
|
const labelPositionX = mouseX();
|
|
7565
7707
|
const currentX = bounds.x + bounds.width / 2;
|
|
7566
7708
|
const currentY = bounds.y + bounds.height / 2;
|
|
7567
|
-
setMouseX(currentX);
|
|
7568
|
-
setMouseY(currentY);
|
|
7569
7709
|
if (hasAgentProvider() && prompt) {
|
|
7570
7710
|
elementInputCache.delete(element);
|
|
7571
7711
|
deactivateRenderer();
|
|
7712
|
+
const currentReplySessionId = replySessionId();
|
|
7713
|
+
setReplySessionId(null);
|
|
7714
|
+
setReplyToPrompt(null);
|
|
7572
7715
|
void agentManager.startSession({
|
|
7573
7716
|
element,
|
|
7574
7717
|
prompt,
|
|
@@ -7576,10 +7719,13 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7576
7719
|
x: labelPositionX,
|
|
7577
7720
|
y: currentY
|
|
7578
7721
|
},
|
|
7579
|
-
selectionBounds: bounds
|
|
7722
|
+
selectionBounds: bounds,
|
|
7723
|
+
sessionId: currentReplySessionId ?? void 0
|
|
7580
7724
|
});
|
|
7581
7725
|
return;
|
|
7582
7726
|
}
|
|
7727
|
+
setMouseX(currentX);
|
|
7728
|
+
setMouseY(currentY);
|
|
7583
7729
|
setIsInputMode(false);
|
|
7584
7730
|
setInputText("");
|
|
7585
7731
|
if (prompt) {
|
|
@@ -7607,10 +7753,12 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7607
7753
|
elementInputCache.set(element, currentInput);
|
|
7608
7754
|
}
|
|
7609
7755
|
setIsPendingDismiss(false);
|
|
7756
|
+
setReplySessionId(null);
|
|
7610
7757
|
deactivateRenderer();
|
|
7611
7758
|
};
|
|
7612
7759
|
const handleConfirmDismiss = () => {
|
|
7613
7760
|
setIsPendingDismiss(false);
|
|
7761
|
+
setReplySessionId(null);
|
|
7614
7762
|
deactivateRenderer();
|
|
7615
7763
|
};
|
|
7616
7764
|
const handleCancelDismiss = () => {
|
|
@@ -8372,6 +8520,9 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
8372
8520
|
get isInputExpanded() {
|
|
8373
8521
|
return isInputExpanded();
|
|
8374
8522
|
},
|
|
8523
|
+
get replyToPrompt() {
|
|
8524
|
+
return replyToPrompt() ?? void 0;
|
|
8525
|
+
},
|
|
8375
8526
|
get hasAgent() {
|
|
8376
8527
|
return hasAgentProvider();
|
|
8377
8528
|
},
|
|
@@ -8381,15 +8532,48 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
8381
8532
|
get agentSessions() {
|
|
8382
8533
|
return agentManager.sessions();
|
|
8383
8534
|
},
|
|
8535
|
+
get supportsUndo() {
|
|
8536
|
+
return supportsUndo();
|
|
8537
|
+
},
|
|
8538
|
+
get supportsFollowUp() {
|
|
8539
|
+
return supportsFollowUp();
|
|
8540
|
+
},
|
|
8384
8541
|
onAbortSession: (sessionId) => agentManager.abortSession(sessionId),
|
|
8385
8542
|
onDismissSession: (sessionId) => agentManager.dismissSession(sessionId),
|
|
8386
8543
|
onUndoSession: (sessionId) => agentManager.undoSession(sessionId),
|
|
8544
|
+
onReplySession: (sessionId) => {
|
|
8545
|
+
const session = agentManager.sessions().get(sessionId);
|
|
8546
|
+
const element = agentManager.getSessionElement(sessionId);
|
|
8547
|
+
if (session && element) {
|
|
8548
|
+
const positionX = session.position.x;
|
|
8549
|
+
const rect = element.getBoundingClientRect();
|
|
8550
|
+
const centerY = rect.top + rect.height / 2;
|
|
8551
|
+
const previousPrompt = session.context.prompt;
|
|
8552
|
+
agentManager.dismissSession(sessionId);
|
|
8553
|
+
setMouseX(positionX);
|
|
8554
|
+
setMouseY(centerY);
|
|
8555
|
+
setFrozenElement(element);
|
|
8556
|
+
setInputText("");
|
|
8557
|
+
setIsInputExpanded(true);
|
|
8558
|
+
setIsInputMode(true);
|
|
8559
|
+
setIsToggleMode(true);
|
|
8560
|
+
setIsToggleFrozen(true);
|
|
8561
|
+
setReplySessionId(session.context.sessionId ?? sessionId);
|
|
8562
|
+
setReplyToPrompt(previousPrompt);
|
|
8563
|
+
if (!isActivated()) {
|
|
8564
|
+
activateRenderer();
|
|
8565
|
+
}
|
|
8566
|
+
}
|
|
8567
|
+
},
|
|
8387
8568
|
onAcknowledgeSessionError: (sessionId) => {
|
|
8388
8569
|
const prompt = agentManager.acknowledgeSessionError(sessionId);
|
|
8389
8570
|
if (prompt) {
|
|
8390
8571
|
setInputText(prompt);
|
|
8391
8572
|
}
|
|
8392
8573
|
},
|
|
8574
|
+
onRetrySession: (sessionId) => {
|
|
8575
|
+
agentManager.retrySession(sessionId);
|
|
8576
|
+
},
|
|
8393
8577
|
onInputChange: handleInputChange,
|
|
8394
8578
|
onInputSubmit: () => void handleInputSubmit(),
|
|
8395
8579
|
onInputCancel: handleInputCancel,
|
|
@@ -8498,6 +8682,8 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
8498
8682
|
};
|
|
8499
8683
|
agentManager.setOptions(mergedOptions);
|
|
8500
8684
|
setHasAgentProvider(Boolean(mergedOptions.provider));
|
|
8685
|
+
setSupportsUndo(Boolean(mergedOptions.provider?.undo));
|
|
8686
|
+
setSupportsFollowUp(Boolean(mergedOptions.provider?.supportsFollowUp));
|
|
8501
8687
|
if (mergedOptions.provider?.checkConnection) {
|
|
8502
8688
|
void mergedOptions.provider.checkConnection().then((connected) => {
|
|
8503
8689
|
setIsAgentConnected(connected);
|