import*as e from"react";import{PrimeReactContext as n}from"primereact/api";import{ComponentBase as t,useHandleStyle as r}from"primereact/componentbase";import{useMergeProps as o}from"primereact/hooks";import{TerminalService as a}from"primereact/terminalservice";import{DomHandler as l,classNames as i}from"primereact/utils";function c(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=Array(n);t0){var n=f(b);n[n.length-1].response=e,E(n)}},n=function(){E([]),S(0)};return a.on("response",e),a.on("clear",n),function(){a.off("response",e),a.off("clear",n)}}),[b]),e.useEffect((function(){j.current&&(a.emit("command",A),j.current=!1),I.current.scrollTop=I.current.scrollHeight}));var _,D,H=function(n,t){var r=n.text,o=n.response,a=m({key:r+"_"+t},C("commands")),l=m({className:O("command")},C("command")),i=m({className:O("response"),"aria-live":"polite"},C("response"));return e.createElement("div",a,e.createElement("span",P,u.prompt," "),e.createElement("span",l,r),e.createElement("div",i,o))},K=function(){if(u.welcomeMessage){var n=m(C("welcomeMessage"));return e.createElement("div",n,u.welcomeMessage)}return null}(),Y=function(){var n=b.map(H),t=m({className:O("content")},C("content"));return e.createElement("div",t,n)}(),$=(_=m({className:O("container")},C("container")),D=m({ref:M,value:d,type:"text",className:O("commandText"),autoComplete:"off",onChange:function(e){return R(e)},onKeyDown:U},C("commandText")),e.createElement("div",_,e.createElement("span",P,u.prompt," "),e.createElement("input",D))),q=m({id:u.id,ref:I,className:i(u.className,O("root")),style:u.style,onClick:function(){l.focus(M.current)}},g.getOtherProps(u),C("root"));return e.createElement("div",q,K,Y,$)})));b.displayName="Terminal";export{b as Terminal};