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