tassello 0.3.0 → 0.4.0
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/CHANGELOG.md +15 -0
- package/README.md +70 -7
- package/dist/server/networking.d.ts +41 -0
- package/dist/server/networking.js +508 -0
- package/dist/server/networking_format.d.ts +38 -0
- package/dist/server/networking_format.js +651 -0
- package/dist/server/server.js +5 -1
- package/dist/server/session.d.ts +4 -1
- package/dist/server/session.js +23 -2
- package/dist/shared/networking.d.ts +178 -0
- package/dist/shared/networking.js +248 -0
- package/dist/shared/protocol.d.ts +18 -2
- package/dist/types/client/connection.d.ts +9 -1
- package/dist/types/client/icons.d.ts +6 -0
- package/dist/types/client/sdk/index.d.ts +2 -1
- package/dist/types/shared/networking.d.ts +178 -0
- package/dist/types/shared/protocol.d.ts +18 -2
- package/dist/www/assets/Joystick.js +1 -1
- package/dist/www/assets/RobotModelView.js +2 -2
- package/dist/www/assets/TerminalView.js +2 -2
- package/dist/www/assets/icons.js +1 -1
- package/dist/www/assets/index.css +1 -1
- package/dist/www/assets/index.js +42 -42
- package/dist/www/assets/shared/tassello-sdk.js +1 -1
- package/docs/plugins.md +2 -0
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime.js";import{t}from"./react.js";import{Ct as n,J as r,Nt as i,St as a,V as o,Y as s,dt as c,jt as l,m as u,zt as d}from"./icons.js";import{t as f}from"./jsx-runtime.js";import{n as p}from"./dialogs.js";import{i as m,n as h,r as ee}from"./keys.js";var g=2,te=1,ne=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(g,Math.floor(u/e.css.cell.width)),rows:Math.max(te,Math.floor(l/e.css.cell.height))}}},_=class{constructor(e,t,n,r={}){this._terminal=e,this._regex=t,this._handler=n,this._options=r}provideLinks(e,t){let n=ie.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(n))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(t,n)=>{if(this._options.hover){let{range:r}=e;this._options.hover(t,n,r)}},e))}};function re(e){try{let t=new URL(e),n=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(n.toLocaleLowerCase())}catch{return!1}}var ie=class e{static computeLink(t,n,r,i){let a=new RegExp(n.source,(n.flags||``)+`g`),[o,s]=e._getWindowedLineStrings(t-1,r),c=o.join(``),l,u=[];for(;l=a.exec(c);){let t=l[0];if(!re(t))continue;let[n,a]=e._mapStrIdx(r,s,0,l.index),[o,c]=e._mapStrIdx(r,n,a,t.length);if(n===-1||a===-1||o===-1||c===-1)continue;let d={start:{x:a+1,y:n+1},end:{x:c,y:o+1}};u.push({range:d,text:t,activate:i})}return u}static _getWindowedLineStrings(e,t){let n,r=e,i=e,a=0,o=``,s=[];if(n=t.buffer.active.getLine(e)){let e=n.translateToString(!0);if(n.isWrapped&&e[0]!==` `){for(a=0;(n=t.buffer.active.getLine(--r))&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),n.isWrapped&&o.indexOf(` `)===-1););s.reverse()}for(s.push(e),a=0;(n=t.buffer.active.getLine(++i))&&n.isWrapped&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),o.indexOf(` `)===-1););}return[s,r]}static _mapStrIdx(e,t,n,r){let i=e.buffer.active,a=i.getNullCell(),o=n;for(;r;){let e=i.getLine(t);if(!e)return[-1,-1];for(let n=o;n<e.length;++n){e.getCell(n,a);let o=a.getChars();if(a.getWidth()&&(r-=o.length||1,n===e.length-1&&o===``)){let e=i.getLine(t+1);e&&e.isWrapped&&(e.getCell(0,a),a.getWidth()===2&&(r+=1))}if(r<0)return[t,n]}t++,o=0}return[t,o]}},ae=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function oe(e,t){let n=window.open();if(n){try{n.opener=null}catch{}n.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}var se=class{constructor(e=oe,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,n=t.urlRegex||ae;this._linkProvider=this._terminal.registerLinkProvider(new _(this._terminal,n,this._handler,t))}dispose(){this._linkProvider?.dispose()}},ce=Object.defineProperty,v=Object.getOwnPropertyDescriptor,le=(e,t)=>{for(var n in t)ce(e,n,{get:t[n],enumerable:!0})},y=(e,t,n,r)=>{for(var i=r>1?void 0:r?v(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&ce(t,n,i),i},b=(e,t)=>(n,r)=>t(n,r,e),ue=`Terminal input`,de={get:()=>ue,set:e=>ue=e},x=`Too much output to announce, navigate to rows manually to read`,fe={get:()=>x,set:e=>x=e};function pe(e){return e.replace(/\r?\n/g,`\r`)}function me(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function he(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function ge(e,t,n,r){e.stopPropagation(),e.clipboardData&&S(e.clipboardData.getData(`text/plain`),t,n,r)}function S(e,t,n,r){e=pe(e),e=me(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function _e(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function ve(e,t,n,r,i){_e(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function C(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function ye(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var be=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o)}else i!==65279&&(t[r++]=i)}return r}},xe=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128||(c=(i&31)<<6|a&63,c<128)){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Se=``,Ce=` `,we=class e{constructor(){this.fg=0,this.bg=0,this.extended=new w}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},w=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Te=class e extends we{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new w,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?C(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Ee=`di$target`,De=`di$dependencies`,Oe=new Map;function ke(e){return e[De]||[]}function T(e){if(Oe.has(e))return Oe.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Ae(t,e,r)};return t._id=e,Oe.set(e,t),t}function Ae(e,t,n){t[Ee]===t?t[De].push({id:e,index:n}):(t[De]=[{id:e,index:n}],t[Ee]=t)}var E=T(`BufferService`),je=T(`CoreMouseService`),Me=T(`CoreService`),Ne=T(`CharsetService`),Pe=T(`InstantiationService`),Fe=T(`LogService`),D=T(`OptionsService`),Ie=T(`OscLinkService`),Le=T(`UnicodeService`),Re=T(`DecorationService`),ze=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new Te,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(c!==-1||n.hasContent(t)){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Be(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};ze=y([b(0,E),b(1,D),b(2,Ie)],ze);function Be(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
1
|
+
import{n as e}from"./rolldown-runtime.js";import{t}from"./react.js";import{Dt as n,Et as r,Gt as i,Lt as a,U as o,X as s,Z as c,m as l,mt as u,zt as d}from"./icons.js";import{t as f}from"./jsx-runtime.js";import{n as p}from"./dialogs.js";import{i as m,n as h,r as ee}from"./keys.js";var g=2,te=1,ne=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(g,Math.floor(u/e.css.cell.width)),rows:Math.max(te,Math.floor(l/e.css.cell.height))}}},_=class{constructor(e,t,n,r={}){this._terminal=e,this._regex=t,this._handler=n,this._options=r}provideLinks(e,t){let n=ie.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(n))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(t,n)=>{if(this._options.hover){let{range:r}=e;this._options.hover(t,n,r)}},e))}};function re(e){try{let t=new URL(e),n=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(n.toLocaleLowerCase())}catch{return!1}}var ie=class e{static computeLink(t,n,r,i){let a=new RegExp(n.source,(n.flags||``)+`g`),[o,s]=e._getWindowedLineStrings(t-1,r),c=o.join(``),l,u=[];for(;l=a.exec(c);){let t=l[0];if(!re(t))continue;let[n,a]=e._mapStrIdx(r,s,0,l.index),[o,c]=e._mapStrIdx(r,n,a,t.length);if(n===-1||a===-1||o===-1||c===-1)continue;let d={start:{x:a+1,y:n+1},end:{x:c,y:o+1}};u.push({range:d,text:t,activate:i})}return u}static _getWindowedLineStrings(e,t){let n,r=e,i=e,a=0,o=``,s=[];if(n=t.buffer.active.getLine(e)){let e=n.translateToString(!0);if(n.isWrapped&&e[0]!==` `){for(a=0;(n=t.buffer.active.getLine(--r))&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),n.isWrapped&&o.indexOf(` `)===-1););s.reverse()}for(s.push(e),a=0;(n=t.buffer.active.getLine(++i))&&n.isWrapped&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),o.indexOf(` `)===-1););}return[s,r]}static _mapStrIdx(e,t,n,r){let i=e.buffer.active,a=i.getNullCell(),o=n;for(;r;){let e=i.getLine(t);if(!e)return[-1,-1];for(let n=o;n<e.length;++n){e.getCell(n,a);let o=a.getChars();if(a.getWidth()&&(r-=o.length||1,n===e.length-1&&o===``)){let e=i.getLine(t+1);e&&e.isWrapped&&(e.getCell(0,a),a.getWidth()===2&&(r+=1))}if(r<0)return[t,n]}t++,o=0}return[t,o]}},ae=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function oe(e,t){let n=window.open();if(n){try{n.opener=null}catch{}n.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}var se=class{constructor(e=oe,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,n=t.urlRegex||ae;this._linkProvider=this._terminal.registerLinkProvider(new _(this._terminal,n,this._handler,t))}dispose(){this._linkProvider?.dispose()}},ce=Object.defineProperty,v=Object.getOwnPropertyDescriptor,le=(e,t)=>{for(var n in t)ce(e,n,{get:t[n],enumerable:!0})},y=(e,t,n,r)=>{for(var i=r>1?void 0:r?v(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&ce(t,n,i),i},b=(e,t)=>(n,r)=>t(n,r,e),ue=`Terminal input`,de={get:()=>ue,set:e=>ue=e},x=`Too much output to announce, navigate to rows manually to read`,fe={get:()=>x,set:e=>x=e};function pe(e){return e.replace(/\r?\n/g,`\r`)}function me(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function he(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function ge(e,t,n,r){e.stopPropagation(),e.clipboardData&&S(e.clipboardData.getData(`text/plain`),t,n,r)}function S(e,t,n,r){e=pe(e),e=me(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function _e(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function ve(e,t,n,r,i){_e(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function C(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function ye(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var be=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o)}else i!==65279&&(t[r++]=i)}return r}},xe=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128||(c=(i&31)<<6|a&63,c<128)){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Se=``,Ce=` `,we=class e{constructor(){this.fg=0,this.bg=0,this.extended=new w}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},w=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Te=class e extends we{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new w,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?C(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Ee=`di$target`,De=`di$dependencies`,Oe=new Map;function ke(e){return e[De]||[]}function T(e){if(Oe.has(e))return Oe.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Ae(t,e,r)};return t._id=e,Oe.set(e,t),t}function Ae(e,t,n){t[Ee]===t?t[De].push({id:e,index:n}):(t[De]=[{id:e,index:n}],t[Ee]=t)}var E=T(`BufferService`),je=T(`CoreMouseService`),Me=T(`CoreService`),Ne=T(`CharsetService`),Pe=T(`InstantiationService`),Fe=T(`LogService`),D=T(`OptionsService`),Ie=T(`OscLinkService`),Le=T(`UnicodeService`),Re=T(`DecorationService`),ze=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new Te,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(c!==-1||n.hasContent(t)){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Be(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};ze=y([b(0,E),b(1,D),b(2,Ie)],ze);function Be(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
2
2
|
|
|
3
3
|
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var Ve=T(`CharSizeService`),He=T(`CoreBrowserService`),Ue=T(`MouseService`),We=T(`RenderService`),Ge=T(`SelectionService`),Ke=T(`CharacterJoinerService`),qe=T(`ThemeService`),Je=T(`LinkProviderService`),Ye=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?tt.isErrorNoTelemetry(e)?new tt(e.message+`
|
|
4
4
|
|
|
@@ -14,4 +14,4 @@ WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){t
|
|
|
14
14
|
`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(N(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(O(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<hs+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
15
15
|
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===hs+1&&(this._liveRegion.textContent+=fe.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(a&&o){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=``;let t=e.getBoundingClientRect().width,n=this._rowColumns.get(e)?.slice(-1)?.[0];if(!n)return;let r=n*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${r/t})`}};gs=y([b(1,Pe),b(2,He),b(3,We)],gs);var _s=class extends k{constructor(e,t,n,r,i){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=i,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new M),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new M),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(O(()=>{pt(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(N(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(N(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(N(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(N(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e<n.length;e++){let t=n[e];if(t.classList.contains(`xterm`))break;if(t.classList.contains(`xterm-hover`))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){this._activeLine!==e.y||this._wasResized?(this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1):this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){(!this._activeProviderReplies||!t)&&(this._activeProviderReplies?.forEach(e=>{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;r<t.size;r++){let i=t.get(r);if(i)for(let t=0;t<i.length;t++){let r=i[t],a=r.link.range.start.y<e?0:r.link.range.start.x,o=r.link.range.end.y>e?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;t<e;t++)(!this._activeProviderReplies.has(t)||this._activeProviderReplies.get(t))&&(i=!0);if(!i&&r){let e=r.find(e=>this._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;e<this._activeProviderReplies.size;e++){let r=this._activeProviderReplies.get(e)?.find(e=>this._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&vs(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,pt(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0||e.link.decorations.underline,pointerCursor:e.link.decorations===void 0||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};_s=y([b(1,Ue),b(2,We),b(3,E),b(4,Je)],_s);function vs(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var ys=class extends as{constructor(e={}){super(e),this._linkifier=this._register(new _t),this.browser=Li,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new _t),this._onCursorMove=this._register(new M),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new M),this.onKey=this._onKey.event,this._onRender=this._register(new M),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new M),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new M),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new M),this.onBell=this._onBell.event,this._onFocus=this._register(new M),this._onBlur=this._register(new M),this._onA11yCharEmitter=this._register(new M),this._onA11yTabEmitter=this._register(new M),this._onWillOpen=this._register(new M),this._setup(),this._decorationService=this._instantiationService.createInstance(ds),this._instantiationService.setService(Re,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Mi),this._instantiationService.setService(Je,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(ze)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(j.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(j.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(j.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(j.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(O(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=H.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${I.ESC}]${n};${Uo(r)}${ei.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=V.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=V.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(gs,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(I.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(I.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(N(this.element,`copy`,e=>{this.hasSelection()&&he(e,this._selectionService)}));let e=e=>ge(e,this.textarea,this.coreService,this.optionsService);this._register(N(this.textarea,`paste`,e)),this._register(N(this.element,`paste`,e)),Vi?this._register(N(this.element,`mousedown`,e=>{e.button===2&&ve(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(N(this.element,`contextmenu`,e=>{ve(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Yi&&this._register(N(this.element,`auxclick`,e=>{e.button===1&&_e(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(N(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(N(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(N(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(N(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(N(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(N(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(N(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(`div`),this.element.dir=`ltr`,this.element.classList.add(`terminal`),this.element.classList.add(`xterm`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(N(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,de.get()),Xi||this.textarea.setAttribute(`aria-multiline`,`false`),this.textarea.setAttribute(`autocorrect`,`off`),this.textarea.setAttribute(`autocapitalize`,`off`),this.textarea.setAttribute(`spellcheck`,`false`),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(`disableStdin`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Ai,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(He,this._coreBrowserService),this._register(N(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(N(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(Ei,this._document,this._helperContainer),this._instantiationService.setService(Ve,this._charSizeService),this._themeService=this._instantiationService.createInstance(Na),this._instantiationService.setService(qe,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(si),this._instantiationService.setService(Ke,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(na,this.rows,this.screenElement)),this._instantiationService.setService(We,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(ti,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Fi),this._instantiationService.setService(Ue,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(_s,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Kr,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(wa,this.element,this.screenElement,r)),this._instantiationService.setService(Ge,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(j.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(qr,this.screenElement)),this._register(N(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(`enable-mouse-events`)):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(gs,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Qr,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Qr,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Ti,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this._register(this.coreMouseService.onProtocolChange(e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),this.element.classList.add(`enable-mouse-events`),this._selectionService.disable()):(this._logService.debug(`Unbinding from mouse events.`),this.element.classList.remove(`enable-mouse-events`),this._selectionService.enable()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(N(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(N(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=I.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(`column-select`):this.element.classList.remove(`column-select`)}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){S(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,n){this._selectionService.setSelection(e,t,n)}getSelection(){return this._selectionService?this._selectionService.selectionText:``}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=ss(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((n.key===I.ETX||n.key===I.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(bs(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){e===this.cols&&t===this.rows?this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure():super.resize(e,t)}_afterResize(e,t){this._charSizeService?.measure()}clear(){if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(J));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(`focus`)?this.coreService.triggerDataEvent(I.ESC+`[I`):this.coreService.triggerDataEvent(I.ESC+`[O`)}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${I.ESC}[4;${t};${e}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${I.ESC}[6;${r};${n}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}};function bs(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var xs=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n<this._addons.length;n++)if(this._addons[n]===e){t=n;break}if(t===-1)throw Error(`Could not dispose an addon that has not been loaded`);e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},Ss=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new Te)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},Cs=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new Ss(t)}getNullCell(){return new Te}},ws=class extends k{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new M),this.onBufferChange=this._onBufferChange.event,this._normal=new Cs(this._core.buffers.normal,`normal`),this._alternate=new Cs(this._core.buffers.alt,`alternate`),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error(`Active buffer is neither normal nor alternate`)}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Ts=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},Es=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},Ds=[`cols`,`rows`],Os=0,ks=class extends k{constructor(e){super(),this._core=this._register(new ys(e)),this._addonManager=this._register(new xs),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(Ds.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error(`You must set the allowProposedApi option to true to use proposed API`)}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||=new Ts(this._core),this._parser}get unicode(){return this._checkProposedApi(),new Es(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||=this._register(new ws(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
|
|
16
16
|
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return de.get()},set promptLabel(e){de.set(e)},get tooMuchOutput(){return fe.get()},set tooMuchOutput(e){fe.set(e)}}}_verifyIntegers(...e){for(Os of e)if(Os===1/0||isNaN(Os)||Os%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(Os of e)if(Os&&(Os===1/0||isNaN(Os)||Os%1!=0||Os<0))throw Error(`This API only accepts positive integers`)}},Q=e(t(),1),$=e(f(),1),As=400,js=60,Ms=18;function Ns({extraKey:e,state:t,onKey:n,onModifier:r}){let[i,a]=(0,Q.useState)(!1),[o,s]=(0,Q.useState)(!1),c=(0,Q.useRef)(null),l=(0,Q.useRef)({onKey:n,onModifier:r});l.current={onKey:n,onModifier:r};let u=()=>{c.current?.timer&&clearTimeout(c.current.timer),c.current=null,a(!1),s(!1)};(0,Q.useEffect)(()=>u,[]);let d=t=>{if(t.button!==0||c.current)return;t.currentTarget.setPointerCapture(t.pointerId);let n={pointer:t.pointerId,y:t.clientY,timer:null,held:!1,popup:!1};c.current=n,a(!0);let{modifier:r}=e;if(r)n.timer=setTimeout(()=>{n.held=!0,l.current.onModifier(r,!0)},As);else if(e.repeat){let t=()=>{n.held=!0,l.current.onKey(n.popup&&e.popup?e.popup:e),n.timer=setTimeout(t,js)};n.timer=setTimeout(t,As)}else e.popup&&(n.timer=setTimeout(()=>{n.popup=!0,s(!0)},As))},f=t=>{let n=c.current;n&&n.pointer===t.pointerId&&e.popup&&!n.held&&n.y-t.clientY>Ms&&!n.popup&&(n.popup=!0,s(!0))},p=t=>{let i=c.current;i&&i.pointer===t.pointerId&&(i.held||(e.modifier?r(e.modifier,!1):n(i.popup&&e.popup?e.popup:e)),u())},m=e.popup?`${e.title}; swipe up: ${e.popup.title}`:e.title;return(0,$.jsxs)(`button`,{type:`button`,tabIndex:-1,className:`terminal-key${i?` pressed`:``}${e.label.length>2?` word`:``}`,"data-state":e.modifier?t:void 0,"aria-pressed":e.modifier?t!==`off`:void 0,"aria-label":m,title:m,onPointerDown:d,onPointerMove:f,onPointerUp:p,onPointerCancel:u,onLostPointerCapture:u,children:[e.label,e.popup&&(0,$.jsx)(`span`,{className:`terminal-key-popup`,children:e.popup.label}),o&&e.popup&&(0,$.jsx)(`span`,{className:`terminal-key-bubble`,children:e.popup.label}),t===`locked`&&(0,$.jsx)(`span`,{className:`terminal-key-lock`,"aria-hidden":`true`})]})}function Ps({rows:e,modifiers:t,onKey:n,onModifier:r}){return(0,$.jsx)(`div`,{className:`terminal-keys`,role:`toolbar`,"aria-label":`Extra keys`,onMouseDown:e=>e.preventDefault(),onContextMenu:e=>e.preventDefault(),children:e.map((e,i)=>(0,$.jsx)(`div`,{className:`terminal-keys-row`,children:e.map((e,i)=>(0,$.jsx)(Ns,{extraKey:e,state:e.modifier?t[e.modifier]:`off`,onKey:n,onModifier:r},i))},i))})}var Fs={min:7,max:32},Is=120,Ls=350,Rs=100;function zs(e){return`[?47l[!p[?25h[?1000l[?1002l[?1003l[?1006l[?2004l\x1b[999;1H${`
|
|
17
|
-
`.repeat(e)}\x1b[H\x1b[2m── new session ──\x1b[0m\r\n`}var Bs=`\x1Bc`,Vs={background:`#0b0e14`,foreground:`#d5dae3`,cursor:`#4f8cff`,cursorAccent:`#0b0e14`,selectionBackground:`rgba(79, 140, 255, 0.35)`,black:`#1c212b`,red:`#f0676b`,green:`#4fc98a`,yellow:`#e8b94f`,blue:`#5b9bff`,magenta:`#c57ff0`,cyan:`#4cc3d6`,white:`#c9d0db`,brightBlack:`#5d6879`,brightRed:`#ff8a8d`,brightGreen:`#79e0a8`,brightYellow:`#f5d27a`,brightBlue:`#8bb8ff`,brightMagenta:`#dba6f7`,brightCyan:`#7fdced`,brightWhite:`#f2f4f8`},Hs={background:`#ffffff`,foreground:`#1f2733`,cursor:`#2f6fed`,cursorAccent:`#ffffff`,selectionBackground:`rgba(47, 111, 237, 0.25)`,black:`#1f2733`,red:`#c92a2a`,green:`#2b8a3e`,yellow:`#9c6500`,blue:`#1f5ad6`,magenta:`#9327c4`,cyan:`#0c7c8c`,white:`#8b95a7`,brightBlack:`#5d6879`,brightRed:`#e03131`,brightGreen:`#37b24d`,brightYellow:`#b57900`,brightBlue:`#2f6fed`,brightMagenta:`#ae3ec9`,brightCyan:`#1098ad`,brightWhite:`#c3cad5`};function Us(e,t){let n=`tassello.terminal:${e}/${t}`;try{let e=sessionStorage.getItem(n);if(e&&/^[\w-]{1,64}$/.test(e))return e}catch{}let r=crypto.getRandomValues(new Uint8Array(12)),i=Array.from(r,e=>e.toString(16).padStart(2,`0`)).join(``);try{sessionStorage.setItem(n,i)}catch{}return i}function Ws(e){return(0,Q.useSyncExternalStore)(t=>{let n=window.matchMedia(e);return n.addEventListener(`change`,t),()=>n.removeEventListener(`change`,t)},()=>window.matchMedia(e).matches)}function Gs(e){let[t,n]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{let t=window.visualViewport;if(!e||!t){n(null);return}let r=()=>n({top:t.offsetTop,left:t.offsetLeft,width:t.width,height:t.height,keyboard:window.innerHeight-t.height*t.scale>Is});return r(),t.addEventListener(`resize`,r),t.addEventListener(`scroll`,r),()=>{t.removeEventListener(`resize`,r),t.removeEventListener(`scroll`,r)}},[e]),t}function Ks(e,t,n){let r=`tassello.terminal.fontSize:${e}/${t}`,i=()=>{try{let e=JSON.parse(localStorage.getItem(r)??`null`);return e?.base===n?e.size:n}catch{return n}},[a,o]=(0,Q.useState)(i);return(0,Q.useEffect)(()=>o(i()),[r,n]),[a,(0,Q.useCallback)(e=>{let t=Math.min(Fs.max,Math.max(Fs.min,Math.round(e)));o(t);try{localStorage.setItem(r,JSON.stringify({base:n,size:t}))}catch{}},[r,n])]}function qs(){return window.isSecureContext&&typeof navigator.clipboard?.readText==`function`}function Js({onPaste:e,onClose:t}){let[n,r]=(0,Q.useState)(``),[i,a]=(0,Q.useState)(!1);return(0,$.jsx)(p,{title:`Paste into the terminal`,onClose:t,children:(0,$.jsxs)(`form`,{className:`modal-body`,onSubmit:t=>{t.preventDefault(),e(n,i)},children:[(0,$.jsx)(`textarea`,{autoFocus:!0,value:n,rows:5,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,placeholder:`Paste or type here`,onChange:e=>r(e.target.value)}),(0,$.jsxs)(`label`,{className:`toggle`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:i,onChange:e=>a(e.target.checked)}),(0,$.jsx)(`span`,{className:`toggle-switch`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`field-label`,children:`Then press Enter`})]}),(0,$.jsxs)(`div`,{className:`modal-actions`,children:[(0,$.jsx)(`button`,{type:`button`,className:`button`,onClick:t,children:`Cancel`}),(0,$.jsx)(`button`,{type:`submit`,className:`button primary`,disabled:!n,children:`Paste`})]})]})})}var Ys={ctrl:`off`,alt:`off`,shift:`off`};function Xs(e){return{ctrl:e.ctrl!==`off`,alt:e.alt!==`off`,shift:e.shift!==`off`}}function Zs({config:e,panelId:t,widgetId:f,editing:p}){let g=(0,Q.useMemo)(()=>Us(t,f),[t,f]),te=(0,Q.useRef)(null),_=(0,Q.useRef)(null),re=(0,Q.useRef)(null),ie=(0,Q.useRef)(null),ae=(0,Q.useRef)({started:null,offset:null}),oe=(0,Q.useRef)(!1),ce=(0,Q.useRef)(!1),v=(0,Q.useRef)(!1),[le,y]=(0,Q.useState)({state:`waiting`,message:``}),[b,ue]=(0,Q.useState)(void 0),[de,x]=(0,Q.useState)(``),[fe,pe]=(0,Q.useState)(Ys),me=(0,Q.useRef)(fe),he=(0,Q.useRef)({ctrl:0,alt:0,shift:0}),[ge,S]=Ks(t,f,e.fontSize),[_e,ve]=(0,Q.useState)(!1),[C,ye]=(0,Q.useState)(!1),[be,xe]=(0,Q.useState)(!1),Se=i()===`open`,Ce=Ws(`(pointer: coarse)`),we=Ws(`(prefers-color-scheme: light)`),w=e.theme===`light`||e.theme===`auto`&&we?Hs:Vs,Te=(0,Q.useMemo)(()=>ee(e.keys),[e.keys]),Ee=e.extraKeys===`always`||e.extraKeys===`touch`&&Ce,De=Ce&&C&&e.fullScreenTyping&&!p,Oe=Gs(_e||De),ke=_e||De&&Oe?.keyboard===!0,T=(0,Q.useCallback)(e=>{let t=e(me.current);t!==me.current&&(me.current=t,pe(t))},[]),Ae=(0,Q.useCallback)(()=>T(e=>{if(!Object.values(e).includes(`once`))return e;let t=e=>e===`once`?`off`:e;return{ctrl:t(e.ctrl),alt:t(e.alt),shift:t(e.shift)}}),[T]),E=(0,Q.useCallback)(()=>{ie.current!==null&&l.restartTerminal(ie.current)&&(oe.current=!0)},[]),je=(0,Q.useCallback)(e=>{ie.current!==null&&(ce.current?e===`\r`&&E():l.terminalInput(ie.current,e))},[E]);(0,Q.useEffect)(()=>{let e=new ne,t=new ks({fontFamily:getComputedStyle(document.documentElement).getPropertyValue(`--mono`).trim()||`monospace`,fontSize:ge,scrollback:d,cursorBlink:!0,theme:w,macOptionIsMeta:!0,allowProposedApi:!0});t.loadAddon(e),t.loadAddon(new se),t.open(te.current),_.current=t,re.current=e,t.onData(e=>{if(v.current){je(e);return}let t=m(e,Xs(me.current));t!==null&&Ae(),je(t??e)}),t.onTitleChange(x),t.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`||!e.ctrlKey||e.altKey||e.metaKey)return!0;let n=e.key.toLowerCase();return n===`c`&&(e.shiftKey||t.hasSelection())?(t.hasSelection()&&(document.execCommand(`copy`),t.clearSelection()),e.preventDefault(),!1):!(n===`v`&&e.shiftKey)});let n=null;t.onResize(()=>{n??=setTimeout(()=>{n=null,ie.current!==null&&l.resizeTerminal(ie.current,t.cols,t.rows)},Rs)});let r=t.textarea,i=()=>ye(!0),a=()=>ye(!1);r?.addEventListener(`focus`,i),r?.addEventListener(`blur`,a);let o=0,s=new ResizeObserver(()=>{cancelAnimationFrame(o),o=requestAnimationFrame(()=>{te.current?.clientWidth&&te.current.clientHeight&&e.fit()})});return s.observe(te.current),e.fit(),()=>{s.disconnect(),cancelAnimationFrame(o),n&&clearTimeout(n),r?.removeEventListener(`focus`,i),r?.removeEventListener(`blur`,a),t.dispose(),_.current=null,re.current=null}},[]),(0,Q.useEffect)(()=>{let t=_.current;y({state:`waiting`,message:``});let{id:n,unsubscribe:r}=l.subscribeTerminal({terminal:g,command:e.command.trim(),folder:e.folder.trim()||`~`},{status:(e,t)=>y({state:e,message:t}),output:e=>{let r=ae.current,i=e.data;e.reset?i=Bs+i:e.started!==r.started&&r.started!==null&&(i=(oe.current?Bs:zs(t.rows))+i),e.started!==r.started&&(oe.current=!1,ce.current=!1,ue(void 0),x(``)),e.title!==null&&x(e.title),ae.current={started:e.started,offset:e.offset},t.write(i,()=>l.ackTerminal(n,e.started,e.offset))},exit:e=>{e.started===ae.current.started&&(ce.current=!0,ue(e.exitCode))},shown:()=>({cols:t.cols,rows:t.rows,...ae.current})});return ie.current=n,()=>{ie.current=null,r()}},[g,e.command,e.folder]),(0,Q.useEffect)(()=>{let e=_.current;e.options.theme=w},[w]),(0,Q.useEffect)(()=>{let e=_.current;e.options.fontSize=ge,re.current?.fit()},[ge]),(0,Q.useEffect)(()=>{let e=_.current;e.options.disableStdin=p,p&&e.blur()},[p]),(0,Q.useEffect)(()=>{let t=te.current,n=null,r=0,i=0,a=e=>Math.hypot(e[0].clientX-e[1].clientX,e[0].clientY-e[1].clientY),o=(e,t,n)=>{let r=_.current,a=r?.element?.querySelector(`.xterm-screen`);if(r&&a){if(r.buffer.active.type===`normal`&&r.modes.mouseTrackingMode===`none`){let t=a.clientHeight/r.rows;i+=e;let n=Math.trunc(i/t);n&&(r.scrollLines(n),i-=n*t)}else{let r={deltaY:e,deltaMode:WheelEvent.DOM_DELTA_PIXEL,clientX:t,clientY:n};a.dispatchEvent(new WheelEvent(`wheel`,{...r,bubbles:!0,cancelable:!0}))}}},s=t=>{if(cancelAnimationFrame(r),i=0,t.touches.length===1)n={kind:`scroll`,x:t.touches[0].clientX,y:t.touches[0].clientY,moves:[]};else if(t.touches.length===2){let r=_.current.options.fontSize??e.fontSize;n={kind:`pinch`,distance:a(t.touches),size:r}}},c=e=>{if(n?.kind===`pinch`&&e.touches.length===2){e.preventDefault();let t=Math.round(n.size*(a(e.touches)/n.distance));t!==_.current.options.fontSize&&S(t)}else if(n?.kind===`scroll`&&e.touches.length===1){e.preventDefault();let{clientX:t,clientY:r}=e.touches[0],i=n.y-r;n.x=t,n.y=r;let a=performance.now();n.moves=[...n.moves.filter(e=>a-e.time<100),{dy:i,time:a}],i&&o(i,t,r)}},l=e=>{if(e.touches.length>0)return;let t=_.current;if(n?.kind===`scroll`&&n.moves.length>1&&t?.buffer.active.type===`normal`){let{moves:e,x:t,y:i}=n,a=Math.max(16,performance.now()-e[0].time),s=e.reduce((e,t)=>e+t.dy,0)/a,c=performance.now(),l=e=>{let n=e-c;c=e,o(s*n,t,i),s*=.95**(n/16),Math.abs(s)>.05&&(r=requestAnimationFrame(l))};Math.abs(s)>.3&&(r=requestAnimationFrame(l))}n=null};return t.addEventListener(`touchstart`,s,{passive:!0}),t.addEventListener(`touchmove`,c,{passive:!1}),t.addEventListener(`touchend`,l),t.addEventListener(`touchcancel`,l),()=>{cancelAnimationFrame(r),t.removeEventListener(`touchstart`,s),t.removeEventListener(`touchmove`,c),t.removeEventListener(`touchend`,l),t.removeEventListener(`touchcancel`,l)}},[S,e.fontSize]);let Me=e=>{let t=_.current;if(e.action===`keyboard`){Pe();return}if(e.action===`paste`){D();return}let n=h(e,Xs(me.current),t.modes.applicationCursorKeysMode);Ae(),n&&Fe(()=>t.input(n,!0))},Ne=(e,t)=>{let n=performance.now(),r=n-he.current[e]<Ls;he.current[e]=n,T(n=>{let i=n[e],a=i===`off`?`once`:i===`once`&&r?`locked`:`off`;return t&&(a=`locked`),{...n,[e]:a}})},Pe=()=>{let e=_.current;C?e.blur():e.focus()},Fe=e=>{v.current=!0;try{e()}finally{v.current=!1}},D=async()=>{let e=_.current;if(qs())try{let t=await navigator.clipboard.readText();Fe(()=>e.paste(t));return}catch{}xe(!0)},Ie=e=>e.preventDefault(),Le={"--terminal-bg":w.background};ke&&Object.assign(Le,Oe?{top:Oe.top,left:Oe.left,width:Oe.width,height:Oe.height}:{top:0,left:0,width:`100%`,height:`100%`});let Re=`streaming`,ze=de||e.command.trim()||l.hostname||`Terminal`;return Se?le.state===`error`?Re=`error`:b!==void 0&&(Re=`idle`):(Re=`idle`,ze=`Reconnecting to the robot…`),(0,$.jsxs)(`div`,{className:`terminal-widget${ke?` filled`:``}`,style:Le,children:[(0,$.jsxs)(`div`,{className:`terminal-toolbar`,role:`toolbar`,"aria-label":`Terminal`,onMouseDown:Ie,children:[(0,$.jsx)(`span`,{className:`terminal-dot ${Re}`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`terminal-title`,title:ze,children:ze}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button terminal-font`,title:`Smaller text`,"aria-label":`Smaller text`,disabled:ge<=Fs.min,onClick:()=>S(ge-1),children:(0,$.jsx)(n,{width:17,height:17})}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button terminal-font`,title:`Larger text`,"aria-label":`Larger text`,disabled:ge>=Fs.max,onClick:()=>S(ge+1),children:(0,$.jsx)(a,{width:17,height:17})}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button`,title:`Paste (Ctrl+Shift+V)`,"aria-label":`Paste`,disabled:p,onClick:()=>void D(),children:(0,$.jsx)(u,{width:17,height:17})}),Ce&&(0,$.jsx)(`button`,{type:`button`,className:`overlay-button`,"aria-pressed":C,title:C?`Hide the keyboard`:`Show the keyboard`,"aria-label":C?`Hide the keyboard`:`Show the keyboard`,disabled:p,onClick:Pe,children:(0,$.jsx)(o,{width:17,height:17})}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button`,"aria-pressed":_e,title:_e?`Back into the panel`:`Fill the window`,"aria-label":_e?`Back into the panel`:`Fill the window`,disabled:p,onClick:()=>ve(!_e),children:_e?(0,$.jsx)(s,{width:17,height:17}):(0,$.jsx)(r,{width:17,height:17})}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button`,title:`Restart: hangs up what runs, and starts it again`,"aria-label":`Restart`,disabled:p||!Se,onClick:E,children:(0,$.jsx)(c,{width:16,height:16})})]}),(0,$.jsx)(`div`,{ref:te,className:`terminal-screen`}),(le.state===`error`||b!==void 0)&&(0,$.jsxs)(`div`,{className:`terminal-banner${le.state===`error`?` error`:``}`,onMouseDown:Ie,children:[(0,$.jsxs)(`span`,{children:[le.state===`error`?le.message:b===null?`Ended`:`Exited with code ${b}`,le.state!==`error`&&!Ce&&`: press Enter to start it again`]}),(0,$.jsxs)(`button`,{type:`button`,className:`button`,disabled:p||!Se,onClick:E,children:[(0,$.jsx)(c,{width:14,height:14}),`Restart`]})]}),Ee&&(0,$.jsx)(Ps,{rows:Te,modifiers:fe,onKey:Me,onModifier:Ne}),be&&(0,$.jsx)(Js,{onClose:()=>{xe(!1),_.current?.focus()},onPaste:(e,t)=>{xe(!1);let n=_.current;Fe(()=>n.paste(e)),t&&je(`\r`),n.focus()}})]})}export{Zs as default};
|
|
17
|
+
`.repeat(e)}\x1b[H\x1b[2m── new session ──\x1b[0m\r\n`}var Bs=`\x1Bc`,Vs={background:`#0b0e14`,foreground:`#d5dae3`,cursor:`#4f8cff`,cursorAccent:`#0b0e14`,selectionBackground:`rgba(79, 140, 255, 0.35)`,black:`#1c212b`,red:`#f0676b`,green:`#4fc98a`,yellow:`#e8b94f`,blue:`#5b9bff`,magenta:`#c57ff0`,cyan:`#4cc3d6`,white:`#c9d0db`,brightBlack:`#5d6879`,brightRed:`#ff8a8d`,brightGreen:`#79e0a8`,brightYellow:`#f5d27a`,brightBlue:`#8bb8ff`,brightMagenta:`#dba6f7`,brightCyan:`#7fdced`,brightWhite:`#f2f4f8`},Hs={background:`#ffffff`,foreground:`#1f2733`,cursor:`#2f6fed`,cursorAccent:`#ffffff`,selectionBackground:`rgba(47, 111, 237, 0.25)`,black:`#1f2733`,red:`#c92a2a`,green:`#2b8a3e`,yellow:`#9c6500`,blue:`#1f5ad6`,magenta:`#9327c4`,cyan:`#0c7c8c`,white:`#8b95a7`,brightBlack:`#5d6879`,brightRed:`#e03131`,brightGreen:`#37b24d`,brightYellow:`#b57900`,brightBlue:`#2f6fed`,brightMagenta:`#ae3ec9`,brightCyan:`#1098ad`,brightWhite:`#c3cad5`};function Us(e,t){let n=`tassello.terminal:${e}/${t}`;try{let e=sessionStorage.getItem(n);if(e&&/^[\w-]{1,64}$/.test(e))return e}catch{}let r=crypto.getRandomValues(new Uint8Array(12)),i=Array.from(r,e=>e.toString(16).padStart(2,`0`)).join(``);try{sessionStorage.setItem(n,i)}catch{}return i}function Ws(e){return(0,Q.useSyncExternalStore)(t=>{let n=window.matchMedia(e);return n.addEventListener(`change`,t),()=>n.removeEventListener(`change`,t)},()=>window.matchMedia(e).matches)}function Gs(e){let[t,n]=(0,Q.useState)(null);return(0,Q.useEffect)(()=>{let t=window.visualViewport;if(!e||!t){n(null);return}let r=()=>n({top:t.offsetTop,left:t.offsetLeft,width:t.width,height:t.height,keyboard:window.innerHeight-t.height*t.scale>Is});return r(),t.addEventListener(`resize`,r),t.addEventListener(`scroll`,r),()=>{t.removeEventListener(`resize`,r),t.removeEventListener(`scroll`,r)}},[e]),t}function Ks(e,t,n){let r=`tassello.terminal.fontSize:${e}/${t}`,i=()=>{try{let e=JSON.parse(localStorage.getItem(r)??`null`);return e?.base===n?e.size:n}catch{return n}},[a,o]=(0,Q.useState)(i);return(0,Q.useEffect)(()=>o(i()),[r,n]),[a,(0,Q.useCallback)(e=>{let t=Math.min(Fs.max,Math.max(Fs.min,Math.round(e)));o(t);try{localStorage.setItem(r,JSON.stringify({base:n,size:t}))}catch{}},[r,n])]}function qs(){return window.isSecureContext&&typeof navigator.clipboard?.readText==`function`}function Js({onPaste:e,onClose:t}){let[n,r]=(0,Q.useState)(``),[i,a]=(0,Q.useState)(!1);return(0,$.jsx)(p,{title:`Paste into the terminal`,onClose:t,children:(0,$.jsxs)(`form`,{className:`modal-body`,onSubmit:t=>{t.preventDefault(),e(n,i)},children:[(0,$.jsx)(`textarea`,{autoFocus:!0,value:n,rows:5,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,placeholder:`Paste or type here`,onChange:e=>r(e.target.value)}),(0,$.jsxs)(`label`,{className:`toggle`,children:[(0,$.jsx)(`input`,{type:`checkbox`,checked:i,onChange:e=>a(e.target.checked)}),(0,$.jsx)(`span`,{className:`toggle-switch`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`field-label`,children:`Then press Enter`})]}),(0,$.jsxs)(`div`,{className:`modal-actions`,children:[(0,$.jsx)(`button`,{type:`button`,className:`button`,onClick:t,children:`Cancel`}),(0,$.jsx)(`button`,{type:`submit`,className:`button primary`,disabled:!n,children:`Paste`})]})]})})}var Ys={ctrl:`off`,alt:`off`,shift:`off`};function Xs(e){return{ctrl:e.ctrl!==`off`,alt:e.alt!==`off`,shift:e.shift!==`off`}}function Zs({config:e,panelId:t,widgetId:f,editing:p}){let g=(0,Q.useMemo)(()=>Us(t,f),[t,f]),te=(0,Q.useRef)(null),_=(0,Q.useRef)(null),re=(0,Q.useRef)(null),ie=(0,Q.useRef)(null),ae=(0,Q.useRef)({started:null,offset:null}),oe=(0,Q.useRef)(!1),ce=(0,Q.useRef)(!1),v=(0,Q.useRef)(!1),[le,y]=(0,Q.useState)({state:`waiting`,message:``}),[b,ue]=(0,Q.useState)(void 0),[de,x]=(0,Q.useState)(``),[fe,pe]=(0,Q.useState)(Ys),me=(0,Q.useRef)(fe),he=(0,Q.useRef)({ctrl:0,alt:0,shift:0}),[ge,S]=Ks(t,f,e.fontSize),[_e,ve]=(0,Q.useState)(!1),[C,ye]=(0,Q.useState)(!1),[be,xe]=(0,Q.useState)(!1),Se=d()===`open`,Ce=Ws(`(pointer: coarse)`),we=Ws(`(prefers-color-scheme: light)`),w=e.theme===`light`||e.theme===`auto`&&we?Hs:Vs,Te=(0,Q.useMemo)(()=>ee(e.keys),[e.keys]),Ee=e.extraKeys===`always`||e.extraKeys===`touch`&&Ce,De=Ce&&C&&e.fullScreenTyping&&!p,Oe=Gs(_e||De),ke=_e||De&&Oe?.keyboard===!0,T=(0,Q.useCallback)(e=>{let t=e(me.current);t!==me.current&&(me.current=t,pe(t))},[]),Ae=(0,Q.useCallback)(()=>T(e=>{if(!Object.values(e).includes(`once`))return e;let t=e=>e===`once`?`off`:e;return{ctrl:t(e.ctrl),alt:t(e.alt),shift:t(e.shift)}}),[T]),E=(0,Q.useCallback)(()=>{ie.current!==null&&a.restartTerminal(ie.current)&&(oe.current=!0)},[]),je=(0,Q.useCallback)(e=>{ie.current!==null&&(ce.current?e===`\r`&&E():a.terminalInput(ie.current,e))},[E]);(0,Q.useEffect)(()=>{let e=new ne,t=new ks({fontFamily:getComputedStyle(document.documentElement).getPropertyValue(`--mono`).trim()||`monospace`,fontSize:ge,scrollback:i,cursorBlink:!0,theme:w,macOptionIsMeta:!0,allowProposedApi:!0});t.loadAddon(e),t.loadAddon(new se),t.open(te.current),_.current=t,re.current=e,t.onData(e=>{if(v.current){je(e);return}let t=m(e,Xs(me.current));t!==null&&Ae(),je(t??e)}),t.onTitleChange(x),t.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`||!e.ctrlKey||e.altKey||e.metaKey)return!0;let n=e.key.toLowerCase();return n===`c`&&(e.shiftKey||t.hasSelection())?(t.hasSelection()&&(document.execCommand(`copy`),t.clearSelection()),e.preventDefault(),!1):!(n===`v`&&e.shiftKey)});let n=null;t.onResize(()=>{n??=setTimeout(()=>{n=null,ie.current!==null&&a.resizeTerminal(ie.current,t.cols,t.rows)},Rs)});let r=t.textarea,o=()=>ye(!0),s=()=>ye(!1);r?.addEventListener(`focus`,o),r?.addEventListener(`blur`,s);let c=0,l=new ResizeObserver(()=>{cancelAnimationFrame(c),c=requestAnimationFrame(()=>{te.current?.clientWidth&&te.current.clientHeight&&e.fit()})});return l.observe(te.current),e.fit(),()=>{l.disconnect(),cancelAnimationFrame(c),n&&clearTimeout(n),r?.removeEventListener(`focus`,o),r?.removeEventListener(`blur`,s),t.dispose(),_.current=null,re.current=null}},[]),(0,Q.useEffect)(()=>{let t=_.current;y({state:`waiting`,message:``});let{id:n,unsubscribe:r}=a.subscribeTerminal({terminal:g,command:e.command.trim(),folder:e.folder.trim()||`~`},{status:(e,t)=>y({state:e,message:t}),output:e=>{let r=ae.current,i=e.data;e.reset?i=Bs+i:e.started!==r.started&&r.started!==null&&(i=(oe.current?Bs:zs(t.rows))+i),e.started!==r.started&&(oe.current=!1,ce.current=!1,ue(void 0),x(``)),e.title!==null&&x(e.title),ae.current={started:e.started,offset:e.offset},t.write(i,()=>a.ackTerminal(n,e.started,e.offset))},exit:e=>{e.started===ae.current.started&&(ce.current=!0,ue(e.exitCode))},shown:()=>({cols:t.cols,rows:t.rows,...ae.current})});return ie.current=n,()=>{ie.current=null,r()}},[g,e.command,e.folder]),(0,Q.useEffect)(()=>{let e=_.current;e.options.theme=w},[w]),(0,Q.useEffect)(()=>{let e=_.current;e.options.fontSize=ge,re.current?.fit()},[ge]),(0,Q.useEffect)(()=>{let e=_.current;e.options.disableStdin=p,p&&e.blur()},[p]),(0,Q.useEffect)(()=>{let t=te.current,n=null,r=0,i=0,a=e=>Math.hypot(e[0].clientX-e[1].clientX,e[0].clientY-e[1].clientY),o=(e,t,n)=>{let r=_.current,a=r?.element?.querySelector(`.xterm-screen`);if(r&&a){if(r.buffer.active.type===`normal`&&r.modes.mouseTrackingMode===`none`){let t=a.clientHeight/r.rows;i+=e;let n=Math.trunc(i/t);n&&(r.scrollLines(n),i-=n*t)}else{let r={deltaY:e,deltaMode:WheelEvent.DOM_DELTA_PIXEL,clientX:t,clientY:n};a.dispatchEvent(new WheelEvent(`wheel`,{...r,bubbles:!0,cancelable:!0}))}}},s=t=>{if(cancelAnimationFrame(r),i=0,t.touches.length===1)n={kind:`scroll`,x:t.touches[0].clientX,y:t.touches[0].clientY,moves:[]};else if(t.touches.length===2){let r=_.current.options.fontSize??e.fontSize;n={kind:`pinch`,distance:a(t.touches),size:r}}},c=e=>{if(n?.kind===`pinch`&&e.touches.length===2){e.preventDefault();let t=Math.round(n.size*(a(e.touches)/n.distance));t!==_.current.options.fontSize&&S(t)}else if(n?.kind===`scroll`&&e.touches.length===1){e.preventDefault();let{clientX:t,clientY:r}=e.touches[0],i=n.y-r;n.x=t,n.y=r;let a=performance.now();n.moves=[...n.moves.filter(e=>a-e.time<100),{dy:i,time:a}],i&&o(i,t,r)}},l=e=>{if(e.touches.length>0)return;let t=_.current;if(n?.kind===`scroll`&&n.moves.length>1&&t?.buffer.active.type===`normal`){let{moves:e,x:t,y:i}=n,a=Math.max(16,performance.now()-e[0].time),s=e.reduce((e,t)=>e+t.dy,0)/a,c=performance.now(),l=e=>{let n=e-c;c=e,o(s*n,t,i),s*=.95**(n/16),Math.abs(s)>.05&&(r=requestAnimationFrame(l))};Math.abs(s)>.3&&(r=requestAnimationFrame(l))}n=null};return t.addEventListener(`touchstart`,s,{passive:!0}),t.addEventListener(`touchmove`,c,{passive:!1}),t.addEventListener(`touchend`,l),t.addEventListener(`touchcancel`,l),()=>{cancelAnimationFrame(r),t.removeEventListener(`touchstart`,s),t.removeEventListener(`touchmove`,c),t.removeEventListener(`touchend`,l),t.removeEventListener(`touchcancel`,l)}},[S,e.fontSize]);let Me=e=>{let t=_.current;if(e.action===`keyboard`){Pe();return}if(e.action===`paste`){D();return}let n=h(e,Xs(me.current),t.modes.applicationCursorKeysMode);Ae(),n&&Fe(()=>t.input(n,!0))},Ne=(e,t)=>{let n=performance.now(),r=n-he.current[e]<Ls;he.current[e]=n,T(n=>{let i=n[e],a=i===`off`?`once`:i===`once`&&r?`locked`:`off`;return t&&(a=`locked`),{...n,[e]:a}})},Pe=()=>{let e=_.current;C?e.blur():e.focus()},Fe=e=>{v.current=!0;try{e()}finally{v.current=!1}},D=async()=>{let e=_.current;if(qs())try{let t=await navigator.clipboard.readText();Fe(()=>e.paste(t));return}catch{}xe(!0)},Ie=e=>e.preventDefault(),Le={"--terminal-bg":w.background};ke&&Object.assign(Le,Oe?{top:Oe.top,left:Oe.left,width:Oe.width,height:Oe.height}:{top:0,left:0,width:`100%`,height:`100%`});let Re=`streaming`,ze=de||e.command.trim()||a.hostname||`Terminal`;return Se?le.state===`error`?Re=`error`:b!==void 0&&(Re=`idle`):(Re=`idle`,ze=`Reconnecting to the robot…`),(0,$.jsxs)(`div`,{className:`terminal-widget${ke?` filled`:``}`,style:Le,children:[(0,$.jsxs)(`div`,{className:`terminal-toolbar`,role:`toolbar`,"aria-label":`Terminal`,onMouseDown:Ie,children:[(0,$.jsx)(`span`,{className:`terminal-dot ${Re}`,"aria-hidden":`true`}),(0,$.jsx)(`span`,{className:`terminal-title`,title:ze,children:ze}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button terminal-font`,title:`Smaller text`,"aria-label":`Smaller text`,disabled:ge<=Fs.min,onClick:()=>S(ge-1),children:(0,$.jsx)(n,{width:17,height:17})}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button terminal-font`,title:`Larger text`,"aria-label":`Larger text`,disabled:ge>=Fs.max,onClick:()=>S(ge+1),children:(0,$.jsx)(r,{width:17,height:17})}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button`,title:`Paste (Ctrl+Shift+V)`,"aria-label":`Paste`,disabled:p,onClick:()=>void D(),children:(0,$.jsx)(l,{width:17,height:17})}),Ce&&(0,$.jsx)(`button`,{type:`button`,className:`overlay-button`,"aria-pressed":C,title:C?`Hide the keyboard`:`Show the keyboard`,"aria-label":C?`Hide the keyboard`:`Show the keyboard`,disabled:p,onClick:Pe,children:(0,$.jsx)(o,{width:17,height:17})}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button`,"aria-pressed":_e,title:_e?`Back into the panel`:`Fill the window`,"aria-label":_e?`Back into the panel`:`Fill the window`,disabled:p,onClick:()=>ve(!_e),children:_e?(0,$.jsx)(c,{width:17,height:17}):(0,$.jsx)(s,{width:17,height:17})}),(0,$.jsx)(`button`,{type:`button`,className:`overlay-button`,title:`Restart: hangs up what runs, and starts it again`,"aria-label":`Restart`,disabled:p||!Se,onClick:E,children:(0,$.jsx)(u,{width:16,height:16})})]}),(0,$.jsx)(`div`,{ref:te,className:`terminal-screen`}),(le.state===`error`||b!==void 0)&&(0,$.jsxs)(`div`,{className:`terminal-banner${le.state===`error`?` error`:``}`,onMouseDown:Ie,children:[(0,$.jsxs)(`span`,{children:[le.state===`error`?le.message:b===null?`Ended`:`Exited with code ${b}`,le.state!==`error`&&!Ce&&`: press Enter to start it again`]}),(0,$.jsxs)(`button`,{type:`button`,className:`button`,disabled:p||!Se,onClick:E,children:[(0,$.jsx)(u,{width:14,height:14}),`Restart`]})]}),Ee&&(0,$.jsx)(Ps,{rows:Te,modifiers:fe,onKey:Me,onModifier:Ne}),be&&(0,$.jsx)(Js,{onClose:()=>{xe(!1),_.current?.focus()},onPaste:(e,t)=>{xe(!1);let n=_.current;Fe(()=>n.paste(e)),t&&je(`\r`),n.focus()}})]})}export{Zs as default};
|
package/dist/www/assets/icons.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime.js";import{t}from"./react.js";import{t as n}from"./jsx-runtime.js";var r=e(t(),1),i=[`image/jpeg`,`image/png`],a=1e4,o=1e3,s=2e3,c=`X-Dashboard-Client`,l=500,ee=5e3,u=1e4,d=5e3,f=2e3,p=2e4,te=65536;function m(e,t){return`${e}/${t}`}var h=new class{status=`connecting`;clientId=null;hostname=``;clockOffsetMs=0;ws=null;retryMs=l;statusListeners=new Set;messageListeners=new Set;subscriptions=new Map;nextId=1;results=new Map;requests=new Map;commands=new Map;commandListeners=new Set;connect(){let e=new WebSocket(`${location.protocol===`https:`?`wss`:`ws`}://${location.host}/ws`);e.binaryType=`arraybuffer`,this.ws=e,e.onmessage=t=>{typeof t.data==`string`?this.onMessage(JSON.parse(t.data)):this.onFrame(e,t.data)},e.onclose=()=>{this.ws===e&&(this.ws=null,this.setStatus(`closed`),this.requests.forEach(e=>e(`Disconnected from the robot`)),this.requests.clear(),this.results.forEach(({reject:e})=>e(Error(`Disconnected from the robot`))),this.results.clear(),setTimeout(()=>this.connect(),this.retryMs),this.retryMs=Math.min(ee,this.retryMs*2))}}send(e){return this.ws?.readyState!==WebSocket.OPEN||this.status!==`open`?!1:(this.ws.send(JSON.stringify(e)),!0)}onStatusChange=e=>(this.statusListeners.add(e),()=>this.statusListeners.delete(e));onServerMessage(e){return this.messageListeners.add(e),()=>this.messageListeners.delete(e)}subscribeImage(e,t){return this.subscribe({type:`image.subscribe`,...e},{stream:t})}subscribeGrid(e,t){return this.subscribe({type:`grid.subscribe`,...e},{stream:t})}subscribeTf(e,t){return this.subscribe({type:`tf.subscribe`,...e},{tf:t})}subscribePath(e,t){return this.subscribe({type:`path.subscribe`,...e},{path:t})}subscribeTopic(e,t){return this.subscribe({type:`topic.subscribe`,...e},{topic:t})}subscribeServices(e,t){return this.subscribe({type:`services.subscribe`,...e},{services:t})}subscribeLogs(e,t){return this.subscribe({type:`logs.subscribe`,...e},{logs:t})}subscribeBehaviorTree(e,t){return this.subscribe({type:`bt.subscribe`,...e},{behaviorTree:t})}recordBehaviorTree(e,t){let n=this.nextId++,r=this.send({type:`bt.record`,id:n,topic:e,path:t});return this.result(n,r,p)}subscribeBehaviorTreePlayback(e,t){return{id:this.nextId,unsubscribe:this.subscribe({type:`bt.playback`,...e},{behaviorTree:t})}}controlBehaviorTreePlayback(e,t){return this.send({type:`bt.playback.control`,id:e,...t})}subscribeBehaviorTreeFile(e,t){return this.subscribe({type:`bt.file.subscribe`,...e},{behaviorTreeFile:t})}saveBehaviorTreeFile(e,t,n,r=!1){let i=this.nextId++,a=this.send({type:`bt.file.save`,id:i,path:e,text:t,base:n,create:r});return this.result(i,a,u)}subscribeRosout(e,t){return this.subscribe({type:`rosout.subscribe`,...e},{rosout:t})}subscribeDiagnostics(e,t){return this.subscribe({type:`diagnostics.subscribe`,...e},{diagnostics:t})}subscribeTerminal(e,t){return{id:this.nextId,unsubscribe:this.subscribe(()=>({type:`terminal.open`,...e,...t.shown()}),{terminal:t})}}terminalInput(e,t){for(let n=0;n<t.length;){let r=Math.min(t.length,n+te),i=t.charCodeAt(r-1);if(r<t.length&&i>=55296&&i<=56319&&r--,!this.send({type:`terminal.input`,id:e,data:t.slice(n,r)}))return!1;n=r}return!0}resizeTerminal(e,t,n){return this.send({type:`terminal.resize`,id:e,cols:t,rows:n})}ackTerminal(e,t,n){return this.send({type:`terminal.ack`,id:e,started:t,offset:n})}restartTerminal(e){return this.send({type:`terminal.restart`,id:e})}serviceAction(e,t,n){let r=this.nextId++;return this.send({type:`service.action`,id:r,unit:e,scope:t,verb:n})?new Promise(e=>this.requests.set(r,e)):Promise.resolve(`Not connected to the robot`)}publish(e,t,n){return this.send({type:`ros.publish`,topic:e,messageType:t,message:n})}callService(e,t,n={},r=d){let i=this.nextId++,a=this.send({type:`ros.call`,id:i,service:e,serviceType:t,request:n,timeoutMs:r});return this.result(i,a,r+f)}request(e,t,n=null,r=u){let i=this.nextId++,a=this.send({type:`plugin.request`,id:i,plugin:e,method:t,params:n});return this.result(i,a,r)}subscribePlugin(e,t,n,r){return this.subscribe({type:`plugin.subscribe`,plugin:e,stream:t,params:n},{plugin:r})}subscribeArm(e,t){return{id:this.nextId,unsubscribe:this.subscribe({type:`arm.subscribe`,...e},{arm:t})}}onCommandsChange=e=>(this.commandListeners.add(e),()=>this.commandListeners.delete(e));serverNow(){return Date.now()+this.clockOffsetMs}commandState(e,t){return this.commands.get(m(e,t))}result(e,t,n){return t?new Promise((t,r)=>{let i=setTimeout(()=>{this.results.delete(e),r(Error(`No answer from the robot`))},n);this.results.set(e,{resolve:e=>{clearTimeout(i),t(e)},reject:e=>{clearTimeout(i),r(e)}})}):Promise.reject(Error(`Not connected to the robot`))}subscribe(e,t){let n=this.nextId++;return this.subscriptions.set(n,{request:e,...t}),this.send({...typeof e==`function`?e():e,id:n}),()=>{this.subscriptions.delete(n),this.send({type:`unsubscribe`,id:n})}}setStatus(e){this.status=e,this.statusListeners.forEach(e=>e())}onMessage(e){switch(e.type){case`hello`:this.clientId=e.clientId,this.hostname=e.hostname,this.clockOffsetMs=e.time-Date.now(),this.retryMs=l,this.setStatus(`open`);for(let[e,{request:t}]of this.subscriptions)this.send({...typeof t==`function`?t():t,id:e});break;case`commands`:this.commands=new Map(e.states.map(e=>[m(e.panelId,e.widgetId),e])),this.commandListeners.forEach(e=>e());break;case`command`:this.commands=new Map(this.commands).set(m(e.state.panelId,e.state.widgetId),e.state),this.commandListeners.forEach(e=>e());break;case`stream.status`:{let t=this.subscriptions.get(e.id);(t?.stream??t?.topic??t?.behaviorTree??t?.rosout??t?.diagnostics??t?.terminal)?.status(e.state,e.message),t?.plugin?.status?.(e.state,e.message);break}case`message`:this.subscriptions.get(e.id)?.topic?.message(e.messageType,e.message);break;case`tf`:this.subscriptions.get(e.id)?.tf?.(e);break;case`path`:this.subscriptions.get(e.id)?.path?.(e);break;case`services`:this.subscriptions.get(e.id)?.services?.(e);break;case`logs`:this.subscriptions.get(e.id)?.logs?.(e);break;case`service.result`:this.requests.get(e.id)?.(e.error),this.requests.delete(e.id);break;case`arm`:this.subscriptions.get(e.id)?.arm?.(e);break;case`result`:{let t=this.results.get(e.id);this.results.delete(e.id),e.ok?t?.resolve(e.value):t?.reject(Error(e.error));break}case`plugin.data`:this.subscriptions.get(e.id)?.plugin?.data(e.data);break;case`bt.tree`:this.subscriptions.get(e.id)?.behaviorTree?.tree(e);break;case`bt`:this.subscriptions.get(e.id)?.behaviorTree?.update(e);break;case`bt.recording`:this.subscriptions.get(e.id)?.behaviorTree?.recording?.(e.recording);break;case`bt.playback.state`:this.subscriptions.get(e.id)?.behaviorTree?.playback?.(e);break;case`bt.file`:this.subscriptions.get(e.id)?.behaviorTreeFile?.file(e);break;case`bt.models`:this.subscriptions.get(e.id)?.behaviorTreeFile?.models(e);break;case`rosout`:this.subscriptions.get(e.id)?.rosout?.update(e);break;case`diagnostics`:this.subscriptions.get(e.id)?.diagnostics?.update(e);break;case`terminal.output`:this.subscriptions.get(e.id)?.terminal?.output(e);break;case`terminal.exit`:this.subscriptions.get(e.id)?.terminal?.exit(e)}this.messageListeners.forEach(t=>t(e))}onFrame(e,t){let n=new DataView(t,0,11),r=n.getUint32(0),a=this.subscriptions.get(r)?.stream;if(!a)return;let o=n.getUint16(9),s={width:n.getUint16(5),height:n.getUint16(7),meta:o?JSON.parse(new TextDecoder().decode(new Uint8Array(t,11,o))):null},c=new Blob([new Uint8Array(t,11+o)],{type:i[n.getUint8(4)]??`image/jpeg`});Promise.resolve().then(()=>a.frame(c,s)).catch(()=>{}).finally(()=>{this.ws===e&&this.subscriptions.has(r)&&this.send({type:`frame.ack`,id:r})})}};function g(){return(0,r.useSyncExternalStore)(h.onStatusChange,()=>h.status)}function _(e,t,n=10){let[i,a]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(a(null),e.trim()&&t.trim())return h.subscribeTf({targetFrame:e.trim(),sourceFrame:t.trim(),rate:n},a)},[e,t,n]),i}function v(e,t=10){let[n,i]=(0,r.useState)({message:null,messageType:null,status:`waiting`,error:``});return(0,r.useEffect)(()=>{if(i({message:null,messageType:null,status:`waiting`,error:``}),e.trim())return h.subscribeTopic({topic:e.trim(),maxRate:t},{status:(e,t)=>i(n=>({...n,status:e,error:t})),message:(e,t)=>i({message:t,messageType:e,status:`streaming`,error:``})})},[e,t]),n}function y(e,t){return(0,r.useSyncExternalStore)(h.onCommandsChange,()=>h.commandState(e,t))}var b=e(n(),1);function x(e){return function(t){return(0,b.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`18`,height:`18`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...t,children:e})}}var S=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`4`,y:`8`,width:`16`,height:`12`,rx:`3`}),(0,b.jsx)(`path`,{d:`M12 8V4M9 4h6`}),(0,b.jsx)(`circle`,{cx:`9`,cy:`14`,r:`1.2`,fill:`currentColor`,stroke:`none`}),(0,b.jsx)(`circle`,{cx:`15`,cy:`14`,r:`1.2`,fill:`currentColor`,stroke:`none`}),(0,b.jsx)(`path`,{d:`M2 13v3M22 13v3`})]})),C=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`3`,y:`3`,width:`8`,height:`10`,rx:`1.5`}),(0,b.jsx)(`rect`,{x:`13`,y:`3`,width:`8`,height:`6`,rx:`1.5`}),(0,b.jsx)(`rect`,{x:`3`,y:`15`,width:`8`,height:`6`,rx:`1.5`}),(0,b.jsx)(`rect`,{x:`13`,y:`11`,width:`8`,height:`10`,rx:`1.5`})]})),w=x((0,b.jsx)(`path`,{d:`M12 5v14M5 12h14`})),T=x((0,b.jsx)(`path`,{d:`M18 6 6 18M6 6l12 12`})),E=x((0,b.jsx)(`path`,{d:`M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 11v5M14 11v5`})),D=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`8`,y:`8`,width:`12`,height:`12`,rx:`2`}),(0,b.jsx)(`path`,{d:`M4 16V6a2 2 0 0 1 2-2h10`})]})),O=x((0,b.jsx)(`path`,{d:`M9 14 4 9l5-5M4 9h10.5a5.5 5.5 0 0 1 0 11H11`})),k=x((0,b.jsx)(`path`,{d:`m15 14 5-5-5-5M20 9H9.5a5.5 5.5 0 0 0 0 11H13`})),A=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`path`,{d:`M5 3h11l3 3v13a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V3Z`}),(0,b.jsx)(`path`,{d:`M8 3v5h7V3M8 21v-7h8v7`})]})),j=x((0,b.jsx)(`path`,{d:`m8 7-5 5 5 5M16 7l5 5-5 5M14 4l-4 16`})),M=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1`,fill:`currentColor`}),(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1`,fill:`currentColor`}),(0,b.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1`,fill:`currentColor`})]})),N=x((0,b.jsx)(`path`,{d:`M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6`})),P=x((0,b.jsx)(`path`,{d:`M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z`})),F=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`path`,{d:`M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z`}),(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]})),I=x((0,b.jsx)(`path`,{d:`M3 3l18 18M10.6 5.1A9.9 9.9 0 0 1 12 5c6.5 0 10 7 10 7a17 17 0 0 1-3.2 4.1M6.6 6.6C3.9 8.4 2 12 2 12s3.5 7 10 7a9.6 9.6 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2`})),L=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`7`,y:`2`,width:`10`,height:`20`,rx:`2`}),(0,b.jsx)(`path`,{d:`M11 18h2`})]})),R=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}),(0,b.jsx)(`path`,{d:`M11 18h2`})]})),z=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`2`,y:`4`,width:`20`,height:`13`,rx:`2`}),(0,b.jsx)(`path`,{d:`M8 21h8M12 17v4`})]})),B=x((0,b.jsx)(`path`,{d:`M21 12a9 9 0 1 1-2.6-6.4L21 8M21 3v5h-5`})),V=x((0,b.jsx)(`path`,{d:`M7 4.5v15l12-7.5L7 4.5Z`,fill:`currentColor`})),H=x((0,b.jsx)(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`1.5`,fill:`currentColor`})),U=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,b.jsx)(`circle`,{cx:`8.5`,cy:`9.5`,r:`1.5`}),(0,b.jsx)(`path`,{d:`m21 16-5-5-9 9`})]})),W=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,b.jsx)(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,b.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1.5`}),(0,b.jsx)(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1.5`})]})),G=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`6`}),(0,b.jsx)(`path`,{d:`M6 12h4M8 10v4`}),(0,b.jsx)(`circle`,{cx:`15.5`,cy:`11`,r:`1`,fill:`currentColor`,stroke:`none`}),(0,b.jsx)(`circle`,{cx:`17.5`,cy:`13.5`,r:`1`,fill:`currentColor`,stroke:`none`})]})),K=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}),(0,b.jsx)(`path`,{d:`m6 9 3 3-3 3M12 15h5`})]})),q=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`path`,{d:`m22 8-6 4 6 4V8Z`}),(0,b.jsx)(`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`})]})),J=x((0,b.jsx)(`path`,{d:`M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2ZM9 4v14M15 6v14`})),Y=x((0,b.jsx)(`path`,{d:`M5 21V4M5 4h12l-2.5 4.5L17 13H5`})),X=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`7`}),(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2.5`,fill:`currentColor`,stroke:`none`}),(0,b.jsx)(`path`,{d:`M12 2v3M12 19v3M2 12h3M19 12h3`})]})),Z=x((0,b.jsx)(`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3`})),Q=x((0,b.jsx)(`path`,{d:`m3 11 19-9-9 19-2-8-8-2Z`})),ne=x((0,b.jsx)(`path`,{d:`M12 3v8M6.3 6.8a8 8 0 1 0 11.4 0`})),re=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`path`,{d:`M4 21h9M8 21v-4.5l5-6.5 5 2.5M18 12.5l2.5-3M18 12.5l2 3`}),(0,b.jsx)(`circle`,{cx:`8`,cy:`16.5`,r:`1.6`}),(0,b.jsx)(`circle`,{cx:`13`,cy:`10`,r:`1.6`})]})),ie=x((0,b.jsx)(`path`,{d:`M4 20 18 6M4 20h16M11 20a7 7 0 0 0-2.1-5`})),ae=x((0,b.jsx)(`path`,{d:`M12 2 3 7v10l9 5 9-5V7l-9-5ZM3 7l9 5 9-5M12 12v10`})),oe=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,b.jsx)(`path`,{d:`M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3M12 17h.01`})]})),se=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`9`,y:`3`,width:`6`,height:`5`,rx:`1.2`}),(0,b.jsx)(`rect`,{x:`3`,y:`16`,width:`6`,height:`5`,rx:`1.2`}),(0,b.jsx)(`rect`,{x:`15`,y:`16`,width:`6`,height:`5`,rx:`1.2`}),(0,b.jsx)(`path`,{d:`M12 8v4M6 16v-4h12v4`})]})),ce=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`9`,y:`3`,width:`6`,height:`5`,rx:`1.2`}),(0,b.jsx)(`rect`,{x:`3`,y:`16`,width:`6`,height:`5`,rx:`1.2`}),(0,b.jsx)(`path`,{d:`M12 8v4M6 16v-4h7`}),(0,b.jsx)(`path`,{d:`M19.2 11.8a1.6 1.6 0 0 1 2.3 2.3L15.8 19.8l-3 .7.7-3Z`})]})),le=x((0,b.jsx)(`path`,{d:`M9 6h11M9 12h11M9 18h11M4 6h.01M4 12h.01M4 18h.01`})),ue=x((0,b.jsx)(`path`,{d:`M3 12a9 9 0 1 0 2.6-6.4L3 8M3 3v5h5M12 7v5l3 2`})),de=x((0,b.jsx)(`path`,{d:`M4 12h15M13 6l6 6-6 6`})),fe=x((0,b.jsx)(`path`,{d:`M8.5 8.5a3.5 3.5 0 1 1 5 3.2c-.9.4-1.5 1.3-1.5 2.3v.5M12 19.5h.01`})),pe=x((0,b.jsx)(`path`,{d:`M4 8h13M4 16h13M14 4l4 4-4 4M14 12l4 4-4 4`})),me=x((0,b.jsx)(`path`,{d:`M12 3v7M12 10l-6 7v4M12 10l6 7v4`})),he=x((0,b.jsx)(`path`,{d:`m12 3 9 9-9 9-9-9 9-9Z`})),ge=x((0,b.jsx)(`path`,{d:`M13 2 4.5 13.5H11L10 22l8.5-11.5H12L13 2Z`})),_e=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,b.jsx)(`path`,{d:`m8 12.5 2.8 2.8L16 9.8`})]})),ve=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4.5`,fill:`currentColor`,stroke:`none`})]})),ye=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`6`,y:`5`,width:`4`,height:`14`,rx:`1`,fill:`currentColor`,stroke:`none`}),(0,b.jsx)(`rect`,{x:`14`,y:`5`,width:`4`,height:`14`,rx:`1`,fill:`currentColor`,stroke:`none`})]})),be=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,b.jsx)(`path`,{d:`M7 4v16M17 4v16M3 9h4M3 15h4M17 9h4M17 15h4`})]})),xe=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,b.jsx)(`path`,{d:`M7 8h10M7 12h6M7 16h8`}),(0,b.jsx)(`circle`,{cx:`17.5`,cy:`16`,r:`1`,fill:`currentColor`,stroke:`none`})]})),Se=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`circle`,{cx:`6`,cy:`6`,r:`2.5`}),(0,b.jsx)(`circle`,{cx:`18`,cy:`9`,r:`2.5`}),(0,b.jsx)(`circle`,{cx:`9`,cy:`18`,r:`2.5`}),(0,b.jsx)(`path`,{d:`M8.4 6.7 15.6 8.4M16.5 11.1l-5.6 5.1M6.6 8.4l1.8 7.1`})]})),Ce=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`circle`,{cx:`11`,cy:`11`,r:`6.5`}),(0,b.jsx)(`path`,{d:`m20 20-4.3-4.3`})]})),we=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`}),(0,b.jsx)(`path`,{d:`m6 6 12 12`})]})),Te=x((0,b.jsx)(`path`,{d:`M3 5h18l-7 8.5V19l-4 2v-7.5L3 5Z`})),Ee=x((0,b.jsx)(`path`,{d:`M12 3v12M7 10l5 5 5-5M4 15v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4`})),De=x((0,b.jsx)(`path`,{d:`M12 4v12M7 11l5 5 5-5M5 20h14`})),Oe=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,b.jsx)(`path`,{d:`M6.5 12.5h2.5l1.8-4.5 2.6 8 1.8-3.5h2.3`})]})),ke=x((0,b.jsx)(`path`,{d:`m7 15 5 5 5-5M7 9l5-5 5 5`})),Ae=x((0,b.jsx)(`path`,{d:`M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z`})),je=x((0,b.jsx)(`path`,{d:`M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7ZM12 10.5v5M9.5 13h5`})),Me=x((0,b.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5ZM14 3v5h5`})),Ne=x((0,b.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5ZM14 3v5h5M9 13h6M9 17h6`})),Pe=x((0,b.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5ZM14 3v5h5M12 11.5v6M9 14.5h6`})),Fe=x((0,b.jsx)(`path`,{d:`M12 15V3M7 8l5-5 5 5M4 15v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4`})),Ie=x((0,b.jsx)(`path`,{d:`M12 20V5M6 11l6-6 6 6`})),Le=x((0,b.jsx)(`path`,{d:`M20 12H5M11 6l-6 6 6 6`})),Re=x((0,b.jsx)(`path`,{d:`m3 11 9-8 9 8M5 9.5V20h5v-6h4v6h5V9.5`})),ze=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`2.5`,y:`13`,width:`19`,height:`8`,rx:`2`}),(0,b.jsx)(`path`,{d:`M5.5 13 8 4h8l2.5 9M6.5 17h.01M10 17h.01`})]})),Be=x((0,b.jsx)(`path`,{d:`M6 3h12v18l-6-4.5L6 21V3Z`})),Ve=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,b.jsx)(`path`,{d:`M9 4v16`})]})),$=x((0,b.jsx)(`path`,{d:`M21 12A9 9 0 1 1 12 3v9h9ZM15 3.5A9 9 0 0 1 20.5 9H15V3.5Z`})),He=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,b.jsx)(`path`,{d:`M12 11v5.5M12 7.5h.01`})]})),Ue=x((0,b.jsx)(`path`,{d:`M3 6h18M3 12h15a3 3 0 0 1 0 6h-4M3 18h7M16 16l-2 2 2 2`})),We=x((0,b.jsx)(`path`,{d:`M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1`})),Ge=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`5`,y:`11`,width:`14`,height:`10`,rx:`2`}),(0,b.jsx)(`path`,{d:`M8 11V7a4 4 0 0 1 8 0v4`})]})),Ke=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`5`,rx:`1`}),(0,b.jsx)(`path`,{d:`M5 9v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V9M10 13h4`})]})),qe=x((0,b.jsx)(`path`,{d:`m4 17 6-6-6-6M12 19h8`})),Je=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}),(0,b.jsx)(`path`,{d:`M6 9h.01M10 9h.01M14 9h.01M18 9h.01M8 12.5h.01M12 12.5h.01M16 12.5h.01M7 16h10`})]})),Ye=x((0,b.jsx)(`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3`})),Xe=x((0,b.jsx)(`path`,{d:`M8 3v3a2 2 0 0 1-2 2H3M21 8h-3a2 2 0 0 1-2-2V3M3 16h3a2 2 0 0 1 2 2v3M16 21v-3a2 2 0 0 1 2-2h3`})),Ze=x((0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}),(0,b.jsx)(`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`})]})),Qe=x((0,b.jsx)(`path`,{d:`m3 19 5-13 5 13M5 14h6M16 9h6`})),$e=x((0,b.jsx)(`path`,{d:`m3 19 5-13 5 13M5 14h6M16 9h6M19 6v6`}));export{pe as $,Z as A,Ue as At,He as B,F as C,Qe as Ct,Ne as D,O as Dt,Pe as E,se as Et,G as F,v as Ft,Ge as G,We as H,ze as I,c as It,Ye as J,xe as K,ue as L,o as Lt,Ae as M,y as Mt,je as N,g as Nt,be as O,ke as Ot,me as P,_ as Pt,Se as Q,Re as R,a as Rt,Ee as S,$e as St,Me as T,ce as Tt,le as U,Je as V,X as W,M as X,Xe as Y,Q as Z,D as _,N as _t,De as a,w as at,Oe as b,C as bt,Ie as c,fe as ct,Be as d,B as dt,ye as et,q as f,S as ft,j as g,Ve as gt,T as h,qe as ht,re as i,V as it,Y as j,h as jt,Te as k,Fe as kt,we as l,ve as lt,Ze as m,Ce as mt,W as n,L as nt,Le as o,ne as ot,_e as p,A as pt,J as q,Ke as r,$ as rt,de as s,oe as st,ie as t,P as tt,ge as u,k as ut,ae as v,H as vt,I as w,E as wt,he as x,K as xt,z as y,R as yt,U as z,s as zt};
|
|
1
|
+
import{n as e}from"./rolldown-runtime.js";import{t}from"./react.js";import{t as n}from"./jsx-runtime.js";var r=e(t(),1),i=[`image/jpeg`,`image/png`],a=1e4,o=1e3,s=2e3,c=`X-Dashboard-Client`,l=500,u=5e3,d=1e4,f=5e3,p=2e3,m=2e4,ee=8e4,te=65536;function h(e,t){return`${e}/${t}`}var g=new class{status=`connecting`;clientId=null;hostname=``;clockOffsetMs=0;ws=null;retryMs=l;statusListeners=new Set;messageListeners=new Set;subscriptions=new Map;nextId=1;results=new Map;requests=new Map;commands=new Map;commandListeners=new Set;connect(){let e=new WebSocket(`${location.protocol===`https:`?`wss`:`ws`}://${location.host}/ws`);e.binaryType=`arraybuffer`,this.ws=e,e.onmessage=t=>{typeof t.data==`string`?this.onMessage(JSON.parse(t.data)):this.onFrame(e,t.data)},e.onclose=()=>{this.ws===e&&(this.ws=null,this.setStatus(`closed`),this.requests.forEach(e=>e(`Disconnected from the robot`)),this.requests.clear(),this.results.forEach(({reject:e})=>e(Error(`Disconnected from the robot`))),this.results.clear(),setTimeout(()=>this.connect(),this.retryMs),this.retryMs=Math.min(u,this.retryMs*2))}}send(e){return this.ws?.readyState!==WebSocket.OPEN||this.status!==`open`?!1:(this.ws.send(JSON.stringify(e)),!0)}onStatusChange=e=>(this.statusListeners.add(e),()=>this.statusListeners.delete(e));onServerMessage(e){return this.messageListeners.add(e),()=>this.messageListeners.delete(e)}subscribeImage(e,t){return this.subscribe({type:`image.subscribe`,...e},{stream:t})}subscribeGrid(e,t){return this.subscribe({type:`grid.subscribe`,...e},{stream:t})}subscribeTf(e,t){return this.subscribe({type:`tf.subscribe`,...e},{tf:t})}subscribePath(e,t){return this.subscribe({type:`path.subscribe`,...e},{path:t})}subscribeTopic(e,t){return this.subscribe({type:`topic.subscribe`,...e},{topic:t})}subscribeServices(e,t){return this.subscribe({type:`services.subscribe`,...e},{services:t})}subscribeLogs(e,t){return this.subscribe({type:`logs.subscribe`,...e},{logs:t})}subscribeBehaviorTree(e,t){return this.subscribe({type:`bt.subscribe`,...e},{behaviorTree:t})}recordBehaviorTree(e,t){let n=this.nextId++,r=this.send({type:`bt.record`,id:n,topic:e,path:t});return this.result(n,r,m)}subscribeBehaviorTreePlayback(e,t){return{id:this.nextId,unsubscribe:this.subscribe({type:`bt.playback`,...e},{behaviorTree:t})}}controlBehaviorTreePlayback(e,t){return this.send({type:`bt.playback.control`,id:e,...t})}subscribeBehaviorTreeFile(e,t){return this.subscribe({type:`bt.file.subscribe`,...e},{behaviorTreeFile:t})}saveBehaviorTreeFile(e,t,n,r=!1){let i=this.nextId++,a=this.send({type:`bt.file.save`,id:i,path:e,text:t,base:n,create:r});return this.result(i,a,d)}subscribeRosout(e,t){return this.subscribe({type:`rosout.subscribe`,...e},{rosout:t})}subscribeDiagnostics(e,t){return this.subscribe({type:`diagnostics.subscribe`,...e},{diagnostics:t})}subscribeTerminal(e,t){return{id:this.nextId,unsubscribe:this.subscribe(()=>({type:`terminal.open`,...e,...t.shown()}),{terminal:t})}}terminalInput(e,t){for(let n=0;n<t.length;){let r=Math.min(t.length,n+te),i=t.charCodeAt(r-1);if(r<t.length&&i>=55296&&i<=56319&&r--,!this.send({type:`terminal.input`,id:e,data:t.slice(n,r)}))return!1;n=r}return!0}resizeTerminal(e,t,n){return this.send({type:`terminal.resize`,id:e,cols:t,rows:n})}ackTerminal(e,t,n){return this.send({type:`terminal.ack`,id:e,started:t,offset:n})}restartTerminal(e){return this.send({type:`terminal.restart`,id:e})}subscribeNetwork(e){return this.subscribe({type:`network.subscribe`},{network:e})}networkAction(e){let t=this.nextId++,n=this.send({type:`network.action`,id:t,request:e});return this.result(t,n,ee)}serviceAction(e,t,n){let r=this.nextId++;return this.send({type:`service.action`,id:r,unit:e,scope:t,verb:n})?new Promise(e=>this.requests.set(r,e)):Promise.resolve(`Not connected to the robot`)}publish(e,t,n){return this.send({type:`ros.publish`,topic:e,messageType:t,message:n})}callService(e,t,n={},r=f){let i=this.nextId++,a=this.send({type:`ros.call`,id:i,service:e,serviceType:t,request:n,timeoutMs:r});return this.result(i,a,r+p)}request(e,t,n=null,r=d){let i=this.nextId++,a=this.send({type:`plugin.request`,id:i,plugin:e,method:t,params:n});return this.result(i,a,r)}subscribePlugin(e,t,n,r){return this.subscribe({type:`plugin.subscribe`,plugin:e,stream:t,params:n},{plugin:r})}subscribeArm(e,t){return{id:this.nextId,unsubscribe:this.subscribe({type:`arm.subscribe`,...e},{arm:t})}}onCommandsChange=e=>(this.commandListeners.add(e),()=>this.commandListeners.delete(e));serverNow(){return Date.now()+this.clockOffsetMs}commandState(e,t){return this.commands.get(h(e,t))}result(e,t,n){return t?new Promise((t,r)=>{let i=setTimeout(()=>{this.results.delete(e),r(Error(`No answer from the robot`))},n);this.results.set(e,{resolve:e=>{clearTimeout(i),t(e)},reject:e=>{clearTimeout(i),r(e)}})}):Promise.reject(Error(`Not connected to the robot`))}subscribe(e,t){let n=this.nextId++;return this.subscriptions.set(n,{request:e,...t}),this.send({...typeof e==`function`?e():e,id:n}),()=>{this.subscriptions.delete(n),this.send({type:`unsubscribe`,id:n})}}setStatus(e){this.status=e,this.statusListeners.forEach(e=>e())}onMessage(e){switch(e.type){case`hello`:this.clientId=e.clientId,this.hostname=e.hostname,this.clockOffsetMs=e.time-Date.now(),this.retryMs=l,this.setStatus(`open`);for(let[e,{request:t}]of this.subscriptions)this.send({...typeof t==`function`?t():t,id:e});break;case`commands`:this.commands=new Map(e.states.map(e=>[h(e.panelId,e.widgetId),e])),this.commandListeners.forEach(e=>e());break;case`command`:this.commands=new Map(this.commands).set(h(e.state.panelId,e.state.widgetId),e.state),this.commandListeners.forEach(e=>e());break;case`stream.status`:{let t=this.subscriptions.get(e.id);(t?.stream??t?.topic??t?.behaviorTree??t?.rosout??t?.diagnostics??t?.terminal)?.status(e.state,e.message),t?.plugin?.status?.(e.state,e.message);break}case`message`:this.subscriptions.get(e.id)?.topic?.message(e.messageType,e.message);break;case`tf`:this.subscriptions.get(e.id)?.tf?.(e);break;case`path`:this.subscriptions.get(e.id)?.path?.(e);break;case`services`:this.subscriptions.get(e.id)?.services?.(e);break;case`logs`:this.subscriptions.get(e.id)?.logs?.(e);break;case`service.result`:this.requests.get(e.id)?.(e.error),this.requests.delete(e.id);break;case`arm`:this.subscriptions.get(e.id)?.arm?.(e);break;case`result`:{let t=this.results.get(e.id);this.results.delete(e.id),e.ok?t?.resolve(e.value):t?.reject(Error(e.error));break}case`plugin.data`:this.subscriptions.get(e.id)?.plugin?.data(e.data);break;case`bt.tree`:this.subscriptions.get(e.id)?.behaviorTree?.tree(e);break;case`bt`:this.subscriptions.get(e.id)?.behaviorTree?.update(e);break;case`bt.recording`:this.subscriptions.get(e.id)?.behaviorTree?.recording?.(e.recording);break;case`bt.playback.state`:this.subscriptions.get(e.id)?.behaviorTree?.playback?.(e);break;case`bt.file`:this.subscriptions.get(e.id)?.behaviorTreeFile?.file(e);break;case`bt.models`:this.subscriptions.get(e.id)?.behaviorTreeFile?.models(e);break;case`rosout`:this.subscriptions.get(e.id)?.rosout?.update(e);break;case`diagnostics`:this.subscriptions.get(e.id)?.diagnostics?.update(e);break;case`terminal.output`:this.subscriptions.get(e.id)?.terminal?.output(e);break;case`terminal.exit`:this.subscriptions.get(e.id)?.terminal?.exit(e);break;case`network`:this.subscriptions.get(e.id)?.network?.(e)}this.messageListeners.forEach(t=>t(e))}onFrame(e,t){let n=new DataView(t,0,11),r=n.getUint32(0),a=this.subscriptions.get(r)?.stream;if(!a)return;let o=n.getUint16(9),s={width:n.getUint16(5),height:n.getUint16(7),meta:o?JSON.parse(new TextDecoder().decode(new Uint8Array(t,11,o))):null},c=new Blob([new Uint8Array(t,11+o)],{type:i[n.getUint8(4)]??`image/jpeg`});Promise.resolve().then(()=>a.frame(c,s)).catch(()=>{}).finally(()=>{this.ws===e&&this.subscriptions.has(r)&&this.send({type:`frame.ack`,id:r})})}};function _(){return(0,r.useSyncExternalStore)(g.onStatusChange,()=>g.status)}function v(e,t,n=10){let[i,a]=(0,r.useState)(null);return(0,r.useEffect)(()=>{if(a(null),e.trim()&&t.trim())return g.subscribeTf({targetFrame:e.trim(),sourceFrame:t.trim(),rate:n},a)},[e,t,n]),i}function y(e,t=10){let[n,i]=(0,r.useState)({message:null,messageType:null,status:`waiting`,error:``});return(0,r.useEffect)(()=>{if(i({message:null,messageType:null,status:`waiting`,error:``}),e.trim())return g.subscribeTopic({topic:e.trim(),maxRate:t},{status:(e,t)=>i(n=>({...n,status:e,error:t})),message:(e,t)=>i({message:t,messageType:e,status:`streaming`,error:``})})},[e,t]),n}function b(e,t){return(0,r.useSyncExternalStore)(g.onCommandsChange,()=>g.commandState(e,t))}var x=e(n(),1);function S(e){return function(t){return(0,x.jsx)(`svg`,{viewBox:`0 0 24 24`,width:`18`,height:`18`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,...t,children:e})}}var C=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`4`,y:`8`,width:`16`,height:`12`,rx:`3`}),(0,x.jsx)(`path`,{d:`M12 8V4M9 4h6`}),(0,x.jsx)(`circle`,{cx:`9`,cy:`14`,r:`1.2`,fill:`currentColor`,stroke:`none`}),(0,x.jsx)(`circle`,{cx:`15`,cy:`14`,r:`1.2`,fill:`currentColor`,stroke:`none`}),(0,x.jsx)(`path`,{d:`M2 13v3M22 13v3`})]})),w=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`3`,width:`8`,height:`10`,rx:`1.5`}),(0,x.jsx)(`rect`,{x:`13`,y:`3`,width:`8`,height:`6`,rx:`1.5`}),(0,x.jsx)(`rect`,{x:`3`,y:`15`,width:`8`,height:`6`,rx:`1.5`}),(0,x.jsx)(`rect`,{x:`13`,y:`11`,width:`8`,height:`10`,rx:`1.5`})]})),T=S((0,x.jsx)(`path`,{d:`M12 5v14M5 12h14`})),E=S((0,x.jsx)(`path`,{d:`M18 6 6 18M6 6l12 12`})),D=S((0,x.jsx)(`path`,{d:`M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 11v5M14 11v5`})),O=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`8`,y:`8`,width:`12`,height:`12`,rx:`2`}),(0,x.jsx)(`path`,{d:`M4 16V6a2 2 0 0 1 2-2h10`})]})),k=S((0,x.jsx)(`path`,{d:`M9 14 4 9l5-5M4 9h10.5a5.5 5.5 0 0 1 0 11H11`})),A=S((0,x.jsx)(`path`,{d:`m15 14 5-5-5-5M20 9H9.5a5.5 5.5 0 0 0 0 11H13`})),j=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M5 3h11l3 3v13a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V3Z`}),(0,x.jsx)(`path`,{d:`M8 3v5h7V3M8 21v-7h8v7`})]})),M=S((0,x.jsx)(`path`,{d:`m8 7-5 5 5 5M16 7l5 5-5 5M14 4l-4 16`})),N=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`5`,cy:`12`,r:`1`,fill:`currentColor`}),(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`1`,fill:`currentColor`}),(0,x.jsx)(`circle`,{cx:`19`,cy:`12`,r:`1`,fill:`currentColor`})]})),P=S((0,x.jsx)(`path`,{d:`M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6`})),F=S((0,x.jsx)(`path`,{d:`M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z`})),I=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12Z`}),(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`3`})]})),L=S((0,x.jsx)(`path`,{d:`M3 3l18 18M10.6 5.1A9.9 9.9 0 0 1 12 5c6.5 0 10 7 10 7a17 17 0 0 1-3.2 4.1M6.6 6.6C3.9 8.4 2 12 2 12s3.5 7 10 7a9.6 9.6 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2`})),R=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`7`,y:`2`,width:`10`,height:`20`,rx:`2`}),(0,x.jsx)(`path`,{d:`M11 18h2`})]})),z=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`4`,y:`2`,width:`16`,height:`20`,rx:`2`}),(0,x.jsx)(`path`,{d:`M11 18h2`})]})),B=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`2`,y:`4`,width:`20`,height:`13`,rx:`2`}),(0,x.jsx)(`path`,{d:`M8 21h8M12 17v4`})]})),V=S((0,x.jsx)(`path`,{d:`M21 12a9 9 0 1 1-2.6-6.4L21 8M21 3v5h-5`})),H=S((0,x.jsx)(`path`,{d:`M7 4.5v15l12-7.5L7 4.5Z`,fill:`currentColor`})),U=S((0,x.jsx)(`rect`,{x:`6`,y:`6`,width:`12`,height:`12`,rx:`1.5`,fill:`currentColor`})),W=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,x.jsx)(`circle`,{cx:`8.5`,cy:`9.5`,r:`1.5`}),(0,x.jsx)(`path`,{d:`m21 16-5-5-9 9`})]})),G=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,x.jsx)(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,x.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1.5`}),(0,x.jsx)(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1.5`})]})),K=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`2`,y:`6`,width:`20`,height:`12`,rx:`6`}),(0,x.jsx)(`path`,{d:`M6 12h4M8 10v4`}),(0,x.jsx)(`circle`,{cx:`15.5`,cy:`11`,r:`1`,fill:`currentColor`,stroke:`none`}),(0,x.jsx)(`circle`,{cx:`17.5`,cy:`13.5`,r:`1`,fill:`currentColor`,stroke:`none`})]})),q=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`}),(0,x.jsx)(`path`,{d:`m6 9 3 3-3 3M12 15h5`})]})),J=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`m22 8-6 4 6 4V8Z`}),(0,x.jsx)(`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`})]})),Y=S((0,x.jsx)(`path`,{d:`M9 4 3 6v14l6-2 6 2 6-2V4l-6 2-6-2ZM9 4v14M15 6v14`})),X=S((0,x.jsx)(`path`,{d:`M5 21V4M5 4h12l-2.5 4.5L17 13H5`})),Z=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`7`}),(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2.5`,fill:`currentColor`,stroke:`none`}),(0,x.jsx)(`path`,{d:`M12 2v3M12 19v3M2 12h3M19 12h3`})]})),Q=S((0,x.jsx)(`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3`})),ne=S((0,x.jsx)(`path`,{d:`m3 11 19-9-9 19-2-8-8-2Z`})),re=S((0,x.jsx)(`path`,{d:`M12 3v8M6.3 6.8a8 8 0 1 0 11.4 0`})),ie=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M4 21h9M8 21v-4.5l5-6.5 5 2.5M18 12.5l2.5-3M18 12.5l2 3`}),(0,x.jsx)(`circle`,{cx:`8`,cy:`16.5`,r:`1.6`}),(0,x.jsx)(`circle`,{cx:`13`,cy:`10`,r:`1.6`})]})),ae=S((0,x.jsx)(`path`,{d:`M4 20 18 6M4 20h16M11 20a7 7 0 0 0-2.1-5`})),oe=S((0,x.jsx)(`path`,{d:`M12 2 3 7v10l9 5 9-5V7l-9-5ZM3 7l9 5 9-5M12 12v10`})),se=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,x.jsx)(`path`,{d:`M9.1 9a3 3 0 0 1 5.8 1c0 2-3 3-3 3M12 17h.01`})]})),ce=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`9`,y:`3`,width:`6`,height:`5`,rx:`1.2`}),(0,x.jsx)(`rect`,{x:`3`,y:`16`,width:`6`,height:`5`,rx:`1.2`}),(0,x.jsx)(`rect`,{x:`15`,y:`16`,width:`6`,height:`5`,rx:`1.2`}),(0,x.jsx)(`path`,{d:`M12 8v4M6 16v-4h12v4`})]})),le=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`9`,y:`3`,width:`6`,height:`5`,rx:`1.2`}),(0,x.jsx)(`rect`,{x:`3`,y:`16`,width:`6`,height:`5`,rx:`1.2`}),(0,x.jsx)(`path`,{d:`M12 8v4M6 16v-4h7`}),(0,x.jsx)(`path`,{d:`M19.2 11.8a1.6 1.6 0 0 1 2.3 2.3L15.8 19.8l-3 .7.7-3Z`})]})),ue=S((0,x.jsx)(`path`,{d:`M9 6h11M9 12h11M9 18h11M4 6h.01M4 12h.01M4 18h.01`})),de=S((0,x.jsx)(`path`,{d:`M3 12a9 9 0 1 0 2.6-6.4L3 8M3 3v5h5M12 7v5l3 2`})),fe=S((0,x.jsx)(`path`,{d:`M4 12h15M13 6l6 6-6 6`})),pe=S((0,x.jsx)(`path`,{d:`M8.5 8.5a3.5 3.5 0 1 1 5 3.2c-.9.4-1.5 1.3-1.5 2.3v.5M12 19.5h.01`})),me=S((0,x.jsx)(`path`,{d:`M4 8h13M4 16h13M14 4l4 4-4 4M14 12l4 4-4 4`})),he=S((0,x.jsx)(`path`,{d:`M12 3v7M12 10l-6 7v4M12 10l6 7v4`})),ge=S((0,x.jsx)(`path`,{d:`m12 3 9 9-9 9-9-9 9-9Z`})),_e=S((0,x.jsx)(`path`,{d:`M13 2 4.5 13.5H11L10 22l8.5-11.5H12L13 2Z`})),ve=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,x.jsx)(`path`,{d:`m8 12.5 2.8 2.8L16 9.8`})]})),ye=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`4.5`,fill:`currentColor`,stroke:`none`})]})),be=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`6`,y:`5`,width:`4`,height:`14`,rx:`1`,fill:`currentColor`,stroke:`none`}),(0,x.jsx)(`rect`,{x:`14`,y:`5`,width:`4`,height:`14`,rx:`1`,fill:`currentColor`,stroke:`none`})]})),xe=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,x.jsx)(`path`,{d:`M7 4v16M17 4v16M3 9h4M3 15h4M17 9h4M17 15h4`})]})),Se=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,x.jsx)(`path`,{d:`M7 8h10M7 12h6M7 16h8`}),(0,x.jsx)(`circle`,{cx:`17.5`,cy:`16`,r:`1`,fill:`currentColor`,stroke:`none`})]})),Ce=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`6`,cy:`6`,r:`2.5`}),(0,x.jsx)(`circle`,{cx:`18`,cy:`9`,r:`2.5`}),(0,x.jsx)(`circle`,{cx:`9`,cy:`18`,r:`2.5`}),(0,x.jsx)(`path`,{d:`M8.4 6.7 15.6 8.4M16.5 11.1l-5.6 5.1M6.6 8.4l1.8 7.1`})]})),we=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`11`,cy:`11`,r:`6.5`}),(0,x.jsx)(`path`,{d:`m20 20-4.3-4.3`})]})),Te=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`8.5`}),(0,x.jsx)(`path`,{d:`m6 6 12 12`})]})),Ee=S((0,x.jsx)(`path`,{d:`M3 5h18l-7 8.5V19l-4 2v-7.5L3 5Z`})),De=S((0,x.jsx)(`path`,{d:`M12 3v12M7 10l5 5 5-5M4 15v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4`})),Oe=S((0,x.jsx)(`path`,{d:`M12 4v12M7 11l5 5 5-5M5 20h14`})),ke=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`}),(0,x.jsx)(`path`,{d:`M6.5 12.5h2.5l1.8-4.5 2.6 8 1.8-3.5h2.3`})]})),Ae=S((0,x.jsx)(`path`,{d:`m7 15 5 5 5-5M7 9l5-5 5 5`})),je=S((0,x.jsx)(`path`,{d:`M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z`})),Me=S((0,x.jsx)(`path`,{d:`M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7ZM12 10.5v5M9.5 13h5`})),Ne=S((0,x.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5ZM14 3v5h5`})),Pe=S((0,x.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5ZM14 3v5h5M9 13h6M9 17h6`})),Fe=S((0,x.jsx)(`path`,{d:`M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8l-5-5ZM14 3v5h5M12 11.5v6M9 14.5h6`})),Ie=S((0,x.jsx)(`path`,{d:`M12 15V3M7 8l5-5 5 5M4 15v4a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4`})),Le=S((0,x.jsx)(`path`,{d:`M12 20V5M6 11l6-6 6 6`})),Re=S((0,x.jsx)(`path`,{d:`M20 12H5M11 6l-6 6 6 6`})),ze=S((0,x.jsx)(`path`,{d:`m3 11 9-8 9 8M5 9.5V20h5v-6h4v6h5V9.5`})),Be=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`2.5`,y:`13`,width:`19`,height:`8`,rx:`2`}),(0,x.jsx)(`path`,{d:`M5.5 13 8 4h8l2.5 9M6.5 17h.01M10 17h.01`})]})),Ve=S((0,x.jsx)(`path`,{d:`M6 3h12v18l-6-4.5L6 21V3Z`})),He=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2`}),(0,x.jsx)(`path`,{d:`M9 4v16`})]})),Ue=S((0,x.jsx)(`path`,{d:`M21 12A9 9 0 1 1 12 3v9h9ZM15 3.5A9 9 0 0 1 20.5 9H15V3.5Z`})),We=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,x.jsx)(`path`,{d:`M12 11v5.5M12 7.5h.01`})]})),Ge=S((0,x.jsx)(`path`,{d:`M3 6h18M3 12h15a3 3 0 0 1 0 6h-4M3 18h7M16 16l-2 2 2 2`})),Ke=S((0,x.jsx)(`path`,{d:`M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1`})),qe=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`5`,y:`11`,width:`14`,height:`10`,rx:`2`}),(0,x.jsx)(`path`,{d:`M8 11V7a4 4 0 0 1 8 0v4`})]})),Je=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`5`,rx:`1`}),(0,x.jsx)(`path`,{d:`M5 9v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V9M10 13h4`})]})),$=S((0,x.jsx)(`path`,{d:`m4 17 6-6-6-6M12 19h8`})),Ye=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`}),(0,x.jsx)(`path`,{d:`M6 9h.01M10 9h.01M14 9h.01M18 9h.01M8 12.5h.01M12 12.5h.01M16 12.5h.01M7 16h10`})]})),Xe=S((0,x.jsx)(`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3M21 8V5a2 2 0 0 0-2-2h-3M3 16v3a2 2 0 0 0 2 2h3M16 21h3a2 2 0 0 0 2-2v-3`})),Ze=S((0,x.jsx)(`path`,{d:`M8 3v3a2 2 0 0 1-2 2H3M21 8h-3a2 2 0 0 1-2-2V3M3 16h3a2 2 0 0 1 2 2v3M16 21v-3a2 2 0 0 1 2-2h3`})),Qe=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`}),(0,x.jsx)(`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`})]})),$e=S((0,x.jsx)(`path`,{d:`m3 19 5-13 5 13M5 14h6M16 9h6`})),et=S((0,x.jsx)(`path`,{d:`m3 19 5-13 5 13M5 14h6M16 9h6M19 6v6`})),tt=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`rect`,{x:`2.5`,y:`14`,width:`19`,height:`7`,rx:`2`}),(0,x.jsx)(`path`,{d:`M6.5 17.5h.01M10 17.5h.01M16 14v-4`}),(0,x.jsx)(`path`,{d:`M13.5 7.5a3.5 3.5 0 0 1 5 0M11.2 5.2a6.8 6.8 0 0 1 9.6 0`})]})),nt=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.6 15.9a5 5 0 0 1 6.8 0`}),(0,x.jsx)(`circle`,{cx:`12`,cy:`19.3`,r:`1.3`,fill:`currentColor`,stroke:`none`})]})),rt=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.6 15.9a5 5 0 0 1 6.8 0M3 3l18 18`}),(0,x.jsx)(`circle`,{cx:`12`,cy:`19.3`,r:`1.3`,fill:`currentColor`,stroke:`none`})]})),it=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`path`,{d:`M4 5h16a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-3.5v3h-9v-3H4a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z`}),(0,x.jsx)(`path`,{d:`M7.5 9v2.5M10.5 9v2.5M13.5 9v2.5M16.5 9v2.5`})]})),at=S((0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2`}),(0,x.jsx)(`path`,{d:`M8.5 15.5a5 5 0 0 1 0-7M15.5 8.5a5 5 0 0 1 0 7M5.6 18.4a9 9 0 0 1 0-12.8M18.4 5.6a9 9 0 0 1 0 12.8`})]})),ot=S((0,x.jsx)(`path`,{d:`M12 3 4.5 6v5.5c0 4.6 3.2 8.4 7.5 9.5 4.3-1.1 7.5-4.9 7.5-9.5V6L12 3Z`}));export{ne as $,Ee as A,ce as At,at as B,v as Bt,it as C,z as Ct,Fe as D,$e as Dt,Ne as E,et as Et,he as F,rt as Ft,ue as G,s as Gt,We as H,c as Ht,K as I,Ge as It,Se as J,Z as K,Be as L,g as Lt,X as M,Ae as Mt,je as N,Ie as Nt,Pe as O,D as Ot,Me as P,nt as Pt,N as Q,de as R,b as Rt,De as S,U as St,L as T,q as Tt,Ye as U,o as Ut,W as V,y as Vt,Ke as W,a as Wt,Xe as X,Y,Ze as Z,O as _,we as _t,Oe as a,R as at,ke as b,He as bt,Le as c,T as ct,Ve as d,pe as dt,tt as et,J as f,ye as ft,M as g,j as gt,E as h,C as ht,ie as i,F as it,Q as j,k as jt,xe as k,le as kt,Te as l,re as lt,Qe as m,V as mt,G as n,me as nt,Re as o,Ue as ot,ve as p,A as pt,qe as q,Je as r,be as rt,fe as s,H as st,ae as t,Ce as tt,_e as u,se as ut,oe as v,$ as vt,I as w,w as wt,ge as x,P as xt,B as y,ot as yt,ze as z,_ as zt};
|