Socket
Socket
Sign inDemoInstall

react-terminal

Package Overview
Dependencies
10
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.11 to 1.0.12

2

dist/index.es.js

@@ -15,2 +15,2 @@ import{createContext as e,createElement as n,useEffect as t,useContext as o,useState as r,useRef as i,Fragment as a}from"react";import l from"prop-types";import{isMobile as c}from"react-device-detect";

and limitations under the License.
***************************************************************************** */var d=function(){return(d=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)};function s(e,n){var t,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(i){return function(l){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=n.call(e,a)}catch(e){i=[6,e],o=0}finally{t=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,l])}}}!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}('@import url("https://fonts.googleapis.com/css?family=Source+Code+Pro&display=swap");\n#index_terminalContainer__3q4m3 {\n --prompt-color: #a917a8;\n --light-theme-bg-color: #fdf6e4;\n --dark-theme-bg-color: #022833;\n --light-theme-toolbar-color: #d8d8d8;\n --dark-theme-toolbar-color: #131519;\n --light-theme-color: #333333;\n --dark-theme-color: #839496;\n --light-theme-anchor-color: #1a87b5;\n --dark-theme-anchor-color: #ffffff;\n --control-default-bg-color: #ccc;\n --control-close-bg-color: #fc5b57;\n --control-minimize-bg-color: #e5bf3c;\n --control-maximize-bg-color: #57c038; }\n\n.index_controls__9z-dM {\n text-align: left;\n height: 26px;\n position: relative;\n top: 4px;\n margin-left: 4px; }\n .index_controls__9z-dM .index_consoleCtrl__PQnAL {\n display: inline-block;\n width: 13px;\n height: 13px;\n margin: 0 3px;\n border-radius: 50%;\n background: var(--control-default-bg-color); }\n .index_controls__9z-dM .index_close__2o6CK {\n background: var(--control-close-bg-color); }\n .index_controls__9z-dM .index_minimize__E9mwB {\n background: var(--control-minimize-bg-color); }\n .index_controls__9z-dM .index_maximize__sbbYF {\n background: var(--control-maximize-bg-color); }\n\n.index_editor__2tqRz {\n text-align: left;\n height: calc(100% - 46px);\n padding: 10px 15px;\n overflow-wrap: break-word;\n overflow-y: scroll;\n outline: none;\n font-family: "Source Code Pro", monospace;\n background: var(--light-theme-bg-color);\n font-size: 18px;\n line-height: 22px;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px; }\n .index_theme--light__15c4Z .index_editor__2tqRz {\n background: var(--light-theme-bg-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz {\n background: var(--dark-theme-bg-color); }\n .index_editor__2tqRz .index_mobileInput__jGtyc {\n position: absolute;\n top: -2000px;\n left: -2000px; }\n .index_editor__2tqRz .index_editArea__1Y6QT {\n display: inline-block;\n width: 94%;\n height: 20px;\n outline: none;\n border: none;\n background: inherit;\n color: transparent;\n text-shadow: 0 0 0 var(--light-theme-color);\n font-size: 18px;\n line-height: 20px;\n white-space: nowrap; }\n .index_theme--light__15c4Z .index_editor__2tqRz .index_editArea__1Y6QT {\n text-shadow: 0 0 0 var(--light-theme-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz .index_editArea__1Y6QT {\n text-shadow: 0 0 0 var(--dark-theme-color); }\n .index_editor__2tqRz .index_editArea__1Y6QT br {\n display: none; }\n .index_editor__2tqRz .index_prompt__2NwNP {\n color: var(--prompt-color); }\n .index_editor__2tqRz .index_lineText__2Poex {\n display: inline;\n position: relative;\n top: -1px;\n margin-left: 8px; }\n .index_editor__2tqRz .index_preWhiteSpace__3nCT2 {\n white-space: pre; }\n .index_editor__2tqRz .index_caret__MYxcn {\n position: relative;\n -webkit-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -moz-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -o-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -ms-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n animation: index_blink__RQDX- 0.75s ease-in-out infinite; }\n .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n content: "";\n position: absolute;\n top: 2px;\n width: 10px;\n height: 22px;\n background: var(--light-theme-color);\n z-index: 10; }\n .index_theme--light__15c4Z .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n background: var(--light-theme-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n background: var(--dark-theme-color); }\n\n@-moz-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@-webkit-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@-o-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n .index_editor__2tqRz a {\n color: var(--light-theme-anchor-color); }\n .index_theme--light__15c4Z .index_editor__2tqRz a {\n color: var(--light-theme-anchor-colo) r; }\n .index_theme--dark__1YsDI .index_editor__2tqRz a {\n color: var(--dark-theme-anchor-colo) r; }\n\n#index_terminalContainer__3q4m3 {\n height: 100%; }\n\n.index_terminal__1dSq1 {\n height: 100%;\n width: 100%;\n margin: auto;\n border-radius: 5px;\n color: var(--light-theme-color);\n background: var(--light-theme-toolbar-color); }\n .index_theme--light__15c4Z .index_terminal__1dSq1 {\n color: var(--light-theme-color);\n background: var(--light-theme-toolbar-color); }\n .index_theme--dark__1YsDI .index_terminal__1dSq1 {\n color: var(--dark-theme-color);\n background: var(--dark-theme-toolbar-color); }\n');var _={terminalContainer:"index_terminalContainer__3q4m3",controls:"index_controls__9z-dM",consoleCtrl:"index_consoleCtrl__PQnAL",close:"index_close__2o6CK",minimize:"index_minimize__E9mwB",maximize:"index_maximize__sbbYF",editor:"index_editor__2tqRz","theme--light":"index_theme--light__15c4Z","theme--dark":"index_theme--dark__1YsDI",mobileInput:"index_mobileInput__jGtyc",editArea:"index_editArea__1Y6QT",prompt:"index_prompt__2NwNP",lineText:"index_lineText__2Poex",preWhiteSpace:"index_preWhiteSpace__3nCT2",caret:"index_caret__MYxcn",blink:"index_blink__RQDX-",caretAfter:"index_caretAfter__2B8sk",terminal:"index_terminal__1dSq1"},m=e(null),u=function(e){var t=e.children;return n(m.Provider,{value:_},t)};function p(e){var t=o(m),r=e.controlButtonLabels,i=e.showControlButtons?r.map((function(e){return n("div",{key:e,className:t.consoleCtrl+" "+t[e]})})):null;return n("div",{className:t.controls},i)}var f=e(null),h=function(e,r,i,l,c,d,_){var u=o(f),p=u.bufferedContent,h=u.setBufferedContent,x=o(m);t((function(){if(e){var t,o,m,u,f;t=l,o=void 0,m=void 0,f=function(){var e,o,m,u,f,g,b,v;return s(this,(function(s){switch(s.label){case 0:return e=n(a,null,p,n("span",{className:x.prompt},i),n("span",{className:x.lineText+" "+x.preWhiteSpace},l),n("br",null)),h(e),c(""),o=t.trim().split(" "),m=o[0],u=o.slice(1),f="",t?(g=u.join(" "),m&&d[m]?"function"!=typeof(b=d[m])?[3,2]:[4,b(g)]:[3,4]):[3,7];case 1:return f=s.sent(),[3,3];case 2:f=b,s.label=3;case 3:return[3,7];case 4:return"function"!=typeof _?[3,6]:[4,_(g)];case 5:return f=s.sent(),[3,7];case 6:f=_,s.label=7;case 7:return v=n(a,null,p,n("span",{className:x.prompt},i),n("span",{className:x.lineText+" "+x.preWhiteSpace},l),f?n("span",null,n("br",null),f):null,n("br",null)),h(v),r(!1),[2]}}))},new((u=void 0)||(u=Promise))((function(e,n){function t(e){try{i(f.next(e))}catch(e){n(e)}}function r(e){try{i(f.throw(e))}catch(e){n(e)}}function i(n){n.done?e(n.value):new u((function(e){e(n.value)})).then(t,r)}i((f=f.apply(o,m||[])).next())}))}}),[e])},x=function(e,l,d,s,_,u){var p=o(m),x=o(f).appendCommandToHistory,g=i(null),b=r(""),v=b[0],y=b[1],k=r(!1),w=k[0],z=k[1];t((function(){c&&l&&g.current.focus()}),[l]),t((function(){w&&x(v)}),[w]);var C=c&&u?n("div",{className:p.mobileInput},n("input",{type:"text",autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",value:v,onChange:function(e){return y(e.target.value)},ref:g})):null,T=w?n(a,null,C,n("div",{className:p.lineText},l&&e?n("span",{className:p.caret},n("span",{className:p.caretAfter})):null)):n(a,null,C,n("span",{className:p.prompt},d),n("div",{className:p.lineText},n("span",{className:p.preWhiteSpace},v),l&&e?n("span",{className:p.caret},n("span",{className:p.caretAfter})):null));return function(e,n,r,i,a){var l=o(f),c=l.getPreviousCommand,d=l.getNextCommand,s=function(t){if(e&&a){t.preventDefault();var o=t.key;if("Enter"!==o){var l=null;l="Backspace"===o?n.slice(0,-1):"ArrowUp"===o?c():"ArrowDown"===o?d():o&&1===o.length?n+o:n,r(l),i(!1)}else i(!0)}};t((function(){return document.addEventListener("keydown",s),function(){document.removeEventListener("keydown",s)}}))}(l,v,y,z,u),h(w,z,d,v,y,s,_),T};function g(e){var r=i(null),a=o(m),l=o(f).bufferedContent;!function(e,n){t((function(){n.current.scrollTop=n.current.scrollHeight}),[e])}(l,r);var c=e.enableInput,d=e.caret,s=e.consoleFocused,_=e.prompt,u=e.commands,p=e.welcomeMessage,h=e.errorMessage,g=x(d,s,_,u,h,c);return n("div",{ref:r,className:a.editor},p,l,g)}function b(e){var a,l,d,s,_=i(null),u=r(!c),f=u[0],h=u[1],x=o(m);a=_,l=f,d=h,s=function(e){a.current&&!a.current.contains(e.target)?d(!1):d(!c||!l)},t((function(){return document.addEventListener("mousedown",s),function(){document.removeEventListener("mousedown",s)}}));var b=e.caret,v=e.theme,y=e.showControlButtons,k=e.controlButtonLabels,w=e.prompt,z=e.commands,C=e.welcomeMessage,T=e.errorMessage,R=e.enableInput;return n("div",{ref:_,id:x.terminalContainer,className:x["theme--"+v]},n("div",{className:""+x.terminal},n(p,{consoleFocused:f,showControlButtons:y,controlButtonLabels:k}),n(g,{caret:b,consoleFocused:f,prompt:w,commands:z,welcomeMessage:C,errorMessage:T,enableInput:R})))}function v(e){var t=e.children;return n(u,null,t)}function y(e){return n(v,null,n(b,d({},e)))}b.propTypes={enableInput:l.bool,caret:l.bool,theme:l.string,showControlButtons:l.bool,controlButtonLabels:l.arrayOf(l.string),prompt:l.string,commands:l.objectOf(l.oneOfType([l.string,l.func,l.node])),welcomeMessage:l.oneOfType([l.string,l.func,l.node]),errorMessage:l.string},b.defaultProps={enableInput:!0,caret:!0,theme:"light",showControlButtons:!0,controlButtonLabels:["close","minimize","maximize"],prompt:">>>",commands:{},welcomeMessage:"",errorMessage:"not found!"};var k=function(e){var o=e.children,i=r(""),a=i[0],l=i[1],c=r([]),d=c[0],s=c[1],_=r(null),m=_[0],u=_[1];t((function(){u(d.length)}),[d]);return n(f.Provider,{value:{bufferedContent:a,setBufferedContent:l,appendCommandToHistory:function(e){e&&s(d.concat(e))},getPreviousCommand:function(){if(0===m)return 0===d.length?"":d[0];var e=d[m-1];return m>0&&u(m-1),e},getNextCommand:function(){if(m+1<=d.length){if(m===d.length)return"";var e=d[m+1];return u(m+1),e}return""}}},o)},w={ReactTerminal:y,TerminalContextProvider:k};export default w;export{y as ReactTerminal,k as TerminalContextProvider};
***************************************************************************** */var d=function(){return(d=Object.assign||function(e){for(var n,t=1,o=arguments.length;t<o;t++)for(var r in n=arguments[t])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)};function s(e,n){var t,o,r,i,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return i={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function l(i){return function(l){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;a;)try{if(t=1,o&&(r=2&i[0]?o.return:i[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,i[1])).done)return r;switch(o=0,r&&(i=[2&i[0],r.value]),i[0]){case 0:case 1:r=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,o=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!r||i[1]>r[0]&&i[1]<r[3])){a.label=i[1];break}if(6===i[0]&&a.label<r[1]){a.label=r[1],r=i;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(i);break}r[2]&&a.ops.pop(),a.trys.pop();continue}i=n.call(e,a)}catch(e){i=[6,e],o=0}finally{t=r=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,l])}}}!function(e,n){void 0===n&&(n={});var t=n.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}('@import url("https://fonts.googleapis.com/css?family=Source+Code+Pro&display=swap");\n#index_terminalContainer__3q4m3 {\n --prompt-color: #a917a8;\n --light-theme-bg-color: #fdf6e4;\n --dark-theme-bg-color: #022833;\n --light-theme-toolbar-color: #d8d8d8;\n --dark-theme-toolbar-color: #131519;\n --light-theme-color: #333333;\n --dark-theme-color: #839496;\n --light-theme-anchor-color: #1a87b5;\n --dark-theme-anchor-color: #ffffff;\n --control-default-bg-color: #ccc;\n --control-close-bg-color: #fc5b57;\n --control-minimize-bg-color: #e5bf3c;\n --control-maximize-bg-color: #57c038; }\n\n.index_controls__9z-dM {\n text-align: left;\n height: 26px;\n position: relative;\n top: 4px;\n margin-left: 4px; }\n .index_controls__9z-dM .index_consoleCtrl__PQnAL {\n display: inline-block;\n width: 13px;\n height: 13px;\n margin: 0 3px;\n border-radius: 50%;\n background: var(--control-default-bg-color); }\n .index_controls__9z-dM .index_close__2o6CK {\n background: var(--control-close-bg-color); }\n .index_controls__9z-dM .index_minimize__E9mwB {\n background: var(--control-minimize-bg-color); }\n .index_controls__9z-dM .index_maximize__sbbYF {\n background: var(--control-maximize-bg-color); }\n\n.index_editor__2tqRz {\n text-align: left;\n height: calc(100% - 46px);\n padding: 10px 15px;\n overflow-wrap: break-word;\n overflow-y: scroll;\n outline: none;\n font-family: "Source Code Pro", monospace;\n background: var(--light-theme-bg-color);\n font-size: 18px;\n line-height: 22px;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px; }\n .index_theme--light__15c4Z .index_editor__2tqRz {\n background: var(--light-theme-bg-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz {\n background: var(--dark-theme-bg-color); }\n .index_editor__2tqRz .index_mobileInput__jGtyc {\n position: absolute;\n top: -2000px;\n left: -2000px; }\n .index_editor__2tqRz .index_editArea__1Y6QT {\n display: inline-block;\n width: 94%;\n height: 20px;\n outline: none;\n border: none;\n background: inherit;\n color: transparent;\n text-shadow: 0 0 0 var(--light-theme-color);\n font-size: 18px;\n line-height: 20px;\n white-space: nowrap; }\n .index_theme--light__15c4Z .index_editor__2tqRz .index_editArea__1Y6QT {\n text-shadow: 0 0 0 var(--light-theme-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz .index_editArea__1Y6QT {\n text-shadow: 0 0 0 var(--dark-theme-color); }\n .index_editor__2tqRz .index_editArea__1Y6QT br {\n display: none; }\n .index_editor__2tqRz .index_prompt__2NwNP {\n color: var(--prompt-color); }\n .index_editor__2tqRz .index_lineText__2Poex {\n display: inline;\n position: relative;\n top: -1px;\n margin-left: 8px; }\n .index_editor__2tqRz .index_preWhiteSpace__3nCT2 {\n white-space: pre; }\n .index_editor__2tqRz .index_caret__MYxcn {\n position: relative;\n -webkit-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -moz-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -o-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -ms-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n animation: index_blink__RQDX- 0.75s ease-in-out infinite; }\n .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n content: "";\n position: absolute;\n top: 2px;\n width: 10px;\n height: 22px;\n background: var(--light-theme-color);\n z-index: 10; }\n .index_theme--light__15c4Z .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n background: var(--light-theme-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n background: var(--dark-theme-color); }\n\n@-moz-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@-webkit-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@-o-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n .index_editor__2tqRz a {\n color: var(--light-theme-anchor-color); }\n .index_theme--light__15c4Z .index_editor__2tqRz a {\n color: var(--light-theme-anchor-colo) r; }\n .index_theme--dark__1YsDI .index_editor__2tqRz a {\n color: var(--dark-theme-anchor-colo) r; }\n\n#index_terminalContainer__3q4m3 {\n height: 100%; }\n\n.index_terminal__1dSq1 {\n height: 100%;\n width: 100%;\n margin: auto;\n border-radius: 5px;\n color: var(--light-theme-color);\n background: var(--light-theme-toolbar-color); }\n .index_theme--light__15c4Z .index_terminal__1dSq1 {\n color: var(--light-theme-color);\n background: var(--light-theme-toolbar-color); }\n .index_theme--dark__1YsDI .index_terminal__1dSq1 {\n color: var(--dark-theme-color);\n background: var(--dark-theme-toolbar-color); }\n');var _={terminalContainer:"index_terminalContainer__3q4m3",controls:"index_controls__9z-dM",consoleCtrl:"index_consoleCtrl__PQnAL",close:"index_close__2o6CK",minimize:"index_minimize__E9mwB",maximize:"index_maximize__sbbYF",editor:"index_editor__2tqRz","theme--light":"index_theme--light__15c4Z","theme--dark":"index_theme--dark__1YsDI",mobileInput:"index_mobileInput__jGtyc",editArea:"index_editArea__1Y6QT",prompt:"index_prompt__2NwNP",lineText:"index_lineText__2Poex",preWhiteSpace:"index_preWhiteSpace__3nCT2",caret:"index_caret__MYxcn",blink:"index_blink__RQDX-",caretAfter:"index_caretAfter__2B8sk",terminal:"index_terminal__1dSq1"},m=e(null),u=function(e){var t=e.children;return n(m.Provider,{value:_},t)};function p(e){var t=o(m),r=e.controlButtonLabels,i=e.showControlButtons?r.map((function(e){return n("div",{key:e,className:t.consoleCtrl+" "+t[e]})})):null;return n("div",{className:t.controls},i)}var f=e(null),h=function(e,r,i,l,c,d,_){var u=o(f),p=u.bufferedContent,h=u.setBufferedContent,x=o(m);t((function(){if(e){var t,o,m,u,f;t=l,o=void 0,m=void 0,f=function(){var e,o,m,u,f,g,b,v;return s(this,(function(s){switch(s.label){case 0:return e=t.trim().split(" "),o=e[0],m=e.slice(1),u="","clear"===o?(h(""),c(""),r(!1),[2]):(f=n(a,null,p,n("span",{className:x.prompt},i),n("span",{className:x.lineText+" "+x.preWhiteSpace},l),n("br",null)),h(f),c(""),t?(g=m.join(" "),o&&d[o]?"function"!=typeof(b=d[o])?[3,2]:[4,b(g)]:[3,4]):[3,7]);case 1:return u=s.sent(),[3,3];case 2:u=b,s.label=3;case 3:return[3,7];case 4:return"function"!=typeof _?[3,6]:[4,_(g)];case 5:return u=s.sent(),[3,7];case 6:u=_,s.label=7;case 7:return v=n(a,null,p,n("span",{className:x.prompt},i),n("span",{className:x.lineText+" "+x.preWhiteSpace},l),u?n("span",null,n("br",null),u):null,n("br",null)),h(v),r(!1),[2]}}))},new((u=void 0)||(u=Promise))((function(e,n){function t(e){try{i(f.next(e))}catch(e){n(e)}}function r(e){try{i(f.throw(e))}catch(e){n(e)}}function i(n){n.done?e(n.value):new u((function(e){e(n.value)})).then(t,r)}i((f=f.apply(o,m||[])).next())}))}}),[e])},x=function(e,l,d,s,_,u){var p=o(m),x=o(f).appendCommandToHistory,g=i(null),b=r(""),v=b[0],y=b[1],k=r(!1),w=k[0],z=k[1];t((function(){c&&l&&g.current.focus()}),[l]),t((function(){w&&x(v)}),[w]);var C=c&&u?n("div",{className:p.mobileInput},n("input",{type:"text",autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",value:v,onChange:function(e){return y(e.target.value)},ref:g})):null,T=w?n(a,null,C,n("div",{className:p.lineText},l&&e?n("span",{className:p.caret},n("span",{className:p.caretAfter})):null)):n(a,null,C,n("span",{className:p.prompt},d),n("div",{className:p.lineText},n("span",{className:p.preWhiteSpace},v),l&&e?n("span",{className:p.caret},n("span",{className:p.caretAfter})):null));return function(e,n,r,i,a){var l=o(f),c=l.getPreviousCommand,d=l.getNextCommand,s=function(t){if(e&&a){t.preventDefault();var o=t.key;if("Enter"!==o){var l=null;l="Backspace"===o?n.slice(0,-1):"ArrowUp"===o?c():"ArrowDown"===o?d():o&&1===o.length?n+o:n,r(l),i(!1)}else i(!0)}};t((function(){return document.addEventListener("keydown",s),function(){document.removeEventListener("keydown",s)}}))}(l,v,y,z,u),h(w,z,d,v,y,s,_),T};function g(e){var r=i(null),a=o(m),l=o(f).bufferedContent;!function(e,n){t((function(){n.current.scrollTop=n.current.scrollHeight}),[e])}(l,r);var c=e.enableInput,d=e.caret,s=e.consoleFocused,_=e.prompt,u=e.commands,p=e.welcomeMessage,h=e.errorMessage,g=x(d,s,_,u,h,c);return n("div",{ref:r,className:a.editor},p,l,g)}function b(e){var a,l,d,s,_=i(null),u=r(!c),f=u[0],h=u[1],x=o(m);a=_,l=f,d=h,s=function(e){a.current&&!a.current.contains(e.target)?d(!1):d(!c||!l)},t((function(){return document.addEventListener("mousedown",s),function(){document.removeEventListener("mousedown",s)}}));var b=e.caret,v=e.theme,y=e.showControlButtons,k=e.controlButtonLabels,w=e.prompt,z=e.commands,C=e.welcomeMessage,T=e.errorMessage,R=e.enableInput;return n("div",{ref:_,id:x.terminalContainer,className:x["theme--"+v]},n("div",{className:""+x.terminal},n(p,{consoleFocused:f,showControlButtons:y,controlButtonLabels:k}),n(g,{caret:b,consoleFocused:f,prompt:w,commands:z,welcomeMessage:C,errorMessage:T,enableInput:R})))}function v(e){var t=e.children;return n(u,null,t)}function y(e){return n(v,null,n(b,d({},e)))}b.propTypes={enableInput:l.bool,caret:l.bool,theme:l.string,showControlButtons:l.bool,controlButtonLabels:l.arrayOf(l.string),prompt:l.string,commands:l.objectOf(l.oneOfType([l.string,l.func,l.node])),welcomeMessage:l.oneOfType([l.string,l.func,l.node]),errorMessage:l.string},b.defaultProps={enableInput:!0,caret:!0,theme:"light",showControlButtons:!0,controlButtonLabels:["close","minimize","maximize"],prompt:">>>",commands:{},welcomeMessage:"",errorMessage:"not found!"};var k=function(e){var o=e.children,i=r(""),a=i[0],l=i[1],c=r([]),d=c[0],s=c[1],_=r(null),m=_[0],u=_[1];t((function(){u(d.length)}),[d]);return n(f.Provider,{value:{bufferedContent:a,setBufferedContent:l,appendCommandToHistory:function(e){e&&s(d.concat(e))},getPreviousCommand:function(){if(0===m)return 0===d.length?"":d[0];var e=d[m-1];return m>0&&u(m-1),e},getNextCommand:function(){if(m+1<=d.length){if(m===d.length)return"";var e=d[m+1];return u(m+1),e}return""}}},o)},w={ReactTerminal:y,TerminalContextProvider:k};export default w;export{y as ReactTerminal,k as TerminalContextProvider};

@@ -1,1 +0,1 @@

"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PropTypes=_interopDefault(require("prop-types")),reactDeviceDetect=require("react-device-detect"),__assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function __awaiter(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function c(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){e.done?o(e.value):new n((function(t){t(e.value)})).then(i,c)}l((r=r.apply(e,t||[])).next())}))}function __generator(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function styleInject(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var css='@import url("https://fonts.googleapis.com/css?family=Source+Code+Pro&display=swap");\n#index_terminalContainer__3q4m3 {\n --prompt-color: #a917a8;\n --light-theme-bg-color: #fdf6e4;\n --dark-theme-bg-color: #022833;\n --light-theme-toolbar-color: #d8d8d8;\n --dark-theme-toolbar-color: #131519;\n --light-theme-color: #333333;\n --dark-theme-color: #839496;\n --light-theme-anchor-color: #1a87b5;\n --dark-theme-anchor-color: #ffffff;\n --control-default-bg-color: #ccc;\n --control-close-bg-color: #fc5b57;\n --control-minimize-bg-color: #e5bf3c;\n --control-maximize-bg-color: #57c038; }\n\n.index_controls__9z-dM {\n text-align: left;\n height: 26px;\n position: relative;\n top: 4px;\n margin-left: 4px; }\n .index_controls__9z-dM .index_consoleCtrl__PQnAL {\n display: inline-block;\n width: 13px;\n height: 13px;\n margin: 0 3px;\n border-radius: 50%;\n background: var(--control-default-bg-color); }\n .index_controls__9z-dM .index_close__2o6CK {\n background: var(--control-close-bg-color); }\n .index_controls__9z-dM .index_minimize__E9mwB {\n background: var(--control-minimize-bg-color); }\n .index_controls__9z-dM .index_maximize__sbbYF {\n background: var(--control-maximize-bg-color); }\n\n.index_editor__2tqRz {\n text-align: left;\n height: calc(100% - 46px);\n padding: 10px 15px;\n overflow-wrap: break-word;\n overflow-y: scroll;\n outline: none;\n font-family: "Source Code Pro", monospace;\n background: var(--light-theme-bg-color);\n font-size: 18px;\n line-height: 22px;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px; }\n .index_theme--light__15c4Z .index_editor__2tqRz {\n background: var(--light-theme-bg-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz {\n background: var(--dark-theme-bg-color); }\n .index_editor__2tqRz .index_mobileInput__jGtyc {\n position: absolute;\n top: -2000px;\n left: -2000px; }\n .index_editor__2tqRz .index_editArea__1Y6QT {\n display: inline-block;\n width: 94%;\n height: 20px;\n outline: none;\n border: none;\n background: inherit;\n color: transparent;\n text-shadow: 0 0 0 var(--light-theme-color);\n font-size: 18px;\n line-height: 20px;\n white-space: nowrap; }\n .index_theme--light__15c4Z .index_editor__2tqRz .index_editArea__1Y6QT {\n text-shadow: 0 0 0 var(--light-theme-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz .index_editArea__1Y6QT {\n text-shadow: 0 0 0 var(--dark-theme-color); }\n .index_editor__2tqRz .index_editArea__1Y6QT br {\n display: none; }\n .index_editor__2tqRz .index_prompt__2NwNP {\n color: var(--prompt-color); }\n .index_editor__2tqRz .index_lineText__2Poex {\n display: inline;\n position: relative;\n top: -1px;\n margin-left: 8px; }\n .index_editor__2tqRz .index_preWhiteSpace__3nCT2 {\n white-space: pre; }\n .index_editor__2tqRz .index_caret__MYxcn {\n position: relative;\n -webkit-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -moz-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -o-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -ms-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n animation: index_blink__RQDX- 0.75s ease-in-out infinite; }\n .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n content: "";\n position: absolute;\n top: 2px;\n width: 10px;\n height: 22px;\n background: var(--light-theme-color);\n z-index: 10; }\n .index_theme--light__15c4Z .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n background: var(--light-theme-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n background: var(--dark-theme-color); }\n\n@-moz-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@-webkit-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@-o-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n .index_editor__2tqRz a {\n color: var(--light-theme-anchor-color); }\n .index_theme--light__15c4Z .index_editor__2tqRz a {\n color: var(--light-theme-anchor-colo) r; }\n .index_theme--dark__1YsDI .index_editor__2tqRz a {\n color: var(--dark-theme-anchor-colo) r; }\n\n#index_terminalContainer__3q4m3 {\n height: 100%; }\n\n.index_terminal__1dSq1 {\n height: 100%;\n width: 100%;\n margin: auto;\n border-radius: 5px;\n color: var(--light-theme-color);\n background: var(--light-theme-toolbar-color); }\n .index_theme--light__15c4Z .index_terminal__1dSq1 {\n color: var(--light-theme-color);\n background: var(--light-theme-toolbar-color); }\n .index_theme--dark__1YsDI .index_terminal__1dSq1 {\n color: var(--dark-theme-color);\n background: var(--dark-theme-toolbar-color); }\n',index={terminalContainer:"index_terminalContainer__3q4m3",controls:"index_controls__9z-dM",consoleCtrl:"index_consoleCtrl__PQnAL",close:"index_close__2o6CK",minimize:"index_minimize__E9mwB",maximize:"index_maximize__sbbYF",editor:"index_editor__2tqRz","theme--light":"index_theme--light__15c4Z","theme--dark":"index_theme--dark__1YsDI",mobileInput:"index_mobileInput__jGtyc",editArea:"index_editArea__1Y6QT",prompt:"index_prompt__2NwNP",lineText:"index_lineText__2Poex",preWhiteSpace:"index_preWhiteSpace__3nCT2",caret:"index_caret__MYxcn",blink:"index_blink__RQDX-",caretAfter:"index_caretAfter__2B8sk",terminal:"index_terminal__1dSq1"};styleInject(css);var styles=index,StyleContext=React.createContext(null),StyleContextProvider=function(e){var t=e.children;return React.createElement(StyleContext.Provider,{value:styles},t)},useClickOutsideEvent=function(e,t,n){var r=function(r){e.current&&!e.current.contains(r.target)?n(!1):reactDeviceDetect.isMobile?n(!t):n(!0)};React.useEffect((function(){return document.addEventListener("mousedown",r),function(){document.removeEventListener("mousedown",r)}}))};function Controls(e){var t=React.useContext(StyleContext),n=e.controlButtonLabels,r=e.showControlButtons?n.map((function(e){return React.createElement("div",{key:e,className:t.consoleCtrl+" "+t[e]})})):null;return React.createElement("div",{className:t.controls},r)}var TerminalContext=React.createContext(null),TerminalContextProvider=function(e){var t=e.children,n=React.useState(""),r=n[0],o=n[1],a=React.useState([]),i=a[0],c=a[1],l=React.useState(null),s=l[0],d=l[1];React.useEffect((function(){d(i.length)}),[i]);return React.createElement(TerminalContext.Provider,{value:{bufferedContent:r,setBufferedContent:o,appendCommandToHistory:function(e){e&&c(i.concat(e))},getPreviousCommand:function(){if(0===s)return 0===i.length?"":i[0];var e=i[s-1];return s>0&&d(s-1),e},getNextCommand:function(){if(s+1<=i.length){if(s===i.length)return"";var e=i[s+1];return d(s+1),e}return""}}},t)},useEditorInput=function(e,t,n,r,o){var a=React.useContext(TerminalContext),i=a.getPreviousCommand,c=a.getNextCommand,l=function(a){if(e&&o){a.preventDefault();var l=a.key;if("Enter"!==l){var s=null;s="Backspace"===l?t.slice(0,-1):"ArrowUp"===l?i():"ArrowDown"===l?c():l&&1===l.length?t+l:t,n(s),r(!1)}else r(!0)}};React.useEffect((function(){return document.addEventListener("keydown",l),function(){document.removeEventListener("keydown",l)}}))},useBufferedContent=function(e,t,n,r,o,a,i){var c=React.useContext(TerminalContext),l=c.bufferedContent,s=c.setBufferedContent,d=React.useContext(StyleContext);React.useEffect((function(){if(e){var c;c=r,__awaiter(void 0,void 0,void 0,(function(){var e,_,m,u,p,f,x,h;return __generator(this,(function(g){switch(g.label){case 0:return e=React.createElement(React.Fragment,null,l,React.createElement("span",{className:d.prompt},n),React.createElement("span",{className:d.lineText+" "+d.preWhiteSpace},r),React.createElement("br",null)),s(e),o(""),_=c.trim().split(" "),m=_[0],u=_.slice(1),p="",c?(f=u.join(" "),m&&a[m]?"function"!=typeof(x=a[m])?[3,2]:[4,x(f)]:[3,4]):[3,7];case 1:return p=g.sent(),[3,3];case 2:p=x,g.label=3;case 3:return[3,7];case 4:return"function"!=typeof i?[3,6]:[4,i(f)];case 5:return p=g.sent(),[3,7];case 6:p=i,g.label=7;case 7:return h=React.createElement(React.Fragment,null,l,React.createElement("span",{className:d.prompt},n),React.createElement("span",{className:d.lineText+" "+d.preWhiteSpace},r),p?React.createElement("span",null,React.createElement("br",null),p):null,React.createElement("br",null)),s(h),t(!1),[2]}}))}))}}),[e])},useCurrentLine=function(e,t,n,r,o,a){var i=React.useContext(StyleContext),c=React.useContext(TerminalContext).appendCommandToHistory,l=React.useRef(null),s=React.useState(""),d=s[0],_=s[1],m=React.useState(!1),u=m[0],p=m[1];React.useEffect((function(){reactDeviceDetect.isMobile&&t&&l.current.focus()}),[t]),React.useEffect((function(){u&&c(d)}),[u]);var f=reactDeviceDetect.isMobile&&a?React.createElement("div",{className:i.mobileInput},React.createElement("input",{type:"text",autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",value:d,onChange:function(e){return _(e.target.value)},ref:l})):null,x=u?React.createElement(React.Fragment,null,f,React.createElement("div",{className:i.lineText},t&&e?React.createElement("span",{className:i.caret},React.createElement("span",{className:i.caretAfter})):null)):React.createElement(React.Fragment,null,f,React.createElement("span",{className:i.prompt},n),React.createElement("div",{className:i.lineText},React.createElement("span",{className:i.preWhiteSpace},d),t&&e?React.createElement("span",{className:i.caret},React.createElement("span",{className:i.caretAfter})):null));return useEditorInput(t,d,_,p,a),useBufferedContent(u,p,n,d,_,r,o),x},useScrollToBottom=function(e,t){React.useEffect((function(){t.current.scrollTop=t.current.scrollHeight}),[e])};function Editor(e){var t=React.useRef(null),n=React.useContext(StyleContext),r=React.useContext(TerminalContext).bufferedContent;useScrollToBottom(r,t);var o=e.enableInput,a=e.caret,i=e.consoleFocused,c=e.prompt,l=e.commands,s=e.welcomeMessage,d=e.errorMessage,_=useCurrentLine(a,i,c,l,d,o);return React.createElement("div",{ref:t,className:n.editor},s,r,_)}function Terminal(e){var t=React.useRef(null),n=React.useState(!reactDeviceDetect.isMobile),r=n[0],o=n[1],a=React.useContext(StyleContext);useClickOutsideEvent(t,r,o);var i=e.caret,c=e.theme,l=e.showControlButtons,s=e.controlButtonLabels,d=e.prompt,_=e.commands,m=e.welcomeMessage,u=e.errorMessage,p=e.enableInput;return React.createElement("div",{ref:t,id:a.terminalContainer,className:a["theme--"+c]},React.createElement("div",{className:""+a.terminal},React.createElement(Controls,{consoleFocused:r,showControlButtons:l,controlButtonLabels:s}),React.createElement(Editor,{caret:i,consoleFocused:r,prompt:d,commands:_,welcomeMessage:m,errorMessage:u,enableInput:p})))}function ContextProvider(e){var t=e.children;return React.createElement(StyleContextProvider,null,t)}function ReactTerminal(e){return React.createElement(ContextProvider,null,React.createElement(Terminal,__assign({},e)))}Terminal.propTypes={enableInput:PropTypes.bool,caret:PropTypes.bool,theme:PropTypes.string,showControlButtons:PropTypes.bool,controlButtonLabels:PropTypes.arrayOf(PropTypes.string),prompt:PropTypes.string,commands:PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string,PropTypes.func,PropTypes.node])),welcomeMessage:PropTypes.oneOfType([PropTypes.string,PropTypes.func,PropTypes.node]),errorMessage:PropTypes.string},Terminal.defaultProps={enableInput:!0,caret:!0,theme:"light",showControlButtons:!0,controlButtonLabels:["close","minimize","maximize"],prompt:">>>",commands:{},welcomeMessage:"",errorMessage:"not found!"};var TerminalContextProvider$1=TerminalContextProvider,index$1={ReactTerminal:ReactTerminal,TerminalContextProvider:TerminalContextProvider$1};exports.ReactTerminal=ReactTerminal,exports.TerminalContextProvider=TerminalContextProvider$1,exports.default=index$1;
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PropTypes=_interopDefault(require("prop-types")),reactDeviceDetect=require("react-device-detect"),__assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function __awaiter(e,t,n,r){return new(n||(n=Promise))((function(o,a){function i(e){try{l(r.next(e))}catch(e){a(e)}}function c(e){try{l(r.throw(e))}catch(e){a(e)}}function l(e){e.done?o(e.value):new n((function(t){t(e.value)})).then(i,c)}l((r=r.apply(e,t||[])).next())}))}function __generator(e,t){var n,r,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function c(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;i;)try{if(n=1,r&&(o=2&a[0]?r.return:a[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,a[1])).done)return o;switch(r=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return i.label++,{value:a[1],done:!1};case 5:i.label++,r=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e],r=0}finally{n=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function styleInject(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}var css='@import url("https://fonts.googleapis.com/css?family=Source+Code+Pro&display=swap");\n#index_terminalContainer__3q4m3 {\n --prompt-color: #a917a8;\n --light-theme-bg-color: #fdf6e4;\n --dark-theme-bg-color: #022833;\n --light-theme-toolbar-color: #d8d8d8;\n --dark-theme-toolbar-color: #131519;\n --light-theme-color: #333333;\n --dark-theme-color: #839496;\n --light-theme-anchor-color: #1a87b5;\n --dark-theme-anchor-color: #ffffff;\n --control-default-bg-color: #ccc;\n --control-close-bg-color: #fc5b57;\n --control-minimize-bg-color: #e5bf3c;\n --control-maximize-bg-color: #57c038; }\n\n.index_controls__9z-dM {\n text-align: left;\n height: 26px;\n position: relative;\n top: 4px;\n margin-left: 4px; }\n .index_controls__9z-dM .index_consoleCtrl__PQnAL {\n display: inline-block;\n width: 13px;\n height: 13px;\n margin: 0 3px;\n border-radius: 50%;\n background: var(--control-default-bg-color); }\n .index_controls__9z-dM .index_close__2o6CK {\n background: var(--control-close-bg-color); }\n .index_controls__9z-dM .index_minimize__E9mwB {\n background: var(--control-minimize-bg-color); }\n .index_controls__9z-dM .index_maximize__sbbYF {\n background: var(--control-maximize-bg-color); }\n\n.index_editor__2tqRz {\n text-align: left;\n height: calc(100% - 46px);\n padding: 10px 15px;\n overflow-wrap: break-word;\n overflow-y: scroll;\n outline: none;\n font-family: "Source Code Pro", monospace;\n background: var(--light-theme-bg-color);\n font-size: 18px;\n line-height: 22px;\n border-bottom-left-radius: 5px;\n border-bottom-right-radius: 5px; }\n .index_theme--light__15c4Z .index_editor__2tqRz {\n background: var(--light-theme-bg-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz {\n background: var(--dark-theme-bg-color); }\n .index_editor__2tqRz .index_mobileInput__jGtyc {\n position: absolute;\n top: -2000px;\n left: -2000px; }\n .index_editor__2tqRz .index_editArea__1Y6QT {\n display: inline-block;\n width: 94%;\n height: 20px;\n outline: none;\n border: none;\n background: inherit;\n color: transparent;\n text-shadow: 0 0 0 var(--light-theme-color);\n font-size: 18px;\n line-height: 20px;\n white-space: nowrap; }\n .index_theme--light__15c4Z .index_editor__2tqRz .index_editArea__1Y6QT {\n text-shadow: 0 0 0 var(--light-theme-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz .index_editArea__1Y6QT {\n text-shadow: 0 0 0 var(--dark-theme-color); }\n .index_editor__2tqRz .index_editArea__1Y6QT br {\n display: none; }\n .index_editor__2tqRz .index_prompt__2NwNP {\n color: var(--prompt-color); }\n .index_editor__2tqRz .index_lineText__2Poex {\n display: inline;\n position: relative;\n top: -1px;\n margin-left: 8px; }\n .index_editor__2tqRz .index_preWhiteSpace__3nCT2 {\n white-space: pre; }\n .index_editor__2tqRz .index_caret__MYxcn {\n position: relative;\n -webkit-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -moz-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -o-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n -ms-animation: index_blink__RQDX- 0.75s ease-in-out infinite;\n animation: index_blink__RQDX- 0.75s ease-in-out infinite; }\n .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n content: "";\n position: absolute;\n top: 2px;\n width: 10px;\n height: 22px;\n background: var(--light-theme-color);\n z-index: 10; }\n .index_theme--light__15c4Z .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n background: var(--light-theme-color); }\n .index_theme--dark__1YsDI .index_editor__2tqRz .index_caret__MYxcn .index_caretAfter__2B8sk {\n background: var(--dark-theme-color); }\n\n@-moz-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@-webkit-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@-o-keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n\n@keyframes index_blink__RQDX- {\n 0% {\n opacity: 0;\n -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";\n filter: alpha(opacity=0); }\n 100% {\n opacity: 1;\n -ms-filter: none;\n filter: none; } }\n .index_editor__2tqRz a {\n color: var(--light-theme-anchor-color); }\n .index_theme--light__15c4Z .index_editor__2tqRz a {\n color: var(--light-theme-anchor-colo) r; }\n .index_theme--dark__1YsDI .index_editor__2tqRz a {\n color: var(--dark-theme-anchor-colo) r; }\n\n#index_terminalContainer__3q4m3 {\n height: 100%; }\n\n.index_terminal__1dSq1 {\n height: 100%;\n width: 100%;\n margin: auto;\n border-radius: 5px;\n color: var(--light-theme-color);\n background: var(--light-theme-toolbar-color); }\n .index_theme--light__15c4Z .index_terminal__1dSq1 {\n color: var(--light-theme-color);\n background: var(--light-theme-toolbar-color); }\n .index_theme--dark__1YsDI .index_terminal__1dSq1 {\n color: var(--dark-theme-color);\n background: var(--dark-theme-toolbar-color); }\n',index={terminalContainer:"index_terminalContainer__3q4m3",controls:"index_controls__9z-dM",consoleCtrl:"index_consoleCtrl__PQnAL",close:"index_close__2o6CK",minimize:"index_minimize__E9mwB",maximize:"index_maximize__sbbYF",editor:"index_editor__2tqRz","theme--light":"index_theme--light__15c4Z","theme--dark":"index_theme--dark__1YsDI",mobileInput:"index_mobileInput__jGtyc",editArea:"index_editArea__1Y6QT",prompt:"index_prompt__2NwNP",lineText:"index_lineText__2Poex",preWhiteSpace:"index_preWhiteSpace__3nCT2",caret:"index_caret__MYxcn",blink:"index_blink__RQDX-",caretAfter:"index_caretAfter__2B8sk",terminal:"index_terminal__1dSq1"};styleInject(css);var styles=index,StyleContext=React.createContext(null),StyleContextProvider=function(e){var t=e.children;return React.createElement(StyleContext.Provider,{value:styles},t)},useClickOutsideEvent=function(e,t,n){var r=function(r){e.current&&!e.current.contains(r.target)?n(!1):reactDeviceDetect.isMobile?n(!t):n(!0)};React.useEffect((function(){return document.addEventListener("mousedown",r),function(){document.removeEventListener("mousedown",r)}}))};function Controls(e){var t=React.useContext(StyleContext),n=e.controlButtonLabels,r=e.showControlButtons?n.map((function(e){return React.createElement("div",{key:e,className:t.consoleCtrl+" "+t[e]})})):null;return React.createElement("div",{className:t.controls},r)}var TerminalContext=React.createContext(null),TerminalContextProvider=function(e){var t=e.children,n=React.useState(""),r=n[0],o=n[1],a=React.useState([]),i=a[0],c=a[1],l=React.useState(null),s=l[0],d=l[1];React.useEffect((function(){d(i.length)}),[i]);return React.createElement(TerminalContext.Provider,{value:{bufferedContent:r,setBufferedContent:o,appendCommandToHistory:function(e){e&&c(i.concat(e))},getPreviousCommand:function(){if(0===s)return 0===i.length?"":i[0];var e=i[s-1];return s>0&&d(s-1),e},getNextCommand:function(){if(s+1<=i.length){if(s===i.length)return"";var e=i[s+1];return d(s+1),e}return""}}},t)},useEditorInput=function(e,t,n,r,o){var a=React.useContext(TerminalContext),i=a.getPreviousCommand,c=a.getNextCommand,l=function(a){if(e&&o){a.preventDefault();var l=a.key;if("Enter"!==l){var s=null;s="Backspace"===l?t.slice(0,-1):"ArrowUp"===l?i():"ArrowDown"===l?c():l&&1===l.length?t+l:t,n(s),r(!1)}else r(!0)}};React.useEffect((function(){return document.addEventListener("keydown",l),function(){document.removeEventListener("keydown",l)}}))},useBufferedContent=function(e,t,n,r,o,a,i){var c=React.useContext(TerminalContext),l=c.bufferedContent,s=c.setBufferedContent,d=React.useContext(StyleContext);React.useEffect((function(){if(e){var c;c=r,__awaiter(void 0,void 0,void 0,(function(){var e,_,m,u,p,f,x,h;return __generator(this,(function(g){switch(g.label){case 0:return e=c.trim().split(" "),_=e[0],m=e.slice(1),u="","clear"===_?(s(""),o(""),t(!1),[2]):(p=React.createElement(React.Fragment,null,l,React.createElement("span",{className:d.prompt},n),React.createElement("span",{className:d.lineText+" "+d.preWhiteSpace},r),React.createElement("br",null)),s(p),o(""),c?(f=m.join(" "),_&&a[_]?"function"!=typeof(x=a[_])?[3,2]:[4,x(f)]:[3,4]):[3,7]);case 1:return u=g.sent(),[3,3];case 2:u=x,g.label=3;case 3:return[3,7];case 4:return"function"!=typeof i?[3,6]:[4,i(f)];case 5:return u=g.sent(),[3,7];case 6:u=i,g.label=7;case 7:return h=React.createElement(React.Fragment,null,l,React.createElement("span",{className:d.prompt},n),React.createElement("span",{className:d.lineText+" "+d.preWhiteSpace},r),u?React.createElement("span",null,React.createElement("br",null),u):null,React.createElement("br",null)),s(h),t(!1),[2]}}))}))}}),[e])},useCurrentLine=function(e,t,n,r,o,a){var i=React.useContext(StyleContext),c=React.useContext(TerminalContext).appendCommandToHistory,l=React.useRef(null),s=React.useState(""),d=s[0],_=s[1],m=React.useState(!1),u=m[0],p=m[1];React.useEffect((function(){reactDeviceDetect.isMobile&&t&&l.current.focus()}),[t]),React.useEffect((function(){u&&c(d)}),[u]);var f=reactDeviceDetect.isMobile&&a?React.createElement("div",{className:i.mobileInput},React.createElement("input",{type:"text",autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:"false",value:d,onChange:function(e){return _(e.target.value)},ref:l})):null,x=u?React.createElement(React.Fragment,null,f,React.createElement("div",{className:i.lineText},t&&e?React.createElement("span",{className:i.caret},React.createElement("span",{className:i.caretAfter})):null)):React.createElement(React.Fragment,null,f,React.createElement("span",{className:i.prompt},n),React.createElement("div",{className:i.lineText},React.createElement("span",{className:i.preWhiteSpace},d),t&&e?React.createElement("span",{className:i.caret},React.createElement("span",{className:i.caretAfter})):null));return useEditorInput(t,d,_,p,a),useBufferedContent(u,p,n,d,_,r,o),x},useScrollToBottom=function(e,t){React.useEffect((function(){t.current.scrollTop=t.current.scrollHeight}),[e])};function Editor(e){var t=React.useRef(null),n=React.useContext(StyleContext),r=React.useContext(TerminalContext).bufferedContent;useScrollToBottom(r,t);var o=e.enableInput,a=e.caret,i=e.consoleFocused,c=e.prompt,l=e.commands,s=e.welcomeMessage,d=e.errorMessage,_=useCurrentLine(a,i,c,l,d,o);return React.createElement("div",{ref:t,className:n.editor},s,r,_)}function Terminal(e){var t=React.useRef(null),n=React.useState(!reactDeviceDetect.isMobile),r=n[0],o=n[1],a=React.useContext(StyleContext);useClickOutsideEvent(t,r,o);var i=e.caret,c=e.theme,l=e.showControlButtons,s=e.controlButtonLabels,d=e.prompt,_=e.commands,m=e.welcomeMessage,u=e.errorMessage,p=e.enableInput;return React.createElement("div",{ref:t,id:a.terminalContainer,className:a["theme--"+c]},React.createElement("div",{className:""+a.terminal},React.createElement(Controls,{consoleFocused:r,showControlButtons:l,controlButtonLabels:s}),React.createElement(Editor,{caret:i,consoleFocused:r,prompt:d,commands:_,welcomeMessage:m,errorMessage:u,enableInput:p})))}function ContextProvider(e){var t=e.children;return React.createElement(StyleContextProvider,null,t)}function ReactTerminal(e){return React.createElement(ContextProvider,null,React.createElement(Terminal,__assign({},e)))}Terminal.propTypes={enableInput:PropTypes.bool,caret:PropTypes.bool,theme:PropTypes.string,showControlButtons:PropTypes.bool,controlButtonLabels:PropTypes.arrayOf(PropTypes.string),prompt:PropTypes.string,commands:PropTypes.objectOf(PropTypes.oneOfType([PropTypes.string,PropTypes.func,PropTypes.node])),welcomeMessage:PropTypes.oneOfType([PropTypes.string,PropTypes.func,PropTypes.node]),errorMessage:PropTypes.string},Terminal.defaultProps={enableInput:!0,caret:!0,theme:"light",showControlButtons:!0,controlButtonLabels:["close","minimize","maximize"],prompt:">>>",commands:{},welcomeMessage:"",errorMessage:"not found!"};var TerminalContextProvider$1=TerminalContextProvider,index$1={ReactTerminal:ReactTerminal,TerminalContextProvider:TerminalContextProvider$1};exports.ReactTerminal=ReactTerminal,exports.TerminalContextProvider=TerminalContextProvider$1,exports.default=index$1;
{
"name": "react-terminal",
"version": "v1.0.11",
"version": "v1.0.12",
"description": "React component that renders a terminal",

@@ -5,0 +5,0 @@ "main": "dist/index.js",

@@ -81,3 +81,8 @@ <h1 align="center">

## In-built commands
| command | description |
|--|--|
| clear | clears the console |
## Report a bug
If you found a bug in this library, please file an GitHub issue [here](https://github.com/bony2023/react-terminal/issues).
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc