@xterm/addon-clipboard 0.3.0-beta.217 → 0.3.0-beta.219

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.
@@ -1,3 +1,2 @@
1
- /*! For license information please see addon-clipboard.js.LICENSE.txt */
2
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.ClipboardAddon=r():e.ClipboardAddon=r()}(self,()=>(()=>{var e={464(e,r,t){"use strict";t.r(r),t.d(r,{Base64:()=>w,BrowserClipboardProvider:()=>_,ClipboardAddon:()=>T});var n="function"==typeof Buffer,o="function"==typeof TextDecoder?new TextDecoder:void 0,i="function"==typeof TextEncoder?new TextEncoder:void 0,a=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),c=(e=>{let r={};return e.forEach((e,t)=>r[e]=t),r})(a),s=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,u=String.fromCharCode.bind(String),f="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),d=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),l="function"==typeof btoa?e=>btoa(e):n?e=>Buffer.from(e,"binary").toString("base64"):e=>{let r,t,n,o,i="",c=e.length%3;for(let c=0;c<e.length;){if((t=e.charCodeAt(c++))>255||(n=e.charCodeAt(c++))>255||(o=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");r=t<<16|n<<8|o,i+=a[r>>18&63]+a[r>>12&63]+a[r>>6&63]+a[63&r]}return c?i.slice(0,c-3)+"===".substring(c):i},p=n?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let t=0,n=e.length;t<n;t+=4096)r.push(u.apply(null,e.subarray(t,t+4096)));return l(r.join(""))},h=e=>{if(e.length<2)return(r=e.charCodeAt(0))<128?e:r<2048?u(192|r>>>6)+u(128|63&r):u(224|r>>>12&15)+u(128|r>>>6&63)+u(128|63&r);var r=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|r>>>18&7)+u(128|r>>>12&63)+u(128|r>>>6&63)+u(128|63&r)},b=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,y=n?e=>Buffer.from(e,"utf8").toString("base64"):i?e=>p(i.encode(e)):e=>l((e=>e.replace(b,h))(e)),x=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,A=e=>{switch(e.length){case 4:var r=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u((r>>>10)+55296)+u(56320+(1023&r));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},g="function"==typeof atob?e=>atob(d(e)):n?e=>Buffer.from(e,"base64").toString("binary"):e=>{if(e=e.replace(/\s+/g,""),!s.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));let r,t,n,o=[];for(let i=0;i<e.length;)r=c[e.charAt(i++)]<<18|c[e.charAt(i++)]<<12|(t=c[e.charAt(i++)])<<6|(n=c[e.charAt(i++)]),64===t?o.push(u(r>>16&255)):64===n?o.push(u(r>>16&255,r>>8&255)):o.push(u(r>>16&255,r>>8&255,255&r));return o.join("")},v=n?e=>f(Buffer.from(e,"base64")):e=>f(g(e).split("").map(e=>e.charCodeAt(0))),C=n?e=>Buffer.from(e,"base64").toString("utf8"):o?e=>o.decode(v(e)):e=>(e=>e.replace(x,A))(g(e)),m=(e,r=!1)=>r?(e=>e.replace(/=/g,"").replace(/[+\/]/g,e=>"+"==e?"-":"_"))(y(e)):y(e),B=e=>C((e=>d(e.replace(/[-_]/g,e=>"-"==e?"+":"/")))(e)),T=class{constructor(e=new w,r=new _){this._base64=e,this._provider=r}activate(e){this._terminal=e,this._disposable=e.parser.registerOscHandler(52,e=>this._setOrReportClipboard(e))}dispose(){return this._disposable?.dispose()}_readText(e,r){let t=this._base64.encodeText(r);this._terminal?.input(`]52;${e};${t}`,!1)}_setOrReportClipboard(e){let r=e.split(";");if(r.length<2)return!0;let t=r[0],n=r[1];if("?"===n){let e=this._provider.readText(t);return e instanceof Promise?e.then(e=>(this._readText(t,e),!0)):(this._readText(t,e),!0)}let o="";try{o=this._base64.decodeText(n)}catch{}let i=this._provider.writeText(t,o);return!(i instanceof Promise)||i.then(()=>!0)}},_=class{async readText(e){return"c"!==e?Promise.resolve(""):navigator.clipboard.readText()}async writeText(e,r){return"c"!==e?Promise.resolve():navigator.clipboard.writeText(r)}},w=class{encodeText(e){return m(e)}decodeText(e){let r=B(e);return(e=>{if("string"!=typeof e)return!1;let r=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(r)||!/[^\s0-9a-zA-Z\-_]/.test(r)})(e)&&m(r)===e?r:""}}},812(e,r,t){"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==t.g&&t.g,e.exports=function(){"use strict";var e,r="3.7.8",t=r,n="function"==typeof Buffer,o="function"==typeof TextDecoder?new TextDecoder:void 0,i="function"==typeof TextEncoder?new TextEncoder:void 0,a=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),c=(e={},a.forEach(function(r,t){return e[r]=t}),e),s=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,u=String.fromCharCode.bind(String),f="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):function(e){return new Uint8Array(Array.prototype.slice.call(e,0))},d=function(e){return e.replace(/=/g,"").replace(/[+\/]/g,function(e){return"+"==e?"-":"_"})},l=function(e){return e.replace(/[^A-Za-z0-9\+\/]/g,"")},p=function(e){for(var r,t,n,o,i="",c=e.length%3,s=0;s<e.length;){if((t=e.charCodeAt(s++))>255||(n=e.charCodeAt(s++))>255||(o=e.charCodeAt(s++))>255)throw new TypeError("invalid character found");i+=a[(r=t<<16|n<<8|o)>>18&63]+a[r>>12&63]+a[r>>6&63]+a[63&r]}return c?i.slice(0,c-3)+"===".substring(c):i},h="function"==typeof btoa?function(e){return btoa(e)}:n?function(e){return Buffer.from(e,"binary").toString("base64")}:p,b=n?function(e){return Buffer.from(e).toString("base64")}:function(e){for(var r=[],t=0,n=e.length;t<n;t+=4096)r.push(u.apply(null,e.subarray(t,t+4096)));return h(r.join(""))},y=function(e,r){return void 0===r&&(r=!1),r?d(b(e)):b(e)},x=function(e){if(e.length<2)return(r=e.charCodeAt(0))<128?e:r<2048?u(192|r>>>6)+u(128|63&r):u(224|r>>>12&15)+u(128|r>>>6&63)+u(128|63&r);var r=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|r>>>18&7)+u(128|r>>>12&63)+u(128|r>>>6&63)+u(128|63&r)},A=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,g=function(e){return e.replace(A,x)},v=n?function(e){return Buffer.from(e,"utf8").toString("base64")}:i?function(e){return b(i.encode(e))}:function(e){return h(g(e))},C=function(e,r){return void 0===r&&(r=!1),r?d(v(e)):v(e)},m=function(e){return C(e,!0)},B=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,T=function(e){switch(e.length){case 4:var r=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u((r>>>10)+55296)+u(56320+(1023&r));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},_=function(e){return e.replace(B,T)},w=function(e){if(e=e.replace(/\s+/g,""),!s.test(e))throw new TypeError("malformed base64.");var r,t,n;e+="==".slice(2-(3&e.length));for(var o=[],i=0;i<e.length;)r=c[e.charAt(i++)]<<18|c[e.charAt(i++)]<<12|(t=c[e.charAt(i++)])<<6|(n=c[e.charAt(i++)]),64===t?o.push(u(r>>16&255)):64===n?o.push(u(r>>16&255,r>>8&255)):o.push(u(r>>16&255,r>>8&255,255&r));return o.join("")},F="function"==typeof atob?function(e){return atob(l(e))}:n?function(e){return Buffer.from(e,"base64").toString("binary")}:w,S=n?function(e){return f(Buffer.from(e,"base64"))}:function(e){return f(F(e).split("").map(function(e){return e.charCodeAt(0)}))},P=function(e){return S(j(e))},U=n?function(e){return Buffer.from(e,"base64").toString("utf8")}:o?function(e){return o.decode(S(e))}:function(e){return _(F(e))},j=function(e){return l(e.replace(/[-_]/g,function(e){return"-"==e?"+":"/"}))},E=function(e){return U(j(e))},O=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}},D=function(){var e=function(e,r){return Object.defineProperty(String.prototype,e,O(r))};e("fromBase64",function(){return E(this)}),e("toBase64",function(e){return C(this,e)}),e("toBase64URI",function(){return C(this,!0)}),e("toBase64URL",function(){return C(this,!0)}),e("toUint8Array",function(){return P(this)})},z=function(){var e=function(e,r){return Object.defineProperty(Uint8Array.prototype,e,O(r))};e("toBase64",function(e){return y(this,e)}),e("toBase64URI",function(){return y(this,!0)}),e("toBase64URL",function(){return y(this,!0)})},Z={version:r,VERSION:t,atob:F,atobPolyfill:w,btoa:h,btoaPolyfill:p,fromBase64:E,toBase64:C,encode:C,encodeURI:m,encodeURL:m,utob:g,btou:_,decode:E,isValid:function(e){if("string"!=typeof e)return!1;var r=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(r)||!/[^\s0-9a-zA-Z\-_]/.test(r)},fromUint8Array:y,toUint8Array:P,extendString:D,extendUint8Array:z,extendBuiltins:function(){D(),z()},Base64:{}};return Object.keys(Z).forEach(function(e){return Z.Base64[e]=Z[e]}),Z}()}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n].call(i.exports,i,i.exports,t),i.exports}t.d=(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},t.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),t.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{"use strict";var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.Base64=e.BrowserClipboardProvider=e.ClipboardAddon=void 0,t(464);const r=t(812);e.ClipboardAddon=class{_base64;_provider;_terminal;_disposable;constructor(e=new i,r=new o){this._base64=e,this._provider=r}activate(e){this._terminal=e,this._disposable=e.parser.registerOscHandler(52,e=>this._setOrReportClipboard(e))}dispose(){return this._disposable?.dispose()}_readText(e,r){const t=this._base64.encodeText(r);this._terminal?.input(`]52;${e};${t}`,!1)}_setOrReportClipboard(e){const r=e.split(";");if(r.length<2)return!0;const t=r[0],n=r[1];if("?"===n){const e=this._provider.readText(t);return e instanceof Promise?e.then(e=>(this._readText(t,e),!0)):(this._readText(t,e),!0)}let o="";try{o=this._base64.decodeText(n)}catch{}const i=this._provider.writeText(t,o);return!(i instanceof Promise)||i.then(()=>!0)}};class o{async readText(e){return"c"!==e?Promise.resolve(""):navigator.clipboard.readText()}async writeText(e,r){return"c"!==e?Promise.resolve():navigator.clipboard.writeText(r)}}e.BrowserClipboardProvider=o;class i{encodeText(e){return r.Base64.encode(e)}decodeText(e){const t=r.Base64.decode(e);return r.Base64.isValid(e)&&r.Base64.encode(t)===e?t:""}}e.Base64=i})(),n})());
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ClipboardAddon=t():e.ClipboardAddon=t()}(self,()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.Base64=t.BrowserClipboardProvider=t.ClipboardAddon=void 0,t.ClipboardAddon=class{_base64;_provider;_terminal;_disposable;constructor(e=new o,t=new r){this._base64=e,this._provider=t}activate(e){this._terminal=e,this._disposable=e.parser.registerOscHandler(52,e=>this._setOrReportClipboard(e))}dispose(){return this._disposable?.dispose()}_readText(e,t){const r=this._base64.encodeText(t);this._terminal?.input(`]52;${e};${r}`,!1)}_setOrReportClipboard(e){const t=e.split(";");if(t.length<2)return!0;const r=t[0],o=t[1];if("?"===o){const e=this._provider.readText(r);return e instanceof Promise?e.then(e=>(this._readText(r,e),!0)):(this._readText(r,e),!0)}let s="";try{s=this._base64.decodeText(o)}catch{}const i=this._provider.writeText(r,s);return!(i instanceof Promise)||i.then(()=>!0)}};class r{readText(e){return navigator.clipboard.readText()}writeText(e,t){return navigator.clipboard.writeText(t)}}t.BrowserClipboardProvider=r;class o{encodeText(e){return btoa(e)}decodeText(e){try{return atob(e)}catch{}return""}}t.Base64=o})(),e})());
3
2
  //# sourceMappingURL=addon-clipboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"addon-clipboard.js","mappings":"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","sources":["webpack://ClipboardAddon/webpack/universalModuleDefinition","webpack://ClipboardAddon/./lib/addon-clipboard.mjs","webpack://ClipboardAddon/../../node_modules/js-base64/base64.js","webpack://ClipboardAddon/webpack/bootstrap","webpack://ClipboardAddon/webpack/runtime/define property getters","webpack://ClipboardAddon/webpack/runtime/global","webpack://ClipboardAddon/webpack/runtime/hasOwnProperty shorthand","webpack://ClipboardAddon/webpack/runtime/make namespace object","webpack://ClipboardAddon/./src/ClipboardAddon.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardAddon\"] = factory();\n\telse\n\t\troot[\"ClipboardAddon\"] = factory();\n})(self, () => {\nreturn ","/**\n * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.\n * @license MIT\n *\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\n * @license MIT\n *\n * Originally forked from (with the author's permission):\n * Fabrice Bellard's javascript vt100 for jslinux:\n * http://bellard.org/jslinux/\n * Copyright (c) 2011 Fabrice Bellard\n */\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nvar U=\"3.7.8\",$=U,f=typeof Buffer==\"function\",_=typeof TextDecoder==\"function\"?new TextDecoder:void 0,C=typeof TextEncoder==\"function\"?new TextEncoder:void 0,N=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",c=Array.prototype.slice.call(N),d=(e=>{let t={};return e.forEach((r,o)=>t[r]=o),t})(c),k=/^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/,n=String.fromCharCode.bind(String),B=typeof Uint8Array.from==\"function\"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),S=e=>e.replace(/=/g,\"\").replace(/[+\\/]/g,t=>t==\"+\"?\"-\":\"_\"),I=e=>e.replace(/[^A-Za-z0-9\\+\\/]/g,\"\"),F=e=>{let t,r,o,i,s=\"\",l=e.length%3;for(let a=0;a<e.length;){if((r=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(i=e.charCodeAt(a++))>255)throw new TypeError(\"invalid character found\");t=r<<16|o<<8|i,s+=c[t>>18&63]+c[t>>12&63]+c[t>>6&63]+c[t&63]}return l?s.slice(0,l-3)+\"===\".substring(l):s},m=typeof btoa==\"function\"?e=>btoa(e):f?e=>Buffer.from(e,\"binary\").toString(\"base64\"):F,b=f?e=>Buffer.from(e).toString(\"base64\"):e=>{let r=[];for(let o=0,i=e.length;o<i;o+=4096)r.push(n.apply(null,e.subarray(o,o+4096)));return m(r.join(\"\"))},x=(e,t=!1)=>t?S(b(e)):b(e),H=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?n(192|t>>>6)+n(128|t&63):n(224|t>>>12&15)+n(128|t>>>6&63)+n(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return n(240|t>>>18&7)+n(128|t>>>12&63)+n(128|t>>>6&63)+n(128|t&63)}},J=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g,P=e=>e.replace(J,H),T=f?e=>Buffer.from(e,\"utf8\").toString(\"base64\"):C?e=>b(C.encode(e)):e=>m(P(e)),p=(e,t=!1)=>t?S(T(e)):T(e),v=e=>p(e,!0),q=/[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g,G=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return n((r>>>10)+55296)+n((r&1023)+56320);case 3:return n((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return n((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},D=e=>e.replace(q,G),w=e=>{if(e=e.replace(/\\s+/g,\"\"),!k.test(e))throw new TypeError(\"malformed base64.\");e+=\"==\".slice(2-(e.length&3));let t,r,o,i=[];for(let s=0;s<e.length;)t=d[e.charAt(s++)]<<18|d[e.charAt(s++)]<<12|(r=d[e.charAt(s++)])<<6|(o=d[e.charAt(s++)]),r===64?i.push(n(t>>16&255)):o===64?i.push(n(t>>16&255,t>>8&255)):i.push(n(t>>16&255,t>>8&255,t&255));return i.join(\"\")},y=typeof atob==\"function\"?e=>atob(I(e)):f?e=>Buffer.from(e,\"base64\").toString(\"binary\"):w,R=f?e=>B(Buffer.from(e,\"base64\")):e=>B(y(e).split(\"\").map(t=>t.charCodeAt(0))),E=e=>R(O(e)),K=f?e=>Buffer.from(e,\"base64\").toString(\"utf8\"):_?e=>_.decode(R(e)):e=>D(y(e)),O=e=>I(e.replace(/[-_]/g,t=>t==\"-\"?\"+\":\"/\")),h=e=>K(O(e)),M=e=>{if(typeof e!=\"string\")return!1;let t=e.replace(/\\s+/g,\"\").replace(/={0,2}$/,\"\");return!/[^\\s0-9a-zA-Z\\+/]/.test(t)||!/[^\\s0-9a-zA-Z\\-_]/.test(t)},z=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),Z=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,z(r));e(\"fromBase64\",function(){return h(this)}),e(\"toBase64\",function(t){return p(this,t)}),e(\"toBase64URI\",function(){return p(this,!0)}),e(\"toBase64URL\",function(){return p(this,!0)}),e(\"toUint8Array\",function(){return E(this)})},V=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,z(r));e(\"toBase64\",function(t){return x(this,t)}),e(\"toBase64URI\",function(){return x(this,!0)}),e(\"toBase64URL\",function(){return x(this,!0)})},Q=()=>{Z(),V()},u={version:U,VERSION:$,atob:y,atobPolyfill:w,btoa:m,btoaPolyfill:F,fromBase64:h,toBase64:p,encode:p,encodeURI:v,encodeURL:v,utob:P,btou:D,decode:h,isValid:M,fromUint8Array:x,toUint8Array:E,extendString:Z,extendUint8Array:V,extendBuiltins:Q};var j=class{constructor(t=new A,r=new g){this._base64=t;this._provider=r}activate(t){this._terminal=t,this._disposable=t.parser.registerOscHandler(52,r=>this._setOrReportClipboard(r))}dispose(){return this._disposable?.dispose()}_readText(t,r){let o=this._base64.encodeText(r);this._terminal?.input(`\\x1B]52;${t};${o}\\x07`,!1)}_setOrReportClipboard(t){let r=t.split(\";\");if(r.length<2)return!0;let o=r[0],i=r[1];if(i===\"?\"){let a=this._provider.readText(o);return a instanceof Promise?a.then(L=>(this._readText(o,L),!0)):(this._readText(o,a),!0)}let s=\"\";try{s=this._base64.decodeText(i)}catch{}let l=this._provider.writeText(o,s);return l instanceof Promise?l.then(()=>!0):!0}},g=class{async readText(t){return t!==\"c\"?Promise.resolve(\"\"):navigator.clipboard.readText()}async writeText(t,r){return t!==\"c\"?Promise.resolve():navigator.clipboard.writeText(r)}},A=class{encodeText(t){return u.encode(t)}decodeText(t){let r=u.decode(t);return!u.isValid(t)||u.encode(r)!==t?\"\":r}};export{A as Base64,g as BrowserClipboardProvider,j as ClipboardAddon};\n//# sourceMappingURL=addon-clipboard.mjs.map\n","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.8';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = typeof btoa === 'function' ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, r1, r2;\n var binArray = []; // use array to avoid minor gc in loop\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n if (r1 === 64) {\n binArray.push(_fromCC(u24 >> 16 & 255));\n }\n else if (r2 === 64) {\n binArray.push(_fromCC(u24 >> 16 & 255, u24 >> 8 & 255));\n }\n else {\n binArray.push(_fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255));\n }\n }\n return binArray.join('');\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = typeof atob === 'function' ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Copyright (c) 2023 The xterm.js authors. All rights reserved.\n * @license MIT\n */\n\nimport type { IDisposable, ITerminalAddon, Terminal } from '@xterm/xterm';\nimport { type IClipboardProvider, ClipboardSelectionType, type IBase64 } from '@xterm/addon-clipboard';\nimport { Base64 as JSBase64 } from 'js-base64';\n\nexport class ClipboardAddon implements ITerminalAddon {\n private _terminal?: Terminal;\n private _disposable?: IDisposable;\n\n constructor(\n private _base64: IBase64 = new Base64(),\n private _provider: IClipboardProvider = new BrowserClipboardProvider()\n ) {}\n\n public activate(terminal: Terminal): void {\n this._terminal = terminal;\n this._disposable = terminal.parser.registerOscHandler(52, data => this._setOrReportClipboard(data));\n }\n\n public dispose(): void {\n return this._disposable?.dispose();\n }\n\n private _readText(sel: ClipboardSelectionType, data: string): void {\n const b64 = this._base64.encodeText(data);\n this._terminal?.input(`\\x1b]52;${sel};${b64}\\x07`, false);\n }\n\n private _setOrReportClipboard(data: string): boolean | Promise<boolean> {\n const args = data.split(';');\n if (args.length < 2) {\n return true;\n }\n\n const pc = args[0] as ClipboardSelectionType;\n const pd = args[1];\n if (pd === '?') {\n const text = this._provider.readText(pc);\n\n // Report clipboard\n if (text instanceof Promise) {\n return text.then((data) => {\n this._readText(pc, data);\n return true;\n });\n }\n\n this._readText(pc, text);\n return true;\n }\n\n // Clear clipboard if text is not a base64 encoded string.\n let text = '';\n try {\n text = this._base64.decodeText(pd);\n } catch {}\n\n\n const result = this._provider.writeText(pc, text);\n if (result instanceof Promise) {\n return result.then(() => true);\n }\n\n return true;\n }\n}\n\nexport class BrowserClipboardProvider implements IClipboardProvider {\n public async readText(selection: ClipboardSelectionType): Promise<string> {\n if (selection !== 'c') {\n return Promise.resolve('');\n }\n return navigator.clipboard.readText();\n }\n\n public async writeText(selection: ClipboardSelectionType, text: string): Promise<void> {\n if (selection !== 'c') {\n return Promise.resolve();\n }\n return navigator.clipboard.writeText(text);\n }\n}\n\nexport class Base64 implements IBase64 {\n public encodeText(data: string): string {\n return JSBase64.encode(data);\n }\n public decodeText(data: string): string {\n const text = JSBase64.decode(data);\n if (!JSBase64.isValid(data) || JSBase64.encode(text) !== data) {\n return '';\n }\n return text;\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","f","Buffer","_","TextDecoder","C","TextEncoder","c","Array","prototype","slice","call","d","e","t","forEach","r","o","k","n","String","fromCharCode","bind","B","Uint8Array","from","I","replace","m","btoa","toString","i","s","l","length","a","charCodeAt","TypeError","substring","b","push","apply","subarray","join","H","J","T","encode","P","q","G","y","atob","test","charAt","R","split","map","K","decode","D","u","S","O","j","constructor","A","g","this","_base64","_provider","activate","_terminal","_disposable","parser","registerOscHandler","_setOrReportClipboard","dispose","_readText","encodeText","input","readText","Promise","then","L","decodeText","writeText","resolve","navigator","clipboard","window","tab","version","VERSION","_hasBuffer","_TD","undefined","_TE","b64chs","b64tab","b64re","_fromCC","_U8Afrom","it","_mkUriSafe","src","m0","_tidyB64","btoaPolyfill","bin","u32","c0","c1","c2","asc","pad","_btoa","_fromUint8Array","u8a","strs","fromUint8Array","urlsafe","cb_utob","cc","re_utob","utob","_encode","encodeURI","re_btou","cb_btou","cccc","offset","btou","atobPolyfill","u24","r1","r2","binArray","_atob","_toUint8Array","toUint8Array","_unURI","_decode","_noEnum","v","value","enumerable","writable","configurable","extendString","_add","name","body","Object","defineProperty","extendUint8Array","gBase64","fromBase64","toBase64","encodeURL","isValid","extendBuiltins","keys","Base64","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","key","get","globalThis","Function","obj","prop","hasOwnProperty","Symbol","toStringTag","BrowserClipboardProvider","terminal","data","sel","b64","args","pc","pd","text","result","selection"],"ignoreList":[],"sourceRoot":""}
1
+ {"version":3,"file":"addon-clipboard.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAwB,eAAID,IAE5BD,EAAqB,eAAIC,GAC1B,CATD,CASGK,KAAM,I,8KCDT,MAKYC,QACAC,UALFC,UACAC,YAER,WAAAC,CACUJ,EAAmB,IAAIK,EACvBJ,EAAgC,IAAIK,G,aADpCN,E,eACAC,CACP,CAEI,QAAAM,CAASC,GACdC,KAAKP,UAAYM,EACjBC,KAAKN,YAAcK,EAASE,OAAOC,mBAAmB,GAAIC,GAAQH,KAAKI,sBAAsBD,GAAO,CAG/F,OAAAE,GACL,OAAOL,KAAKN,aAAaW,SAAU,CAG7B,SAAAC,CAAUC,EAAaJ,GAC7B,MAAMK,EAAMR,KAAKT,QAAQkB,WAAWN,GACpCH,KAAKP,WAAWiB,MAAM,QAAWH,KAAOC,MAAW,EAAO,CAGpD,qBAAAJ,CAAsBD,GAC5B,MAAMQ,EAAOR,EAAKS,MAAM,KACxB,GAAID,EAAKE,OAAS,EAChB,OAAO,EAGT,MAAMC,EAAKH,EAAK,GACVI,EAAKJ,EAAK,GAChB,GAAW,MAAPI,EAAY,CACd,MAAMC,EAAOhB,KAAKR,UAAUyB,SAASH,GAGrC,OAAIE,aAAgBE,QACXF,EAAKG,KAAMhB,IAChBH,KAAKM,UAAUQ,EAAIX,IACZ,KAIXH,KAAKM,UAAUQ,EAAIE,IACZ,EACT,CAGA,IAAIA,EAAO,GACX,IACEA,EAAOhB,KAAKT,QAAQ6B,WAAWL,EACjC,CAAE,MAAO,CAGT,MAAMM,EAASrB,KAAKR,UAAU8B,UAAUR,EAAIE,GAC5C,QAAIK,aAAkBH,UACbG,EAAOF,KAAK,KAAM,EAGf,GAIhB,QACS,QAAAF,CAASM,GACd,OAAOC,UAAUC,UAAUR,UAAW,CAGjC,SAAAK,CAAUC,EAAmBP,GAClC,OAAOQ,UAAUC,UAAUH,UAAUN,EAAM,E,6BAI/C,QACS,UAAAP,CAAWN,GAChB,OAAOuB,KAAKvB,EAAM,CAEb,UAAAiB,CAAWjB,GAChB,IACE,OAAOwB,KAAKxB,EACd,CAAE,MAAO,CACT,MAAO,EAAG,E","sources":["webpack://ClipboardAddon/webpack/universalModuleDefinition","webpack://ClipboardAddon/./src/ClipboardAddon.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardAddon\"] = factory();\n\telse\n\t\troot[\"ClipboardAddon\"] = factory();\n})(self, () => {\nreturn ","/**\n * Copyright (c) 2023 The xterm.js authors. All rights reserved.\n * @license MIT\n */\n\nimport type { IDisposable, ITerminalAddon, Terminal } from '@xterm/xterm';\nimport { type IClipboardProvider, type IBase64 } from '@xterm/addon-clipboard';\n\nexport class ClipboardAddon implements ITerminalAddon {\n private _terminal?: Terminal;\n private _disposable?: IDisposable;\n\n constructor(\n private _base64: IBase64 = new Base64(),\n private _provider: IClipboardProvider = new BrowserClipboardProvider()\n ) {}\n\n public activate(terminal: Terminal): void {\n this._terminal = terminal;\n this._disposable = terminal.parser.registerOscHandler(52, data => this._setOrReportClipboard(data));\n }\n\n public dispose(): void {\n return this._disposable?.dispose();\n }\n\n private _readText(sel: string, data: string): void {\n const b64 = this._base64.encodeText(data);\n this._terminal?.input(`\\x1b]52;${sel};${b64}\\x07`, false);\n }\n\n private _setOrReportClipboard(data: string): boolean | Promise<boolean> {\n const args = data.split(';');\n if (args.length < 2) {\n return true;\n }\n\n const pc = args[0];\n const pd = args[1];\n if (pd === '?') {\n const text = this._provider.readText(pc);\n\n // Report clipboard\n if (text instanceof Promise) {\n return text.then((data) => {\n this._readText(pc, data);\n return true;\n });\n }\n\n this._readText(pc, text);\n return true;\n }\n\n // Clear clipboard if text is not a base64 encoded string.\n let text = '';\n try {\n text = this._base64.decodeText(pd);\n } catch {}\n\n\n const result = this._provider.writeText(pc, text);\n if (result instanceof Promise) {\n return result.then(() => true);\n }\n\n return true;\n }\n}\n\nexport class BrowserClipboardProvider implements IClipboardProvider {\n public readText(selection: string): Promise<string> {\n return navigator.clipboard.readText();\n }\n\n public writeText(selection: string, text: string): Promise<void> {\n return navigator.clipboard.writeText(text);\n }\n}\n\nexport class Base64 implements IBase64 {\n public encodeText(data: string): string {\n return btoa(data);\n }\n public decodeText(data: string): string {\n try {\n return atob(data);\n } catch {}\n return '';\n }\n}\n"],"names":["root","factory","exports","module","define","amd","self","_base64","_provider","_terminal","_disposable","constructor","Base64","BrowserClipboardProvider","activate","terminal","this","parser","registerOscHandler","data","_setOrReportClipboard","dispose","_readText","sel","b64","encodeText","input","args","split","length","pc","pd","text","readText","Promise","then","decodeText","result","writeText","selection","navigator","clipboard","btoa","atob"],"ignoreList":[],"sourceRoot":""}
@@ -14,5 +14,5 @@
14
14
  * Copyright (c) Microsoft Corporation. All rights reserved.
15
15
  * Licensed under the MIT License. See License.txt in the project root for license information.
16
16
  *--------------------------------------------------------------------------------------------*/
17
- var U="3.7.8",$=U,f=typeof Buffer=="function",_=typeof TextDecoder=="function"?new TextDecoder:void 0,C=typeof TextEncoder=="function"?new TextEncoder:void 0,N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",c=Array.prototype.slice.call(N),d=(e=>{let t={};return e.forEach((r,o)=>t[r]=o),t})(c),k=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,n=String.fromCharCode.bind(String),B=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):e=>new Uint8Array(Array.prototype.slice.call(e,0)),S=e=>e.replace(/=/g,"").replace(/[+\/]/g,t=>t=="+"?"-":"_"),I=e=>e.replace(/[^A-Za-z0-9\+\/]/g,""),F=e=>{let t,r,o,i,s="",l=e.length%3;for(let a=0;a<e.length;){if((r=e.charCodeAt(a++))>255||(o=e.charCodeAt(a++))>255||(i=e.charCodeAt(a++))>255)throw new TypeError("invalid character found");t=r<<16|o<<8|i,s+=c[t>>18&63]+c[t>>12&63]+c[t>>6&63]+c[t&63]}return l?s.slice(0,l-3)+"===".substring(l):s},m=typeof btoa=="function"?e=>btoa(e):f?e=>Buffer.from(e,"binary").toString("base64"):F,b=f?e=>Buffer.from(e).toString("base64"):e=>{let r=[];for(let o=0,i=e.length;o<i;o+=4096)r.push(n.apply(null,e.subarray(o,o+4096)));return m(r.join(""))},x=(e,t=!1)=>t?S(b(e)):b(e),H=e=>{if(e.length<2){var t=e.charCodeAt(0);return t<128?e:t<2048?n(192|t>>>6)+n(128|t&63):n(224|t>>>12&15)+n(128|t>>>6&63)+n(128|t&63)}else{var t=65536+(e.charCodeAt(0)-55296)*1024+(e.charCodeAt(1)-56320);return n(240|t>>>18&7)+n(128|t>>>12&63)+n(128|t>>>6&63)+n(128|t&63)}},J=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,P=e=>e.replace(J,H),T=f?e=>Buffer.from(e,"utf8").toString("base64"):C?e=>b(C.encode(e)):e=>m(P(e)),p=(e,t=!1)=>t?S(T(e)):T(e),v=e=>p(e,!0),q=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,G=e=>{switch(e.length){case 4:var t=(7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3),r=t-65536;return n((r>>>10)+55296)+n((r&1023)+56320);case 3:return n((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return n((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},D=e=>e.replace(q,G),w=e=>{if(e=e.replace(/\s+/g,""),!k.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(e.length&3));let t,r,o,i=[];for(let s=0;s<e.length;)t=d[e.charAt(s++)]<<18|d[e.charAt(s++)]<<12|(r=d[e.charAt(s++)])<<6|(o=d[e.charAt(s++)]),r===64?i.push(n(t>>16&255)):o===64?i.push(n(t>>16&255,t>>8&255)):i.push(n(t>>16&255,t>>8&255,t&255));return i.join("")},y=typeof atob=="function"?e=>atob(I(e)):f?e=>Buffer.from(e,"base64").toString("binary"):w,R=f?e=>B(Buffer.from(e,"base64")):e=>B(y(e).split("").map(t=>t.charCodeAt(0))),E=e=>R(O(e)),K=f?e=>Buffer.from(e,"base64").toString("utf8"):_?e=>_.decode(R(e)):e=>D(y(e)),O=e=>I(e.replace(/[-_]/g,t=>t=="-"?"+":"/")),h=e=>K(O(e)),M=e=>{if(typeof e!="string")return!1;let t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},z=e=>({value:e,enumerable:!1,writable:!0,configurable:!0}),Z=function(){let e=(t,r)=>Object.defineProperty(String.prototype,t,z(r));e("fromBase64",function(){return h(this)}),e("toBase64",function(t){return p(this,t)}),e("toBase64URI",function(){return p(this,!0)}),e("toBase64URL",function(){return p(this,!0)}),e("toUint8Array",function(){return E(this)})},V=function(){let e=(t,r)=>Object.defineProperty(Uint8Array.prototype,t,z(r));e("toBase64",function(t){return x(this,t)}),e("toBase64URI",function(){return x(this,!0)}),e("toBase64URL",function(){return x(this,!0)})},Q=()=>{Z(),V()},u={version:U,VERSION:$,atob:y,atobPolyfill:w,btoa:m,btoaPolyfill:F,fromBase64:h,toBase64:p,encode:p,encodeURI:v,encodeURL:v,utob:P,btou:D,decode:h,isValid:M,fromUint8Array:x,toUint8Array:E,extendString:Z,extendUint8Array:V,extendBuiltins:Q};var j=class{constructor(t=new A,r=new g){this._base64=t;this._provider=r}activate(t){this._terminal=t,this._disposable=t.parser.registerOscHandler(52,r=>this._setOrReportClipboard(r))}dispose(){return this._disposable?.dispose()}_readText(t,r){let o=this._base64.encodeText(r);this._terminal?.input(`\x1B]52;${t};${o}\x07`,!1)}_setOrReportClipboard(t){let r=t.split(";");if(r.length<2)return!0;let o=r[0],i=r[1];if(i==="?"){let a=this._provider.readText(o);return a instanceof Promise?a.then(L=>(this._readText(o,L),!0)):(this._readText(o,a),!0)}let s="";try{s=this._base64.decodeText(i)}catch{}let l=this._provider.writeText(o,s);return l instanceof Promise?l.then(()=>!0):!0}},g=class{async readText(t){return t!=="c"?Promise.resolve(""):navigator.clipboard.readText()}async writeText(t,r){return t!=="c"?Promise.resolve():navigator.clipboard.writeText(r)}},A=class{encodeText(t){return u.encode(t)}decodeText(t){let r=u.decode(t);return!u.isValid(t)||u.encode(r)!==t?"":r}};export{A as Base64,g as BrowserClipboardProvider,j as ClipboardAddon};
17
+ var d=class{constructor(e=new n,t=new s){this._base64=e;this._provider=t}activate(e){this._terminal=e,this._disposable=e.parser.registerOscHandler(52,t=>this._setOrReportClipboard(t))}dispose(){return this._disposable?.dispose()}_readText(e,t){let r=this._base64.encodeText(t);this._terminal?.input(`\x1B]52;${e};${r}\x07`,!1)}_setOrReportClipboard(e){let t=e.split(";");if(t.length<2)return!0;let r=t[0],a=t[1];if(a==="?"){let i=this._provider.readText(r);return i instanceof Promise?i.then(c=>(this._readText(r,c),!0)):(this._readText(r,i),!0)}let p="";try{p=this._base64.decodeText(a)}catch{}let l=this._provider.writeText(r,p);return l instanceof Promise?l.then(()=>!0):!0}},s=class{readText(e){return navigator.clipboard.readText()}writeText(e,t){return navigator.clipboard.writeText(t)}},n=class{encodeText(e){return btoa(e)}decodeText(e){try{return atob(e)}catch{}return""}};export{n as Base64,s as BrowserClipboardProvider,d as ClipboardAddon};
18
18
  //# sourceMappingURL=addon-clipboard.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../node_modules/js-base64/base64.mjs", "../src/ClipboardAddon.ts"],
4
- "sourcesContent": ["/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.8';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = ((a) => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = (src) => src\n .replace(/=/g, '').replace(/[+\\/]/g, (m0) => m0 == '+' ? '-' : '_');\nconst _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = (bin) => {\n // console.log('polyfilled');\n let u32, c0, c1, c2, asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = typeof btoa === 'function' ? (bin) => btoa(bin)\n : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64')\n : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer\n ? (u8a) => Buffer.from(u8a).toString('base64')\n : (u8a) => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 \u00A75\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = (c) => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = (u) => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer\n ? (s) => Buffer.from(s, 'utf8').toString('base64')\n : _TE\n ? (s) => _fromUint8Array(_TE.encode(s))\n : (s) => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 \u00A75.\n * @returns {string} Base64 string\n */\nconst encodeURI = (src) => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = (cccc) => {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = (b) => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = (asc) => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24, r1, r2;\n let binArray = []; // use array to avoid minor gc in loop\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n if (r1 === 64) {\n binArray.push(_fromCC(u24 >> 16 & 255));\n }\n else if (r2 === 64) {\n binArray.push(_fromCC(u24 >> 16 & 255, u24 >> 8 & 255));\n }\n else {\n binArray.push(_fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255));\n }\n }\n return binArray.join('');\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = typeof atob === 'function' ? (asc) => atob(_tidyB64(asc))\n : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary')\n : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer\n ? (a) => _U8Afrom(Buffer.from(a, 'base64'))\n : (a) => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = (a) => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer\n ? (a) => Buffer.from(a, 'base64').toString('utf8')\n : _TD\n ? (a) => _TD.decode(_toUint8Array(a))\n : (a) => btou(_atob(a));\nconst _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = (src) => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = (src) => {\n if (typeof src !== 'string')\n return false;\n const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = (v) => {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n};\n// makecjs:CUT //\nexport { version };\nexport { VERSION };\nexport { _atob as atob };\nexport { atobPolyfill };\nexport { _btoa as btoa };\nexport { btoaPolyfill };\nexport { decode as fromBase64 };\nexport { encode as toBase64 };\nexport { utob };\nexport { encode };\nexport { encodeURI };\nexport { encodeURI as encodeURL };\nexport { btou };\nexport { decode };\nexport { isValid };\nexport { fromUint8Array };\nexport { toUint8Array };\nexport { extendString };\nexport { extendUint8Array };\nexport { extendBuiltins };\n// and finally,\nexport { gBase64 as Base64 };\n", "/**\n * Copyright (c) 2023 The xterm.js authors. All rights reserved.\n * @license MIT\n */\n\nimport type { IDisposable, ITerminalAddon, Terminal } from '@xterm/xterm';\nimport { type IClipboardProvider, ClipboardSelectionType, type IBase64 } from '@xterm/addon-clipboard';\nimport { Base64 as JSBase64 } from 'js-base64';\n\nexport class ClipboardAddon implements ITerminalAddon {\n private _terminal?: Terminal;\n private _disposable?: IDisposable;\n\n constructor(\n private _base64: IBase64 = new Base64(),\n private _provider: IClipboardProvider = new BrowserClipboardProvider()\n ) {}\n\n public activate(terminal: Terminal): void {\n this._terminal = terminal;\n this._disposable = terminal.parser.registerOscHandler(52, data => this._setOrReportClipboard(data));\n }\n\n public dispose(): void {\n return this._disposable?.dispose();\n }\n\n private _readText(sel: ClipboardSelectionType, data: string): void {\n const b64 = this._base64.encodeText(data);\n this._terminal?.input(`\\x1b]52;${sel};${b64}\\x07`, false);\n }\n\n private _setOrReportClipboard(data: string): boolean | Promise<boolean> {\n const args = data.split(';');\n if (args.length < 2) {\n return true;\n }\n\n const pc = args[0] as ClipboardSelectionType;\n const pd = args[1];\n if (pd === '?') {\n const text = this._provider.readText(pc);\n\n // Report clipboard\n if (text instanceof Promise) {\n return text.then((data) => {\n this._readText(pc, data);\n return true;\n });\n }\n\n this._readText(pc, text);\n return true;\n }\n\n // Clear clipboard if text is not a base64 encoded string.\n let text = '';\n try {\n text = this._base64.decodeText(pd);\n } catch {}\n\n\n const result = this._provider.writeText(pc, text);\n if (result instanceof Promise) {\n return result.then(() => true);\n }\n\n return true;\n }\n}\n\nexport class BrowserClipboardProvider implements IClipboardProvider {\n public async readText(selection: ClipboardSelectionType): Promise<string> {\n if (selection !== 'c') {\n return Promise.resolve('');\n }\n return navigator.clipboard.readText();\n }\n\n public async writeText(selection: ClipboardSelectionType, text: string): Promise<void> {\n if (selection !== 'c') {\n return Promise.resolve();\n }\n return navigator.clipboard.writeText(text);\n }\n}\n\nexport class Base64 implements IBase64 {\n public encodeText(data: string): string {\n return JSBase64.encode(data);\n }\n public decodeText(data: string): string {\n const text = JSBase64.decode(data);\n if (!JSBase64.isValid(data) || JSBase64.encode(text) !== data) {\n return '';\n }\n return text;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["version", "VERSION", "_hasBuffer", "_TD", "_TE", "b64ch", "b64chs", "b64tab", "a", "tab", "c", "i", "b64re", "_fromCC", "_U8Afrom", "it", "_mkUriSafe", "src", "m0", "_tidyB64", "s", "btoaPolyfill", "bin", "u32", "c0", "c1", "c2", "asc", "pad", "_btoa", "_fromUint8Array", "u8a", "strs", "l", "fromUint8Array", "urlsafe", "cb_utob", "cc", "re_utob", "utob", "u", "_encode", "encode", "encodeURI", "re_btou", "cb_btou", "cccc", "cp", "offset", "btou", "b", "atobPolyfill", "u24", "r1", "r2", "binArray", "_atob", "_toUint8Array", "toUint8Array", "_unURI", "_decode", "decode", "isValid", "_noEnum", "v", "extendString", "_add", "name", "body", "extendUint8Array", "extendBuiltins", "gBase64", "ClipboardAddon", "_base64", "Base64", "_provider", "BrowserClipboardProvider", "terminal", "data", "sel", "b64", "args", "pc", "pd", "text", "result", "selection", "gBase64"]
3
+ "sources": ["../src/ClipboardAddon.ts"],
4
+ "sourcesContent": ["/**\n * Copyright (c) 2023 The xterm.js authors. All rights reserved.\n * @license MIT\n */\n\nimport type { IDisposable, ITerminalAddon, Terminal } from '@xterm/xterm';\nimport { type IClipboardProvider, type IBase64 } from '@xterm/addon-clipboard';\n\nexport class ClipboardAddon implements ITerminalAddon {\n private _terminal?: Terminal;\n private _disposable?: IDisposable;\n\n constructor(\n private _base64: IBase64 = new Base64(),\n private _provider: IClipboardProvider = new BrowserClipboardProvider()\n ) {}\n\n public activate(terminal: Terminal): void {\n this._terminal = terminal;\n this._disposable = terminal.parser.registerOscHandler(52, data => this._setOrReportClipboard(data));\n }\n\n public dispose(): void {\n return this._disposable?.dispose();\n }\n\n private _readText(sel: string, data: string): void {\n const b64 = this._base64.encodeText(data);\n this._terminal?.input(`\\x1b]52;${sel};${b64}\\x07`, false);\n }\n\n private _setOrReportClipboard(data: string): boolean | Promise<boolean> {\n const args = data.split(';');\n if (args.length < 2) {\n return true;\n }\n\n const pc = args[0];\n const pd = args[1];\n if (pd === '?') {\n const text = this._provider.readText(pc);\n\n // Report clipboard\n if (text instanceof Promise) {\n return text.then((data) => {\n this._readText(pc, data);\n return true;\n });\n }\n\n this._readText(pc, text);\n return true;\n }\n\n // Clear clipboard if text is not a base64 encoded string.\n let text = '';\n try {\n text = this._base64.decodeText(pd);\n } catch {}\n\n\n const result = this._provider.writeText(pc, text);\n if (result instanceof Promise) {\n return result.then(() => true);\n }\n\n return true;\n }\n}\n\nexport class BrowserClipboardProvider implements IClipboardProvider {\n public readText(selection: string): Promise<string> {\n return navigator.clipboard.readText();\n }\n\n public writeText(selection: string, text: string): Promise<void> {\n return navigator.clipboard.writeText(text);\n }\n}\n\nexport class Base64 implements IBase64 {\n public encodeText(data: string): string {\n return btoa(data);\n }\n public decodeText(data: string): string {\n try {\n return atob(data);\n } catch {}\n return '';\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAQO,IAAMA,EAAN,KAA+C,CAIpD,YACUC,EAAmB,IAAIC,EACvBC,EAAgC,IAAIC,EAC5C,CAFQ,aAAAH,EACA,eAAAE,CACP,CAEI,SAASE,EAA0B,CACxC,KAAK,UAAYA,EACjB,KAAK,YAAcA,EAAS,OAAO,mBAAmB,GAAIC,GAAQ,KAAK,sBAAsBA,CAAI,CAAC,CACpG,CAEO,SAAgB,CACrB,OAAO,KAAK,aAAa,QAAQ,CACnC,CAEQ,UAAUC,EAAaD,EAAoB,CACjD,IAAME,EAAM,KAAK,QAAQ,WAAWF,CAAI,EACxC,KAAK,WAAW,MAAM,WAAWC,CAAG,IAAIC,CAAG,OAAQ,EAAK,CAC1D,CAEQ,sBAAsBF,EAA0C,CACtE,IAAMG,EAAOH,EAAK,MAAM,GAAG,EAC3B,GAAIG,EAAK,OAAS,EAChB,MAAO,GAGT,IAAMC,EAAKD,EAAK,CAAC,EACXE,EAAKF,EAAK,CAAC,EACjB,GAAIE,IAAO,IAAK,CACd,IAAMC,EAAO,KAAK,UAAU,SAASF,CAAE,EAGvC,OAAIE,aAAgB,QACXA,EAAK,KAAMN,IAChB,KAAK,UAAUI,EAAIJ,CAAI,EAChB,GACR,GAGH,KAAK,UAAUI,EAAIE,CAAI,EAChB,GACT,CAGA,IAAIA,EAAO,GACX,GAAI,CACFA,EAAO,KAAK,QAAQ,WAAWD,CAAE,CACnC,MAAQ,CAAC,CAGT,IAAME,EAAS,KAAK,UAAU,UAAUH,EAAIE,CAAI,EAChD,OAAIC,aAAkB,QACbA,EAAO,KAAK,IAAM,EAAI,EAGxB,EACT,CACF,EAEaT,EAAN,KAA6D,CAC3D,SAASU,EAAoC,CAClD,OAAO,UAAU,UAAU,SAAS,CACtC,CAEO,UAAUA,EAAmBF,EAA6B,CAC/D,OAAO,UAAU,UAAU,UAAUA,CAAI,CAC3C,CACF,EAEaV,EAAN,KAAgC,CAC9B,WAAWI,EAAsB,CACtC,OAAO,KAAKA,CAAI,CAClB,CACO,WAAWA,EAAsB,CACtC,GAAI,CACF,OAAO,KAAKA,CAAI,CAClB,MAAQ,CAAC,CACT,MAAO,EACT,CACF",
6
+ "names": ["ClipboardAddon", "_base64", "Base64", "_provider", "BrowserClipboardProvider", "terminal", "data", "sel", "b64", "args", "pc", "pd", "text", "result", "selection"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xterm/addon-clipboard",
3
- "version": "0.3.0-beta.217",
3
+ "version": "0.3.0-beta.219",
4
4
  "author": {
5
5
  "name": "The xterm.js authors",
6
6
  "url": "https://xtermjs.org/"
@@ -22,11 +22,8 @@
22
22
  "prepublishOnly": "npm run package",
23
23
  "start": "node ../../demo/start"
24
24
  },
25
- "dependencies": {
26
- "js-base64": "^3.7.5"
27
- },
28
- "commit": "c5c6fc2a64dab42fad108493e2a33d6aa9cd4405",
25
+ "commit": "c8c8b3a7fe7e94113a49d44ed10cd0dc34f6d50a",
29
26
  "peerDependencies": {
30
- "@xterm/xterm": "^6.1.0-beta.217"
27
+ "@xterm/xterm": "^6.1.0-beta.219"
31
28
  }
32
29
  }
@@ -4,8 +4,7 @@
4
4
  */
5
5
 
6
6
  import type { IDisposable, ITerminalAddon, Terminal } from '@xterm/xterm';
7
- import { type IClipboardProvider, ClipboardSelectionType, type IBase64 } from '@xterm/addon-clipboard';
8
- import { Base64 as JSBase64 } from 'js-base64';
7
+ import { type IClipboardProvider, type IBase64 } from '@xterm/addon-clipboard';
9
8
 
10
9
  export class ClipboardAddon implements ITerminalAddon {
11
10
  private _terminal?: Terminal;
@@ -25,7 +24,7 @@ export class ClipboardAddon implements ITerminalAddon {
25
24
  return this._disposable?.dispose();
26
25
  }
27
26
 
28
- private _readText(sel: ClipboardSelectionType, data: string): void {
27
+ private _readText(sel: string, data: string): void {
29
28
  const b64 = this._base64.encodeText(data);
30
29
  this._terminal?.input(`\x1b]52;${sel};${b64}\x07`, false);
31
30
  }
@@ -36,7 +35,7 @@ export class ClipboardAddon implements ITerminalAddon {
36
35
  return true;
37
36
  }
38
37
 
39
- const pc = args[0] as ClipboardSelectionType;
38
+ const pc = args[0];
40
39
  const pd = args[1];
41
40
  if (pd === '?') {
42
41
  const text = this._provider.readText(pc);
@@ -70,30 +69,23 @@ export class ClipboardAddon implements ITerminalAddon {
70
69
  }
71
70
 
72
71
  export class BrowserClipboardProvider implements IClipboardProvider {
73
- public async readText(selection: ClipboardSelectionType): Promise<string> {
74
- if (selection !== 'c') {
75
- return Promise.resolve('');
76
- }
72
+ public readText(selection: string): Promise<string> {
77
73
  return navigator.clipboard.readText();
78
74
  }
79
75
 
80
- public async writeText(selection: ClipboardSelectionType, text: string): Promise<void> {
81
- if (selection !== 'c') {
82
- return Promise.resolve();
83
- }
76
+ public writeText(selection: string, text: string): Promise<void> {
84
77
  return navigator.clipboard.writeText(text);
85
78
  }
86
79
  }
87
80
 
88
81
  export class Base64 implements IBase64 {
89
82
  public encodeText(data: string): string {
90
- return JSBase64.encode(data);
83
+ return btoa(data);
91
84
  }
92
85
  public decodeText(data: string): string {
93
- const text = JSBase64.decode(data);
94
- if (!JSBase64.isValid(data) || JSBase64.encode(text) !== data) {
95
- return '';
96
- }
97
- return text;
86
+ try {
87
+ return atob(data);
88
+ } catch {}
89
+ return '';
98
90
  }
99
91
  }
@@ -30,18 +30,6 @@ declare module '@xterm/addon-clipboard' {
30
30
  public dispose(): void
31
31
  }
32
32
 
33
- /**
34
- * Clipboard selection type. This is used to specify which selection buffer to
35
- * read or write to.
36
- * - SYSTEM `c`: The system clipboard.
37
- * - PRIMARY `p`: The primary clipboard. This is provided for compatibility
38
- * with Linux X11.
39
- */
40
- export const enum ClipboardSelectionType {
41
- SYSTEM = 'c',
42
- PRIMARY = 'p',
43
- }
44
-
45
33
  export interface IBase64 {
46
34
  /**
47
35
  * Converts a utf-8 string to a base64 string.
@@ -78,36 +66,39 @@ declare module '@xterm/addon-clipboard' {
78
66
  export interface IClipboardProvider {
79
67
  /**
80
68
  * Gets the clipboard content.
81
- * @param selection The clipboard selection to read.
69
+ * @param selection The clipboard selection to read (see OSC 52 spec of xterm).
82
70
  * @returns A promise that resolves with clipboard selection data.
83
71
  */
84
- readText(selection: ClipboardSelectionType): string | Promise<string>;
72
+ readText(selection: string): string | Promise<string>;
85
73
 
86
74
  /**
87
75
  * Sets the clipboard content.
88
- * @param selection The clipboard selection to set.
76
+ * @param selection The clipboard selection to set (see OSC 52 spec of xterm).
89
77
  * @param data The clipboard text to write.
90
78
  */
91
- writeText(selection: ClipboardSelectionType, text: string): void | Promise<void>;
79
+ writeText(selection: string, text: string): void | Promise<void>;
92
80
  }
93
81
 
94
82
  /**
95
- * The clipboard provider interface that enables xterm.js to access the system clipboard.
83
+ * The clipboard provider interface that enables xterm.js to access the browser clipboard.
84
+ *
85
+ * Note this this clipboard provider does not implement own cut buffers as xterm does,
86
+ * but redirect the selection parameter always to navigator.clipboard.
96
87
  */
97
88
  export class BrowserClipboardProvider implements IClipboardProvider{
98
89
  /**
99
90
  * Reads text from the clipboard.
100
- * @param selection The selection type to read from.
91
+ * @param selection The selection type to read from (always refers to navigator.clipboard).
101
92
  * @returns A promise that resolves with the text from the clipboard.
102
93
  */
103
- public readText(selection: ClipboardSelectionType): Promise<string>;
94
+ public readText(selection: string): Promise<string>;
104
95
 
105
96
  /**
106
97
  * Writes text to the clipboard.
107
- * @param selection The selection type to write to.
98
+ * @param selection The selection type to write to (always refers to navigator.clipboard).
108
99
  * @param data The text to write to the clipboard.
109
100
  * @returns A promise that resolves when the text has been written to the clipboard.
110
101
  */
111
- public writeText(selection: ClipboardSelectionType, data: string): Promise<void>;
102
+ public writeText(selection: string, data: string): Promise<void>;
112
103
  }
113
104
  }