@open-amt-cloud-toolkit/ui-toolkit-react 4.0.5 → 5.0.1

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.
Files changed (79) hide show
  1. package/README.md +40 -33
  2. package/components/ider/AttachDiskImage.d.ts +31 -0
  3. package/components/ider/AttachDiskImage.d.ts.map +1 -0
  4. package/components/ider/AttachDiskImage.test.d.ts +6 -0
  5. package/components/ider/AttachDiskImage.test.d.ts.map +1 -0
  6. package/components/ider/ider.d.ts +23 -0
  7. package/components/ider/ider.d.ts.map +1 -0
  8. package/components/ider/ider.test.d.ts +6 -0
  9. package/components/ider/ider.test.d.ts.map +1 -0
  10. package/components/ider/index.d.ts +7 -0
  11. package/components/ider/index.d.ts.map +1 -0
  12. package/components/kvm/ConnectButton.d.ts +22 -0
  13. package/components/kvm/ConnectButton.d.ts.map +1 -0
  14. package/{reactjs/shared/Utilities.d.ts → components/kvm/ConnectButton.test.d.ts} +2 -4
  15. package/components/kvm/ConnectButton.test.d.ts.map +1 -0
  16. package/components/kvm/DesktopSettings.d.ts +24 -0
  17. package/components/kvm/DesktopSettings.d.ts.map +1 -0
  18. package/components/kvm/DesktopSettings.test.d.ts +6 -0
  19. package/components/kvm/DesktopSettings.test.d.ts.map +1 -0
  20. package/components/kvm/EncodingOptions.d.ts +25 -0
  21. package/components/kvm/EncodingOptions.d.ts.map +1 -0
  22. package/components/kvm/EncodingOptions.test.d.ts +6 -0
  23. package/components/kvm/EncodingOptions.test.d.ts.map +1 -0
  24. package/components/kvm/Header.d.ts +31 -0
  25. package/components/kvm/Header.d.ts.map +1 -0
  26. package/components/kvm/Header.test.d.ts +6 -0
  27. package/components/kvm/Header.test.d.ts.map +1 -0
  28. package/{reactjs/KVM → components/kvm}/PureCanvas.d.ts +14 -5
  29. package/components/kvm/PureCanvas.d.ts.map +1 -0
  30. package/components/kvm/PureCanvas.test.d.ts +6 -0
  31. package/components/kvm/PureCanvas.test.d.ts.map +1 -0
  32. package/components/kvm/UI.d.ts +29 -0
  33. package/components/kvm/UI.d.ts.map +1 -0
  34. package/components/kvm/UI.test.d.ts +6 -0
  35. package/components/kvm/UI.test.d.ts.map +1 -0
  36. package/components/kvm/index.d.ts +11 -0
  37. package/components/kvm/index.d.ts.map +1 -0
  38. package/components/sol/Sol.d.ts +30 -0
  39. package/components/sol/Sol.d.ts.map +1 -0
  40. package/components/sol/Sol.test.d.ts +6 -0
  41. package/components/sol/Sol.test.d.ts.map +1 -0
  42. package/components/sol/Terminal.d.ts +28 -0
  43. package/components/sol/Terminal.d.ts.map +1 -0
  44. package/components/sol/Terminal.test.d.ts +6 -0
  45. package/components/sol/Terminal.test.d.ts.map +1 -0
  46. package/components/sol/index.d.ts +7 -0
  47. package/components/sol/index.d.ts.map +1 -0
  48. package/i18n/config.d.ts +7 -0
  49. package/i18n/config.d.ts.map +1 -0
  50. package/i18n/index.d.ts +6 -0
  51. package/i18n/index.d.ts.map +1 -0
  52. package/index.cjs.js +2 -0
  53. package/index.cjs.js.map +1 -0
  54. package/index.d.ts +10 -0
  55. package/index.d.ts.map +1 -0
  56. package/index.esm.js +2 -0
  57. package/index.esm.js.map +1 -0
  58. package/package.json +74 -61
  59. package/utils/logger.d.ts +11 -0
  60. package/utils/logger.d.ts.map +1 -0
  61. package/dist/package.json +0 -87
  62. package/i18n.d.ts +0 -6
  63. package/reactjs/IDER/AttachDiskImage.d.ts +0 -18
  64. package/reactjs/IDER/ider.d.ts +0 -40
  65. package/reactjs/IDER/index.d.ts +0 -5
  66. package/reactjs/KVM/ConnectButton.d.ts +0 -13
  67. package/reactjs/KVM/DesktopSettings.d.ts +0 -17
  68. package/reactjs/KVM/EncodingOptions.d.ts +0 -17
  69. package/reactjs/KVM/Header.d.ts +0 -17
  70. package/reactjs/KVM/UI.d.ts +0 -45
  71. package/reactjs/KVM/index.d.ts +0 -1
  72. package/reactjs/SerialOverLAN/Sol.d.ts +0 -53
  73. package/reactjs/SerialOverLAN/Terminal.d.ts +0 -16
  74. package/reactjs/SerialOverLAN/index.d.ts +0 -5
  75. package/reactjs/services/HttpClient.d.ts +0 -10
  76. package/reactjs/shared/Methods.d.ts +0 -13
  77. package/reactjs/src/ider.bundle.js +0 -1
  78. package/reactjs/src/kvm.bundle.js +0 -1
  79. package/reactjs/src/sol.bundle.js +0 -14
@@ -0,0 +1,6 @@
1
+ /*********************************************************************
2
+ * Copyright (c) Intel Corporation 2019
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ **********************************************************************/
5
+ export { default as i18n } from './config';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AAAA;;;wEAGwE;AAExE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,UAAU,CAAA"}
package/index.cjs.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react/jsx-runtime"),n=require("@device-management-toolkit/ui-toolkit/core"),t=require("react-i18next"),r=require("react"),c=require("@xterm/xterm"),l=require("i18next");const o={padding:"10px 20px",fontSize:"14px",fontWeight:"bold",color:"#fff",backgroundColor:"#007bff",border:"none",borderRadius:"4px",cursor:"pointer",transition:"background-color 0.3s"},a=({kvmstate:n,handleConnectClick:r,className:c,style:l})=>{const{t:a}=t.useTranslation();return e.jsx("button",{className:c,style:null!=l?l:o,onClick:r,children:a(1===n?"kvm.connecting":2===n?"kvm.disconnect":"kvm.connect")})},s={display:"inline-flex",alignItems:"center",gap:"8px"},i=e=>({padding:"5px 10px",fontSize:"14px",border:"1px solid #ccc",borderRadius:"4px",backgroundColor:"#fff",opacity:e?.6:1,cursor:e?"not-allowed":"pointer"}),u=({changeEncoding:n,getConnectState:c,className:l,style:o,selectClassName:a,selectStyle:u})=>{const{t:d}=t.useTranslation(),[p,g]=r.useState(1),m=2===c();return e.jsxs("span",{className:l,style:null!=o?o:s,children:[e.jsxs("label",{children:[d("kvm.encoding"),":"]}),e.jsxs("select",{value:p,className:a,style:null!=u?u:i(m),onChange:e=>{const t=parseInt(e.target.value);g(t),n(t)},disabled:m,children:[e.jsx("option",{value:"1",children:d("kvm.encodingOptions.rle8")}),e.jsx("option",{value:"2",children:d("kvm.encodingOptions.rle16")})]})]})},d=({changeDesktopSettings:n,getConnectState:t,className:c,style:l,selectClassName:o,selectStyle:a})=>{const s=r.useRef({encoding:1});return e.jsx(u,{changeEncoding:e=>{s.current.encoding=e,n(s.current)},getConnectState:t,className:c,style:l,selectClassName:o,selectStyle:a})},p={display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 20px",backgroundColor:"#f5f5f5",borderBottom:"1px solid #ddd"},g=({kvmstate:n,handleConnectClick:t,changeDesktopSettings:r,getConnectState:c,className:l,style:o,connectButtonClassName:s,connectButtonStyle:i,encodingClassName:u,encodingStyle:g,encodingSelectClassName:m,encodingSelectStyle:f})=>e.jsx(e.Fragment,{children:e.jsxs("div",{className:l,style:null!=o?o:p,children:[e.jsx(a,{handleConnectClick:t,kvmstate:n,className:s,style:i}),e.jsx(d,{changeDesktopSettings:r,getConnectState:c,className:u,style:g,selectClassName:m,selectStyle:f})]})}),m={display:"block",margin:"0 auto",border:"1px solid #ccc",cursor:"default",maxWidth:"100%",height:"auto"},f=(e,n,t)=>Object.assign(Object.assign({},null!=e?e:m),{width:n,height:t}),v=r.memo(({contextRef:n,mouseDown:t,mouseUp:c,mouseMove:l,canvasHeight:o,canvasWidth:a,className:s,style:i})=>{const u=r.useRef(null);r.useEffect(()=>{const e=u.current;if(void 0!==(null==e?void 0:e.getContext))try{const t=e.getContext("2d");null!==t&&n(t)}catch(e){}},[n]);return e.jsx("canvas",{ref:u,width:1366,height:768,onContextMenu:e=>(e.preventDefault(),!1),onMouseDown:t,onMouseUp:c,onMouseMove:l,"data-testid":"pure-canvas-testid",className:s,style:f(i,a,o)})});v.displayName="PureCanvas";const S={log:(...e)=>{},warn:(...e)=>{},error:(...e)=>{},debug:(...e)=>{}},b={textAlign:"center",margin:0,padding:0,boxSizing:"border-box"},h={display:"block",textAlign:"center"},C={display:"inline-block",width:"fit-content",textAlign:"left"},x=({handleKeyPress:n,xterm:t,containerClassName:c,containerStyle:l,xtermClassName:o,xtermStyle:a})=>{const s=r.useRef(null),i=r.useRef(!1),u=r.useRef(n);return r.useEffect(()=>{u.current=n},[n]),r.useEffect(()=>{const e=s.current;null===e||null===t||i.current||(i.current=!0,t.open(e),t.clear(),t.reset(),t.focus(),t.onKey(({key:e,domEvent:n})=>{if(n.preventDefault(),n.ctrlKey&&"c"===n.key)return void(t.hasSelection()?navigator.clipboard.writeText(t.getSelection()).catch(e=>{console.error("Failed to copy to clipboard",e)}):u.current(""));if(n.ctrlKey&&"v"===n.key)return void navigator.clipboard.readText().then(e=>{u.current(e)}).catch(e=>{console.error("Failed to read clipboard",e)});const r="Backspace"===n.key?"\b \b":e;u.current(r)}))},[t]),e.jsx("div",{className:c,style:Object.assign(Object.assign({},h),l),children:e.jsx("div",{ref:s,className:o,style:Object.assign(Object.assign({},C),a)})})},y={display:"block",textAlign:"center"},k={padding:"10px 20px",fontSize:"14px",fontWeight:"bold",color:"#fff",backgroundColor:"#007bff",border:"none",borderRadius:"4px",cursor:"pointer",marginBottom:"10px"},R=({iderState:e,updateIderState:t,iderData:c,cdrom:l,floppy:o,mpsServer:a,authToken:s,deviceId:i})=>{const u=r.useRef(null),d=r.useRef(null),p=r.useRef(e),g=r.useCallback((e,n)=>{S.log("IDER connection state changed:",n)},[]),m=r.useCallback((e,n,t,r,c)=>{null!==d.current&&(1===e?0===n?d.current.floppyRead+=512*c:d.current.cdromRead+=2048*c:0===n?d.current.floppyWrite+=512*c:d.current.cdromWrite+=2048*c)},[]),f=r.useCallback(()=>{u.current=null,d.current=null},[]),v=r.useCallback(()=>{S.log("IDER starting for device:",i),t(1),null!==u.current&&(d.current=new n.AMTIDER(u.current,l,null),u.current.onNewState=d.current.stateChange.bind(d.current),u.current.onProcessData=d.current.processData.bind(d.current),d.current.sectorStats=m,u.current.onStateChanged=g,u.current.start(WebSocket))},[l,i,t,m,g]),b=r.useCallback(()=>{S.log("IDER stopping"),t(0),null!==u.current&&(u.current.stop(),f())},[t,f]);return r.useEffect(()=>{const e=null!=a?a.replace("http","ws"):"",t={mode:"ider",protocol:n.Protocol.IDER,fr:new FileReader,host:null!=i?i:"",port:16994,user:"",pass:"",tls:0,tls1only:0,authToken:null!=s?s:"",server:e};return u.current=new n.AMTRedirector(t),()=>{f()}},[i,a,s,f]),r.useEffect(()=>{p.current!==e&&(1===e?v():b(),p.current=e)},[e,v,b]),null},D={display:"flex",flexDirection:"column",gap:"10px",padding:"10px"},N={padding:"8px 16px",fontSize:"14px",color:"#333",backgroundColor:"#f0f0f0",border:"1px solid #ccc",borderRadius:"4px",cursor:"pointer"},E={padding:"8px",fontSize:"14px",color:"#666"};const I={en:{translation:{kvm:{connect:"Connect KVM",connecting:"Connecting KVM",disconnect:"Disconnect KVM",encoding:"Encoding",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"Connection failed. Please try again.",deviceNotFound:"Device not found",authenticationFailed:"Authentication failed"}},sol:{connect:"Connect",disconnect:"Disconnect",connecting:"Connecting...",title:"Serial Over LAN",errors:{connectionFailed:"SOL connection failed. Please try again.",notEnabled:"SOL is not enabled on this device"}},ider:{start:"Start IDER",stop:"Stop IDER",selectFile:"Choose File",noFileSelected:"No file chosen",title:"IDE Redirection",errors:{connectionFailed:"IDER connection failed. Please try again."}}}},es:{translation:{kvm:{connect:"Conectar KVM",connecting:"Conectando KVM",disconnect:"Desconectar KVM",encoding:"Codificación",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"Conexión fallida. Por favor, inténtelo de nuevo.",deviceNotFound:"Dispositivo no encontrado",authenticationFailed:"Autenticación fallida"}},sol:{connect:"Conectar",disconnect:"Desconectar",connecting:"Conectando...",title:"Serial Over LAN",errors:{connectionFailed:"Conexión SOL fallida. Por favor, inténtelo de nuevo.",notEnabled:"SOL no está habilitado en este dispositivo"}},ider:{start:"Iniciar IDER",stop:"Detener IDER",selectFile:"Seleccionar archivo ISO/IMG",title:"Redirección IDE",errors:{connectionFailed:"Conexión IDER fallida. Por favor, inténtelo de nuevo.",noFileSelected:"Ningún archivo seleccionado"}}}},fr:{translation:{kvm:{connect:"Connecter KVM",connecting:"Connexion KVM",disconnect:"Déconnecter KVM",encoding:"Encodage",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"Échec de la connexion. Veuillez réessayer.",deviceNotFound:"Appareil non trouvé",authenticationFailed:"Échec de l'authentification"}},sol:{connect:"Connecter",disconnect:"Déconnecter",connecting:"Connexion...",title:"Serial Over LAN",errors:{connectionFailed:"Échec de la connexion SOL. Veuillez réessayer.",notEnabled:"SOL n'est pas activé sur cet appareil"}},ider:{start:"Démarrer IDER",stop:"Arrêter IDER",selectFile:"Sélectionner un fichier ISO/IMG",title:"Redirection IDE",errors:{connectionFailed:"Échec de la connexion IDER. Veuillez réessayer.",noFileSelected:"Aucun fichier sélectionné"}}}},de:{translation:{kvm:{connect:"KVM verbinden",connecting:"KVM wird verbunden",disconnect:"KVM trennen",encoding:"Kodierung",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"Verbindung fehlgeschlagen. Bitte versuchen Sie es erneut.",deviceNotFound:"Gerät nicht gefunden",authenticationFailed:"Authentifizierung fehlgeschlagen"}},sol:{connect:"Verbinden",disconnect:"Trennen",connecting:"Verbindung wird hergestellt...",title:"Serial Over LAN",errors:{connectionFailed:"SOL-Verbindung fehlgeschlagen. Bitte versuchen Sie es erneut.",notEnabled:"SOL ist auf diesem Gerät nicht aktiviert"}},ider:{start:"IDER starten",stop:"IDER stoppen",selectFile:"ISO/IMG-Datei auswählen",title:"IDE-Umleitung",errors:{connectionFailed:"IDER-Verbindung fehlgeschlagen. Bitte versuchen Sie es erneut.",noFileSelected:"Keine Datei ausgewählt"}}}},ja:{translation:{kvm:{connect:"KVM接続",connecting:"KVM接続中",disconnect:"KVM切断",encoding:"エンコーディング",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"接続に失敗しました。もう一度お試しください。",deviceNotFound:"デバイスが見つかりません",authenticationFailed:"認証に失敗しました"}},sol:{connect:"接続",disconnect:"切断",connecting:"接続中...",title:"Serial Over LAN",errors:{connectionFailed:"SOL接続に失敗しました。もう一度お試しください。",notEnabled:"このデバイスではSOLが有効になっていません"}},ider:{start:"IDER開始",stop:"IDER停止",selectFile:"ISO/IMGファイルを選択",title:"IDEリダイレクション",errors:{connectionFailed:"IDER接続に失敗しました。もう一度お試しください。",noFileSelected:"ファイルが選択されていません"}}}},zh:{translation:{kvm:{connect:"连接 KVM",connecting:"正在连接 KVM",disconnect:"断开 KVM",encoding:"编码",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"连接失败。请重试。",deviceNotFound:"未找到设备",authenticationFailed:"认证失败"}},sol:{connect:"连接",disconnect:"断开",connecting:"连接中...",title:"Serial Over LAN",errors:{connectionFailed:"SOL连接失败。请重试。",notEnabled:"此设备未启用SOL"}},ider:{start:"启动 IDER",stop:"停止 IDER",selectFile:"选择 ISO/IMG 文件",title:"IDE重定向",errors:{connectionFailed:"IDER连接失败。请重试。",noFileSelected:"未选择文件"}}}}};l.use(t.initReactI18next).init({resources:I,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}}),exports.i18n=l,exports.AttachDiskImage=({deviceId:n,mpsServer:c,authToken:l,fileSelectLabel:o,noFileSelectedLabel:a,containerClassName:s,containerStyle:i,buttonClassName:u,buttonStyle:d,fileSelectClassName:p,fileSelectStyle:g,fileNameClassName:m,fileNameStyle:f})=>{var v,b;const{t:h}=t.useTranslation(),C=r.useRef(null),[x,y]=r.useState(null),[k,I]=r.useState(0),F=r.useCallback(()=>{var e;null===(e=C.current)||void 0===e||e.click()},[]),M=r.useCallback(e=>{var n;const t=null!==e.target.files?e.target.files[0]:null;S.log("IDER file selected:",null!==(n=null==t?void 0:t.name)&&void 0!==n?n:"none"),y(null!=t?t:null)},[]),O=r.useCallback(e=>{S.log("IDER state updated:",0===e?"stopped":"running"),I(e)},[]),w=r.useCallback(()=>{O(0===k?1:0)},[k,O]);return e.jsxs("div",{className:s,style:null!=i?i:D,children:[e.jsx(R,{iderState:k,updateIderState:O,deviceId:n,mpsServer:c,authToken:l,cdrom:x,floppy:null,iderData:null,"data-testid":"ider-component"}),e.jsx("input",{ref:C,"data-testid":"file-input",type:"file",onChange:M,style:{display:"none"}}),e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[e.jsx("button",{type:"button",onClick:F,className:p,style:null!=g?g:N,children:null!=o?o:h("ider.selectFile")}),e.jsx("span",{className:m,style:null!=f?f:E,children:null!==(b=null!==(v=null==x?void 0:x.name)&&void 0!==v?v:a)&&void 0!==b?b:h("ider.noFileSelected")})]}),e.jsx("button",{className:u,style:null!=d?d:(K=null!==x,{padding:"10px 20px",fontSize:"14px",fontWeight:"bold",color:"#fff",backgroundColor:K?"#007bff":"#ccc",border:"none",borderRadius:"4px",cursor:K?"pointer":"not-allowed"}),onClick:w,disabled:null===x,children:h(0===k?"ider.start":"ider.stop")})]});var K},exports.ConnectButton=a,exports.DesktopSettings=d,exports.EncodingOptions=u,exports.Header=g,exports.IDER=R,exports.KVM=({deviceId:t,mpsServer:c,mouseDebounceTime:l,canvasHeight:o,canvasWidth:a,autoConnect:s,authToken:i,containerClassName:u,containerStyle:d,headerClassName:p,headerStyle:m,connectButtonClassName:f,connectButtonStyle:h,encodingClassName:C,encodingStyle:x,encodingSelectClassName:y,encodingSelectStyle:k,canvasClassName:R,canvasStyle:D})=>{const[N,E]=r.useState(0),[I,F]=r.useState(1),M=r.useRef(null),O=r.useRef(null),w=r.useRef(null),K=r.useRef(null),L=r.useRef(null),j=r.useRef(!1),V=r.useRef(null),T=r.useRef(t),A=r.useCallback((e,n)=>{var t;S.log("KVM connection state changed:",null!==(t=["disconnected","connecting","connected"][n])&&void 0!==t?t:n),E(n),j.current&&0===n&&(j.current=!1,setTimeout(()=>{null!==w.current&&w.current.start(WebSocket),null!==L.current&&L.current.GrabKeyInput()},2e3))},[]),P=r.useCallback(()=>{M.current=null,O.current=null,w.current=null,K.current=null,L.current=null,null!==V.current&&V.current.clearRect(0,0,V.current.canvas.height,V.current.canvas.width)},[]),B=r.useRef(()=>{}),W=r.useCallback(()=>{if(null===V.current)return void S.warn("KVM init called but canvas context is null");S.log("KVM initializing for device:",t);const e=null!=t?t:"",r=null!=c?c.replace("http","ws"):"",o=l<200?200:l,a={mode:"kvm",protocol:n.Protocol.KVM,fr:new FileReader,host:e,port:16994,user:"",pass:"",tls:0,tls1only:0,authToken:i,server:r};M.current=new n.AMTDesktop(V.current),w.current=new n.AMTKvmDataRedirector(a),O.current=new n.DataProcessor(w.current,M.current),K.current=new n.MouseHelper(M.current,w.current,o),L.current=new n.KeyBoardHelper(M.current,w.current),w.current.onProcessData=M.current.processData.bind(M.current),w.current.onStart=M.current.start.bind(M.current),w.current.onNewState=M.current.onStateChange.bind(M.current),w.current.onSendKvmData=M.current.onSendKvmData.bind(M.current),w.current.onStateChanged=A,w.current.onError=()=>{P(),B.current()},M.current.onSend=w.current.send.bind(w.current),M.current.onProcessData=O.current.processData.bind(O.current),M.current.bpp=I},[t,c,i,l,I,A,P]);r.useEffect(()=>{B.current=W},[W]);const z=r.useCallback(()=>{P(),W()},[P,W]),G=r.useCallback(e=>{V.current=e,W()},[W]),q=r.useCallback(()=>{S.log("KVM starting connection"),null!==w.current&&w.current.start(WebSocket),null!==L.current&&L.current.GrabKeyInput()},[]),H=r.useCallback(()=>{S.log("KVM stopping connection"),null!==w.current&&w.current.stop(),null!==L.current&&L.current.UnGrabKeyInput(),z()},[z]),U=r.useCallback(e=>{if(2===N)j.current=!0,null!==M.current&&(M.current.bpp="string"==typeof e.encoding?parseInt(e.encoding):e.encoding),H();else{const n="string"==typeof e.encoding?parseInt(e.encoding):e.encoding;F(n),null!==M.current&&(M.current.bpp=n)}},[N,H]),_=r.useCallback(e=>{0===N?q():1===N||2===N&&H()},[N,q,H]);r.useEffect(()=>()=>{H()},[]),r.useEffect(()=>{T.current!==t&&(H(),T.current=t)},[t,H]);const X=r.useCallback(()=>N,[N]);return e.jsxs("div",{className:u,style:null!=d?d:b,children:[!0===s&&e.jsx(g,{handleConnectClick:_,getConnectState:X,kvmstate:N,changeDesktopSettings:U,className:p,style:m,connectButtonClassName:f,connectButtonStyle:h,encodingClassName:C,encodingStyle:x,encodingSelectClassName:y,encodingSelectStyle:k},"kvm_header"),e.jsx(v,{contextRef:G,canvasHeight:o,canvasWidth:a,className:R,style:D,mouseMove:e=>{null!==K.current&&K.current.mousemove(e.nativeEvent)},mouseDown:e=>{null!==K.current&&K.current.mousedown(e.nativeEvent)},mouseUp:e=>{null!==K.current&&K.current.mouseup(e.nativeEvent)}},"kvm_comp")]})},exports.PureCanvas=v,exports.Sol=({deviceId:l,mpsServer:o,autoConnect:a,authToken:s,containerClassName:i,containerStyle:u,buttonClassName:d,buttonStyle:p,terminalContainerClassName:g,terminalContainerStyle:m,xtermClassName:f,xtermStyle:v})=>{const{t:b}=t.useTranslation(),[h,C]=r.useState(0),[R,D]=r.useState(null),N=r.useRef(null),E=r.useRef(null),I=r.useRef(null),F=r.useRef(null),M=r.useCallback(e=>{var n;const t=e.replace(/\x7f/g,"");t.length>0&&(null===(n=F.current)||void 0===n||n.write(t))},[]),O=r.useCallback(()=>{var e;null===(e=F.current)||void 0===e||e.reset()},[]),w=r.useCallback(e=>{var n;null===(n=E.current)||void 0===n||n.TermSendKeys(e)},[]),K=r.useCallback((e,n)=>{var t;S.log("SOL connection state changed:",null!==(t=["disconnected","connecting","connected","ready"][n])&&void 0!==t?t:n),C(n)},[]),L=r.useCallback(()=>{E.current=null,N.current=null,I.current=null,F.current=null},[]);r.useEffect(()=>{const e=null!=o?o.replace("http","ws"):"",t=null!=l?l:"",r={mode:"sol",protocol:n.Protocol.SOL,fr:new FileReader,host:t,port:16994,user:"",pass:"",tls:0,tls1only:0,authToken:null!=s?s:"",server:e};E.current=new n.AmtTerminal,N.current=new n.AMTRedirector(r),I.current=new n.TerminalDataProcessor(E.current),E.current.onSend=N.current.send.bind(N.current),N.current.onNewState=E.current.StateChange.bind(E.current),N.current.onStateChanged=K,N.current.onProcessData=I.current.processData.bind(I.current),I.current.processDataToXterm=M,I.current.clearTerminal=O;const a=new c.Terminal({cursorStyle:"block",fontWeight:"bold",rows:30,cols:100,scrollback:0});return F.current=a,D(a),()=>{var e;null!==N.current&&N.current.stop(),null===(e=F.current)||void 0===e||e.dispose(),D(null),L()}},[l,o,s,K,M,O,L]);const j=r.useCallback(()=>{S.log("SOL starting connection for device:",l),null!==N.current&&N.current.start(WebSocket)},[l]),V=r.useCallback(()=>{S.log("SOL stopping connection"),null!==N.current&&N.current.stop(),O(),C(0)},[O]),T=3===h,A=r.useCallback(e=>{T?V():j()},[T,j,V]);return e.jsxs("div",{className:i,style:null!=u?u:y,children:[e.jsx("button",{className:d,style:null!=p?p:k,onClick:A,children:b(T?"sol.disconnect":"sol.connect")}),T&&null!==R&&e.jsx(x,{handleKeyPress:w,xterm:R,containerClassName:g,containerStyle:m,xtermClassName:f,xtermStyle:v})]})},exports.Term=x,exports.logger=S;
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../src/components/kvm/ConnectButton.tsx","../src/components/kvm/EncodingOptions.tsx","../src/components/kvm/DesktopSettings.tsx","../src/components/kvm/Header.tsx","../src/components/kvm/PureCanvas.tsx","../src/utils/logger.ts","../src/components/kvm/UI.tsx","../src/components/sol/Terminal.tsx","../src/components/sol/Sol.tsx","../src/components/ider/ider.tsx","../src/components/ider/AttachDiskImage.tsx","../src/i18n/config.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["DEFAULT_BUTTON_STYLES","padding","fontSize","fontWeight","color","backgroundColor","border","borderRadius","cursor","transition","ConnectButton","kvmstate","handleConnectClick","className","style","t","useTranslation","_jsx","onClick","DEFAULT_CONTAINER_STYLES","display","alignItems","gap","getSelectStyles","isConnected","opacity","EncodingOptions","changeEncoding","getConnectState","selectClassName","selectStyle","value","setValue","useState","_jsxs","children","onChange","e","newValue","parseInt","target","disabled","DesktopSettings","changeDesktopSettings","desktopSettingsRef","useRef","encoding","current","DEFAULT_HEADER_STYLES","justifyContent","borderBottom","Header","connectButtonClassName","connectButtonStyle","encodingClassName","encodingStyle","encodingSelectClassName","encodingSelectStyle","_Fragment","DEFAULT_CANVAS_STYLES","margin","maxWidth","height","getCanvasStyles","canvasWidth","canvasHeight","Object","assign","width","PureCanvas","memo","contextRef","mouseDown","mouseUp","mouseMove","canvasRef","useEffect","canvas","undefined","getContext","ctx","_a","ref","onContextMenu","preventDefault","onMouseDown","onMouseUp","onMouseMove","displayName","logger","log","args","warn","error","debug","textAlign","boxSizing","DEFAULT_XTERM_STYLES","Term","handleKeyPress","xterm","containerClassName","containerStyle","xtermClassName","xtermStyle","terminalRef","openedRef","handleKeyPressRef","element","open","clear","reset","focus","onKey","key","domEvent","ctrlKey","hasSelection","navigator","clipboard","writeText","getSelection","catch","err","console","readText","then","text","keyToSend","marginBottom","IDER","iderState","updateIderState","iderData","_iderData","cdrom","floppy","_floppy","mpsServer","authToken","deviceId","redirectorRef","iderRef","prevIderStateRef","onConnectionStateChange","useCallback","_redirector","state","iderSectorStats","mode","dev","total","start","len","floppyRead","cdromRead","floppyWrite","cdromWrite","cleanup","startIder","AMTIDER","onNewState","stateChange","bind","onProcessData","processData","sectorStats","onStateChanged","WebSocket","stopIder","stop","server","replace","config","protocol","Protocol","fr","FileReader","host","port","user","pass","tls","tls1only","AMTRedirector","flexDirection","DEFAULT_FILE_SELECT_STYLES","DEFAULT_FILE_NAME_STYLES","resources","en","translation","es","de","ja","zh","i18next","use","initReactI18next","init","lng","fallbackLng","interpolation","escapeValue","react","useSuspense","fileSelectLabel","noFileSelectedLabel","buttonClassName","buttonStyle","fileSelectClassName","fileSelectStyle","fileNameClassName","fileNameStyle","fileInputRef","selectedFile","setSelectedFile","setIderState","handleFileSelectClick","click","handleFileChange","event","file","files","name","newState","handleButtonClick","type","_b","hasFile","mouseDebounceTime","autoConnect","headerClassName","headerStyle","canvasClassName","canvasStyle","setKvmstate","encodingOption","setEncodingOption","moduleRef","dataProcessorRef","mouseHelperRef","keyboardRef","desktopSettingsChangeRef","ctxRef","prevDeviceIdRef","OnConnectionStateChange","redirector","setTimeout","GrabKeyInput","cleanUp","clearRect","initRef","deviceUuid","debounceTime","KVM","AMTDesktop","AMTKvmDataRedirector","DataProcessor","MouseHelper","KeyBoardHelper","onStart","onStateChange","onSendKvmData","onError","onSend","send","bpp","saveContext","startKVM","stopKVM","UnGrabKeyInput","settings","newEncoding","_e","mousemove","nativeEvent","mousedown","mouseup","_autoConnect","terminalContainerClassName","terminalContainerStyle","SOLstate","setSOLstate","setXterm","termRef","handleWriteToXterm","str","filtered","length","write","handleClearTerminal","TermSendKeys","onTerminalStateChange","SOL","AmtTerminal","TerminalDataProcessor","StateChange","processDataToXterm","clearTerminal","term","Terminal","cursorStyle","rows","cols","scrollback","dispose","startSOL","stopSOL","handleSOLConnect"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ /*********************************************************************
2
+ * Copyright (c) Intel Corporation 2019
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ **********************************************************************/
5
+ export * from './components/kvm';
6
+ export * from './components/sol';
7
+ export * from './components/ider';
8
+ export * from './i18n';
9
+ export { logger } from './utils/logger';
10
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;wEAGwE;AAGxE,cAAc,kBAAkB,CAAA;AAGhC,cAAc,kBAAkB,CAAA;AAGhC,cAAc,mBAAmB,CAAA;AAGjC,cAAc,QAAQ,CAAA;AAGtB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA"}
package/index.esm.js ADDED
@@ -0,0 +1,2 @@
1
+ import{jsx as e,jsxs as n,Fragment as t}from"react/jsx-runtime";import{Protocol as r,AMTDesktop as c,AMTKvmDataRedirector as o,DataProcessor as l,MouseHelper as i,KeyBoardHelper as a,AmtTerminal as s,AMTRedirector as u,TerminalDataProcessor as d,AMTIDER as p}from"@device-management-toolkit/ui-toolkit/core";import{useTranslation as g,initReactI18next as m}from"react-i18next";import{useState as v,useRef as S,memo as h,useEffect as f,useCallback as b}from"react";import{Terminal as y}from"@xterm/xterm";import C from"i18next";export{default as i18n}from"i18next";const x={padding:"10px 20px",fontSize:"14px",fontWeight:"bold",color:"#fff",backgroundColor:"#007bff",border:"none",borderRadius:"4px",cursor:"pointer",transition:"background-color 0.3s"},N=({kvmstate:n,handleConnectClick:t,className:r,style:c})=>{const{t:o}=g();return e("button",{className:r,style:null!=c?c:x,onClick:t,children:o(1===n?"kvm.connecting":2===n?"kvm.disconnect":"kvm.connect")})},k={display:"inline-flex",alignItems:"center",gap:"8px"},D=e=>({padding:"5px 10px",fontSize:"14px",border:"1px solid #ccc",borderRadius:"4px",backgroundColor:"#fff",opacity:e?.6:1,cursor:e?"not-allowed":"pointer"}),E=({changeEncoding:t,getConnectState:r,className:c,style:o,selectClassName:l,selectStyle:i})=>{const{t:a}=g(),[s,u]=v(1),d=2===r();return n("span",{className:c,style:null!=o?o:k,children:[n("label",{children:[a("kvm.encoding"),":"]}),n("select",{value:s,className:l,style:null!=i?i:D(d),onChange:e=>{const n=parseInt(e.target.value);u(n),t(n)},disabled:d,children:[e("option",{value:"1",children:a("kvm.encodingOptions.rle8")}),e("option",{value:"2",children:a("kvm.encodingOptions.rle16")})]})]})},I=({changeDesktopSettings:n,getConnectState:t,className:r,style:c,selectClassName:o,selectStyle:l})=>{const i=S({encoding:1});return e(E,{changeEncoding:e=>{i.current.encoding=e,n(i.current)},getConnectState:t,className:r,style:c,selectClassName:o,selectStyle:l})},R={display:"flex",justifyContent:"space-between",alignItems:"center",padding:"10px 20px",backgroundColor:"#f5f5f5",borderBottom:"1px solid #ddd"},F=({kvmstate:r,handleConnectClick:c,changeDesktopSettings:o,getConnectState:l,className:i,style:a,connectButtonClassName:s,connectButtonStyle:u,encodingClassName:d,encodingStyle:p,encodingSelectClassName:g,encodingSelectStyle:m})=>e(t,{children:n("div",{className:i,style:null!=a?a:R,children:[e(N,{handleConnectClick:c,kvmstate:r,className:s,style:u}),e(I,{changeDesktopSettings:o,getConnectState:l,className:d,style:p,selectClassName:g,selectStyle:m})]})}),O={display:"block",margin:"0 auto",border:"1px solid #ccc",cursor:"default",maxWidth:"100%",height:"auto"},w=(e,n,t)=>Object.assign(Object.assign({},null!=e?e:O),{width:n,height:t}),K=h(({contextRef:n,mouseDown:t,mouseUp:r,mouseMove:c,canvasHeight:o,canvasWidth:l,className:i,style:a})=>{const s=S(null);f(()=>{const e=s.current;if(void 0!==(null==e?void 0:e.getContext))try{const t=e.getContext("2d");null!==t&&n(t)}catch(e){}},[n]);return e("canvas",{ref:s,width:1366,height:768,onContextMenu:e=>(e.preventDefault(),!1),onMouseDown:t,onMouseUp:r,onMouseMove:c,"data-testid":"pure-canvas-testid",className:i,style:w(a,l,o)})});K.displayName="PureCanvas";const L={log:(...e)=>{},warn:(...e)=>{},error:(...e)=>{},debug:(...e)=>{}},M={textAlign:"center",margin:0,padding:0,boxSizing:"border-box"},V=({deviceId:t,mpsServer:s,mouseDebounceTime:u,canvasHeight:d,canvasWidth:p,autoConnect:g,authToken:m,containerClassName:h,containerStyle:y,headerClassName:C,headerStyle:x,connectButtonClassName:N,connectButtonStyle:k,encodingClassName:D,encodingStyle:E,encodingSelectClassName:I,encodingSelectStyle:R,canvasClassName:O,canvasStyle:w})=>{const[V,A]=v(0),[T,W]=v(1),z=S(null),P=S(null),B=S(null),G=S(null),j=S(null),U=S(!1),H=S(null),_=S(t),X=b((e,n)=>{var t;L.log("KVM connection state changed:",null!==(t=["disconnected","connecting","connected"][n])&&void 0!==t?t:n),A(n),U.current&&0===n&&(U.current=!1,setTimeout(()=>{null!==B.current&&B.current.start(WebSocket),null!==j.current&&j.current.GrabKeyInput()},2e3))},[]),q=b(()=>{z.current=null,P.current=null,B.current=null,G.current=null,j.current=null,null!==H.current&&H.current.clearRect(0,0,H.current.canvas.height,H.current.canvas.width)},[]),J=S(()=>{}),Q=b(()=>{if(null===H.current)return void L.warn("KVM init called but canvas context is null");L.log("KVM initializing for device:",t);const e=null!=t?t:"",n=null!=s?s.replace("http","ws"):"",d=u<200?200:u,p={mode:"kvm",protocol:r.KVM,fr:new FileReader,host:e,port:16994,user:"",pass:"",tls:0,tls1only:0,authToken:m,server:n};z.current=new c(H.current),B.current=new o(p),P.current=new l(B.current,z.current),G.current=new i(z.current,B.current,d),j.current=new a(z.current,B.current),B.current.onProcessData=z.current.processData.bind(z.current),B.current.onStart=z.current.start.bind(z.current),B.current.onNewState=z.current.onStateChange.bind(z.current),B.current.onSendKvmData=z.current.onSendKvmData.bind(z.current),B.current.onStateChanged=X,B.current.onError=()=>{q(),J.current()},z.current.onSend=B.current.send.bind(B.current),z.current.onProcessData=P.current.processData.bind(P.current),z.current.bpp=T},[t,s,m,u,T,X,q]);f(()=>{J.current=Q},[Q]);const Y=b(()=>{q(),Q()},[q,Q]),Z=b(e=>{H.current=e,Q()},[Q]),$=b(()=>{L.log("KVM starting connection"),null!==B.current&&B.current.start(WebSocket),null!==j.current&&j.current.GrabKeyInput()},[]),ee=b(()=>{L.log("KVM stopping connection"),null!==B.current&&B.current.stop(),null!==j.current&&j.current.UnGrabKeyInput(),Y()},[Y]),ne=b(e=>{if(2===V)U.current=!0,null!==z.current&&(z.current.bpp="string"==typeof e.encoding?parseInt(e.encoding):e.encoding),ee();else{const n="string"==typeof e.encoding?parseInt(e.encoding):e.encoding;W(n),null!==z.current&&(z.current.bpp=n)}},[V,ee]),te=b(e=>{0===V?$():1===V||2===V&&ee()},[V,$,ee]);f(()=>()=>{ee()},[]),f(()=>{_.current!==t&&(ee(),_.current=t)},[t,ee]);const re=b(()=>V,[V]);return n("div",{className:h,style:null!=y?y:M,children:[!0===g&&e(F,{handleConnectClick:te,getConnectState:re,kvmstate:V,changeDesktopSettings:ne,className:C,style:x,connectButtonClassName:N,connectButtonStyle:k,encodingClassName:D,encodingStyle:E,encodingSelectClassName:I,encodingSelectStyle:R},"kvm_header"),e(K,{contextRef:Z,canvasHeight:d,canvasWidth:p,className:O,style:w,mouseMove:e=>{null!==G.current&&G.current.mousemove(e.nativeEvent)},mouseDown:e=>{null!==G.current&&G.current.mousedown(e.nativeEvent)},mouseUp:e=>{null!==G.current&&G.current.mouseup(e.nativeEvent)}},"kvm_comp")]})},A={display:"block",textAlign:"center"},T={display:"inline-block",width:"fit-content",textAlign:"left"},W=({handleKeyPress:n,xterm:t,containerClassName:r,containerStyle:c,xtermClassName:o,xtermStyle:l})=>{const i=S(null),a=S(!1),s=S(n);return f(()=>{s.current=n},[n]),f(()=>{const e=i.current;null===e||null===t||a.current||(a.current=!0,t.open(e),t.clear(),t.reset(),t.focus(),t.onKey(({key:e,domEvent:n})=>{if(n.preventDefault(),n.ctrlKey&&"c"===n.key)return void(t.hasSelection()?navigator.clipboard.writeText(t.getSelection()).catch(e=>{console.error("Failed to copy to clipboard",e)}):s.current(""));if(n.ctrlKey&&"v"===n.key)return void navigator.clipboard.readText().then(e=>{s.current(e)}).catch(e=>{console.error("Failed to read clipboard",e)});const r="Backspace"===n.key?"\b \b":e;s.current(r)}))},[t]),e("div",{className:r,style:Object.assign(Object.assign({},A),c),children:e("div",{ref:i,className:o,style:Object.assign(Object.assign({},T),l)})})},z={display:"block",textAlign:"center"},P={padding:"10px 20px",fontSize:"14px",fontWeight:"bold",color:"#fff",backgroundColor:"#007bff",border:"none",borderRadius:"4px",cursor:"pointer",marginBottom:"10px"},B=({deviceId:t,mpsServer:c,autoConnect:o,authToken:l,containerClassName:i,containerStyle:a,buttonClassName:p,buttonStyle:m,terminalContainerClassName:h,terminalContainerStyle:C,xtermClassName:x,xtermStyle:N})=>{const{t:k}=g(),[D,E]=v(0),[I,R]=v(null),F=S(null),O=S(null),w=S(null),K=S(null),M=b(e=>{var n;const t=e.replace(/\x7f/g,"");t.length>0&&(null===(n=K.current)||void 0===n||n.write(t))},[]),V=b(()=>{var e;null===(e=K.current)||void 0===e||e.reset()},[]),A=b(e=>{var n;null===(n=O.current)||void 0===n||n.TermSendKeys(e)},[]),T=b((e,n)=>{var t;L.log("SOL connection state changed:",null!==(t=["disconnected","connecting","connected","ready"][n])&&void 0!==t?t:n),E(n)},[]),B=b(()=>{O.current=null,F.current=null,w.current=null,K.current=null},[]);f(()=>{const e=null!=c?c.replace("http","ws"):"",n=null!=t?t:"",o={mode:"sol",protocol:r.SOL,fr:new FileReader,host:n,port:16994,user:"",pass:"",tls:0,tls1only:0,authToken:null!=l?l:"",server:e};O.current=new s,F.current=new u(o),w.current=new d(O.current),O.current.onSend=F.current.send.bind(F.current),F.current.onNewState=O.current.StateChange.bind(O.current),F.current.onStateChanged=T,F.current.onProcessData=w.current.processData.bind(w.current),w.current.processDataToXterm=M,w.current.clearTerminal=V;const i=new y({cursorStyle:"block",fontWeight:"bold",rows:30,cols:100,scrollback:0});return K.current=i,R(i),()=>{var e;null!==F.current&&F.current.stop(),null===(e=K.current)||void 0===e||e.dispose(),R(null),B()}},[t,c,l,T,M,V,B]);const G=b(()=>{L.log("SOL starting connection for device:",t),null!==F.current&&F.current.start(WebSocket)},[t]),j=b(()=>{L.log("SOL stopping connection"),null!==F.current&&F.current.stop(),V(),E(0)},[V]),U=3===D,H=b(e=>{U?j():G()},[U,G,j]);return n("div",{className:i,style:null!=a?a:z,children:[e("button",{className:p,style:null!=m?m:P,onClick:H,children:k(U?"sol.disconnect":"sol.connect")}),U&&null!==I&&e(W,{handleKeyPress:A,xterm:I,containerClassName:h,containerStyle:C,xtermClassName:x,xtermStyle:N})]})},G=({iderState:e,updateIderState:n,iderData:t,cdrom:c,floppy:o,mpsServer:l,authToken:i,deviceId:a})=>{const s=S(null),d=S(null),g=S(e),m=b((e,n)=>{L.log("IDER connection state changed:",n)},[]),v=b((e,n,t,r,c)=>{null!==d.current&&(1===e?0===n?d.current.floppyRead+=512*c:d.current.cdromRead+=2048*c:0===n?d.current.floppyWrite+=512*c:d.current.cdromWrite+=2048*c)},[]),h=b(()=>{s.current=null,d.current=null},[]),y=b(()=>{L.log("IDER starting for device:",a),n(1),null!==s.current&&(d.current=new p(s.current,c,null),s.current.onNewState=d.current.stateChange.bind(d.current),s.current.onProcessData=d.current.processData.bind(d.current),d.current.sectorStats=v,s.current.onStateChanged=m,s.current.start(WebSocket))},[c,a,n,v,m]),C=b(()=>{L.log("IDER stopping"),n(0),null!==s.current&&(s.current.stop(),h())},[n,h]);return f(()=>{const e=null!=l?l.replace("http","ws"):"",n={mode:"ider",protocol:r.IDER,fr:new FileReader,host:null!=a?a:"",port:16994,user:"",pass:"",tls:0,tls1only:0,authToken:null!=i?i:"",server:e};return s.current=new u(n),()=>{h()}},[a,l,i,h]),f(()=>{g.current!==e&&(1===e?y():C(),g.current=e)},[e,y,C]),null},j={display:"flex",flexDirection:"column",gap:"10px",padding:"10px"},U={padding:"8px 16px",fontSize:"14px",color:"#333",backgroundColor:"#f0f0f0",border:"1px solid #ccc",borderRadius:"4px",cursor:"pointer"},H={padding:"8px",fontSize:"14px",color:"#666"},_=({deviceId:t,mpsServer:r,authToken:c,fileSelectLabel:o,noFileSelectedLabel:l,containerClassName:i,containerStyle:a,buttonClassName:s,buttonStyle:u,fileSelectClassName:d,fileSelectStyle:p,fileNameClassName:m,fileNameStyle:h})=>{var f,y;const{t:C}=g(),x=S(null),[N,k]=v(null),[D,E]=v(0),I=b(()=>{var e;null===(e=x.current)||void 0===e||e.click()},[]),R=b(e=>{var n;const t=null!==e.target.files?e.target.files[0]:null;L.log("IDER file selected:",null!==(n=null==t?void 0:t.name)&&void 0!==n?n:"none"),k(null!=t?t:null)},[]),F=b(e=>{L.log("IDER state updated:",0===e?"stopped":"running"),E(e)},[]),O=b(()=>{F(0===D?1:0)},[D,F]);return n("div",{className:i,style:null!=a?a:j,children:[e(G,{iderState:D,updateIderState:F,deviceId:t,mpsServer:r,authToken:c,cdrom:N,floppy:null,iderData:null,"data-testid":"ider-component"}),e("input",{ref:x,"data-testid":"file-input",type:"file",onChange:R,style:{display:"none"}}),n("div",{style:{display:"flex",alignItems:"center",gap:"10px"},children:[e("button",{type:"button",onClick:I,className:d,style:null!=p?p:U,children:null!=o?o:C("ider.selectFile")}),e("span",{className:m,style:null!=h?h:H,children:null!==(y=null!==(f=null==N?void 0:N.name)&&void 0!==f?f:l)&&void 0!==y?y:C("ider.noFileSelected")})]}),e("button",{className:s,style:null!=u?u:(w=null!==N,{padding:"10px 20px",fontSize:"14px",fontWeight:"bold",color:"#fff",backgroundColor:w?"#007bff":"#ccc",border:"none",borderRadius:"4px",cursor:w?"pointer":"not-allowed"}),onClick:O,disabled:null===N,children:C(0===D?"ider.start":"ider.stop")})]});var w};const X={en:{translation:{kvm:{connect:"Connect KVM",connecting:"Connecting KVM",disconnect:"Disconnect KVM",encoding:"Encoding",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"Connection failed. Please try again.",deviceNotFound:"Device not found",authenticationFailed:"Authentication failed"}},sol:{connect:"Connect",disconnect:"Disconnect",connecting:"Connecting...",title:"Serial Over LAN",errors:{connectionFailed:"SOL connection failed. Please try again.",notEnabled:"SOL is not enabled on this device"}},ider:{start:"Start IDER",stop:"Stop IDER",selectFile:"Choose File",noFileSelected:"No file chosen",title:"IDE Redirection",errors:{connectionFailed:"IDER connection failed. Please try again."}}}},es:{translation:{kvm:{connect:"Conectar KVM",connecting:"Conectando KVM",disconnect:"Desconectar KVM",encoding:"Codificación",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"Conexión fallida. Por favor, inténtelo de nuevo.",deviceNotFound:"Dispositivo no encontrado",authenticationFailed:"Autenticación fallida"}},sol:{connect:"Conectar",disconnect:"Desconectar",connecting:"Conectando...",title:"Serial Over LAN",errors:{connectionFailed:"Conexión SOL fallida. Por favor, inténtelo de nuevo.",notEnabled:"SOL no está habilitado en este dispositivo"}},ider:{start:"Iniciar IDER",stop:"Detener IDER",selectFile:"Seleccionar archivo ISO/IMG",title:"Redirección IDE",errors:{connectionFailed:"Conexión IDER fallida. Por favor, inténtelo de nuevo.",noFileSelected:"Ningún archivo seleccionado"}}}},fr:{translation:{kvm:{connect:"Connecter KVM",connecting:"Connexion KVM",disconnect:"Déconnecter KVM",encoding:"Encodage",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"Échec de la connexion. Veuillez réessayer.",deviceNotFound:"Appareil non trouvé",authenticationFailed:"Échec de l'authentification"}},sol:{connect:"Connecter",disconnect:"Déconnecter",connecting:"Connexion...",title:"Serial Over LAN",errors:{connectionFailed:"Échec de la connexion SOL. Veuillez réessayer.",notEnabled:"SOL n'est pas activé sur cet appareil"}},ider:{start:"Démarrer IDER",stop:"Arrêter IDER",selectFile:"Sélectionner un fichier ISO/IMG",title:"Redirection IDE",errors:{connectionFailed:"Échec de la connexion IDER. Veuillez réessayer.",noFileSelected:"Aucun fichier sélectionné"}}}},de:{translation:{kvm:{connect:"KVM verbinden",connecting:"KVM wird verbunden",disconnect:"KVM trennen",encoding:"Kodierung",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"Verbindung fehlgeschlagen. Bitte versuchen Sie es erneut.",deviceNotFound:"Gerät nicht gefunden",authenticationFailed:"Authentifizierung fehlgeschlagen"}},sol:{connect:"Verbinden",disconnect:"Trennen",connecting:"Verbindung wird hergestellt...",title:"Serial Over LAN",errors:{connectionFailed:"SOL-Verbindung fehlgeschlagen. Bitte versuchen Sie es erneut.",notEnabled:"SOL ist auf diesem Gerät nicht aktiviert"}},ider:{start:"IDER starten",stop:"IDER stoppen",selectFile:"ISO/IMG-Datei auswählen",title:"IDE-Umleitung",errors:{connectionFailed:"IDER-Verbindung fehlgeschlagen. Bitte versuchen Sie es erneut.",noFileSelected:"Keine Datei ausgewählt"}}}},ja:{translation:{kvm:{connect:"KVM接続",connecting:"KVM接続中",disconnect:"KVM切断",encoding:"エンコーディング",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"接続に失敗しました。もう一度お試しください。",deviceNotFound:"デバイスが見つかりません",authenticationFailed:"認証に失敗しました"}},sol:{connect:"接続",disconnect:"切断",connecting:"接続中...",title:"Serial Over LAN",errors:{connectionFailed:"SOL接続に失敗しました。もう一度お試しください。",notEnabled:"このデバイスではSOLが有効になっていません"}},ider:{start:"IDER開始",stop:"IDER停止",selectFile:"ISO/IMGファイルを選択",title:"IDEリダイレクション",errors:{connectionFailed:"IDER接続に失敗しました。もう一度お試しください。",noFileSelected:"ファイルが選択されていません"}}}},zh:{translation:{kvm:{connect:"连接 KVM",connecting:"正在连接 KVM",disconnect:"断开 KVM",encoding:"编码",encodingOptions:{rle8:"RLE 8",rle16:"RLE 16"},errors:{connectionFailed:"连接失败。请重试。",deviceNotFound:"未找到设备",authenticationFailed:"认证失败"}},sol:{connect:"连接",disconnect:"断开",connecting:"连接中...",title:"Serial Over LAN",errors:{connectionFailed:"SOL连接失败。请重试。",notEnabled:"此设备未启用SOL"}},ider:{start:"启动 IDER",stop:"停止 IDER",selectFile:"选择 ISO/IMG 文件",title:"IDE重定向",errors:{connectionFailed:"IDER连接失败。请重试。",noFileSelected:"未选择文件"}}}}};C.use(m).init({resources:X,lng:"en",fallbackLng:"en",interpolation:{escapeValue:!1},react:{useSuspense:!1}});export{_ as AttachDiskImage,N as ConnectButton,I as DesktopSettings,E as EncodingOptions,F as Header,G as IDER,V as KVM,K as PureCanvas,B as Sol,W as Term,L as logger};
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../src/components/kvm/ConnectButton.tsx","../src/components/kvm/EncodingOptions.tsx","../src/components/kvm/DesktopSettings.tsx","../src/components/kvm/Header.tsx","../src/components/kvm/PureCanvas.tsx","../src/utils/logger.ts","../src/components/kvm/UI.tsx","../src/components/sol/Terminal.tsx","../src/components/sol/Sol.tsx","../src/components/ider/ider.tsx","../src/components/ider/AttachDiskImage.tsx","../src/i18n/config.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null],"names":["DEFAULT_BUTTON_STYLES","padding","fontSize","fontWeight","color","backgroundColor","border","borderRadius","cursor","transition","ConnectButton","kvmstate","handleConnectClick","className","style","t","useTranslation","_jsx","onClick","DEFAULT_CONTAINER_STYLES","display","alignItems","gap","getSelectStyles","isConnected","opacity","EncodingOptions","changeEncoding","getConnectState","selectClassName","selectStyle","value","setValue","useState","_jsxs","children","onChange","e","newValue","parseInt","target","disabled","DesktopSettings","changeDesktopSettings","desktopSettingsRef","useRef","encoding","current","DEFAULT_HEADER_STYLES","justifyContent","borderBottom","Header","connectButtonClassName","connectButtonStyle","encodingClassName","encodingStyle","encodingSelectClassName","encodingSelectStyle","_Fragment","DEFAULT_CANVAS_STYLES","margin","maxWidth","height","getCanvasStyles","canvasWidth","canvasHeight","Object","assign","width","PureCanvas","memo","contextRef","mouseDown","mouseUp","mouseMove","canvasRef","useEffect","canvas","undefined","getContext","ctx","_a","ref","onContextMenu","preventDefault","onMouseDown","onMouseUp","onMouseMove","displayName","logger","log","args","warn","error","debug","textAlign","boxSizing","KVM","deviceId","mpsServer","mouseDebounceTime","autoConnect","authToken","containerClassName","containerStyle","headerClassName","headerStyle","canvasClassName","canvasStyle","setKvmstate","encodingOption","setEncodingOption","moduleRef","dataProcessorRef","redirectorRef","mouseHelperRef","keyboardRef","desktopSettingsChangeRef","ctxRef","prevDeviceIdRef","OnConnectionStateChange","useCallback","redirector","state","setTimeout","start","WebSocket","GrabKeyInput","cleanUp","clearRect","initRef","init","deviceUuid","server","replace","debounceTime","config","mode","protocol","Protocol","fr","FileReader","host","port","user","pass","tls","tls1only","AMTDesktop","AMTKvmDataRedirector","DataProcessor","MouseHelper","KeyBoardHelper","onProcessData","processData","bind","onStart","onNewState","onStateChange","onSendKvmData","onStateChanged","onError","onSend","send","bpp","reset","saveContext","startKVM","stopKVM","stop","UnGrabKeyInput","settings","newEncoding","_e","event","mousemove","nativeEvent","mousedown","mouseup","DEFAULT_XTERM_STYLES","Term","handleKeyPress","xterm","xtermClassName","xtermStyle","terminalRef","openedRef","handleKeyPressRef","element","open","clear","focus","onKey","key","domEvent","ctrlKey","hasSelection","navigator","clipboard","writeText","getSelection","catch","err","console","readText","then","text","keyToSend","marginBottom","Sol","_autoConnect","buttonClassName","buttonStyle","terminalContainerClassName","terminalContainerStyle","SOLstate","setSOLstate","setXterm","termRef","handleWriteToXterm","str","filtered","length","write","handleClearTerminal","TermSendKeys","onTerminalStateChange","_redirector","SOL","AmtTerminal","AMTRedirector","TerminalDataProcessor","StateChange","processDataToXterm","clearTerminal","term","Terminal","cursorStyle","rows","cols","scrollback","dispose","startSOL","stopSOL","handleSOLConnect","IDER","iderState","updateIderState","iderData","_iderData","cdrom","floppy","_floppy","iderRef","prevIderStateRef","onConnectionStateChange","iderSectorStats","dev","total","len","floppyRead","cdromRead","floppyWrite","cdromWrite","cleanup","startIder","AMTIDER","stateChange","sectorStats","stopIder","flexDirection","DEFAULT_FILE_SELECT_STYLES","DEFAULT_FILE_NAME_STYLES","AttachDiskImage","fileSelectLabel","noFileSelectedLabel","fileSelectClassName","fileSelectStyle","fileNameClassName","fileNameStyle","fileInputRef","selectedFile","setSelectedFile","setIderState","handleFileSelectClick","click","handleFileChange","file","files","name","newState","handleButtonClick","type","_b","hasFile","resources","en","translation","es","de","ja","zh","i18next","use","initReactI18next","lng","fallbackLng","interpolation","escapeValue","react","useSuspense"],"mappings":"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"}
package/package.json CHANGED
@@ -1,87 +1,100 @@
1
1
  {
2
2
  "name": "@open-amt-cloud-toolkit/ui-toolkit-react",
3
- "version": "4.0.5",
3
+ "version": "5.0.1",
4
4
  "description": "React UI controls for Intel AMT features",
5
- "main": "index.js",
5
+ "type": "module",
6
+ "main": "index.cjs.js",
7
+ "module": "index.esm.js",
8
+ "types": "index.d.ts",
9
+ "files": [
10
+ "*.js",
11
+ "*.js.map",
12
+ "*.d.ts",
13
+ "*.d.ts.map",
14
+ "components",
15
+ "i18n",
16
+ "utils"
17
+ ],
6
18
  "scripts": {
7
- "prepublishOnly": "npx mkdirp dist && cp package.json dist",
8
- "start": "webpack serve --config webpack.config.dev.js",
9
- "build": "webpack --config webpack.config.prod.js",
10
- "build-ext": "npm run build-types && webpack --config webpack.config.externals.js",
11
- "lint": "eslint . --ext .ts",
12
- "test": "jest --detectOpenHandles --logHeapUsage --ci --no-cache --runInBand --updateSnapshot",
13
- "coverage": "jest --coverage --detectOpenHandles --logHeapUsage --ci --no-cache --runInBand ",
14
- "test-kvm": "tsc && node ./dist/test/kvmui.test.ws.js",
15
- "build-types": "tsc --emitDeclarationOnly -p tsconfig.build.json"
19
+ "build": "rollup -c",
20
+ "build:watch": "rollup -c -w",
21
+ "clean": "rimraf dist",
22
+ "prebuild": "npm run clean",
23
+ "test": "jest",
24
+ "test:watch": "jest --watch",
25
+ "test:coverage": "jest --coverage",
26
+ "lint": "eslint src",
27
+ "lint:fix": "eslint src --fix",
28
+ "prettify": "npx prettier --write .",
29
+ "ci-prettify": "npx prettier --check ."
16
30
  },
17
31
  "author": "",
18
32
  "license": "Apache-2.0",
19
33
  "bugs": {
20
34
  "url": "https://github.com/device-management-toolkit/ui-toolkit-react/issues"
21
35
  },
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "git+https://github.com/device-management-toolkit/ui-toolkit-react.git"
39
+ },
22
40
  "homepage": "https://github.com/device-management-toolkit/ui-toolkit-react#readme",
23
- "types": "index.d.ts",
24
41
  "peerDependencies": {
25
- "react": "^18.2.0",
26
- "react-dom": "^18.2.0"
42
+ "react": ">=18.0.0",
43
+ "react-dom": ">=18.0.0"
27
44
  },
28
45
  "private": false,
29
46
  "publishConfig": {
30
47
  "access": "public"
31
48
  },
49
+ "keywords": [
50
+ "react",
51
+ "kvm",
52
+ "sol",
53
+ "ider",
54
+ "remote-desktop",
55
+ "i18n",
56
+ "amt",
57
+ "intel"
58
+ ],
32
59
  "dependencies": {
33
- "@fortawesome/fontawesome-svg-core": "^7.1.0",
34
- "@fortawesome/free-solid-svg-icons": "^7.0.0",
35
- "@fortawesome/react-fontawesome": "^3.1.0",
36
- "@device-management-toolkit/ui-toolkit": "^3.3.7",
37
- "@xterm/xterm": "^5.5.0",
60
+ "@device-management-toolkit/ui-toolkit": "^3.3.9",
61
+ "@xterm/xterm": "^6.0.0",
38
62
  "i18next": "^25.2.1",
39
- "i18next-browser-languagedetector": "^8.0.0",
40
- "md5": "^2.2.1",
41
- "moment": "^2.29.4",
42
- "react-i18next": "^16.2.1",
43
- "sass": "^1.56.1",
44
- "styled-components": "^6.1.18",
45
- "winston": "^3.0.0",
46
- "ws": "^8.18.2"
63
+ "react-i18next": "^16.2.1"
47
64
  },
48
65
  "devDependencies": {
49
- "@testing-library/jest-dom": "^6.0.0",
50
- "@testing-library/react": "^16.0.0",
51
- "@testing-library/user-event": "^14.4.3",
52
- "@types/jest": "^30.0.0",
53
- "@types/md5": "^2.3.2",
54
- "@types/node": "^24.9.0",
55
- "@types/react": "^18.0.25",
56
- "@types/react-dom": "^18.0.9",
57
- "@types/ws": "^8.2.0",
58
- "@typescript-eslint/eslint-plugin": "^6.11.0",
59
- "@typescript-eslint/parser": "^6.11.0",
60
- "css-loader": "^7.1.1",
61
- "eslint": "^8.27.0",
62
- "eslint-config-standard": "^17.0.0",
63
- "eslint-config-standard-with-typescript": "^43.0.1",
64
- "eslint-plugin-import": "^2.26.0",
65
- "eslint-plugin-node": "^11.1.0",
66
- "eslint-plugin-promise": "^6.1.1",
67
- "filereader": "^0.10.3",
68
- "html-webpack-plugin": "^5.5.0",
69
- "identity-obj-proxy": "^3.0.0",
70
- "jest": "^30.0.5 ",
71
- "jest-environment-jsdom": "^30.2.0",
72
- "jest-junit": "^16.0.0",
73
- "jest-transform-stub": "^2.0.0",
66
+ "@eslint/js": "^9.39.2",
67
+ "@rollup/plugin-commonjs": "^29.0.0",
68
+ "@rollup/plugin-json": "^6.1.0",
69
+ "@rollup/plugin-node-resolve": "^16.0.3",
70
+ "@rollup/plugin-replace": "^6.0.3",
71
+ "@rollup/plugin-terser": "^0.4.4",
72
+ "@rollup/plugin-typescript": "^12.1.2",
73
+ "@testing-library/jest-dom": "^6.6.3",
74
+ "@testing-library/react": "^16.1.0",
75
+ "@types/jest": "^29.5.14",
76
+ "@types/react": "^19.2.10",
77
+ "@types/react-dom": "^19.2.3",
78
+ "eslint": "^9.39.2",
79
+ "eslint-config-prettier": "^10.1.8",
80
+ "eslint-plugin-jsx-a11y": "^6.10.2",
81
+ "eslint-plugin-react": "^7.37.5",
82
+ "eslint-plugin-react-hooks": "^7.0.1",
83
+ "globals": "^17.0.0",
84
+ "jest": "^29.7.0",
85
+ "jest-environment-jsdom": "^29.7.0",
86
+ "jest-util": "^29.7.0",
87
+ "prettier": "^3.5.3",
88
+ "prettier-config-standard": "^7.0.0",
89
+ "prettier-plugin-multiline-arrays": "^4.1.3",
74
90
  "react": "^19.0.0",
75
91
  "react-dom": "^19.0.0",
76
- "sass-loader": "^16.0.0",
77
- "source-map-loader": "^5.0.0",
78
- "style-loader": "^4.0.0",
79
- "ts-jest": "^29.4.0",
80
- "ts-loader": "^9.4.1",
92
+ "rimraf": "^6.0.1",
93
+ "rollup": "^4.30.1",
94
+ "rollup-plugin-peer-deps-external": "^2.2.4",
95
+ "ts-jest": "^29.4.6",
96
+ "tslib": "^2.8.1",
81
97
  "typescript": "^5.0.4",
82
- "webpack": "^5.75.0",
83
- "webpack-cli": "^6.0.1",
84
- "webpack-dev-server": "^5.0.1",
85
- "webpack-node-externals": "^3.0.0"
98
+ "typescript-eslint": "^8.53.0"
86
99
  }
87
100
  }
@@ -0,0 +1,11 @@
1
+ /*********************************************************************
2
+ * Copyright (c) Intel Corporation 2019
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ **********************************************************************/
5
+ export declare const logger: {
6
+ log: (...args: unknown[]) => void;
7
+ warn: (...args: unknown[]) => void;
8
+ error: (...args: unknown[]) => void;
9
+ debug: (...args: unknown[]) => void;
10
+ };
11
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;wEAGwE;AAWxE,eAAO,MAAM,MAAM;mBACF,OAAO,EAAE,KAAG,IAAI;oBAMf,OAAO,EAAE,KAAG,IAAI;qBAMf,OAAO,EAAE,KAAG,IAAI;qBAMhB,OAAO,EAAE,KAAG,IAAI;CAKlC,CAAA"}
package/dist/package.json DELETED
@@ -1,87 +0,0 @@
1
- {
2
- "name": "@open-amt-cloud-toolkit/ui-toolkit-react",
3
- "version": "4.0.5",
4
- "description": "React UI controls for Intel AMT features",
5
- "main": "index.js",
6
- "scripts": {
7
- "prepublishOnly": "npx mkdirp dist && cp package.json dist",
8
- "start": "webpack serve --config webpack.config.dev.js",
9
- "build": "webpack --config webpack.config.prod.js",
10
- "build-ext": "npm run build-types && webpack --config webpack.config.externals.js",
11
- "lint": "eslint . --ext .ts",
12
- "test": "jest --detectOpenHandles --logHeapUsage --ci --no-cache --runInBand --updateSnapshot",
13
- "coverage": "jest --coverage --detectOpenHandles --logHeapUsage --ci --no-cache --runInBand ",
14
- "test-kvm": "tsc && node ./dist/test/kvmui.test.ws.js",
15
- "build-types": "tsc --emitDeclarationOnly -p tsconfig.build.json"
16
- },
17
- "author": "",
18
- "license": "Apache-2.0",
19
- "bugs": {
20
- "url": "https://github.com/device-management-toolkit/ui-toolkit-react/issues"
21
- },
22
- "homepage": "https://github.com/device-management-toolkit/ui-toolkit-react#readme",
23
- "types": "index.d.ts",
24
- "peerDependencies": {
25
- "react": "^18.2.0",
26
- "react-dom": "^18.2.0"
27
- },
28
- "private": false,
29
- "publishConfig": {
30
- "access": "public"
31
- },
32
- "dependencies": {
33
- "@fortawesome/fontawesome-svg-core": "^7.1.0",
34
- "@fortawesome/free-solid-svg-icons": "^7.0.0",
35
- "@fortawesome/react-fontawesome": "^3.1.0",
36
- "@device-management-toolkit/ui-toolkit": "^3.3.7",
37
- "@xterm/xterm": "^5.5.0",
38
- "i18next": "^25.2.1",
39
- "i18next-browser-languagedetector": "^8.0.0",
40
- "md5": "^2.2.1",
41
- "moment": "^2.29.4",
42
- "react-i18next": "^16.2.1",
43
- "sass": "^1.56.1",
44
- "styled-components": "^6.1.18",
45
- "winston": "^3.0.0",
46
- "ws": "^8.18.2"
47
- },
48
- "devDependencies": {
49
- "@testing-library/jest-dom": "^6.0.0",
50
- "@testing-library/react": "^16.0.0",
51
- "@testing-library/user-event": "^14.4.3",
52
- "@types/jest": "^30.0.0",
53
- "@types/md5": "^2.3.2",
54
- "@types/node": "^24.9.0",
55
- "@types/react": "^18.0.25",
56
- "@types/react-dom": "^18.0.9",
57
- "@types/ws": "^8.2.0",
58
- "@typescript-eslint/eslint-plugin": "^6.11.0",
59
- "@typescript-eslint/parser": "^6.11.0",
60
- "css-loader": "^7.1.1",
61
- "eslint": "^8.27.0",
62
- "eslint-config-standard": "^17.0.0",
63
- "eslint-config-standard-with-typescript": "^43.0.1",
64
- "eslint-plugin-import": "^2.26.0",
65
- "eslint-plugin-node": "^11.1.0",
66
- "eslint-plugin-promise": "^6.1.1",
67
- "filereader": "^0.10.3",
68
- "html-webpack-plugin": "^5.5.0",
69
- "identity-obj-proxy": "^3.0.0",
70
- "jest": "^30.0.5 ",
71
- "jest-environment-jsdom": "^30.2.0",
72
- "jest-junit": "^16.0.0",
73
- "jest-transform-stub": "^2.0.0",
74
- "react": "^19.0.0",
75
- "react-dom": "^19.0.0",
76
- "sass-loader": "^16.0.0",
77
- "source-map-loader": "^5.0.0",
78
- "style-loader": "^4.0.0",
79
- "ts-jest": "^29.4.0",
80
- "ts-loader": "^9.4.1",
81
- "typescript": "^5.0.4",
82
- "webpack": "^5.75.0",
83
- "webpack-cli": "^6.0.1",
84
- "webpack-dev-server": "^5.0.1",
85
- "webpack-node-externals": "^3.0.0"
86
- }
87
- }
package/i18n.d.ts DELETED
@@ -1,6 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) Intel Corporation 2019
3
- * SPDX-License-Identifier: Apache-2.0
4
- **********************************************************************/
5
- import i18n from 'i18next';
6
- export default i18n;
@@ -1,18 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) Intel Corporation 2023
3
- * SPDX-License-Identifier: Apache-2.0
4
- **********************************************************************/
5
- import React from 'react';
6
- export declare class AttachDiskImage extends React.Component<{
7
- deviceId: string | null;
8
- mpsServer: string | null;
9
- authToken?: string;
10
- }, {
11
- selectedFile: File | null;
12
- iderState: number;
13
- }> {
14
- constructor(props: any);
15
- handleFileChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
16
- updateIderState: (newState: any) => void;
17
- render(): React.JSX.Element;
18
- }
@@ -1,40 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) Intel Corporation 2023
3
- * SPDX-License-Identifier: Apache-2.0
4
- **********************************************************************/
5
- import { AMTRedirector, AMTIDER } from '@device-management-toolkit/ui-toolkit/core';
6
- import React from 'react';
7
- export interface IDERProps {
8
- iderState: number;
9
- updateIderState: (newState: number) => void;
10
- iderData: IDERData | null;
11
- cdrom: File | null;
12
- floppy: File | null;
13
- mpsServer: string | null;
14
- authToken?: string;
15
- deviceId: string | null;
16
- }
17
- export interface IDERState {
18
- iderState: number;
19
- iderData: IDERData | null;
20
- }
21
- export interface IDERData {
22
- floppyRead: number;
23
- floppyWrite: number;
24
- cdromRead: number;
25
- cdromWrite: number;
26
- }
27
- export declare class IDER extends React.Component<IDERProps, IDERState> {
28
- redirector: AMTRedirector | null;
29
- ider: AMTIDER | null;
30
- constructor(props: IDERProps);
31
- componentDidMount(): void;
32
- componentWillUnmount(): void;
33
- onConnectionStateChange: (redirector: any, state: number) => void;
34
- componentDidUpdate(prevProps: any): void;
35
- startIder: () => void;
36
- stopIder(): void;
37
- cleanup(): void;
38
- iderSectorStats(mode: any, dev: any, total: any, start: any, len: any): void;
39
- render(): null;
40
- }
@@ -1,5 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) Intel Corporation 2023
3
- * SPDX-License-Identifier: Apache-2.0
4
- **********************************************************************/
5
- export {};
@@ -1,13 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) Intel Corporation 2019
3
- * SPDX-License-Identifier: Apache-2.0
4
- **********************************************************************/
5
- import React from 'react';
6
- import './ConnectButton.scss';
7
- export interface ConnectProps {
8
- kvmstate: number;
9
- handleConnectClick: (e: any) => void;
10
- }
11
- export declare class ConnectButton extends React.Component<ConnectProps, {}> {
12
- render(): React.ReactNode;
13
- }
@@ -1,17 +0,0 @@
1
- /*********************************************************************
2
- * Copyright (c) Intel Corporation 2019
3
- * SPDX-License-Identifier: Apache-2.0
4
- **********************************************************************/
5
- import React from 'react';
6
- export interface IDesktopSettings {
7
- changeDesktopSettings: (settings: any) => void;
8
- getConnectState: () => number;
9
- }
10
- export declare class DesktopSettings extends React.Component<IDesktopSettings> {
11
- desktopsettings: {
12
- encoding: number;
13
- };
14
- constructor(props: IDesktopSettings);
15
- changeEncoding(encoding: number): void;
16
- render(): React.ReactNode;
17
- }