primevue
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primevue) [ • 2.79 kB
JavaScript
;var e=require("primevue/terminalservice"),t=require("vue");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var o=n(e),r={name:"Terminal",props:{welcomeMessage:{type:String,default:null},prompt:{type:String,default:null}},data:()=>({commandText:null,commands:[]}),mounted(){o.default.on("response",this.responseListener),this.$refs.input.focus()},updated(){this.$el.scrollTop=this.$el.scrollHeight},beforeUnmount(){o.default.off("response",this.responseListener)},methods:{onClick(){this.$refs.input.focus()},onKeydown(e){"Enter"===e.code&&this.commandText&&(this.commands.push({text:this.commandText}),o.default.emit("command",this.commandText),this.commandText="")},responseListener(e){this.commands[this.commands.length-1].response=e}}};const l={key:0},a={class:"p-terminal-content"},i={class:"p-terminal-prompt"},s={class:"p-terminal-command"},m={class:"p-terminal-response","aria-live":"polite"},c={class:"p-terminal-prompt-container"},p={class:"p-terminal-prompt"};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===n&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}("\n.p-terminal {\n height: 18rem;\n overflow: auto;\n}\n.p-terminal-prompt-container {\n display: flex;\n align-items: center;\n}\n.p-terminal-input {\n flex: 1 1 auto;\n border: 0 none;\n background-color: transparent;\n color: inherit;\n padding: 0;\n outline: 0 none;\n}\n.p-terminal-input::-ms-clear {\n display: none;\n}\n"),r.render=function(e,n,o,r,d,u){return t.openBlock(),t.createElementBlock("div",{class:"p-terminal p-component",onClick:n[2]||(n[2]=(...e)=>u.onClick&&u.onClick(...e))},[o.welcomeMessage?(t.openBlock(),t.createElementBlock("div",l,t.toDisplayString(o.welcomeMessage),1)):t.createCommentVNode("",!0),t.createElementVNode("div",a,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.commands,((e,n)=>(t.openBlock(),t.createElementBlock("div",{key:e.text+n.toString()},[t.createElementVNode("span",i,t.toDisplayString(o.prompt),1),t.createElementVNode("span",s,t.toDisplayString(e.text),1),t.createElementVNode("div",m,t.toDisplayString(e.response),1)])))),128))]),t.createElementVNode("div",c,[t.createElementVNode("span",p,t.toDisplayString(o.prompt),1),t.withDirectives(t.createElementVNode("input",{ref:"input","onUpdate:modelValue":n[0]||(n[0]=e=>d.commandText=e),type:"text",class:"p-terminal-input",autocomplete:"off",onKeydown:n[1]||(n[1]=(...e)=>u.onKeydown&&u.onKeydown(...e))},null,544),[[t.vModelText,d.commandText]])])])},module.exports=r;