react-grab 0.0.77 → 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-RM6XONHW.cjs → chunk-2OKPQEMK.cjs} +458 -230
- package/dist/{chunk-VOXBYN56.js → chunk-VO4Y6JSD.js} +458 -230
- package/dist/cli.cjs +12 -12
- package/dist/{core-BIJVr_bk.d.cts → core-CO-ZnW1x.d.cts} +9 -0
- package/dist/{core-BIJVr_bk.d.ts → core-CO-ZnW1x.d.ts} +9 -0
- package/dist/core.cjs +7 -7
- package/dist/core.d.cts +1 -1
- package/dist/core.d.ts +1 -1
- package/dist/core.js +1 -1
- package/dist/index.cjs +8 -8
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.global.js +27 -27
- package/dist/index.js +2 -2
- package/dist/styles.css +1 -1
- package/package.json +2 -2
|
@@ -950,8 +950,7 @@ function cleanChildren(parent, current, marker, replacement) {
|
|
|
950
950
|
}
|
|
951
951
|
|
|
952
952
|
// dist/styles.css
|
|
953
|
-
var styles_default = `/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
|
|
954
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--radius-xs:.125rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grab-pink:#b21c8e;--color-grab-purple:#d239c0;--color-label-tag-border:#730079;--color-label-muted:#767676}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-2147483645{z-index:2147483645}.z-2147483646{z-index:2147483646}.z-2147483647{z-index:2147483647}.z-\\[2147483645\\]{z-index:2147483645}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mt-px{margin-top:-1px}.-ml-\\[2px\\]{margin-left:-2px}.ml-1{margin-left:calc(var(--spacing)*1)}.box-border{box-sizing:border-box}.flex{display:flex}.grid{display:grid}.hidden{display:none}.size-fit{width:fit-content;height:fit-content}.h-0{height:calc(var(--spacing)*0)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-5\\.5{height:calc(var(--spacing)*5.5)}.h-\\[7px\\]{height:7px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-fit{height:fit-content}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.w-0{width:calc(var(--spacing)*0)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-\\[7px\\]{width:7px}.w-\\[17px\\]{width:17px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[280px\\]{max-width:280px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-\\[3px\\]{gap:3px}.gap-\\[5px\\]{gap:5px}.gap-px{gap:1px}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\\[1\\.5px\\]{border-radius:1.5px}.rounded-\\[1px\\]{border-radius:1px}.rounded-full{border-radius:3.40282e38px}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-b-xs{border-bottom-right-radius:var(--radius-xs);border-bottom-left-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[\\#7e0002\\]{border-color:#7e0002}.border-\\[\\#B3B3B3\\]{border-color:#b3b3b3}.border-grab-purple{border-color:var(--color-grab-purple)}.border-grab-purple\\/40{border-color:#d239c066}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/40{border-color:color-mix(in oklab,var(--color-grab-purple)40%,transparent)}}.border-grab-purple\\/50{border-color:#d239c080}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/50{border-color:color-mix(in oklab,var(--color-grab-purple)50%,transparent)}}.border-label-tag-border{border-color:var(--color-label-tag-border)}.border-white{border-color:var(--color-white)}.border-t-\\[\\#D9D9D9\\]{border-top-color:#d9d9d9}.bg-\\[\\#F7F7F7\\]{background-color:#f7f7f7}.bg-black{background-color:var(--color-black)}.bg-grab-pink{background-color:var(--color-grab-pink)}.bg-grab-purple{background-color:var(--color-grab-purple)}.bg-grab-purple\\/5{background-color:#d239c00d}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/5{background-color:color-mix(in oklab,var(--color-grab-purple)5%,transparent)}}.bg-grab-purple\\/8{background-color:#d239c014}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/8{background-color:color-mix(in oklab,var(--color-grab-purple)8%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-\\[2px\\]{padding-inline:2px}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:calc(var(--spacing)*0)}.py-\\[2px\\]{padding-block:2px}.py-\\[3px\\]{padding-block:3px}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-1\\.5{padding-right:calc(var(--spacing)*1.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pl-1\\.5{padding-left:calc(var(--spacing)*1.5)}.align-middle{vertical-align:middle}.font-\\[ui-monospace\\,\\'SFMono-Regular\\'\\,\\'SF_Mono\\'\\,\\'Menlo\\'\\,\\'Consolas\\'\\,\\'Liberation_Mono\\'\\,monospace\\]{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.leading-3\\.5{--tw-leading:calc(var(--spacing)*3.5);line-height:calc(var(--spacing)*3.5)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\\[-0\\.04em\\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\\[-0\\.08em\\]{--tw-tracking:-.08em;letter-spacing:-.08em}.wrap-break-word{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.text-\\[\\#0C0C0C\\]{color:#0c0c0c}.text-\\[\\#47004A\\]{color:#47004a}.text-\\[\\#71717a\\]{color:#71717a}.text-\\[\\#B91C1C\\]{color:#b91c1c}.text-\\[\\#c00002\\]{color:#c00002}.text-black{color:var(--color-black)}.text-black\\/50{color:#00000080}@supports (color:color-mix(in lab, red, red)){.text-black\\/50{color:color-mix(in oklab,var(--color-black)50%,transparent)}}.text-label-muted{color:var(--color-label-muted)}.text-label-tag-border{color:var(--color-label-tag-border)}.text-white{color:var(--color-white)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.opacity-\\[0\\.99\\]{opacity:.99}.brightness-125{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter-\\[drop-shadow\\(0px_0px_4px_\\#51515180\\)\\]{filter:drop-shadow(0 0 4px #51515180)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\,height\\]{transition-property:width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-30{--tw-duration:30ms;transition-duration:30ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[transform\\,width\\,height\\]{will-change:transform,width,height}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,)var(--tw-contain-layout,)var(--tw-contain-paint,)var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[font-synthesis\\:none\\]{font-synthesis:none}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:bg-\\[\\#F5F5F5\\]:hover{background-color:#f5f5f5}.hover\\:bg-\\[\\#FEF2F2\\]:hover{background-color:#fef2f2}.hover\\:opacity-100:hover{opacity:1}}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}`;
|
|
953
|
+
var styles_default = '/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-contain-size:initial;--tw-contain-layout:initial;--tw-contain-paint:initial;--tw-contain-style:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--font-weight-medium:500;--radius-xs:.125rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-grab-pink:#b21c8e;--color-grab-purple:#d239c0;--color-label-tag-border:#730079;--color-label-muted:#767676}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.top-0{top:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.z-2147483645{z-index:2147483645}.z-2147483646{z-index:2147483646}.z-2147483647{z-index:2147483647}.z-\\[2147483645\\]{z-index:2147483645}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.-mt-px{margin-top:-1px}.mb-0\\.5{margin-bottom:calc(var(--spacing)*.5)}.-ml-\\[2px\\]{margin-left:-2px}.ml-1{margin-left:calc(var(--spacing)*1)}.box-border{box-sizing:border-box}.flex{display:flex}.grid{display:grid}.hidden{display:none}.size-fit{width:fit-content;height:fit-content}.h-0{height:calc(var(--spacing)*0)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-5\\.5{height:calc(var(--spacing)*5.5)}.h-\\[7px\\]{height:7px}.h-\\[17px\\]{height:17px}.h-\\[18px\\]{height:18px}.h-fit{height:fit-content}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-4{min-height:calc(var(--spacing)*4)}.w-0{width:calc(var(--spacing)*0)}.w-0\\.5{width:calc(var(--spacing)*.5)}.w-1{width:calc(var(--spacing)*1)}.w-\\[7px\\]{width:7px}.w-\\[17px\\]{width:17px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.max-w-\\[280px\\]{max-width:280px}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-\\[3px\\]{gap:3px}.gap-\\[5px\\]{gap:5px}.gap-px{gap:1px}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\\[1\\.5px\\]{border-radius:1.5px}.rounded-\\[1px\\]{border-radius:1px}.rounded-full{border-radius:3.40282e38px}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.rounded-b-xs{border-bottom-right-radius:var(--radius-xs);border-bottom-left-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.\\[border-width\\:0\\.5px\\]{border-width:.5px}.\\[border-top-width\\:0\\.5px\\]{border-top-width:.5px}.border-none{--tw-border-style:none;border-style:none}.border-solid{--tw-border-style:solid;border-style:solid}.border-\\[\\#7e0002\\]{border-color:#7e0002}.border-\\[\\#B3B3B3\\]{border-color:#b3b3b3}.border-grab-purple{border-color:var(--color-grab-purple)}.border-grab-purple\\/40{border-color:#d239c066}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/40{border-color:color-mix(in oklab,var(--color-grab-purple)40%,transparent)}}.border-grab-purple\\/50{border-color:#d239c080}@supports (color:color-mix(in lab, red, red)){.border-grab-purple\\/50{border-color:color-mix(in oklab,var(--color-grab-purple)50%,transparent)}}.border-label-tag-border{border-color:var(--color-label-tag-border)}.border-white{border-color:var(--color-white)}.border-t-\\[\\#D9D9D9\\]{border-top-color:#d9d9d9}.bg-\\[\\#F7F7F7\\]{background-color:#f7f7f7}.bg-black{background-color:var(--color-black)}.bg-grab-pink{background-color:var(--color-grab-pink)}.bg-grab-purple{background-color:var(--color-grab-purple)}.bg-grab-purple\\/5{background-color:#d239c00d}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/5{background-color:color-mix(in oklab,var(--color-grab-purple)5%,transparent)}}.bg-grab-purple\\/8{background-color:#d239c014}@supports (color:color-mix(in lab, red, red)){.bg-grab-purple\\/8{background-color:color-mix(in oklab,var(--color-grab-purple)8%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-\\[2px\\]{padding-inline:2px}.px-\\[3px\\]{padding-inline:3px}.py-0{padding-block:calc(var(--spacing)*0)}.py-\\[2px\\]{padding-block:2px}.py-\\[3px\\]{padding-block:3px}.py-\\[5px\\]{padding-block:5px}.py-px{padding-block:1px}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-1\\.5{padding-top:calc(var(--spacing)*1.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-1\\.5{padding-right:calc(var(--spacing)*1.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pl-1\\.5{padding-left:calc(var(--spacing)*1.5)}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-\\[9px\\]{font-size:9px}.text-\\[11\\.5px\\]{font-size:11.5px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.leading-3{--tw-leading:calc(var(--spacing)*3);line-height:calc(var(--spacing)*3)}.leading-3\\.5{--tw-leading:calc(var(--spacing)*3.5);line-height:calc(var(--spacing)*3.5)}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.wrap-break-word{overflow-wrap:break-word}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.text-\\[\\#0C0C0C\\]{color:#0c0c0c}.text-\\[\\#47004A\\]{color:#47004a}.text-\\[\\#71717a\\]{color:#71717a}.text-\\[\\#B91C1C\\]{color:#b91c1c}.text-\\[\\#a1a1aa\\]{color:#a1a1aa}.text-\\[\\#c00002\\]{color:#c00002}.text-black{color:var(--color-black)}.text-black\\/50{color:#00000080}@supports (color:color-mix(in lab, red, red)){.text-black\\/50{color:color-mix(in oklab,var(--color-black)50%,transparent)}}.text-label-muted{color:var(--color-label-muted)}.text-label-tag-border{color:var(--color-label-tag-border)}.text-white{color:var(--color-white)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.opacity-\\[0\\.99\\]{opacity:.99}.brightness-125{--tw-brightness:brightness(125%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter-\\[drop-shadow\\(0px_0px_4px_\\#51515180\\)\\]{filter:drop-shadow(0 0 4px #51515180)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[width\\,height\\]{transition-property:width,height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-30{--tw-duration:30ms;transition-duration:30ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-\\[transform\\,width\\,height\\]{will-change:transform,width,height}.contain-layout{--tw-contain-layout:layout;contain:var(--tw-contain-size,)var(--tw-contain-layout,)var(--tw-contain-paint,)var(--tw-contain-style,)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\\[font-synthesis\\:none\\]{font-synthesis:none}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:bg-\\[\\#F5F5F5\\]:hover{background-color:#f5f5f5}.hover\\:bg-\\[\\#FEF2F2\\]:hover{background-color:#fef2f2}.hover\\:opacity-100:hover{opacity:1}}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-contain-size{syntax:"*";inherits:false}@property --tw-contain-layout{syntax:"*";inherits:false}@property --tw-contain-paint{syntax:"*";inherits:false}@property --tw-contain-style{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}';
|
|
955
954
|
|
|
956
955
|
// src/utils/is-keyboard-event-triggered-by-input.ts
|
|
957
956
|
var FORM_TAGS_AND_ROLES = [
|
|
@@ -1080,7 +1079,7 @@ var buildOpenFileUrl = (filePath, lineNumber) => {
|
|
|
1080
1079
|
};
|
|
1081
1080
|
|
|
1082
1081
|
// src/constants.ts
|
|
1083
|
-
var VERSION = "0.0.
|
|
1082
|
+
var VERSION = "0.0.80";
|
|
1084
1083
|
var VIEWPORT_MARGIN_PX = 8;
|
|
1085
1084
|
var OFFSCREEN_POSITION = -1e3;
|
|
1086
1085
|
var SELECTION_LERP_FACTOR = 0.95;
|
|
@@ -1091,6 +1090,7 @@ var BLUR_DEACTIVATION_THRESHOLD_MS = 500;
|
|
|
1091
1090
|
var INPUT_FOCUS_ACTIVATION_DELAY_MS = 150;
|
|
1092
1091
|
var DEFAULT_KEY_HOLD_DURATION_MS = 200;
|
|
1093
1092
|
var DOUBLE_CLICK_THRESHOLD_MS = 250;
|
|
1093
|
+
var RECENT_THRESHOLD_MS = 1e4;
|
|
1094
1094
|
var DRAG_THRESHOLD_PX = 2;
|
|
1095
1095
|
var ELEMENT_DETECTION_THROTTLE_MS = 32;
|
|
1096
1096
|
var BOUNDS_RECALC_INTERVAL_MS = 100;
|
|
@@ -3945,32 +3945,55 @@ var IconReturn = (props) => {
|
|
|
3945
3945
|
})();
|
|
3946
3946
|
};
|
|
3947
3947
|
|
|
3948
|
+
// src/components/icon-retry.tsx
|
|
3949
|
+
var _tmpl$6 = /* @__PURE__ */ template(`<svg xmlns=http://www.w3.org/2000/svg viewBox="0 0 24 24"fill=none><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4C7.58 4 4.01 7.58 4.01 12C4.01 16.42 7.58 20 12 20C15.73 20 18.84 17.45 19.73 14H17.65C16.83 16.33 14.61 18 12 18C8.69 18 6 15.31 6 12C6 8.69 8.69 6 12 6C13.66 6 15.14 6.69 16.22 7.78L13 11H20V4L17.65 6.35Z"fill=currentColor>`);
|
|
3950
|
+
var IconRetry = (props) => {
|
|
3951
|
+
const size = () => props.size ?? 12;
|
|
3952
|
+
return (() => {
|
|
3953
|
+
var _el$ = _tmpl$6();
|
|
3954
|
+
createRenderEffect((_p$) => {
|
|
3955
|
+
var _v$ = size(), _v$2 = size(), _v$3 = props.class;
|
|
3956
|
+
_v$ !== _p$.e && setAttribute(_el$, "width", _p$.e = _v$);
|
|
3957
|
+
_v$2 !== _p$.t && setAttribute(_el$, "height", _p$.t = _v$2);
|
|
3958
|
+
_v$3 !== _p$.a && setAttribute(_el$, "class", _p$.a = _v$3);
|
|
3959
|
+
return _p$;
|
|
3960
|
+
}, {
|
|
3961
|
+
e: void 0,
|
|
3962
|
+
t: void 0,
|
|
3963
|
+
a: void 0
|
|
3964
|
+
});
|
|
3965
|
+
return _el$;
|
|
3966
|
+
})();
|
|
3967
|
+
};
|
|
3968
|
+
|
|
3948
3969
|
// src/components/selection-label.tsx
|
|
3949
|
-
var _tmpl$
|
|
3950
|
-
var _tmpl$22 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center w-fit h-4 rounded-[1px] gap-1 px-[3px] [border-width:0.5px] border-solid border-[#B3B3B3] py-0 bg-[#F7F7F7]"><span class="text-[#0C0C0C] text-[11.5px] leading-3.5 shrink-0
|
|
3951
|
-
var _tmpl$32 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center w-fit h-4 rounded-[1px] gap-1 px-[3px] [border-width:0.5px] border-solid border-white py-0"><span class="text-[#0C0C0C] text-[11.5px] leading-3.5 shrink-0
|
|
3970
|
+
var _tmpl$7 = /* @__PURE__ */ template(`<div style="background-image:linear-gradient(in oklab 180deg, oklab(88.7% 0.086 -0.058) 0%, oklab(83.2% 0.132 -0.089) 100%)"><span>`);
|
|
3971
|
+
var _tmpl$22 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center w-fit h-4 rounded-[1px] gap-1 px-[3px] [border-width:0.5px] border-solid border-[#B3B3B3] py-0 bg-[#F7F7F7]"><span class="text-[#0C0C0C] text-[11.5px] leading-3.5 shrink-0 font-medium w-fit h-fit">`);
|
|
3972
|
+
var _tmpl$32 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center w-fit h-4 rounded-[1px] gap-1 px-[3px] [border-width:0.5px] border-solid border-white py-0"><span class="text-[#0C0C0C] text-[11.5px] leading-3.5 shrink-0 font-medium w-fit h-fit">>`);
|
|
3952
3973
|
var _tmpl$42 = /* @__PURE__ */ template(`<div class="absolute w-0 h-0"style="border-left:8px solid transparent;border-right:8px solid transparent">`);
|
|
3953
|
-
var _tmpl$52 = /* @__PURE__ */ template(`<div role=button><div class="text-black text-[12px] leading-4 shrink-0
|
|
3974
|
+
var _tmpl$52 = /* @__PURE__ */ template(`<div role=button><div class="text-black text-[12px] leading-4 shrink-0 font-sans font-medium w-fit h-fit">`);
|
|
3954
3975
|
var _tmpl$62 = /* @__PURE__ */ template(`<div class="[font-synthesis:none] contain-layout shrink-0 flex flex-col items-start px-2 py-[5px] w-auto h-fit self-stretch [border-top-width:0.5px] border-t-solid border-t-[#D9D9D9] antialiased rounded-t-none rounded-b-xs -mt-px"style="background-image:linear-gradient(in oklab 180deg, oklab(100% 0 0) 0%, oklab(96.1% 0 0) 5.92%)">`);
|
|
3955
|
-
var _tmpl$
|
|
3956
|
-
var _tmpl$8 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-end gap-1 w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-full h-fit"><span class="text-black text-[12px] leading-4 shrink-0
|
|
3957
|
-
var _tmpl$9 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit"><button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5
|
|
3958
|
-
var _tmpl$0 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-end gap-1 w-fit h-fit max-w-[280px]"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-full h-fit"><span class="text-[#B91C1C] text-[12px] leading-4
|
|
3959
|
-
var _tmpl$1 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#
|
|
3960
|
-
var _tmpl$10 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center 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
|
|
3961
|
-
var _tmpl$11 = /* @__PURE__ */ template(`<
|
|
3962
|
-
var _tmpl$12 = /* @__PURE__ */ template(`<div class="
|
|
3963
|
-
var _tmpl$13 = /* @__PURE__ */ template(`<
|
|
3964
|
-
var _tmpl$14 = /* @__PURE__ */ template(`<
|
|
3965
|
-
var _tmpl$15 = /* @__PURE__ */ template(`<div class="
|
|
3966
|
-
var _tmpl$16 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-px w-fit h-fit">`);
|
|
3967
|
-
var _tmpl$17 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-
|
|
3968
|
-
var _tmpl$18 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex
|
|
3969
|
-
var _tmpl$19 = /* @__PURE__ */ template(`<
|
|
3970
|
-
var _tmpl$20 = /* @__PURE__ */ template(`<
|
|
3971
|
-
var _tmpl$21 = /* @__PURE__ */ template(`<
|
|
3972
|
-
var _tmpl$222 = /* @__PURE__ */ template(`<
|
|
3973
|
-
var _tmpl$23 = /* @__PURE__ */ template(`<div data-react-grab-ignore-events class="
|
|
3976
|
+
var _tmpl$72 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit"><button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">No</span></button><button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#7e0002] cursor-pointer transition-all hover:bg-[#FEF2F2] h-[17px]"><span class="text-[#B91C1C] text-[11px] leading-3.5 font-sans font-medium">Yes`);
|
|
3977
|
+
var _tmpl$8 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-end gap-1 w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-full h-fit"><span class="text-black text-[12px] leading-4 shrink-0 font-sans font-medium w-fit h-fit">Discard prompt?`);
|
|
3978
|
+
var _tmpl$9 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit"><button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">Retry</span></button><button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">Ok`);
|
|
3979
|
+
var _tmpl$0 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-end gap-1 w-fit h-fit max-w-[280px]"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-full h-fit"><span class="text-[#B91C1C] text-[12px] leading-4 font-sans font-medium">`);
|
|
3980
|
+
var _tmpl$1 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#7e0002] cursor-pointer transition-all hover:bg-[#FEF2F2] h-[17px]"><span class="text-[#B91C1C] text-[11px] leading-3.5 font-sans font-medium">Undo`);
|
|
3981
|
+
var _tmpl$10 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">Reply`);
|
|
3982
|
+
var _tmpl$11 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex items-center justify-center gap-1 px-[3px] py-px rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] cursor-pointer transition-all hover:bg-[#F5F5F5] h-[17px]"><span class="text-black text-[11px] leading-3.5 font-sans font-medium">Ok`);
|
|
3983
|
+
var _tmpl$12 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center justify-end gap-[5px] w-full h-fit">`);
|
|
3984
|
+
var _tmpl$13 = /* @__PURE__ */ template(`<div class="[font-synthesis:none] contain-layout shrink-0 flex flex-col justify-center items-end rounded-xs bg-white antialiased w-fit h-fit"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1.5 pb-1 px-1.5 w-full h-fit"><span class="text-black text-[12px] leading-4 shrink-0 font-sans font-medium w-fit h-fit tabular-nums">`);
|
|
3985
|
+
var _tmpl$14 = /* @__PURE__ */ template(`<button data-react-grab-ignore-events class="contain-layout shrink-0 flex flex-col items-start rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] p-1 size-fit cursor-pointer ml-1 transition-none hover:scale-105"><div data-react-grab-ignore-events class="shrink-0 w-[7px] h-[7px] rounded-[1px] bg-black pointer-events-none">`);
|
|
3986
|
+
var _tmpl$15 = /* @__PURE__ */ template(`<div class="shrink-0 flex justify-between items-end w-full min-h-4"><textarea data-react-grab-ignore-events class="text-black text-[12px] leading-4 font-medium bg-transparent border-none outline-none resize-none flex-1 p-0 m-0 opacity-50 wrap-break-word overflow-y-auto"placeholder="type to edit"rows=1 disabled style=field-sizing:content;min-height:16px;max-height:95px;scrollbar-width:none>`);
|
|
3987
|
+
var _tmpl$16 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit max-w-[280px]"><div class="contain-layout shrink-0 flex items-center gap-1 pt-1 px-1.5 w-auto h-fit"><div class="contain-layout flex items-center px-0 py-px w-auto h-fit rounded-[1.5px] gap-[3px]"><span class="text-[12px] leading-4 font-sans font-medium w-auto h-fit whitespace-normal text-[#71717a] animate-pulse tabular-nums">`);
|
|
3988
|
+
var _tmpl$17 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-px w-fit h-fit">`);
|
|
3989
|
+
var _tmpl$18 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex items-center gap-1 w-fit h-fit"><span class="text-label-muted text-[12px] leading-4 shrink-0 font-sans font-medium w-fit h-fit">Double click to edit</span><div class="contain-layout shrink-0 flex flex-col items-start px-[3px] py-[3px] rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] size-fit">`);
|
|
3990
|
+
var _tmpl$19 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit"><div></div><div class="grid transition-[grid-template-rows] duration-30 ease-out self-stretch"><div>`);
|
|
3991
|
+
var _tmpl$20 = /* @__PURE__ */ template(`<div class="shrink-0 flex items-center gap-0.5 w-full mb-0.5 overflow-hidden"><span class="text-[#a1a1aa] text-[9px] leading-3 shrink-0">\u21B3</span><span class="text-[#a1a1aa] text-[9px] leading-3 italic truncate whitespace-nowrap">`);
|
|
3992
|
+
var _tmpl$21 = /* @__PURE__ */ template(`<button>`);
|
|
3993
|
+
var _tmpl$222 = /* @__PURE__ */ template(`<button class="contain-layout shrink-0 flex flex-col items-start px-[3px] py-[3px] rounded-xs bg-white [border-width:0.5px] border-solid border-[#B3B3B3] size-fit cursor-pointer transition-all hover:scale-105">`);
|
|
3994
|
+
var _tmpl$23 = /* @__PURE__ */ template(`<div class="shrink-0 flex justify-between items-end w-full min-h-4"><textarea data-react-grab-ignore-events class="text-black text-[12px] leading-4 font-medium bg-transparent border-none outline-none resize-none flex-1 p-0 m-0 wrap-break-word overflow-y-auto"rows=1 style=field-sizing:content;min-height:16px;max-height:95px;scrollbar-width:none></textarea><div class="flex items-center gap-0.5 ml-1 w-[17px] h-[17px] justify-end">`);
|
|
3995
|
+
var _tmpl$24 = /* @__PURE__ */ template(`<div class="contain-layout shrink-0 flex flex-col justify-center items-start gap-1 w-fit h-fit max-w-[280px]"><div>`);
|
|
3996
|
+
var _tmpl$25 = /* @__PURE__ */ template(`<div data-react-grab-ignore-events class="fixed font-sans antialiased transition-opacity duration-300 ease-out filter-[drop-shadow(0px_0px_4px_#51515180)] select-none"style=z-index:2147483647><div class="[font-synthesis:none] contain-layout flex items-center gap-[5px] rounded-xs bg-white antialiased w-fit h-fit p-0">`);
|
|
3974
3997
|
var ARROW_HEIGHT = 8;
|
|
3975
3998
|
var LABEL_GAP = 4;
|
|
3976
3999
|
var IDLE_TIMEOUT_MS = 400;
|
|
@@ -3985,7 +4008,7 @@ var TagBadge = (props) => {
|
|
|
3985
4008
|
props.onHoverChange?.(false);
|
|
3986
4009
|
};
|
|
3987
4010
|
return (() => {
|
|
3988
|
-
var _el$ = _tmpl$
|
|
4011
|
+
var _el$ = _tmpl$7(), _el$2 = _el$.firstChild;
|
|
3989
4012
|
addEventListener(_el$, "click", props.onClick);
|
|
3990
4013
|
_el$.addEventListener("mouseleave", handleMouseLeave);
|
|
3991
4014
|
_el$.addEventListener("mouseenter", handleMouseEnter);
|
|
@@ -4004,7 +4027,7 @@ var TagBadge = (props) => {
|
|
|
4004
4027
|
}
|
|
4005
4028
|
}), null);
|
|
4006
4029
|
createRenderEffect((_p$) => {
|
|
4007
|
-
var _v$ = cn("contain-layout flex items-center px-[3px] py-0 h-4 rounded-[1px] gap-0.5 [border-width:0.5px] border-solid border-label-tag-border", props.shrink && "shrink-0 w-fit", props.isClickable && "cursor-pointer"), _v$2 = cn("text-[#47004A] text-[11.5px] leading-3.5 shrink-0 w-fit h-fit
|
|
4030
|
+
var _v$ = cn("contain-layout flex items-center px-[3px] py-0 h-4 rounded-[1px] gap-0.5 [border-width:0.5px] border-solid border-label-tag-border", props.shrink && "shrink-0 w-fit", props.isClickable && "cursor-pointer"), _v$2 = cn("text-[#47004A] text-[11.5px] leading-3.5 shrink-0 w-fit h-fit font-medium");
|
|
4008
4031
|
_v$ !== _p$.e && className(_el$, _p$.e = _v$);
|
|
4009
4032
|
_v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
|
|
4010
4033
|
return _p$;
|
|
@@ -4084,7 +4107,7 @@ var DismissConfirmation = (props) => {
|
|
|
4084
4107
|
var _el$0 = _tmpl$8(); _el$0.firstChild;
|
|
4085
4108
|
insert(_el$0, createComponent(BottomSection, {
|
|
4086
4109
|
get children() {
|
|
4087
|
-
var _el$10 = _tmpl$
|
|
4110
|
+
var _el$10 = _tmpl$72(), _el$11 = _el$10.firstChild, _el$12 = _el$11.nextSibling; _el$12.firstChild;
|
|
4088
4111
|
addEventListener(_el$11, "click", props.onCancel);
|
|
4089
4112
|
addEventListener(_el$12, "click", props.onConfirm);
|
|
4090
4113
|
insert(_el$12, createComponent(IconReturn, {
|
|
@@ -4100,7 +4123,11 @@ var DismissConfirmation = (props) => {
|
|
|
4100
4123
|
var MAX_ERROR_LENGTH = 50;
|
|
4101
4124
|
var ErrorConfirmation = (props) => {
|
|
4102
4125
|
const handleKeyDown = (event) => {
|
|
4103
|
-
if (event.code === "Enter"
|
|
4126
|
+
if (event.code === "Enter") {
|
|
4127
|
+
event.preventDefault();
|
|
4128
|
+
event.stopPropagation();
|
|
4129
|
+
props.onRetry?.();
|
|
4130
|
+
} else if (event.code === "Escape") {
|
|
4104
4131
|
event.preventDefault();
|
|
4105
4132
|
event.stopPropagation();
|
|
4106
4133
|
props.onAcknowledge?.();
|
|
@@ -4126,12 +4153,13 @@ var ErrorConfirmation = (props) => {
|
|
|
4126
4153
|
insert(_el$16, truncatedError);
|
|
4127
4154
|
insert(_el$14, createComponent(BottomSection, {
|
|
4128
4155
|
get children() {
|
|
4129
|
-
var _el$17 = _tmpl$9(), _el$18 = _el$17.firstChild; _el$18.firstChild;
|
|
4130
|
-
addEventListener(_el$18, "click", props.
|
|
4131
|
-
insert(_el$18, createComponent(
|
|
4156
|
+
var _el$17 = _tmpl$9(), _el$18 = _el$17.firstChild; _el$18.firstChild; var _el$20 = _el$18.nextSibling;
|
|
4157
|
+
addEventListener(_el$18, "click", props.onRetry);
|
|
4158
|
+
insert(_el$18, createComponent(IconRetry, {
|
|
4132
4159
|
size: 10,
|
|
4133
4160
|
"class": "text-black/50"
|
|
4134
4161
|
}), null);
|
|
4162
|
+
addEventListener(_el$20, "click", props.onAcknowledge);
|
|
4135
4163
|
return _el$17;
|
|
4136
4164
|
}
|
|
4137
4165
|
}), null);
|
|
@@ -4139,6 +4167,77 @@ var ErrorConfirmation = (props) => {
|
|
|
4139
4167
|
return _el$14;
|
|
4140
4168
|
})();
|
|
4141
4169
|
};
|
|
4170
|
+
var CompletedConfirmation = (props) => {
|
|
4171
|
+
const handleKeyDown = (event) => {
|
|
4172
|
+
if (event.code === "Enter" || event.code === "Escape") {
|
|
4173
|
+
event.preventDefault();
|
|
4174
|
+
event.stopPropagation();
|
|
4175
|
+
props.onDismiss?.();
|
|
4176
|
+
}
|
|
4177
|
+
};
|
|
4178
|
+
onMount(() => {
|
|
4179
|
+
window.addEventListener("keydown", handleKeyDown, {
|
|
4180
|
+
capture: true
|
|
4181
|
+
});
|
|
4182
|
+
});
|
|
4183
|
+
onCleanup(() => {
|
|
4184
|
+
window.removeEventListener("keydown", handleKeyDown, {
|
|
4185
|
+
capture: true
|
|
4186
|
+
});
|
|
4187
|
+
});
|
|
4188
|
+
return (() => {
|
|
4189
|
+
var _el$21 = _tmpl$13(), _el$22 = _el$21.firstChild, _el$23 = _el$22.firstChild;
|
|
4190
|
+
insert(_el$23, () => props.statusText);
|
|
4191
|
+
insert(_el$21, createComponent(Show, {
|
|
4192
|
+
get when() {
|
|
4193
|
+
return props.onDismiss || props.onUndo || props.onReply;
|
|
4194
|
+
},
|
|
4195
|
+
get children() {
|
|
4196
|
+
return createComponent(BottomSection, {
|
|
4197
|
+
get children() {
|
|
4198
|
+
var _el$24 = _tmpl$12();
|
|
4199
|
+
insert(_el$24, createComponent(Show, {
|
|
4200
|
+
get when() {
|
|
4201
|
+
return memo(() => !!props.supportsUndo)() && props.onUndo;
|
|
4202
|
+
},
|
|
4203
|
+
get children() {
|
|
4204
|
+
var _el$25 = _tmpl$1();
|
|
4205
|
+
_el$25.$$click = () => props.onUndo?.();
|
|
4206
|
+
return _el$25;
|
|
4207
|
+
}
|
|
4208
|
+
}), null);
|
|
4209
|
+
insert(_el$24, createComponent(Show, {
|
|
4210
|
+
get when() {
|
|
4211
|
+
return memo(() => !!props.supportsFollowUp)() && props.onReply;
|
|
4212
|
+
},
|
|
4213
|
+
get children() {
|
|
4214
|
+
var _el$26 = _tmpl$10();
|
|
4215
|
+
_el$26.$$click = () => props.onReply?.();
|
|
4216
|
+
return _el$26;
|
|
4217
|
+
}
|
|
4218
|
+
}), null);
|
|
4219
|
+
insert(_el$24, createComponent(Show, {
|
|
4220
|
+
get when() {
|
|
4221
|
+
return props.onDismiss;
|
|
4222
|
+
},
|
|
4223
|
+
get children() {
|
|
4224
|
+
var _el$27 = _tmpl$11(); _el$27.firstChild;
|
|
4225
|
+
_el$27.$$click = () => props.onDismiss?.();
|
|
4226
|
+
insert(_el$27, createComponent(IconReturn, {
|
|
4227
|
+
size: 10,
|
|
4228
|
+
"class": "text-black/50"
|
|
4229
|
+
}), null);
|
|
4230
|
+
return _el$27;
|
|
4231
|
+
}
|
|
4232
|
+
}), null);
|
|
4233
|
+
return _el$24;
|
|
4234
|
+
}
|
|
4235
|
+
});
|
|
4236
|
+
}
|
|
4237
|
+
}), null);
|
|
4238
|
+
return _el$21;
|
|
4239
|
+
})();
|
|
4240
|
+
};
|
|
4142
4241
|
var SelectionLabel = (props) => {
|
|
4143
4242
|
let containerRef;
|
|
4144
4243
|
let inputRef;
|
|
@@ -4340,111 +4439,92 @@ var SelectionLabel = (props) => {
|
|
|
4340
4439
|
return memo(() => props.visible !== false)() && (props.selectionBounds || shouldShowWithoutBounds());
|
|
4341
4440
|
},
|
|
4342
4441
|
get children() {
|
|
4343
|
-
var _el$
|
|
4344
|
-
_el$
|
|
4345
|
-
_el$
|
|
4346
|
-
_el$
|
|
4442
|
+
var _el$29 = _tmpl$25(), _el$30 = _el$29.firstChild;
|
|
4443
|
+
_el$29.$$click = stopPropagation;
|
|
4444
|
+
_el$29.$$mousedown = stopPropagation;
|
|
4445
|
+
_el$29.$$pointerdown = handleContainerPointerDown;
|
|
4347
4446
|
var _ref$ = containerRef;
|
|
4348
|
-
typeof _ref$ === "function" ? use(_ref$, _el$
|
|
4349
|
-
insert(_el$
|
|
4447
|
+
typeof _ref$ === "function" ? use(_ref$, _el$29) : containerRef = _el$29;
|
|
4448
|
+
insert(_el$29, createComponent(Arrow, {
|
|
4350
4449
|
get position() {
|
|
4351
4450
|
return arrowPosition();
|
|
4352
4451
|
},
|
|
4353
4452
|
get leftPx() {
|
|
4354
4453
|
return computedPosition().arrowLeft;
|
|
4355
4454
|
}
|
|
4356
|
-
}), _el$
|
|
4357
|
-
insert(_el$
|
|
4455
|
+
}), _el$30);
|
|
4456
|
+
insert(_el$29, createComponent(Show, {
|
|
4358
4457
|
get when() {
|
|
4359
4458
|
return memo(() => !!(props.status === "copied" || props.status === "fading"))() && !props.error;
|
|
4360
4459
|
},
|
|
4361
4460
|
get children() {
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
return () => _c$() ? props.statusText ?? "Completed" : "Copied";
|
|
4366
|
-
})());
|
|
4367
|
-
insert(_el$21, createComponent(Show, {
|
|
4368
|
-
get when() {
|
|
4369
|
-
return props.onDismiss || props.onUndo;
|
|
4461
|
+
return createComponent(CompletedConfirmation, {
|
|
4462
|
+
get statusText() {
|
|
4463
|
+
return memo(() => !!props.hasAgent)() ? props.statusText ?? "Completed" : "Copied";
|
|
4370
4464
|
},
|
|
4371
|
-
get
|
|
4372
|
-
return
|
|
4373
|
-
|
|
4374
|
-
|
|
4375
|
-
|
|
4376
|
-
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4380
|
-
|
|
4381
|
-
|
|
4382
|
-
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
insert(_el$24, createComponent(Show, {
|
|
4386
|
-
get when() {
|
|
4387
|
-
return props.onDismiss;
|
|
4388
|
-
},
|
|
4389
|
-
get children() {
|
|
4390
|
-
var _el$26 = _tmpl$10();
|
|
4391
|
-
_el$26.$$click = () => props.onDismiss?.();
|
|
4392
|
-
return _el$26;
|
|
4393
|
-
}
|
|
4394
|
-
}), null);
|
|
4395
|
-
return _el$24;
|
|
4396
|
-
}
|
|
4397
|
-
});
|
|
4465
|
+
get supportsUndo() {
|
|
4466
|
+
return props.supportsUndo;
|
|
4467
|
+
},
|
|
4468
|
+
get supportsFollowUp() {
|
|
4469
|
+
return props.supportsFollowUp;
|
|
4470
|
+
},
|
|
4471
|
+
get onDismiss() {
|
|
4472
|
+
return props.onDismiss;
|
|
4473
|
+
},
|
|
4474
|
+
get onUndo() {
|
|
4475
|
+
return props.onUndo;
|
|
4476
|
+
},
|
|
4477
|
+
get onReply() {
|
|
4478
|
+
return props.onReply;
|
|
4398
4479
|
}
|
|
4399
|
-
})
|
|
4400
|
-
return _el$21;
|
|
4480
|
+
});
|
|
4401
4481
|
}
|
|
4402
|
-
}), _el$
|
|
4403
|
-
insert(_el$
|
|
4482
|
+
}), _el$30);
|
|
4483
|
+
insert(_el$30, createComponent(Show, {
|
|
4404
4484
|
get when() {
|
|
4405
4485
|
return props.status === "copying";
|
|
4406
4486
|
},
|
|
4407
4487
|
get children() {
|
|
4408
|
-
var _el$
|
|
4409
|
-
insert(_el$
|
|
4410
|
-
insert(_el$
|
|
4488
|
+
var _el$31 = _tmpl$16(), _el$32 = _el$31.firstChild, _el$33 = _el$32.firstChild, _el$34 = _el$33.firstChild;
|
|
4489
|
+
insert(_el$34, () => props.statusText ?? "Grabbing\u2026");
|
|
4490
|
+
insert(_el$31, createComponent(BottomSection, {
|
|
4411
4491
|
get children() {
|
|
4412
|
-
var _el$
|
|
4492
|
+
var _el$35 = _tmpl$15(), _el$36 = _el$35.firstChild;
|
|
4413
4493
|
var _ref$2 = inputRef;
|
|
4414
|
-
typeof _ref$2 === "function" ? use(_ref$2, _el$
|
|
4415
|
-
insert(_el$
|
|
4494
|
+
typeof _ref$2 === "function" ? use(_ref$2, _el$36) : inputRef = _el$36;
|
|
4495
|
+
insert(_el$35, createComponent(Show, {
|
|
4416
4496
|
get when() {
|
|
4417
4497
|
return props.onAbort;
|
|
4418
4498
|
},
|
|
4419
4499
|
get children() {
|
|
4420
|
-
var _el$
|
|
4421
|
-
_el$
|
|
4500
|
+
var _el$37 = _tmpl$14();
|
|
4501
|
+
_el$37.$$click = (event) => {
|
|
4422
4502
|
event.stopPropagation();
|
|
4423
4503
|
props.onAbort?.();
|
|
4424
4504
|
};
|
|
4425
|
-
_el$
|
|
4505
|
+
_el$37.$$pointerup = (event) => {
|
|
4426
4506
|
event.stopPropagation();
|
|
4427
4507
|
props.onAbort?.();
|
|
4428
4508
|
};
|
|
4429
|
-
_el$
|
|
4430
|
-
_el$
|
|
4431
|
-
return _el$
|
|
4509
|
+
_el$37.$$mousedown = (event) => event.stopPropagation();
|
|
4510
|
+
_el$37.$$pointerdown = (event) => event.stopPropagation();
|
|
4511
|
+
return _el$37;
|
|
4432
4512
|
}
|
|
4433
4513
|
}), null);
|
|
4434
|
-
createRenderEffect(() => _el$
|
|
4435
|
-
return _el$
|
|
4514
|
+
createRenderEffect(() => _el$36.value = props.inputValue ?? "");
|
|
4515
|
+
return _el$35;
|
|
4436
4516
|
}
|
|
4437
4517
|
}), null);
|
|
4438
|
-
return _el$
|
|
4518
|
+
return _el$31;
|
|
4439
4519
|
}
|
|
4440
4520
|
}), null);
|
|
4441
|
-
insert(_el$
|
|
4521
|
+
insert(_el$30, createComponent(Show, {
|
|
4442
4522
|
get when() {
|
|
4443
4523
|
return memo(() => !!isNotProcessing())() && !props.isInputExpanded;
|
|
4444
4524
|
},
|
|
4445
4525
|
get children() {
|
|
4446
|
-
var _el$
|
|
4447
|
-
insert(_el$
|
|
4526
|
+
var _el$38 = _tmpl$19(), _el$39 = _el$38.firstChild, _el$41 = _el$39.nextSibling, _el$42 = _el$41.firstChild;
|
|
4527
|
+
insert(_el$39, createComponent(ClickToCopyPill, {
|
|
4448
4528
|
onClick: handleSubmit,
|
|
4449
4529
|
shrink: true,
|
|
4450
4530
|
get hasParent() {
|
|
@@ -4454,19 +4534,19 @@ var SelectionLabel = (props) => {
|
|
|
4454
4534
|
return props.hasAgent;
|
|
4455
4535
|
}
|
|
4456
4536
|
}), null);
|
|
4457
|
-
insert(_el$
|
|
4537
|
+
insert(_el$39, createComponent(Show, {
|
|
4458
4538
|
get when() {
|
|
4459
4539
|
return props.componentName;
|
|
4460
4540
|
},
|
|
4461
4541
|
get children() {
|
|
4462
|
-
var _el$
|
|
4463
|
-
insert(_el$
|
|
4542
|
+
var _el$40 = _tmpl$17();
|
|
4543
|
+
insert(_el$40, createComponent(ParentBadge, {
|
|
4464
4544
|
get name() {
|
|
4465
4545
|
return props.componentName;
|
|
4466
4546
|
}
|
|
4467
4547
|
}), null);
|
|
4468
|
-
insert(_el$
|
|
4469
|
-
insert(_el$
|
|
4548
|
+
insert(_el$40, createComponent(ChevronSeparator, {}), null);
|
|
4549
|
+
insert(_el$40, createComponent(TagBadge, {
|
|
4470
4550
|
get tagName() {
|
|
4471
4551
|
return tagDisplay();
|
|
4472
4552
|
},
|
|
@@ -4475,13 +4555,12 @@ var SelectionLabel = (props) => {
|
|
|
4475
4555
|
},
|
|
4476
4556
|
onClick: handleTagClick,
|
|
4477
4557
|
onHoverChange: handleTagHoverChange,
|
|
4478
|
-
showMono: true,
|
|
4479
4558
|
shrink: true
|
|
4480
4559
|
}), null);
|
|
4481
|
-
return _el$
|
|
4560
|
+
return _el$40;
|
|
4482
4561
|
}
|
|
4483
4562
|
}), null);
|
|
4484
|
-
insert(_el$
|
|
4563
|
+
insert(_el$39, createComponent(Show, {
|
|
4485
4564
|
get when() {
|
|
4486
4565
|
return !props.componentName;
|
|
4487
4566
|
},
|
|
@@ -4495,42 +4574,41 @@ var SelectionLabel = (props) => {
|
|
|
4495
4574
|
},
|
|
4496
4575
|
onClick: handleTagClick,
|
|
4497
4576
|
onHoverChange: handleTagHoverChange,
|
|
4498
|
-
showMono: true,
|
|
4499
4577
|
shrink: true
|
|
4500
4578
|
});
|
|
4501
4579
|
}
|
|
4502
4580
|
}), null);
|
|
4503
|
-
insert(_el$
|
|
4581
|
+
insert(_el$42, createComponent(BottomSection, {
|
|
4504
4582
|
get children() {
|
|
4505
|
-
var _el$
|
|
4506
|
-
insert(_el$
|
|
4583
|
+
var _el$43 = _tmpl$18(), _el$44 = _el$43.firstChild, _el$45 = _el$44.nextSibling;
|
|
4584
|
+
insert(_el$45, createComponent(IconReturn, {
|
|
4507
4585
|
size: 10,
|
|
4508
4586
|
"class": "opacity-[0.99] text-black"
|
|
4509
4587
|
}));
|
|
4510
|
-
return _el$
|
|
4588
|
+
return _el$43;
|
|
4511
4589
|
}
|
|
4512
4590
|
}));
|
|
4513
4591
|
createRenderEffect((_p$) => {
|
|
4514
4592
|
var _v$3 = cn("contain-layout shrink-0 flex items-center gap-1 pt-1 w-fit h-fit pl-1.5", props.componentName ? "pr-1.5" : "pr-1"), _v$4 = isIdle() ? "1fr" : "0fr", _v$5 = cn("overflow-hidden min-h-0", !isIdle() && "w-0");
|
|
4515
|
-
_v$3 !== _p$.e && className(_el$
|
|
4516
|
-
_v$4 !== _p$.t && setStyleProperty(_el$
|
|
4517
|
-
_v$5 !== _p$.a && className(_el$
|
|
4593
|
+
_v$3 !== _p$.e && className(_el$39, _p$.e = _v$3);
|
|
4594
|
+
_v$4 !== _p$.t && setStyleProperty(_el$41, "grid-template-rows", _p$.t = _v$4);
|
|
4595
|
+
_v$5 !== _p$.a && className(_el$42, _p$.a = _v$5);
|
|
4518
4596
|
return _p$;
|
|
4519
4597
|
}, {
|
|
4520
4598
|
e: void 0,
|
|
4521
4599
|
t: void 0,
|
|
4522
4600
|
a: void 0
|
|
4523
4601
|
});
|
|
4524
|
-
return _el$
|
|
4602
|
+
return _el$38;
|
|
4525
4603
|
}
|
|
4526
4604
|
}), null);
|
|
4527
|
-
insert(_el$
|
|
4605
|
+
insert(_el$30, createComponent(Show, {
|
|
4528
4606
|
get when() {
|
|
4529
4607
|
return memo(() => !!(isNotProcessing() && props.isInputExpanded))() && !props.isPendingDismiss;
|
|
4530
4608
|
},
|
|
4531
4609
|
get children() {
|
|
4532
|
-
var _el$
|
|
4533
|
-
insert(_el$
|
|
4610
|
+
var _el$46 = _tmpl$24(), _el$47 = _el$46.firstChild;
|
|
4611
|
+
insert(_el$47, createComponent(ClickToCopyPill, {
|
|
4534
4612
|
onClick: handleSubmit,
|
|
4535
4613
|
dimmed: true,
|
|
4536
4614
|
shrink: true,
|
|
@@ -4541,19 +4619,19 @@ var SelectionLabel = (props) => {
|
|
|
4541
4619
|
return props.hasAgent;
|
|
4542
4620
|
}
|
|
4543
4621
|
}), null);
|
|
4544
|
-
insert(_el$
|
|
4622
|
+
insert(_el$47, createComponent(Show, {
|
|
4545
4623
|
get when() {
|
|
4546
4624
|
return props.componentName;
|
|
4547
4625
|
},
|
|
4548
4626
|
get children() {
|
|
4549
|
-
var _el$
|
|
4550
|
-
insert(_el$
|
|
4627
|
+
var _el$48 = _tmpl$17();
|
|
4628
|
+
insert(_el$48, createComponent(ParentBadge, {
|
|
4551
4629
|
get name() {
|
|
4552
4630
|
return props.componentName;
|
|
4553
4631
|
}
|
|
4554
4632
|
}), null);
|
|
4555
|
-
insert(_el$
|
|
4556
|
-
insert(_el$
|
|
4633
|
+
insert(_el$48, createComponent(ChevronSeparator, {}), null);
|
|
4634
|
+
insert(_el$48, createComponent(TagBadge, {
|
|
4557
4635
|
get tagName() {
|
|
4558
4636
|
return tagDisplay();
|
|
4559
4637
|
},
|
|
@@ -4562,14 +4640,13 @@ var SelectionLabel = (props) => {
|
|
|
4562
4640
|
},
|
|
4563
4641
|
onClick: handleTagClick,
|
|
4564
4642
|
onHoverChange: handleTagHoverChange,
|
|
4565
|
-
showMono: true,
|
|
4566
4643
|
shrink: true,
|
|
4567
4644
|
forceShowIcon: true
|
|
4568
4645
|
}), null);
|
|
4569
|
-
return _el$
|
|
4646
|
+
return _el$48;
|
|
4570
4647
|
}
|
|
4571
4648
|
}), null);
|
|
4572
|
-
insert(_el$
|
|
4649
|
+
insert(_el$47, createComponent(Show, {
|
|
4573
4650
|
get when() {
|
|
4574
4651
|
return !props.componentName;
|
|
4575
4652
|
},
|
|
@@ -4583,68 +4660,78 @@ var SelectionLabel = (props) => {
|
|
|
4583
4660
|
},
|
|
4584
4661
|
onClick: handleTagClick,
|
|
4585
4662
|
onHoverChange: handleTagHoverChange,
|
|
4586
|
-
showMono: true,
|
|
4587
4663
|
shrink: true,
|
|
4588
4664
|
forceShowIcon: true
|
|
4589
4665
|
});
|
|
4590
4666
|
}
|
|
4591
4667
|
}), null);
|
|
4592
|
-
insert(_el$
|
|
4668
|
+
insert(_el$46, createComponent(BottomSection, {
|
|
4593
4669
|
get children() {
|
|
4594
|
-
|
|
4595
|
-
_el$47.$$keydown = handleKeyDown;
|
|
4596
|
-
_el$47.$$input = handleInput;
|
|
4597
|
-
var _ref$3 = inputRef;
|
|
4598
|
-
typeof _ref$3 === "function" ? use(_ref$3, _el$47) : inputRef = _el$47;
|
|
4599
|
-
insert(_el$48, createComponent(Show, {
|
|
4670
|
+
return [createComponent(Show, {
|
|
4600
4671
|
get when() {
|
|
4601
|
-
return
|
|
4672
|
+
return props.replyToPrompt;
|
|
4602
4673
|
},
|
|
4603
4674
|
get children() {
|
|
4604
|
-
var _el$49 = _tmpl$
|
|
4605
|
-
|
|
4606
|
-
insert(_el$49, createComponent(IconMic, {
|
|
4607
|
-
size: 11,
|
|
4608
|
-
get ["class"]() {
|
|
4609
|
-
return speechRecognition.isListening() ? "animate-pulse" : "";
|
|
4610
|
-
}
|
|
4611
|
-
}));
|
|
4612
|
-
createRenderEffect((_p$) => {
|
|
4613
|
-
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";
|
|
4614
|
-
_v$6 !== _p$.e && className(_el$49, _p$.e = _v$6);
|
|
4615
|
-
_v$7 !== _p$.t && setAttribute(_el$49, "title", _p$.t = _v$7);
|
|
4616
|
-
return _p$;
|
|
4617
|
-
}, {
|
|
4618
|
-
e: void 0,
|
|
4619
|
-
t: void 0
|
|
4620
|
-
});
|
|
4675
|
+
var _el$49 = _tmpl$20(), _el$50 = _el$49.firstChild, _el$51 = _el$50.nextSibling;
|
|
4676
|
+
insert(_el$51, () => props.replyToPrompt);
|
|
4621
4677
|
return _el$49;
|
|
4622
4678
|
}
|
|
4623
|
-
}),
|
|
4624
|
-
|
|
4625
|
-
|
|
4626
|
-
|
|
4627
|
-
|
|
4628
|
-
|
|
4629
|
-
|
|
4630
|
-
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4640
|
-
|
|
4679
|
+
}), (() => {
|
|
4680
|
+
var _el$52 = _tmpl$23(), _el$53 = _el$52.firstChild, _el$54 = _el$53.nextSibling;
|
|
4681
|
+
_el$53.$$keydown = handleKeyDown;
|
|
4682
|
+
_el$53.$$input = handleInput;
|
|
4683
|
+
var _ref$3 = inputRef;
|
|
4684
|
+
typeof _ref$3 === "function" ? use(_ref$3, _el$53) : inputRef = _el$53;
|
|
4685
|
+
insert(_el$54, createComponent(Show, {
|
|
4686
|
+
get when() {
|
|
4687
|
+
return memo(() => !!(props.hasAgent && speechRecognition.isSupported()))() && !props.inputValue;
|
|
4688
|
+
},
|
|
4689
|
+
get children() {
|
|
4690
|
+
var _el$55 = _tmpl$21();
|
|
4691
|
+
addEventListener(_el$55, "click", speechRecognition.toggle);
|
|
4692
|
+
insert(_el$55, createComponent(IconMic, {
|
|
4693
|
+
size: 11,
|
|
4694
|
+
get ["class"]() {
|
|
4695
|
+
return speechRecognition.isListening() ? "animate-pulse" : "";
|
|
4696
|
+
}
|
|
4697
|
+
}));
|
|
4698
|
+
createRenderEffect((_p$) => {
|
|
4699
|
+
var _v$6 = cn("contain-layout shrink-0 flex items-center justify-center px-[2px] py-[2px] rounded-xs [border-width:0.5px] border-solid size-fit cursor-pointer transition-all hover:scale-105", speechRecognition.isListening() ? "bg-grab-purple border-grab-purple text-white" : "bg-white border-[#B3B3B3] text-black"), _v$7 = speechRecognition.isListening() ? "Stop listening" : "Start voice input";
|
|
4700
|
+
_v$6 !== _p$.e && className(_el$55, _p$.e = _v$6);
|
|
4701
|
+
_v$7 !== _p$.t && setAttribute(_el$55, "title", _p$.t = _v$7);
|
|
4702
|
+
return _p$;
|
|
4703
|
+
}, {
|
|
4704
|
+
e: void 0,
|
|
4705
|
+
t: void 0
|
|
4706
|
+
});
|
|
4707
|
+
return _el$55;
|
|
4708
|
+
}
|
|
4709
|
+
}), null);
|
|
4710
|
+
insert(_el$54, createComponent(Show, {
|
|
4711
|
+
get when() {
|
|
4712
|
+
return props.inputValue;
|
|
4713
|
+
},
|
|
4714
|
+
get children() {
|
|
4715
|
+
var _el$56 = _tmpl$222();
|
|
4716
|
+
_el$56.$$click = handleSubmit;
|
|
4717
|
+
insert(_el$56, createComponent(IconReturn, {
|
|
4718
|
+
size: 10,
|
|
4719
|
+
"class": "opacity-[0.99] text-black"
|
|
4720
|
+
}));
|
|
4721
|
+
return _el$56;
|
|
4722
|
+
}
|
|
4723
|
+
}), null);
|
|
4724
|
+
createRenderEffect(() => setAttribute(_el$53, "placeholder", speechRecognition.isListening() ? "listening..." : "type prompt"));
|
|
4725
|
+
createRenderEffect(() => _el$53.value = props.inputValue ?? "");
|
|
4726
|
+
return _el$52;
|
|
4727
|
+
})()];
|
|
4641
4728
|
}
|
|
4642
4729
|
}), null);
|
|
4643
|
-
createRenderEffect(() => className(_el$
|
|
4644
|
-
return _el$
|
|
4730
|
+
createRenderEffect(() => className(_el$47, cn("contain-layout shrink-0 flex items-center gap-1 pt-1 w-fit h-fit pl-1.5", props.componentName ? "pr-1.5" : "pr-1")));
|
|
4731
|
+
return _el$46;
|
|
4645
4732
|
}
|
|
4646
4733
|
}), null);
|
|
4647
|
-
insert(_el$
|
|
4734
|
+
insert(_el$30, createComponent(Show, {
|
|
4648
4735
|
get when() {
|
|
4649
4736
|
return props.isPendingDismiss;
|
|
4650
4737
|
},
|
|
@@ -4659,7 +4746,7 @@ var SelectionLabel = (props) => {
|
|
|
4659
4746
|
});
|
|
4660
4747
|
}
|
|
4661
4748
|
}), null);
|
|
4662
|
-
insert(_el$
|
|
4749
|
+
insert(_el$30, createComponent(Show, {
|
|
4663
4750
|
get when() {
|
|
4664
4751
|
return props.error;
|
|
4665
4752
|
},
|
|
@@ -4670,17 +4757,20 @@ var SelectionLabel = (props) => {
|
|
|
4670
4757
|
},
|
|
4671
4758
|
get onAcknowledge() {
|
|
4672
4759
|
return props.onAcknowledgeError;
|
|
4760
|
+
},
|
|
4761
|
+
get onRetry() {
|
|
4762
|
+
return props.onRetry;
|
|
4673
4763
|
}
|
|
4674
4764
|
});
|
|
4675
4765
|
}
|
|
4676
4766
|
}), null);
|
|
4677
4767
|
createRenderEffect((_p$) => {
|
|
4678
4768
|
var _v$8 = `${computedPosition().top}px`, _v$9 = `${computedPosition().left}px`, _v$0 = props.isInputExpanded || props.status === "copied" && props.onDismiss || props.status === "copying" && props.onAbort ? "auto" : "none", _v$1 = props.status === "fading" ? 0 : 1, _v$10 = (props.status === "copied" || props.status === "fading") && !props.error ? "none" : void 0;
|
|
4679
|
-
_v$8 !== _p$.e && setStyleProperty(_el$
|
|
4680
|
-
_v$9 !== _p$.t && setStyleProperty(_el$
|
|
4681
|
-
_v$0 !== _p$.a && setStyleProperty(_el$
|
|
4682
|
-
_v$1 !== _p$.o && setStyleProperty(_el$
|
|
4683
|
-
_v$10 !== _p$.i && setStyleProperty(_el$
|
|
4769
|
+
_v$8 !== _p$.e && setStyleProperty(_el$29, "top", _p$.e = _v$8);
|
|
4770
|
+
_v$9 !== _p$.t && setStyleProperty(_el$29, "left", _p$.t = _v$9);
|
|
4771
|
+
_v$0 !== _p$.a && setStyleProperty(_el$29, "pointer-events", _p$.a = _v$0);
|
|
4772
|
+
_v$1 !== _p$.o && setStyleProperty(_el$29, "opacity", _p$.o = _v$1);
|
|
4773
|
+
_v$10 !== _p$.i && setStyleProperty(_el$30, "display", _p$.i = _v$10);
|
|
4684
4774
|
return _p$;
|
|
4685
4775
|
}, {
|
|
4686
4776
|
e: void 0,
|
|
@@ -4689,14 +4779,14 @@ var SelectionLabel = (props) => {
|
|
|
4689
4779
|
o: void 0,
|
|
4690
4780
|
i: void 0
|
|
4691
4781
|
});
|
|
4692
|
-
return _el$
|
|
4782
|
+
return _el$29;
|
|
4693
4783
|
}
|
|
4694
4784
|
});
|
|
4695
4785
|
};
|
|
4696
4786
|
delegateEvents(["click", "pointerdown", "mousedown", "pointerup", "input", "keydown"]);
|
|
4697
4787
|
|
|
4698
4788
|
// src/components/selection-cursor.tsx
|
|
4699
|
-
var _tmpl$
|
|
4789
|
+
var _tmpl$26 = /* @__PURE__ */ template(`<div class="fixed z-2147483647"><button data-react-grab-selection-cursor>`);
|
|
4700
4790
|
var SelectionCursor = (props) => {
|
|
4701
4791
|
const [isHovered, setIsHovered] = createSignal(false);
|
|
4702
4792
|
const [debouncedVisible, setDebouncedVisible] = createSignal(false);
|
|
@@ -4733,7 +4823,7 @@ var SelectionCursor = (props) => {
|
|
|
4733
4823
|
});
|
|
4734
4824
|
}
|
|
4735
4825
|
}), (() => {
|
|
4736
|
-
var _el$ = _tmpl$
|
|
4826
|
+
var _el$ = _tmpl$26(), _el$2 = _el$.firstChild;
|
|
4737
4827
|
_el$.addEventListener("mouseleave", () => setIsHovered(false));
|
|
4738
4828
|
_el$.addEventListener("mouseenter", () => setIsHovered(true));
|
|
4739
4829
|
_el$2.$$click = handleClick;
|
|
@@ -4885,6 +4975,12 @@ var ReactGrabRenderer = (props) => {
|
|
|
4885
4975
|
get inputValue() {
|
|
4886
4976
|
return session().context.prompt;
|
|
4887
4977
|
},
|
|
4978
|
+
get supportsUndo() {
|
|
4979
|
+
return props.supportsUndo;
|
|
4980
|
+
},
|
|
4981
|
+
get supportsFollowUp() {
|
|
4982
|
+
return props.supportsFollowUp;
|
|
4983
|
+
},
|
|
4888
4984
|
onAbort: () => props.onAbortSession?.(session().id),
|
|
4889
4985
|
get onDismiss() {
|
|
4890
4986
|
return session().isStreaming ? void 0 : () => props.onDismissSession?.(session().id);
|
|
@@ -4892,10 +4988,14 @@ var ReactGrabRenderer = (props) => {
|
|
|
4892
4988
|
get onUndo() {
|
|
4893
4989
|
return session().isStreaming ? void 0 : () => props.onUndoSession?.(session().id);
|
|
4894
4990
|
},
|
|
4991
|
+
get onReply() {
|
|
4992
|
+
return session().isStreaming ? void 0 : () => props.onReplySession?.(session().id);
|
|
4993
|
+
},
|
|
4895
4994
|
get error() {
|
|
4896
4995
|
return session().error;
|
|
4897
4996
|
},
|
|
4898
|
-
onAcknowledgeError: () => props.onAcknowledgeSessionError?.(session().id)
|
|
4997
|
+
onAcknowledgeError: () => props.onAcknowledgeSessionError?.(session().id),
|
|
4998
|
+
onRetry: () => props.onRetrySession?.(session().id)
|
|
4899
4999
|
})]
|
|
4900
5000
|
}), createComponent(Show, {
|
|
4901
5001
|
get when() {
|
|
@@ -4924,6 +5024,9 @@ var ReactGrabRenderer = (props) => {
|
|
|
4924
5024
|
get inputValue() {
|
|
4925
5025
|
return props.inputValue;
|
|
4926
5026
|
},
|
|
5027
|
+
get replyToPrompt() {
|
|
5028
|
+
return props.replyToPrompt;
|
|
5029
|
+
},
|
|
4927
5030
|
get hasAgent() {
|
|
4928
5031
|
return props.hasAgent;
|
|
4929
5032
|
},
|
|
@@ -6328,7 +6431,10 @@ var isTargetKeyCombination = (event, options) => {
|
|
|
6328
6431
|
const modifiersMatch = hasModifier ? (metaKey ? event.metaKey : true) && (ctrlKey ? event.ctrlKey : true) && (shiftKey ? event.shiftKey : true) && (altKey ? event.altKey : true) : event.metaKey || event.ctrlKey;
|
|
6329
6432
|
return keyMatches && modifiersMatch;
|
|
6330
6433
|
}
|
|
6331
|
-
|
|
6434
|
+
const hasOnlyMetaOrCtrl = (event.metaKey || event.ctrlKey) && !event.shiftKey && !event.altKey;
|
|
6435
|
+
return Boolean(
|
|
6436
|
+
event.key && hasOnlyMetaOrCtrl && isCLikeKey(event.key, event.code)
|
|
6437
|
+
);
|
|
6332
6438
|
};
|
|
6333
6439
|
|
|
6334
6440
|
// src/utils/is-event-from-overlay.ts
|
|
@@ -6387,17 +6493,21 @@ var deepMergeTheme = mergeThemeWithBase;
|
|
|
6387
6493
|
// src/utils/agent-session.ts
|
|
6388
6494
|
var STORAGE_KEY = "react-grab:agent-sessions";
|
|
6389
6495
|
var generateSessionId = () => `session-${Date.now()}-${Math.random().toString(36).slice(2, 9)}`;
|
|
6390
|
-
var createSession = (context, position, selectionBounds, tagName, componentName) =>
|
|
6391
|
-
|
|
6392
|
-
|
|
6393
|
-
|
|
6394
|
-
|
|
6395
|
-
|
|
6396
|
-
|
|
6397
|
-
|
|
6398
|
-
|
|
6399
|
-
|
|
6400
|
-
|
|
6496
|
+
var createSession = (context, position, selectionBounds, tagName, componentName) => {
|
|
6497
|
+
const now = Date.now();
|
|
6498
|
+
return {
|
|
6499
|
+
id: generateSessionId(),
|
|
6500
|
+
context,
|
|
6501
|
+
lastStatus: "",
|
|
6502
|
+
isStreaming: true,
|
|
6503
|
+
createdAt: now,
|
|
6504
|
+
lastUpdatedAt: now,
|
|
6505
|
+
position,
|
|
6506
|
+
selectionBounds,
|
|
6507
|
+
tagName,
|
|
6508
|
+
componentName
|
|
6509
|
+
};
|
|
6510
|
+
};
|
|
6401
6511
|
var getStorage = (storage) => {
|
|
6402
6512
|
if (!storage) return null;
|
|
6403
6513
|
return storage;
|
|
@@ -6455,7 +6565,7 @@ var clearSessionById = (sessionId, storage) => {
|
|
|
6455
6565
|
saveSessions(sessions, storage);
|
|
6456
6566
|
};
|
|
6457
6567
|
var updateSession = (session, updates, storage) => {
|
|
6458
|
-
const updatedSession = { ...session, ...updates };
|
|
6568
|
+
const updatedSession = { ...session, ...updates, lastUpdatedAt: Date.now() };
|
|
6459
6569
|
saveSessionById(updatedSession, storage);
|
|
6460
6570
|
return updatedSession;
|
|
6461
6571
|
};
|
|
@@ -6587,10 +6697,17 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6587
6697
|
if (existingSessions.size === 0) {
|
|
6588
6698
|
return;
|
|
6589
6699
|
}
|
|
6590
|
-
const
|
|
6591
|
-
|
|
6700
|
+
const now = Date.now();
|
|
6701
|
+
const resumableSessions = Array.from(existingSessions.values()).filter(
|
|
6702
|
+
(session) => {
|
|
6703
|
+
if (session.isStreaming) return true;
|
|
6704
|
+
const lastUpdatedAt = session.lastUpdatedAt ?? session.createdAt;
|
|
6705
|
+
const age = now - lastUpdatedAt;
|
|
6706
|
+
const isRecent = age < RECENT_THRESHOLD_MS;
|
|
6707
|
+
return isRecent && Boolean(session.error);
|
|
6708
|
+
}
|
|
6592
6709
|
);
|
|
6593
|
-
if (
|
|
6710
|
+
if (resumableSessions.length === 0) {
|
|
6594
6711
|
clearSessions(storage);
|
|
6595
6712
|
return;
|
|
6596
6713
|
}
|
|
@@ -6598,18 +6715,20 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6598
6715
|
clearSessions(storage);
|
|
6599
6716
|
return;
|
|
6600
6717
|
}
|
|
6601
|
-
const
|
|
6602
|
-
|
|
6718
|
+
const resumableSessionsMap = new Map(
|
|
6719
|
+
resumableSessions.map((session) => [session.id, session])
|
|
6603
6720
|
);
|
|
6604
|
-
setSessions(
|
|
6605
|
-
saveSessions(
|
|
6606
|
-
for (const existingSession of
|
|
6721
|
+
setSessions(resumableSessionsMap);
|
|
6722
|
+
saveSessions(resumableSessionsMap, storage);
|
|
6723
|
+
for (const existingSession of resumableSessions) {
|
|
6607
6724
|
const reacquiredElement = tryReacquireElement(existingSession);
|
|
6608
6725
|
if (reacquiredElement) {
|
|
6609
6726
|
sessionElements.set(existingSession.id, reacquiredElement);
|
|
6610
6727
|
}
|
|
6611
6728
|
const sessionWithResumeStatus = {
|
|
6612
6729
|
...existingSession,
|
|
6730
|
+
isStreaming: true,
|
|
6731
|
+
error: void 0,
|
|
6613
6732
|
lastStatus: existingSession.lastStatus || "Resuming...",
|
|
6614
6733
|
position: existingSession.position ?? {
|
|
6615
6734
|
x: window.innerWidth / 2,
|
|
@@ -6631,36 +6750,55 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6631
6750
|
}
|
|
6632
6751
|
};
|
|
6633
6752
|
const startSession = async (params) => {
|
|
6634
|
-
const { element, prompt, position, selectionBounds } = params;
|
|
6753
|
+
const { element, prompt, position, selectionBounds, sessionId } = params;
|
|
6635
6754
|
const storage = agentOptions?.storage;
|
|
6636
6755
|
if (!agentOptions?.provider) {
|
|
6637
6756
|
return;
|
|
6638
6757
|
}
|
|
6639
|
-
const
|
|
6640
|
-
const
|
|
6758
|
+
const existingSession = sessionId ? sessions().get(sessionId) : void 0;
|
|
6759
|
+
const isFollowUp = Boolean(sessionId);
|
|
6760
|
+
const content = existingSession ? existingSession.context.content : await generateSnippet([element], { maxLines: Infinity });
|
|
6641
6761
|
const context = {
|
|
6642
6762
|
content,
|
|
6643
6763
|
prompt,
|
|
6644
|
-
options: agentOptions?.getOptions?.()
|
|
6764
|
+
options: agentOptions?.getOptions?.(),
|
|
6765
|
+
sessionId: isFollowUp ? sessionId : void 0
|
|
6645
6766
|
};
|
|
6646
|
-
|
|
6647
|
-
|
|
6648
|
-
|
|
6649
|
-
|
|
6650
|
-
|
|
6651
|
-
|
|
6652
|
-
|
|
6653
|
-
|
|
6654
|
-
|
|
6655
|
-
|
|
6656
|
-
|
|
6767
|
+
let session;
|
|
6768
|
+
if (existingSession) {
|
|
6769
|
+
session = updateSession(
|
|
6770
|
+
existingSession,
|
|
6771
|
+
{
|
|
6772
|
+
context,
|
|
6773
|
+
isStreaming: true,
|
|
6774
|
+
lastStatus: "Thinking\u2026"
|
|
6775
|
+
},
|
|
6776
|
+
storage
|
|
6777
|
+
);
|
|
6778
|
+
} else {
|
|
6779
|
+
const tagName = (element.tagName || "").toLowerCase() || void 0;
|
|
6780
|
+
const componentName = await getNearestComponentName(element) || void 0;
|
|
6781
|
+
session = createSession(
|
|
6782
|
+
context,
|
|
6783
|
+
position,
|
|
6784
|
+
selectionBounds,
|
|
6785
|
+
tagName,
|
|
6786
|
+
componentName
|
|
6787
|
+
);
|
|
6788
|
+
session.lastStatus = "Thinking\u2026";
|
|
6789
|
+
sessionElements.set(session.id, element);
|
|
6790
|
+
}
|
|
6657
6791
|
setSessions((prev) => new Map(prev).set(session.id, session));
|
|
6658
6792
|
saveSessionById(session, storage);
|
|
6659
6793
|
agentOptions.onStart?.(session, element);
|
|
6660
6794
|
const abortController = new AbortController();
|
|
6661
6795
|
abortControllers.set(session.id, abortController);
|
|
6796
|
+
const contextWithSessionId = {
|
|
6797
|
+
...context,
|
|
6798
|
+
sessionId: sessionId ?? session.id
|
|
6799
|
+
};
|
|
6662
6800
|
const streamIterator = agentOptions.provider.send(
|
|
6663
|
-
|
|
6801
|
+
contextWithSessionId,
|
|
6664
6802
|
abortController.signal
|
|
6665
6803
|
);
|
|
6666
6804
|
void executeSessionStream(session, streamIterator);
|
|
@@ -6704,6 +6842,38 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6704
6842
|
dismissSession(sessionId);
|
|
6705
6843
|
return prompt;
|
|
6706
6844
|
};
|
|
6845
|
+
const retrySession = (sessionId) => {
|
|
6846
|
+
const currentSessions = sessions();
|
|
6847
|
+
const session = currentSessions.get(sessionId);
|
|
6848
|
+
if (!session || !agentOptions?.provider) return;
|
|
6849
|
+
const storage = agentOptions.storage;
|
|
6850
|
+
const element = sessionElements.get(sessionId);
|
|
6851
|
+
const retriedSession = updateSession(
|
|
6852
|
+
session,
|
|
6853
|
+
{
|
|
6854
|
+
error: void 0,
|
|
6855
|
+
isStreaming: true,
|
|
6856
|
+
lastStatus: "Retrying\u2026"
|
|
6857
|
+
},
|
|
6858
|
+
storage
|
|
6859
|
+
);
|
|
6860
|
+
setSessions((prev) => new Map(prev).set(sessionId, retriedSession));
|
|
6861
|
+
saveSessionById(retriedSession, storage);
|
|
6862
|
+
if (element) {
|
|
6863
|
+
agentOptions.onStart?.(retriedSession, element);
|
|
6864
|
+
}
|
|
6865
|
+
const abortController = new AbortController();
|
|
6866
|
+
abortControllers.set(sessionId, abortController);
|
|
6867
|
+
const contextWithSessionId = {
|
|
6868
|
+
...retriedSession.context,
|
|
6869
|
+
sessionId
|
|
6870
|
+
};
|
|
6871
|
+
const streamIterator = agentOptions.provider.send(
|
|
6872
|
+
contextWithSessionId,
|
|
6873
|
+
abortController.signal
|
|
6874
|
+
);
|
|
6875
|
+
void executeSessionStream(retriedSession, streamIterator);
|
|
6876
|
+
};
|
|
6707
6877
|
const updateSessionBoundsOnViewportChange = () => {
|
|
6708
6878
|
const currentSessions = sessions();
|
|
6709
6879
|
if (currentSessions.size === 0) return;
|
|
@@ -6748,6 +6918,7 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6748
6918
|
dismissSession,
|
|
6749
6919
|
undoSession,
|
|
6750
6920
|
acknowledgeSessionError,
|
|
6921
|
+
retrySession,
|
|
6751
6922
|
updateSessionBoundsOnViewportChange,
|
|
6752
6923
|
getSessionElement,
|
|
6753
6924
|
setOptions,
|
|
@@ -6756,8 +6927,8 @@ var createAgentManager = (initialAgentOptions) => {
|
|
|
6756
6927
|
};
|
|
6757
6928
|
|
|
6758
6929
|
// src/core.tsx
|
|
6759
|
-
var _tmpl$
|
|
6760
|
-
var _tmpl$
|
|
6930
|
+
var _tmpl$27 = /* @__PURE__ */ template(`<span class="tabular-nums align-middle">`);
|
|
6931
|
+
var _tmpl$28 = /* @__PURE__ */ template(`<span class="font-mono tabular-nums align-middle"><<!>>`);
|
|
6761
6932
|
var _tmpl$33 = /* @__PURE__ */ template(`<span class="tabular-nums ml-1 align-middle"> in `);
|
|
6762
6933
|
var onIdle = (callback) => {
|
|
6763
6934
|
if ("scheduler" in globalThis) {
|
|
@@ -6854,7 +7025,7 @@ var init = (rawOptions) => {
|
|
|
6854
7025
|
hasInited = true;
|
|
6855
7026
|
const logIntro = () => {
|
|
6856
7027
|
try {
|
|
6857
|
-
const version = "0.0.
|
|
7028
|
+
const version = "0.0.80";
|
|
6858
7029
|
const logoDataUri = `data:image/svg+xml;base64,${btoa(LOGO_SVG)}`;
|
|
6859
7030
|
console.log(`%cReact Grab${version ? ` v${version}` : ""}%c
|
|
6860
7031
|
https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid #d75fcb; padding: 4px 4px 4px 24px; border-radius: 4px; background-image: url("${logoDataUri}"); background-size: 16px 16px; background-repeat: no-repeat; background-position: 4px center; display: inline-block; margin-bottom: 4px;`, "");
|
|
@@ -6909,6 +7080,10 @@ https://react-grab.com`, `background: #330039; color: #ffffff; border: 1px solid
|
|
|
6909
7080
|
const [frozenElement, setFrozenElement] = createSignal(null);
|
|
6910
7081
|
const [hasAgentProvider, setHasAgentProvider] = createSignal(Boolean(options.agent?.provider));
|
|
6911
7082
|
const [isAgentConnected, setIsAgentConnected] = createSignal(false);
|
|
7083
|
+
const [supportsUndo, setSupportsUndo] = createSignal(Boolean(options.agent?.provider?.undo));
|
|
7084
|
+
const [supportsFollowUp, setSupportsFollowUp] = createSignal(Boolean(options.agent?.provider?.supportsFollowUp));
|
|
7085
|
+
const [replySessionId, setReplySessionId] = createSignal(null);
|
|
7086
|
+
const [replyToPrompt, setReplyToPrompt] = createSignal(null);
|
|
6912
7087
|
const [isPendingDismiss, setIsPendingDismiss] = createSignal(false);
|
|
6913
7088
|
const elementInputCache = /* @__PURE__ */ new WeakMap();
|
|
6914
7089
|
const [nativeSelectionCursorX, setNativeSelectionCursorX] = createSignal(OFFSCREEN_POSITION);
|
|
@@ -7235,7 +7410,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7235
7410
|
const copying = isCopying();
|
|
7236
7411
|
if (!element) {
|
|
7237
7412
|
return (() => {
|
|
7238
|
-
var _el$ = _tmpl$
|
|
7413
|
+
var _el$ = _tmpl$27();
|
|
7239
7414
|
insert(_el$, copying ? "Processing\u2026" : "1 element");
|
|
7240
7415
|
return _el$;
|
|
7241
7416
|
})();
|
|
@@ -7244,7 +7419,7 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7244
7419
|
const componentName = labelComponentName();
|
|
7245
7420
|
if (tagName && componentName) {
|
|
7246
7421
|
return [(() => {
|
|
7247
|
-
var _el$2 = _tmpl$
|
|
7422
|
+
var _el$2 = _tmpl$28(), _el$3 = _el$2.firstChild, _el$5 = _el$3.nextSibling; _el$5.nextSibling;
|
|
7248
7423
|
insert(_el$2, tagName, _el$5);
|
|
7249
7424
|
return _el$2;
|
|
7250
7425
|
})(), (() => {
|
|
@@ -7255,13 +7430,13 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7255
7430
|
}
|
|
7256
7431
|
if (tagName) {
|
|
7257
7432
|
return (() => {
|
|
7258
|
-
var _el$8 = _tmpl$
|
|
7433
|
+
var _el$8 = _tmpl$28(), _el$9 = _el$8.firstChild, _el$1 = _el$9.nextSibling; _el$1.nextSibling;
|
|
7259
7434
|
insert(_el$8, tagName, _el$1);
|
|
7260
7435
|
return _el$8;
|
|
7261
7436
|
})();
|
|
7262
7437
|
}
|
|
7263
7438
|
return (() => {
|
|
7264
|
-
var _el$10 = _tmpl$
|
|
7439
|
+
var _el$10 = _tmpl$27();
|
|
7265
7440
|
insert(_el$10, copying ? "Processing\u2026" : "1 element");
|
|
7266
7441
|
return _el$10;
|
|
7267
7442
|
})();
|
|
@@ -7467,7 +7642,16 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7467
7642
|
if (pendingClickTimeoutId) {
|
|
7468
7643
|
window.clearTimeout(pendingClickTimeoutId);
|
|
7469
7644
|
pendingClickTimeoutId = null;
|
|
7645
|
+
const clickData = pendingClickData;
|
|
7470
7646
|
pendingClickData = null;
|
|
7647
|
+
if (clickData) {
|
|
7648
|
+
setLastGrabbedElement(clickData.element);
|
|
7649
|
+
const bounds = createElementBounds(clickData.element);
|
|
7650
|
+
const tagName = extractElementTagName(clickData.element);
|
|
7651
|
+
void getNearestComponentName(clickData.element).then((componentName) => {
|
|
7652
|
+
void executeCopyOperation(clickData.clientX, clickData.clientY, () => copySingleElementToClipboard(clickData.element), bounds, tagName, componentName ?? void 0, clickData.element);
|
|
7653
|
+
});
|
|
7654
|
+
}
|
|
7471
7655
|
}
|
|
7472
7656
|
stopAutoScroll();
|
|
7473
7657
|
stopProgressAnimation();
|
|
@@ -7522,11 +7706,12 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7522
7706
|
const labelPositionX = mouseX();
|
|
7523
7707
|
const currentX = bounds.x + bounds.width / 2;
|
|
7524
7708
|
const currentY = bounds.y + bounds.height / 2;
|
|
7525
|
-
setMouseX(currentX);
|
|
7526
|
-
setMouseY(currentY);
|
|
7527
7709
|
if (hasAgentProvider() && prompt) {
|
|
7528
7710
|
elementInputCache.delete(element);
|
|
7529
7711
|
deactivateRenderer();
|
|
7712
|
+
const currentReplySessionId = replySessionId();
|
|
7713
|
+
setReplySessionId(null);
|
|
7714
|
+
setReplyToPrompt(null);
|
|
7530
7715
|
void agentManager.startSession({
|
|
7531
7716
|
element,
|
|
7532
7717
|
prompt,
|
|
@@ -7534,10 +7719,13 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7534
7719
|
x: labelPositionX,
|
|
7535
7720
|
y: currentY
|
|
7536
7721
|
},
|
|
7537
|
-
selectionBounds: bounds
|
|
7722
|
+
selectionBounds: bounds,
|
|
7723
|
+
sessionId: currentReplySessionId ?? void 0
|
|
7538
7724
|
});
|
|
7539
7725
|
return;
|
|
7540
7726
|
}
|
|
7727
|
+
setMouseX(currentX);
|
|
7728
|
+
setMouseY(currentY);
|
|
7541
7729
|
setIsInputMode(false);
|
|
7542
7730
|
setInputText("");
|
|
7543
7731
|
if (prompt) {
|
|
@@ -7565,10 +7753,12 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
7565
7753
|
elementInputCache.set(element, currentInput);
|
|
7566
7754
|
}
|
|
7567
7755
|
setIsPendingDismiss(false);
|
|
7756
|
+
setReplySessionId(null);
|
|
7568
7757
|
deactivateRenderer();
|
|
7569
7758
|
};
|
|
7570
7759
|
const handleConfirmDismiss = () => {
|
|
7571
7760
|
setIsPendingDismiss(false);
|
|
7761
|
+
setReplySessionId(null);
|
|
7572
7762
|
deactivateRenderer();
|
|
7573
7763
|
};
|
|
7574
7764
|
const handleCancelDismiss = () => {
|
|
@@ -8330,6 +8520,9 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
8330
8520
|
get isInputExpanded() {
|
|
8331
8521
|
return isInputExpanded();
|
|
8332
8522
|
},
|
|
8523
|
+
get replyToPrompt() {
|
|
8524
|
+
return replyToPrompt() ?? void 0;
|
|
8525
|
+
},
|
|
8333
8526
|
get hasAgent() {
|
|
8334
8527
|
return hasAgentProvider();
|
|
8335
8528
|
},
|
|
@@ -8339,15 +8532,48 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
8339
8532
|
get agentSessions() {
|
|
8340
8533
|
return agentManager.sessions();
|
|
8341
8534
|
},
|
|
8535
|
+
get supportsUndo() {
|
|
8536
|
+
return supportsUndo();
|
|
8537
|
+
},
|
|
8538
|
+
get supportsFollowUp() {
|
|
8539
|
+
return supportsFollowUp();
|
|
8540
|
+
},
|
|
8342
8541
|
onAbortSession: (sessionId) => agentManager.abortSession(sessionId),
|
|
8343
8542
|
onDismissSession: (sessionId) => agentManager.dismissSession(sessionId),
|
|
8344
8543
|
onUndoSession: (sessionId) => agentManager.undoSession(sessionId),
|
|
8544
|
+
onReplySession: (sessionId) => {
|
|
8545
|
+
const session = agentManager.sessions().get(sessionId);
|
|
8546
|
+
const element = agentManager.getSessionElement(sessionId);
|
|
8547
|
+
if (session && element) {
|
|
8548
|
+
const positionX = session.position.x;
|
|
8549
|
+
const rect = element.getBoundingClientRect();
|
|
8550
|
+
const centerY = rect.top + rect.height / 2;
|
|
8551
|
+
const previousPrompt = session.context.prompt;
|
|
8552
|
+
agentManager.dismissSession(sessionId);
|
|
8553
|
+
setMouseX(positionX);
|
|
8554
|
+
setMouseY(centerY);
|
|
8555
|
+
setFrozenElement(element);
|
|
8556
|
+
setInputText("");
|
|
8557
|
+
setIsInputExpanded(true);
|
|
8558
|
+
setIsInputMode(true);
|
|
8559
|
+
setIsToggleMode(true);
|
|
8560
|
+
setIsToggleFrozen(true);
|
|
8561
|
+
setReplySessionId(session.context.sessionId ?? sessionId);
|
|
8562
|
+
setReplyToPrompt(previousPrompt);
|
|
8563
|
+
if (!isActivated()) {
|
|
8564
|
+
activateRenderer();
|
|
8565
|
+
}
|
|
8566
|
+
}
|
|
8567
|
+
},
|
|
8345
8568
|
onAcknowledgeSessionError: (sessionId) => {
|
|
8346
8569
|
const prompt = agentManager.acknowledgeSessionError(sessionId);
|
|
8347
8570
|
if (prompt) {
|
|
8348
8571
|
setInputText(prompt);
|
|
8349
8572
|
}
|
|
8350
8573
|
},
|
|
8574
|
+
onRetrySession: (sessionId) => {
|
|
8575
|
+
agentManager.retrySession(sessionId);
|
|
8576
|
+
},
|
|
8351
8577
|
onInputChange: handleInputChange,
|
|
8352
8578
|
onInputSubmit: () => void handleInputSubmit(),
|
|
8353
8579
|
onInputCancel: handleInputCancel,
|
|
@@ -8456,6 +8682,8 @@ ${plainTextContentOnly}` : plainTextContentOnly;
|
|
|
8456
8682
|
};
|
|
8457
8683
|
agentManager.setOptions(mergedOptions);
|
|
8458
8684
|
setHasAgentProvider(Boolean(mergedOptions.provider));
|
|
8685
|
+
setSupportsUndo(Boolean(mergedOptions.provider?.undo));
|
|
8686
|
+
setSupportsFollowUp(Boolean(mergedOptions.provider?.supportsFollowUp));
|
|
8459
8687
|
if (mergedOptions.provider?.checkConnection) {
|
|
8460
8688
|
void mergedOptions.provider.checkConnection().then((connected) => {
|
|
8461
8689
|
setIsAgentConnected(connected);
|