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