UNPKG

@kvaser/canking-api

Version:

CanKing API to communicate with the CanKing service using Node.js.

1 lines 56.4 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("./index.js"),r=require("react/jsx-runtime"),s=require("react"),b=require("@mui/material"),be=require("./icons.js"),qe=require("uuid"),le=require("@mui/x-tree-view"),He=require("./ipc.js"),ue=require("fast-deep-equal");require("long");const Z=require("./measurement_settings.js");function Ke(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const fe=Ke(s);function Ce({id:e=void 0,label:t,checked:n,onChange:a,disabled:l=!1,size:o="small",sx:c=void 0}){const u=s.useCallback(i=>{if(i.key==="Enter"&&!i.ctrlKey&&!i.altKey&&!i.shiftKey){i.preventDefault();return}},[]);return r.jsx(b.FormControlLabel,{id:e,"aria-label":e,disabled:l,"aria-disabled":l,control:r.jsx(b.Checkbox,{size:o,checked:n,onChange:(i,d)=>a(d),onKeyDown:u}),label:t,slotProps:{typography:{noWrap:!0}},sx:c})}var xe=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ee(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Qe(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var je=Qe,Xe=typeof xe=="object"&&xe&&xe.Object===Object&&xe,Ye=Xe,Je=Ye,Ze=typeof self=="object"&&self&&self.Object===Object&&self,Ve=Je||Ze||Function("return this")(),Re=Ve,Ge=Re,et=function(){return Ge.Date.now()},tt=et,nt=/\s/;function at(e){for(var t=e.length;t--&&nt.test(e.charAt(t)););return t}var st=at,rt=st,lt=/^\s+/;function it(e){return e&&e.slice(0,rt(e)+1).replace(lt,"")}var ot=it,ut=Re,dt=ut.Symbol,we=dt,Me=we,ye=Object.prototype,ct=ye.hasOwnProperty,ft=ye.toString,ce=Me?Me.toStringTag:void 0;function mt(e){var t=ct.call(e,ce),n=e[ce];try{e[ce]=void 0;var a=!0}catch{}var l=ft.call(e);return a&&(t?e[ce]=n:delete e[ce]),l}var gt=mt,xt=Object.prototype,ht=xt.toString;function bt(e){return ht.call(e)}var St=bt,Ie=we,pt=gt,Ct=St,jt="[object Null]",Nt="[object Undefined]",Fe=Ie?Ie.toStringTag:void 0;function vt(e){return e==null?e===void 0?Nt:jt:Fe&&Fe in Object(e)?pt(e):Ct(e)}var Mt=vt;function It(e){return e!=null&&typeof e=="object"}var Ft=It,kt=Mt,$t=Ft,Lt="[object Symbol]";function Et(e){return typeof e=="symbol"||$t(e)&&kt(e)==Lt}var Rt=Et,wt=ot,ke=je,yt=Rt,$e=NaN,At=/^[-+]0x[0-9a-f]+$/i,Wt=/^0b[01]+$/i,Bt=/^0o[0-7]+$/i,_t=parseInt;function Ot(e){if(typeof e=="number")return e;if(yt(e))return $e;if(ke(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ke(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=wt(e);var n=Wt.test(e);return n||Bt.test(e)?_t(e.slice(2),n?2:8):At.test(e)?$e:+e}var Pt=Ot,Ut=je,pe=tt,Le=Pt,Tt="Expected a function",Dt=Math.max,zt=Math.min;function qt(e,t,n){var a,l,o,c,u,i,d=0,g=!1,f=!1,I=!0;if(typeof e!="function")throw new TypeError(Tt);t=Le(t)||0,Ut(n)&&(g=!!n.leading,f="maxWait"in n,o=f?Dt(Le(n.maxWait)||0,t):o,I="trailing"in n?!!n.trailing:I);function N(k){var S=a,F=l;return a=l=void 0,d=k,c=e.apply(F,S),c}function x(k){return d=k,u=setTimeout($,t),g?N(k):c}function m(k){var S=k-i,F=k-d,E=t-S;return f?zt(E,o-F):E}function h(k){var S=k-i,F=k-d;return i===void 0||S>=t||S<0||f&&F>=o}function $(){var k=pe();if(h(k))return p(k);u=setTimeout($,m(k))}function p(k){return u=void 0,I&&a?N(k):(a=l=void 0,c)}function L(){u!==void 0&&clearTimeout(u),d=0,a=i=l=u=void 0}function C(){return u===void 0?c:p(pe())}function v(){var k=pe(),S=h(k);if(a=arguments,l=this,i=k,S){if(u===void 0)return x(i);if(f)return clearTimeout(u),u=setTimeout($,t),N(i)}return u===void 0&&(u=setTimeout($,t)),c}return v.cancel=L,v.flush=C,v}var Ae=qt;const Ht=Ee(Ae);var Kt=Ae,Qt=je,Xt="Expected a function";function Yt(e,t,n){var a=!0,l=!0;if(typeof e!="function")throw new TypeError(Xt);return Qt(n)&&(a="leading"in n?!!n.leading:a,l="trailing"in n?!!n.trailing:l),Kt(e,t,{leading:a,maxWait:t,trailing:l})}var Jt=Yt;const Zt=Ee(Jt),Vt=(e,t,n,a)=>{switch(t){case"debounce":return Ht(e,n,a);case"throttle":return Zt(e,n,a);default:return e}},Gt=e=>{const t=fe.useRef(e);return fe.useEffect(()=>{t.current=e}),fe.useMemo(()=>(...n)=>{var a;return(a=t.current)===null||a===void 0?void 0:a.call(t,...n)},[])},en=e=>{const[t,n]=fe.useState((e==null?void 0:e.current)||null);return e&&setTimeout(()=>{e.current!==t&&n(e.current)},0),{refProxy:fe.useMemo(()=>new Proxy(l=>{l!==t&&n(l)},{get(l,o){return o==="current"?t:l[o]},set(l,o,c){return o==="current"?n(c):l[o]=c,!0}}),[t]),refElement:t,setRefElement:n}},tn=(e,t)=>t==="border-box"?{width:e.borderBoxSize[0].inlineSize,height:e.borderBoxSize[0].blockSize}:t==="content-box"?{width:e.contentBoxSize[0].inlineSize,height:e.contentBoxSize[0].blockSize}:{width:e.contentRect.width,height:e.contentRect.height};function nn({skipOnMount:e=!1,refreshMode:t,refreshRate:n=1e3,refreshOptions:a,handleWidth:l=!0,handleHeight:o=!0,targetRef:c,observerOptions:u,onResize:i}={}){const d=s.useRef(e),g=Gt(i),[f,I]=s.useState({width:void 0,height:void 0}),{refProxy:N,refElement:x}=en(c),{box:m}=u||{},h=s.useCallback(p=>{if(!l&&!o)return;if(d.current){d.current=!1;return}const L=(C,v)=>l&&C.width!==v.width||o&&C.height!==v.height;p.forEach(C=>{const v=tn(C,m);I(k=>L(k,v)?(g==null||g({width:v.width,height:v.height,entry:C}),v):k)})},[l,o,d,m]),$=s.useCallback(Vt(h,t,n,a),[h,t,n,a]);return s.useEffect(()=>{let p;return x?(p=new window.ResizeObserver($),p.observe(x,u)):(f.width||f.height)&&(g==null||g({width:null,height:null,entry:null}),I({width:void 0,height:void 0})),()=>{var L,C,v;(L=p==null?void 0:p.disconnect)===null||L===void 0||L.call(p),(v=(C=$).cancel)===null||v===void 0||v.call(C)}},[$,x]),Object.assign({ref:N},f)}const ae=()=>{const{ref:e,width:t}=nn();return{ref:e,width:t}},de=(...e)=>{const[t,n]=s.useState();return s.useEffect(()=>{const a=e.filter(l=>l.width!==void 0).map(l=>Number(l.width.toFixed(1)));if(a.length===e.length){const l=Math.max(...a);n(o=>o===void 0?l:o)}},[e]),t};function se({columnItem:e,width:t=void 0,children:n=void 0}){return r.jsx("div",{ref:e.ref,children:r.jsx(b.Box,{sx:{width:t},children:n})})}const Y=b.styled(b.Button)(()=>({whiteSpace:"nowrap",minWidth:"max-content"}));function an({items:e,onSelect:t,onClose:n=void 0}){const a=s.useCallback((l,o)=>{t(l,o),n&&n()},[n,t]);return r.jsx(r.Fragment,{children:e.map(l=>r.jsx(b.MenuItem,{onClick:()=>a(l.key,l.text),children:l.text},l.key))})}function We({id:e="dropdown-button",startIcon:t=void 0,endIcon:n=void 0,text:a=void 0,variant:l="outlined",color:o=void 0,size:c="medium",disabled:u=!1,children:i}){const[d,g]=s.useState(null),f=!!d,I=s.useCallback(m=>{g(m.currentTarget)},[]),N=s.useCallback(()=>{g(null)},[]),x=s.cloneElement(s.Children.only(i),{onClose:N});return r.jsxs(r.Fragment,{children:[!a&&r.jsx(b.IconButton,{id:e,"data-testid":e,"aria-controls":f?`${e}-popover`:void 0,"aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:I,size:c,color:o,disabled:u,children:t}),a&&r.jsx(Y,{id:e,"data-testid":e,"aria-controls":f?`${e}-popover`:void 0,"aria-haspopup":"true","aria-expanded":f?"true":void 0,variant:l,disableElevation:!0,onClick:I,startIcon:t,endIcon:n??r.jsx(be.LineArrowDownIcon,{}),size:c,color:o,disabled:u,children:a}),r.jsx(b.Popover,{id:`${e}-popover`,"aria-labelledby":e,anchorEl:d,open:f,onClose:N,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"top",horizontal:"left"},children:x})]})}const sn=b.styled("div")(({top:e,left:t,width:n,height:a})=>({top:e,left:t,width:n,height:a,position:"absolute",zIndex:1})),rn=b.styled("div")(({top:e,left:t,width:n,height:a,position:l,theme:o})=>({top:e,left:t,width:n,height:a,position:"absolute",zIndex:2,color:o.palette.primary.contrastText,backgroundColor:o.palette.primary.main,display:"flex",flexDirection:l==="left"||l==="right"?"column":"row",borderTopLeftRadius:l==="top"||l==="left"?0:8,borderTopRightRadius:l==="top"||l==="right"?0:8,borderBottomRightRadius:l==="bottom"||l==="right"?0:8,borderBottomLeftRadius:l==="bottom"||l==="left"?0:8})),he=8;function ln({id:e=void 0,position:t,parentWidth:n,parentHeight:a,maxLength:l,dropDownSize:o,autoHideTimeout:c=0,forceShow:u=!1,children:i=null}){const d=s.useMemo(()=>{switch(t){case"left":case"right":return Math.min(l,a);case"top":case"bottom":return Math.min(l,n);default:return l}},[l,a,n,t]),g=s.useMemo(()=>{switch(t){case"left":case"right":return(a-d)/2;case"top":return 0;case"bottom":return a-he;default:return 0}},[d,a,t]),f=s.useMemo(()=>{switch(t){case"left":return 0;case"right":return n-he;case"top":case"bottom":return(n-d)/2;default:return 0}},[d,n,t]),I=s.useMemo(()=>{switch(t){case"left":case"right":return he;case"top":case"bottom":return d;default:return 0}},[d,t]),N=s.useMemo(()=>{switch(t){case"left":case"right":return d;case"top":case"bottom":return he;default:return 0}},[d,t]),x=s.useMemo(()=>{switch(t){case"left":case"right":return(a-d)/2;case"top":return 0;case"bottom":return a-o;default:return 0}},[o,d,a,t]),m=s.useMemo(()=>{switch(t){case"left":return 0;case"right":return n-o;case"top":case"bottom":return(n-d)/2;default:return 0}},[o,d,n,t]),h=s.useMemo(()=>{switch(t){case"left":case"right":return o;case"top":case"bottom":return d;default:return 0}},[o,d,t]),$=s.useMemo(()=>{switch(t){case"left":case"right":return d;case"top":case"bottom":return o;default:return 0}},[o,d,t]),[p,L]=s.useState(!1),C=s.useCallback(k=>{k.buttons===0&&c&&L(!0)},[c]),v=s.useCallback(()=>{L(!1)},[]);return s.useEffect(()=>{let k;return p&&c&&(k=setTimeout(()=>L(!1),c)),()=>{k&&clearTimeout(k)}},[c,p]),r.jsxs(r.Fragment,{children:[r.jsx(sn,{id:e,top:g,left:f,width:I,height:N,"aria-haspopup":"true",onMouseEnter:C}),(p||u===!0)&&r.jsx(rn,{top:x,left:m,width:h,height:$,position:t,onMouseLeave:v,children:i})]})}function re({children:e,fullWidth:t=!0,spacing:n="4px",alignItems:a="center"}){return r.jsx(b.FormControl,{margin:"dense",fullWidth:t,variant:"standard",children:r.jsx(b.Stack,{direction:"row",spacing:n,alignItems:a,children:e})})}const on=b.styled("input")(({variant:e,theme:t})=>({...t.typography[e]})),un=b.styled("span")(({variant:e,theme:t})=>({...t.typography[e]}));function dn({value:e,onChange:t,ariaLabel:n=void 0,variant:a="body1"}){const l=s.useRef(null),[o,c]=s.useState(e),u=s.useCallback(g=>c(g.target.value),[]),i=s.useCallback(g=>{(g.key==="Enter"||g.key==="Escape")&&(g.key==="Escape"&&(c(e),g.currentTarget.value=e),g.currentTarget.blur())},[e]),d=s.useCallback(g=>{t(g.target.value)},[t]);return s.useEffect(()=>{var g;(g=l.current)==null||g.focus()},[]),r.jsx(on,{ref:l,variant:a??"body1",type:"text","aria-label":n,value:o,onChange:u,onKeyDown:i,onBlur:d})}function cn({editMode:e,value:t,onValueChange:n,ariaLabel:a=void 0,variant:l="body1"}){return r.jsxs(r.Fragment,{children:[e&&r.jsx(dn,{ariaLabel:a,value:t,onChange:n,variant:l}),!e&&r.jsx(un,{variant:l??"body1",children:t})]})}function Be({id:e=void 0,label:t=void 0,helperText:n="",value:a,onChange:l=void 0,onBlur:o=void 0,disabled:c=!1,error:u=!1,required:i=!1,margin:d="dense",size:g="small",fullWidth:f=!1,inputMode:I=void 0,pattern:N=void 0,startAdornment:x=void 0,endAdornment:m=void 0,sx:h=void 0,sxStartAdornment:$=void 0,sxEndAdornment:p=void 0}){const L=s.useCallback(S=>{l&&l(S.target.value)},[l]),C=s.useCallback(S=>{if(S.key==="Enter"&&!S.ctrlKey&&!S.altKey&&!S.shiftKey){S.preventDefault(),S.stopPropagation(),document.activeElement instanceof HTMLElement&&document.activeElement.blur();return}},[]),v=$??{marginBottom:1},k=p??{marginBottom:1};return r.jsx(b.TextField,{id:e,"aria-label":e,type:"text",label:t,helperText:n,margin:d,size:g,fullWidth:f,variant:"standard",value:a,onChange:L,onBlur:o,disabled:c,"aria-disabled":c,error:u,required:i,slotProps:{input:{startAdornment:x?r.jsx(b.InputAdornment,{position:"start",sx:{...v},children:x}):null,endAdornment:m?r.jsx(b.InputAdornment,{position:"end",sx:{...k},children:m}):null},htmlInput:{inputMode:I,pattern:N}},sx:h,onKeyDown:C})}function V({id:e,label:t=void 0,helperText:n="",value:a,onChange:l=void 0,onBlur:o=void 0,disabled:c=!1,required:u=!1,margin:i="dense",size:d="small",fullWidth:g=!1,inputMode:f=void 0,pattern:I=void 0,startAdornment:N=void 0,endAdornment:x=void 0,sx:m=void 0,sxStartAdornment:h=void 0,sxEndAdornment:$=void 0,error:p=void 0,onErrorChange:L=void 0,onValidate:C=void 0,numberType:v=void 0,minValue:k=void 0,maxValue:S=void 0}){const[F,E]=s.useState(a),[A,y]=s.useState(p!==void 0?p:!1);s.useEffect(()=>{E(j=>a!==j?a:j)},[a]),s.useEffect(()=>{y(j=>p!==void 0&&p!==j?p:j)},[p]);const R=s.useCallback(j=>{const B=Number.parseInt(j,j.startsWith("0x")?16:10);let O=Number.isNaN(B);return O||(O=k!==void 0&&B<k),O||(O=S!==void 0&&B>S),{val:j,err:O}},[S,k]),U=s.useCallback(j=>{let B=!1;if(j.endsWith(",")||j.endsWith("."))return B=!0,{val:j,err:B};const O=Number.parseFloat(j.replace(",","."));return B=Number.isNaN(O),B||(B=k!==void 0&&O<k),B||(B=S!==void 0&&O>S),{val:O.toString(),err:B}},[S,k]),K=s.useCallback(j=>v==="int"?R(j):U(j),[v,U,R]),P=s.useCallback((j,B)=>{let O=j,T=!1;return!u&&(O===void 0||O==="")?{val:O,err:T}:(v!==void 0&&({val:O,err:T}=K(j)),!T&&C&&({val:O,err:T}=C(O,B)),{val:O,err:T})},[C,K]),w=s.useCallback(j=>{const{val:B,err:O}=P(j,"change");y(O),E(O?j:B),!O&&l&&l(B)},[l,P]),M=s.useCallback(()=>{const{val:j,err:B}=P(F,"blur");y(B),!B&&o&&o(j)},[o,P,F]);return s.useEffect(()=>{L&&L(A)},[A,L]),s.useEffect(()=>{let j=!1;c||(j=P(F,"blur").err),y(j)},[c]),r.jsx(Be,{id:e,label:t,helperText:n,value:F,onChange:w,onBlur:M,disabled:c,error:A,required:u,margin:i,size:d,fullWidth:g,inputMode:f,pattern:I,startAdornment:N,endAdornment:x,sx:m,sxStartAdornment:h,sxEndAdornment:$})}function fn({minValue:e,maxValue:t,onChange:n=void 0,onBlur:a=void 0,minError:l=void 0,onMinErrorChange:o=void 0,maxError:c=void 0,onMaxErrorChange:u=void 0,onMinValidate:i=void 0,onMaxValidate:d=void 0,minDisabled:g=!1,maxDisabled:f=!1,unit:I=void 0,lowerLimit:N=void 0,upperLimit:x=void 0}){const m=_.useLocalizedStrings(),h=Number.parseInt(e),$=Number.parseInt(t),[p,L]=s.useState(e.toString()),[C,v]=s.useState(t.toString()),[k,S]=s.useState(l===!0||Number.isNaN(h)||h<(N??0)||x&&h>x||!Number.isNaN($)&&h>=$),[F,E]=s.useState(c===!0||Number.isNaN($)||$<(N??0)||x&&$>x||!Number.isNaN(h)&&h>=$);s.useEffect(()=>{L(w=>e.toString()!==w?e.toString():w)},[e]),s.useEffect(()=>{S(w=>l!==void 0&&l!==w?l:w)},[l]),s.useEffect(()=>{v(w=>t.toString()!==w?t.toString():w)},[t]),s.useEffect(()=>{E(w=>c!==void 0&&c!==w?c:w)},[c]);const A=s.useCallback(w=>{const M=Number.parseInt(w,w.startsWith("0x")?16:10),j=Number.parseInt(C),B=Number.isNaN(M)||M<(N??0)||x&&M>x||!Number.isNaN(j)&&M>=j;return{val:w,err:B}},[C,N,x]),y=s.useCallback(w=>{const M=Number.parseInt(w,w.startsWith("0x")?16:10),j=Number.parseInt(p),B=Number.isNaN(M)||M<(N??0)||x&&M>x||!Number.isNaN(j)&&j>=M;return{val:w,err:B}},[p,N,x]),R=s.useCallback(w=>{let{val:M,err:j}=A(w);if(!j&&i&&({val:M,err:j}=i(w,"change")),(l===void 0||l===!1)&&S(j),j)n&&n(w,C);else{const B=Number.parseInt(M,M.startsWith("0x")?16:10).toString();L(B),n&&n(B,C)}},[A,i,l,n,C]),U=s.useCallback(w=>{let{val:M,err:j}=A(w);!j&&i&&({val:M,err:j}=i(M,"blur")),S(j),!j&&a&&a(M,C)},[A,i,a,C]),K=s.useCallback(w=>{let{val:M,err:j}=y(w);if(!j&&d&&({val:M,err:j}=d(w,"change")),(c===void 0||c===!1)&&E(j),j)n&&n(p,w);else{const B=Number.parseInt(M,M.startsWith("0x")?16:10).toString();v(B),n&&n(p,B)}},[y,d,c,n,p]),P=s.useCallback(w=>{let{val:M,err:j}=y(w);!j&&d&&({val:M,err:j}=d(M,"blur")),E(j),!j&&a&&a(p,M)},[y,d,a,p]);return s.useEffect(()=>{o&&o(k),u&&u(F)},[F,k,u,o]),r.jsxs(r.Fragment,{children:[r.jsx(V,{id:"min-value",disabled:g,inputMode:"numeric",fullWidth:!0,value:p,onChange:R,onBlur:U,startAdornment:m.getString("LabelFrom"),endAdornment:I,numberType:"int",error:k,onErrorChange:S}),r.jsx(V,{id:"max-value",disabled:f,inputMode:"numeric",fullWidth:!0,value:C,onChange:K,onBlur:P,startAdornment:m.getString("LabelTo"),endAdornment:I,numberType:"int",error:F,onErrorChange:E})]})}function ie({id:e=void 0,label:t,value:n,disabled:a=!1,size:l="small",sx:o=void 0}){return r.jsx(b.FormControlLabel,{id:e,"aria-label":e,value:n,disabled:a,"aria-disabled":a,control:r.jsx(b.Radio,{size:l}),label:t,componentsProps:{typography:{noWrap:!0}},sx:o})}function Ne({children:e,id:t=void 0,value:n,onChange:a}){return r.jsx(b.RadioGroup,{id:t,"aria-label":t,value:n,onChange:(l,o)=>a(o),children:e})}const mn=b.styled(b.Box,{shouldForwardProp:e=>e!=="collapsed"})(({collapsed:e,theme:t})=>({paddingTop:e?"4px":"8px",paddingLeft:"2px",paddingRight:"2px",paddingBottom:e?"0px":"2px",marginTop:"2px","&:hover, &:focus-within":{background:t.palette.action.hover}})),_e=b.styled("span")(({theme:e})=>({color:e.palette.divider})),gn=b.styled(_e)(()=>({"&:hover":{cursor:"pointer"}})),xn=b.styled(b.IconButton)(({theme:e})=>({color:e.palette.divider,padding:"0px"}));function oe({textAlign:e="left",text:t=void 0,summary:n=void 0,children:a=void 0,collapsible:l=!1,collapsed:o=!1,collapsedChange:c=void 0}){const u=_.useLanguage(),i=_.useLocalizedStrings(),[d,g]=s.useState(o);s.useEffect(()=>g(o),[o]);const f=s.useCallback(I=>{c?c(I):g(I)},[c]);return r.jsxs(mn,{collapsed:d,children:[t&&r.jsx(b.Divider,{textAlign:e,variant:"fullWidth",children:l?r.jsxs(b.Stack,{direction:"row",spacing:1,alignItems:"center",children:[r.jsxs(gn,{onClick:()=>f(!d),children:[t.toLocaleUpperCase(u),d&&n?` (${n})`:""]}),r.jsx(b.Tooltip,{title:d?i==null?void 0:i.getString("TooltipExpandSection",t):i==null?void 0:i.getString("TooltipCollapseSection",t),children:r.jsx(xn,{onClick:()=>f(!d),children:d?r.jsx(be.LineArrowDownIcon,{}):r.jsx(be.LineArrowUpIcon,{})})})]}):r.jsx(_e,{children:t.toLocaleUpperCase(u)})}),!d&&a]})}function me({id:e,label:t,showLabel:n=!1,helperText:a="",options:l,value:o,onChange:c,disabled:u=!1,required:i=!1,margin:d="dense",size:g="small",fullWidth:f=!1,minWidth:I=void 0,prefixTextWithValue:N=!1}){const x=s.useCallback(L=>{typeof L.target.value=="string"?c(""):c(L.target.value)},[c]),m=s.useCallback(L=>L.map(C=>r.jsx(b.MenuItem,{"aria-label":`menu-item-${C.value}`,value:C.value,children:N?`${C.value} - ${C.displayText}`:C.displayText},C.value)),[N]),h=s.useCallback((L,C)=>{const v=[r.jsx(b.ListSubheader,{color:"primary",children:L},L)];return v.push(...m(C)),v},[m]),$=s.useCallback(L=>{const C=[];return L.forEach((v,k)=>{C.push(...h(k,v))}),C},[h]),p=s.useCallback(L=>{let C="";if(l instanceof Map)l.forEach((v,k)=>{if(C===""){const S=v.find(F=>F.value===L);S&&(C=N?`${S.value} - ${k} - ${S.displayText}`:`${k} - ${S.displayText}`)}});else{const v=l.find(k=>k.value===L);v&&(C=N?`${v.value} - ${v.displayText}`:v.displayText)}return C===""&&(C=i?`${t} *`:t),C},[t,l,N,i]);return r.jsxs(b.FormControl,{fullWidth:f,variant:"standard",sx:{minWidth:I},margin:d,size:g,children:[n&&r.jsx(b.InputLabel,{id:`${e}-label`,children:i?`${t} *`:t}),r.jsxs(b.Select,{labelId:`${e}-label`,"aria-label":e,id:e,value:o,renderValue:p,onChange:x,displayEmpty:!n,disabled:u,"aria-disabled":u,children:[l instanceof Map&&$(l),l instanceof Array&&m(l)]}),a&&r.jsx(b.FormHelperText,{children:a})]})}const Se=e=>{const[t,n]=s.useState([]);return s.useEffect(()=>{const a=()=>{He.getFrameDefinitions(e).then(o=>{const c=[];for(let u=0;u<o.length;u+=1){let i;const d=o[u];if(d.messageQualifiedName!==void 0){const g=d.messageQualifiedName.indexOf(".");if(g!==-1){const f=d.messageQualifiedName.substring(0,g);i=c.find(I=>I.name===f),i||(i={name:f,messages:[]},c.push(i))}}i&&i.messages.push(d)}return n(c),c})},l=qe.v4();return _.addEventListener(l,"meas-setup-changed",a),a(),()=>{_.removeEventListener(l,"meas-setup-changed")}},[e]),t};function hn({parentDialogTitle:e=void 0,open:t,onSelect:n,nodeIdentifier:a=void 0,onClose:l,modal:o=!1}){const c=_.useLocalizedStrings(),u=Se(a),i=s.useMemo(()=>e?`${e} > ${c.getString("DialogHeaderSelectMessage")}`:c.getString("DialogHeaderSelectMessage"),[c,e]),d=s.useCallback(f=>{if(f!==null)for(let I=0;I<u.length;I+=1){const x=u[I].messages.find(m=>m.messageQualifiedName===f);x&&(n(x),l&&l())}},[u,l,n]),g=s.useMemo(()=>u.map(f=>f.name),[u]);return r.jsxs(b.Dialog,{open:t,fullScreen:o!==!0,fullWidth:o===!0,maxWidth:o===!0?"md":void 0,children:[r.jsx(b.DialogTitle,{className:"draggable",children:i}),r.jsx(b.DialogContent,{dividers:!0,children:r.jsx(le.SimpleTreeView,{"aria-label":"frame-selector",onSelectedItemsChange:(f,I)=>d(I),multiSelect:!1,defaultExpandedItems:g,sx:{height:400},children:u.map(f=>r.jsx(le.TreeItem,{itemId:f.name,label:f.name,children:f.messages.map(I=>r.jsx(le.TreeItem,{itemId:I.messageQualifiedName,label:I.messageName},I.messageQualifiedName))},f.name))})}),r.jsx(b.DialogActions,{children:r.jsx(Y,{onClick:l,variant:"outlined",size:"large",children:c.getString("ButtonBack")})})]})}function Oe({parentDialogTitle:e=void 0,nodeIdentifier:t=void 0,open:n,multiSelect:a=!1,checkboxSelection:l=!1,onSelect:o=void 0,onMultiSelect:c=void 0,onClose:u,selectedMessages:i=void 0,selectedSignals:d=void 0}){const g=_.useLocalizedStrings(),f=Se(t),I=s.useMemo(()=>e?`${e} > ${g.getString("DialogHeaderSelectSignal")}`:g.getString("DialogHeaderSelectSignal"),[g,e]),[N,x]=s.useState(()=>i?f.map(S=>S.messages.filter(F=>i.includes(F.messageQualifiedName))).flat():[]);s.useEffect(()=>{if(i){const S=f.map(F=>F.messages.filter(E=>i.includes(E.messageQualifiedName))).flat();x(S)}},[i,f]);const[m,h]=s.useState(()=>d?f.map(S=>S.messages.filter(F=>F.signals&&F.signals.find(E=>d.includes(E.qualifiedName)))).flat().map(S=>S.signals.filter(F=>d.includes(F.qualifiedName))).flat():[]);s.useEffect(()=>{if(d){const S=f.map(F=>F.messages.filter(E=>E.signals&&E.signals.find(A=>d.includes(A.qualifiedName)))).flat().map(F=>F.signals.filter(E=>d.includes(E.qualifiedName))).flat();h(S)}},[d,f]);const[$,p]=s.useState(!1),L=s.useMemo(()=>{if(a)return[...N.map(S=>S.messageQualifiedName),...m.map(S=>S.qualifiedName)]},[a,N,m]),C=s.useCallback(S=>{if(S===null)return;if(!a)for(let E=0;E<f.length;E+=1){const y=f[E].messages.find(R=>R.signals&&R.signals.findIndex(U=>U.qualifiedName===S)!==-1);if(y!=null&&y.signals){const R=y.signals.find(U=>U.qualifiedName===S);if(R&&o&&(o(y,R),u)){u();return}}}let F=[];x(E=>{let A=[];for(let y=0;y<f.length;y+=1){const R=f[y],U=R.messages.filter(M=>M.signals&&M.signals.length>0&&M.signals.every(j=>S.includes(j.qualifiedName))),K=R.messages.filter(M=>M.signals&&M.signals.some(j=>S.includes(j.qualifiedName)));if(K){const M=K.map(j=>j.signals).flat().filter(j=>S.includes(j.qualifiedName));M&&(A=[...new Set(A.concat(U))],F=[...new Set(F.concat(M))])}const P=R.messages.filter(M=>M.signals.length>0&&S.includes(M.messageQualifiedName)&&!E.some(j=>j.messageQualifiedName===M.messageQualifiedName));if(P.length>0){const M=P.map(j=>j.signals).flat();M&&(A=[...new Set(A.concat(P))],F=[...new Set(F.concat(M))])}const w=R.messages.filter(M=>!S.includes(M.messageQualifiedName)&&E.some(j=>j.messageQualifiedName===M.messageQualifiedName));if(w.length>0){const M=w.map(j=>j.signals).flat();M&&(A=A.filter(j=>!w.some(B=>B.messageQualifiedName===j.messageQualifiedName)),F=F.filter(j=>!M.some(B=>B.qualifiedName===j.qualifiedName)))}}return A}),h(F)},[f,a,u,o]),v=s.useCallback(()=>{c&&(c(N,m),x([]),h([])),u&&u()},[u,c,N,m]);s.useEffect(()=>{p(m.length===0)},[m.length]);const k=s.useMemo(()=>{const S=f.map(E=>E.name),F=f.map(E=>E.messages).flat().filter(E=>E.signals&&E.signals.some(A=>m.some(y=>y.qualifiedName===A.qualifiedName))).map(E=>E.messageQualifiedName);return[...S,...F]},[f,m]);return r.jsxs(b.Dialog,{open:n,fullScreen:!0,children:[r.jsx(b.DialogTitle,{className:"draggable",children:I}),r.jsx(b.DialogContent,{dividers:!0,children:r.jsx(le.SimpleTreeView,{"aria-label":"signal-selector",multiSelect:a,checkboxSelection:l,selectedItems:L,onSelectedItemsChange:(S,F)=>C(F),defaultExpandedItems:k,children:f.map(S=>r.jsx(le.TreeItem,{itemId:S.name,label:S.name,children:S.messages.map(F=>r.jsx(le.TreeItem,{itemId:F.messageQualifiedName,label:F.messageName,children:F.signals&&F.signals.map(E=>r.jsx(le.TreeItem,{itemId:E.qualifiedName,label:E.name},E.qualifiedName))},F.messageQualifiedName))},S.name))})}),a&&r.jsxs(b.DialogActions,{children:[r.jsx(Y,{onClick:v,variant:"contained",size:"large",disabled:$,children:g.getString("ButtonSave")}),r.jsx(Y,{onClick:u,variant:"outlined",size:"large",children:g.getString("ButtonCancel")})]}),!a&&r.jsx(b.DialogActions,{children:r.jsx(Y,{onClick:u,variant:"outlined",size:"large",children:g.getString("ButtonBack")})})]})}function bn({selectedSignals:e,onSelectedSignalseChange:t,onErrorsChange:n=void 0,signalFilterError:a=void 0,parentDialogTitle:l=void 0,nodeIdentifier:o=void 0,disabled:c=!1}){const u=_.useLocalizedStrings(),i=ae(),d=de(i),g=Se(o),f=s.useMemo(()=>{const h=new Set;return g.forEach($=>{$.messages.forEach(p=>{p.signals.length>0&&p.signals.every(L=>e.includes(L.qualifiedName))&&h.add(p.messageQualifiedName)})}),Array.from(h)},[g,e]),I=s.useCallback((h,$)=>{t($.map(p=>p.qualifiedName))},[t]),N=s.useCallback((h,$)=>{t($)},[t]);s.useEffect(()=>{a&&(a.current=e.length===0),n&&n(e.length===0)},[n,e,a]);const[x,m]=s.useState(!1);return r.jsx(r.Fragment,{children:r.jsxs(re,{children:[r.jsx(b.Autocomplete,{id:"selected-signals",multiple:!0,limitTags:3,freeSolo:!0,options:[],value:e,renderInput:h=>r.jsx(b.TextField,{...h,label:u.getString("LabelSelectedSignals")}),size:"small",fullWidth:!0,onChange:N,inputValue:""}),r.jsx(se,{columnItem:i,width:d,children:r.jsx(b.Tooltip,{title:u.getString("TooltipSelectSignals"),children:r.jsx(Y,{disabled:c,onClick:()=>m(!0),variant:"outlined",size:"large",children:u.getString("ButtonSelectSignals")})})}),r.jsx(Oe,{parentDialogTitle:l,open:x,onClose:()=>m(!1),nodeIdentifier:o,onMultiSelect:I,multiSelect:!0,selectedMessages:f,selectedSignals:e,checkboxSelection:!0})]})})}const Sn=b.styled(b.Box)(({height:e,width:t})=>({height:e,width:t,padding:"4px",overflow:"auto"}));function pn({label:e,variant:t="h6"}){return r.jsx(b.Toolbar,{children:r.jsx(b.Typography,{sx:{flex:"1 1 100%"},variant:t,id:"tableTitle",component:"div",children:e})})}function Cn({data:e,dataKey:t,hasRemoveButton:n=!1,removeButtonTitle:a=void 0,onRemoveRow:l=void 0,selectedKey:o=void 0,onClickRow:c=void 0,columns:u,label:i=void 0,labelVariant:d="h6",maxHeight:g=void 0,size:f="medium",stickyHeader:I=!1,hover:N=!1}){const x=s.useCallback(m=>{c&&c(m)},[c]);return r.jsxs(b.Box,{children:[i&&r.jsx(pn,{label:i,variant:d}),r.jsx(b.TableContainer,{children:r.jsxs(b.Table,{"aria-labelledby":"tableTitle",size:f,stickyHeader:I,sx:{maxHeight:g},padding:"none",children:[r.jsx(b.TableHead,{children:r.jsx(b.TableRow,{children:u.map(m=>r.jsx(b.TableCell,{...m.headProps,children:m.headCell},m.key))})}),r.jsx(b.TableBody,{children:e.map(m=>{const h=t(m);return r.jsx(b.TableRow,{hover:N,selected:h===o,children:u.map($=>r.jsxs(s.Fragment,{children:[r.jsx(b.TableCell,{onClick:()=>x(m),...$.dataProps,children:$.dataCell(m)},`${h}-${$.key}-project-file`),n&&r.jsx(b.TableCell,{children:r.jsx(Y,{size:"small",title:a,onClick:()=>l(m),children:r.jsx(be.CloseIcon,{fontSize:"small"})})},`${h}-${$.key}-remove-button`)]},`${h}-${$.key}`))},h)})})]})})]})}const jn=b.styled("div")(({theme:e})=>({borderBottom:"1px solid",borderColor:e.palette.divider})),Nn=b.styled(b.ToggleButtonGroup)(({theme:e})=>({[`& .${b.toggleButtonGroupClasses.grouped}`]:{margin:e.spacing(.5),padding:e.spacing(1.25),minWidth:24,color:e.palette.action.active,border:0,borderRadius:e.shape.borderRadius,[`&.${b.toggleButtonGroupClasses.disabled}`]:{border:0}}})),vn=b.styled(b.ButtonGroup)(({theme:e})=>({[`& .${b.buttonGroupClasses.grouped}`]:{margin:e.spacing(.5),padding:e.spacing(1.25),minWidth:24,color:e.palette.action.active,border:0,borderRadius:e.shape.borderRadius,[`&.${b.buttonGroupClasses.disabled}`]:{border:0}},[`& .${b.buttonGroupClasses.middleButton},& .${b.buttonGroupClasses.lastButton}`]:{marginLeft:-1,borderLeft:"1px solid transparent"}}));function Pe({onClick:e,icon:t=void 0,text:n=void 0,size:a="small",variant:l=void 0,color:o="inherit",tooltip:c=void 0,ariaLabel:u=void 0,children:i=void 0,disabled:d=!1}){return i?r.jsx(We,{size:typeof a=="string"?a:"small",variant:l,color:o,startIcon:t,text:n,disabled:d,children:i}):n?r.jsxs(Y,{size:typeof a=="string"?a:"small",variant:l,color:o,"aria-label":u,onClick:e,startIcon:t,disabled:d,children:[c&&r.jsx(b.Tooltip,{placement:"bottom-start",title:c,children:r.jsx("span",{children:n})}),!c&&n]}):r.jsxs(Y,{size:typeof a=="string"?a:"small",variant:l,color:o,"aria-label":u,onClick:e,disabled:d,sx:{height:typeof a=="number"?`${a}px`:void 0,width:typeof a=="number"?`${a}px`:void 0},children:[c&&r.jsx(b.Tooltip,{placement:"bottom-start",title:c,children:r.jsx("span",{children:t})}),!c&&t]})}function Mn({buttons:e,size:t="small",ariaLabel:n=void 0,orientation:a="horizontal"}){return r.jsx(vn,{size:t,"aria-label":n,orientation:a,children:e.map((l,o)=>r.jsx(Pe,{onClick:l.onClick,icon:l.icon,text:l.text,size:l.size,variant:l.variant,color:l.color,tooltip:l.tooltip,ariaLabel:l.ariaLabel,disabled:l.disabled,children:l.children},o))})}function In({value:e,onChange:t,size:n="small",ariaLabel:a=void 0,exclusive:l=void 0,buttons:o,orientation:c="horizontal"}){return r.jsx(Nn,{size:n,value:e,onChange:(u,i)=>t(i),"aria-label":a,exclusive:l,orientation:c,children:o.map((u,i)=>r.jsxs(b.ToggleButton,{size:typeof n=="string"?n:"small",value:u.value,"aria-label":u.ariaLabel,sx:{height:typeof n=="number"?`${n}px`:void 0,width:typeof n=="number"?`${n}px`:void 0,padding:u.size==="small"||typeof n=="number"?1:void 0,margin:u.size==="small"||typeof n=="number"?0:void 0},disabled:u.disabled,children:[u.tooltip&&r.jsx(b.Tooltip,{placement:"bottom-start",title:u.tooltip,children:r.jsx("span",{children:u.icon})}),!u.tooltip&&u.icon]},i))})}function Fn({items:e,height:t=34,width:n=34,justifyContent:a="left",borderSize:l=1,padding:o=1,backgroundColor:c=void 0,orientation:u="horizontal"}){return r.jsx(b.Paper,{elevation:0,sx:{display:"flex",alignItems:"center",justifyContent:a,border:i=>`${l}px solid ${i.palette.divider}`,flexWrap:"wrap",height:u==="horizontal"?`${t}px`:"100%",minHeight:u==="horizontal"?`${t}px`:void 0,width:u==="vertical"?`${n}px`:"100%",minWidth:u==="vertical"?`${n}px`:void 0,paddingLeft:u==="horizontal"?o:0,paddingRight:u==="horizontal"?o:0,paddingTop:u==="vertical"?o:0,paddingBottom:u==="vertical"?o:0,borderRadius:"0px",backgroundColor:c},children:e.map((i,d)=>i.label?r.jsx(b.Typography,{variant:i.label.variant,component:"div",children:i.label.text},d):i.toggleButtonGroup?r.jsx(In,{value:i.toggleButtonGroup.value,onChange:i.toggleButtonGroup.onChange,ariaLabel:i.toggleButtonGroup.ariaLabel,exclusive:i.toggleButtonGroup.exclusive,buttons:i.toggleButtonGroup.buttons,orientation:u},d):i.button?r.jsx(Pe,{onClick:i.button.onClick,icon:i.button.icon,text:i.button.text,variant:i.button.variant,color:i.button.color,tooltip:i.button.tooltip,ariaLabel:i.button.ariaLabel,disabled:i.button.disabled},d):i.buttonGroup?r.jsx(Mn,{ariaLabel:i.buttonGroup.ariaLabel,buttons:i.buttonGroup.buttons,orientation:u},d):i.other)})}function kn({options:e,onSelect:t,children:n=void 0}){const[a,l]=s.useState(null),o=s.useCallback(i=>{e.length!==0&&(i.preventDefault(),l(a===null?{mouseX:i.clientX+2,mouseY:i.clientY-6}:null))},[a,e.length]),c=s.useCallback(()=>{l(null)},[]),u=s.useCallback(i=>{t(i),c()},[c,t]);return r.jsxs("div",{onContextMenu:o,style:{cursor:"context-menu"},children:[n,r.jsx(b.Menu,{open:a!==null,onClose:c,anchorReference:"anchorPosition",anchorPosition:a!==null?{top:a.mouseY,left:a.mouseX}:void 0,children:e.map(i=>r.jsxs(b.MenuItem,{onClick:()=>u(i.value),children:[i.icon&&r.jsx(b.ListItemIcon,{children:i.icon}),r.jsx(b.ListItemText,{children:i.displayText}),i.shortcut&&r.jsx(b.ListItemText,{sx:{pl:2,textAlign:"right"},children:i.shortcut})]},i.value))})]})}function Ue({canIdentifier:e,canIdentifierType:t,onCanIdentifierChange:n,onErrorsChange:a=void 0,showSelectMessageDialogChange:l=void 0,showSelectSignalDialogChange:o=void 0,disabled:c=!1,disableSelectMessageButton:u=!1,disableSelectSignalButton:i=!1,hideSection:d=!1,hideSelectMessageButton:g=!1,showSelectSignalButton:f=!1,collapsible:I=!1,collapsed:N=!1,collapsedChange:x=void 0}){const m=_.useLocalizedStrings(),h=_.useNumericRadix(),$=ae(),p=ae(),L=de($,p),[C,v]=s.useState(!1);s.useEffect(()=>{a&&a(C)},[C,a]);const[k,S]=s.useState(!1),[F,E]=s.useState(t);s.useEffect(()=>{E(t)},[t]);const A=s.useCallback(P=>{E(P?"extended":"standard")},[]),y=s.useCallback(P=>{let w=P;const M=parseInt(w,w.startsWith("0x")?16:h);if(F==="extended"){if(Number.isNaN(M)||M<0||M>536870911)return Number.isNaN(M)||n(`${M.toString(h).toUpperCase()}`,F),{val:P,err:!0}}else if(F==="standard"&&(Number.isNaN(M)||M<0||M>2047))return Number.isNaN(M)||n(`${M.toString(h).toUpperCase()}`,F),{val:P,err:!0};return n(`${M.toString(h).toUpperCase()}`,F),S(w.startsWith("0x")),{val:P,err:!1}},[F,h,n]),R=s.useCallback(P=>{if(P!==F){let w=!1;const M=parseInt(e,e.startsWith("0x")?16:h);P==="standard"?(Number.isNaN(M)||M<0||M>2047)&&(w=!0):P==="extended"&&(Number.isNaN(M)||M<0||M>536870911)&&(w=!0),n(e,P),v(w)}},[F,e,n,h]),U=s.useMemo(()=>{const P=parseInt(e,e.startsWith("0x")?16:h);return k?`0x${P.toString(16).toUpperCase()}`:P.toString(h).toUpperCase()},[k,e,h]),K=s.useMemo(()=>r.jsxs(re,{spacing:4,children:[r.jsx(V,{id:"constant-id",fullWidth:!0,value:U,error:C,onValidate:y,onErrorChange:v,disabled:c}),r.jsx(Ce,{id:"id-type",label:m.getString("LabelUseExtendedIdentifier"),checked:F==="extended",onChange:P=>{A(P),R(P?"extended":"standard")},disabled:c}),!g&&r.jsx(se,{columnItem:$,width:L,children:r.jsx(Y,{disabled:u,onClick:()=>{l&&l(!0)},variant:"outlined",size:"large",children:m.getString("ButtonSelectMessage")})}),f&&r.jsx(se,{columnItem:p,width:L,children:r.jsx(Y,{disabled:i,onClick:()=>{o&&o(!0)},variant:"outlined",size:"large",children:m.getString("ButtonSelectSignal")})})]}),[U,F,c,C,m,R,y]);return d?K:r.jsx(oe,{text:m.getString("LabelCanIdentifier"),summary:e,collapsible:I,collapsed:N,collapsedChange:x,children:K})}function $n({frame:e,onFrameChange:t,onErrorsChange:n=void 0,showSelectMessageDialogChange:a=void 0,showSelectSignalDialogChange:l=void 0,disableSelectMessageButton:o=!1,disableSelectSignalButton:c=!1,hideSection:u=!1,hideSelectMessageButton:i=!1,showSelectSignalButton:d=!1,collapsible:g=!1,collapsed:f=!1,collapsedChange:I=void 0}){var $;const N=_.useNumericRadix(),x=s.useMemo(()=>{var p,L;return((L=(p=e.canFrameFlags)==null?void 0:p.flags)==null?void 0:L.includes(Z.CanFrameFlag.CAN_FRAME_FLAG_EXT))===!0?"extended":"standard"},[($=e.canFrameFlags)==null?void 0:$.flags]),m=s.useMemo(()=>`${(e.id??0).toString(N).toUpperCase()}`,[x,e.id,N]),h=s.useCallback((p,L)=>{var F;const C=parseInt(p,p.startsWith("0x")?16:N),v=(F=e.canFrameFlags)!=null&&F.flags?{flags:[...e.canFrameFlags.flags]}:{flags:[]},k=v.flags.indexOf(Z.CanFrameFlag.CAN_FRAME_FLAG_STD);k!==-1&&v.flags.splice(k,1);const S=v.flags.indexOf(Z.CanFrameFlag.CAN_FRAME_FLAG_EXT);if(S!==-1&&v.flags.splice(S,1),L==="extended"?v.flags.push(Z.CanFrameFlag.CAN_FRAME_FLAG_EXT):L==="standard"&&v.flags.push(Z.CanFrameFlag.CAN_FRAME_FLAG_STD),C!==e.id||!ue(v,e.canFrameFlags)){const E={...e};E.id=C,E.canFrameFlags=v,t(E)}},[e,N,t]);return r.jsx(Ue,{canIdentifier:m,canIdentifierType:x,onCanIdentifierChange:h,onErrorsChange:n,showSelectMessageDialogChange:a,showSelectSignalDialogChange:l,disableSelectMessageButton:o,disableSelectSignalButton:c,hideSection:u,hideSelectMessageButton:i,showSelectSignalButton:d,collapsible:g,collapsed:f,collapsedChange:I})}function Te({canIdentifier:e,identifierGeneratorType:t,minCanIdentifier:n,maxCanIdentifier:a,canIdentifierType:l,onChange:o,onErrorsChange:c=void 0,canIdentifierGeneratorSettingsError:u=void 0,disabled:i=!1,collapsible:d=!1,collapsed:g=!1,collapsedChange:f=void 0,showSelectMessageDialogChange:I,showSignalValuesTable:N}){const x=_.useLocalizedStrings(),m=_.useNumericRadix(),[h,$]=s.useState(!1),[p,L]=s.useState(!1),[C,v]=s.useState(!1),[k,S]=s.useState(!1),[F,E]=s.useState(!1),[A,y]=s.useState(!1),[R,U]=s.useState(l);s.useEffect(()=>{U(l)},[l]);const K=s.useCallback(W=>{U(W?"extended":"standard")},[]),P=s.useCallback(W=>{let z=W;const D=parseInt(z,z.startsWith("0x")?16:m);if(R==="extended"){if(Number.isNaN(D)||D<0||D>536870911)return Number.isNaN(D)||o(`${D.toString(m).toUpperCase()}`,t,n,a,R),{val:W,err:!0}}else if(R==="standard"&&(Number.isNaN(D)||D<0||D>2047))return Number.isNaN(D)||o(`${D.toString(m).toUpperCase()}`,t,n,a,R),{val:W,err:!0};return o(`${D.toString(m).toUpperCase()}`,t,n,a,R),S(z.startsWith("0x")),{val:W,err:!1}},[R,t,a,n,m,o]),w=s.useCallback((W,z,D,X)=>{let ee=W;const Q=parseInt(ee,ee.startsWith("0x")?16:m);if(z==="extended"){if(Number.isNaN(Q)||Q<0||Q>536870911)return Number.isNaN(Q)||D(`${Q.toString(m).toUpperCase()}`),{val:W,err:!0,id:Q}}else if(z==="standard"&&(Number.isNaN(Q)||Q<0||Q>2047))return Number.isNaN(Q)||D(`${Q.toString(m).toUpperCase()}`),{val:W,err:!0,id:Q};return D(`${Q.toString(m).toUpperCase()}`),X(ee.startsWith("0x")),{val:W,err:!1,id:Q}},[m]),M=s.useCallback(W=>{const z=w(W,R,X=>o(e,t,X,a,R),X=>E(X)),D=w(a,R,()=>{},()=>{});return z.id>=D.id?z.err=!0:D.err&&v(D.err),{val:z.val,err:z.err}},[e,R,t,a,o,w]),j=s.useCallback(W=>{const z=w(W,R,X=>o(e,t,n,X,R),X=>y(X)),D=w(n,R,()=>{},()=>{});return D.id>=z.id?z.err=!0:D.err&&L(D.err),{val:z.val,err:z.err}},[e,R,t,n,o,w]),B=s.useCallback(W=>{if(W!==R){let z=!1,D=e;const X=parseInt(D,D.startsWith("0x")?16:m);W==="standard"?((Number.isNaN(X)||X<0||X>2047)&&(z=!0),$(z)):W==="extended"&&((Number.isNaN(X)||X<0||X>536870911)&&(z=!0),$(z));let ee=!1,Q=n;const te=parseInt(Q,Q.startsWith("0x")?16:m);W==="standard"?(Number.isNaN(te)||te<0||te>2047)&&(ee=!0):W==="extended"&&(Number.isNaN(te)||te<0||te>536870911)&&(ee=!0);let ge=!1,ve=a;const ne=parseInt(ve,ve.startsWith("0x")?16:m);W==="standard"?(Number.isNaN(ne)||ne<0||ne>2047)&&(ge=!0):W==="extended"&&(Number.isNaN(ne)||ne<0||ne>536870911)&&(ge=!0),!Number.isNaN(te)&&!Number.isNaN(ne)&&te>=ne&&(ee=!0,ge=!0),L(ee),v(ge),o(e,t,n,a,W)}},[R,e,n,a,o,t,m]),O=s.useCallback(W=>{N(W==="constant"),o(e,W,n,a,R)},[R,e,n,a,o]);s.useEffect(()=>{c&&c(t==="constant"&&h||(t==="random"||t==="scan")&&(p||C)),u&&(u.current=t==="constant"&&h||(t==="random"||t==="scan")&&(p||C))},[h,u,t,C,p,c]);const T=ae(),q=de(T),H=s.useMemo(()=>{const W=parseInt(e,e.startsWith("0x")?16:m);return k?`0x${W.toString(16).toUpperCase()}`:W.toString(m).toUpperCase()},[k,e,m]),J=s.useMemo(()=>{const W=parseInt(n,n.startsWith("0x")?16:m);return F?`0x${W.toString(16).toUpperCase()}`:W.toString(m).toUpperCase()},[F,n,m]),G=s.useMemo(()=>{const W=parseInt(a,a.startsWith("0x")?16:m);return A?`0x${W.toString(16).toUpperCase()}`:W.toString(m).toUpperCase()},[A,a,m]);return r.jsx(oe,{text:x.getString("LabelCanIdentifier"),summary:t==="constant"?e:t==="random"?`${x.getString("LabelRandom")} ${n}-${a}`:`${x.getString("LabelScan")} ${n}-${a}`,collapsible:d,collapsed:g,collapsedChange:f,children:r.jsxs(Ne,{id:"identifier-radio-group",value:t,onChange:W=>{O(W)},children:[r.jsxs(re,{spacing:4,children:[r.jsx(ie,{id:"constant-id-radio",value:"constant",label:x.getString("LabelConstantIdentifier"),sx:{marginLeft:"-11px !important"},disabled:i}),r.jsx(V,{id:"constant-id",fullWidth:!0,value:H,error:!i&&t==="constant"&&h,onErrorChange:$,onValidate:P,disabled:i||t!=="constant",required:t==="constant"}),r.jsx(Ce,{id:"id-type",label:x.getString("LabelUseExtendedIdentifier"),checked:R==="extended",onChange:W=>{K(W),B(W?"extended":"standard")},disabled:i}),r.jsx(se,{columnItem:T,width:q,children:r.jsx(Y,{onClick:()=>I(!0),variant:"outlined",size:"large",children:x.getString("ButtonSelectMessage")})})]}),r.jsxs(re,{spacing:4,children:[r.jsx(ie,{id:"random-identifier-radio",value:"random",label:x.getString("LabelRandomIdentifier"),sx:{marginLeft:"-11px !important"},disabled:i}),r.jsx(ie,{id:"scan-identifier-radio",value:"scan",label:x.getString("LabelScanIdentifier"),disabled:i}),r.jsx(V,{id:"identifier-min",disabled:i||t!=="random"&&t!=="scan",required:t==="random"||t==="scan",fullWidth:!0,value:J,error:!i&&(t==="random"||t==="scan")&&p,onErrorChange:L,onValidate:M,startAdornment:x.getString("LabelFrom"),sxStartAdornment:{marginBottom:.8}}),r.jsx(V,{id:"identifier-max",disabled:i||t!=="random"&&t!=="scan",required:t==="random"||t==="scan",fullWidth:!0,value:G,error:!i&&(t==="random"||t==="scan")&&C,onErrorChange:v,onValidate:j,startAdornment:x.getString("LabelTo"),sxStartAdornment:{marginBottom:.8}})]})]})})}function Ln({settings:e,onSettingsChange:t,onErrorsChange:n=void 0,canIdentifierGeneratorSettingsError:a=void 0,disabled:l=!1,collapsible:o=!1,collapsed:c=!1,collapsedChange:u=void 0,showSelectMessageDialogChange:i,showSignalValuesTable:d}){var $,p,L;const g=_.useNumericRadix(),f=s.useMemo(()=>{var C,v,k;return((k=(v=(C=e.frame)==null?void 0:C.canFrameFlags)==null?void 0:v.flags)==null?void 0:k.includes(Z.CanFrameFlag.CAN_FRAME_FLAG_EXT))===!0?"extended":"standard"},[(p=($=e.frame)==null?void 0:$.canFrameFlags)==null?void 0:p.flags]),I=s.useMemo(()=>{var v;return`${(((v=e.frame)==null?void 0:v.id)??0).toString(g).toUpperCase()}`},[g,(L=e.frame)==null?void 0:L.id]),N=s.useMemo(()=>`${(e.identifierMin??0).toString(g).toUpperCase()}`,[g,e.identifierMin]),x=s.useMemo(()=>`${(e.identifierMax??0).toString(g).toUpperCase()}`,[g,e.identifierMax]),m=s.useMemo(()=>e.randomIdentifier===!0?"random":e.scanIdentifier===!0?"scan":"constant",[e.randomIdentifier,e.scanIdentifier]),h=s.useCallback((C,v,k,S,F)=>{var w,M,j,B;const E=F,A=parseInt(C,C.startsWith("0x")?16:g),y=(M=(w=e.frame)==null?void 0:w.canFrameFlags)!=null&&M.flags?{flags:[...e.frame.canFrameFlags.flags]}:{flags:[]},R=y.flags.indexOf(Z.CanFrameFlag.CAN_FRAME_FLAG_STD),U=parseInt(k,k.startsWith("0x")?16:g),K=parseInt(S,S.startsWith("0x")?16:g),P=y.flags.indexOf(Z.CanFrameFlag.CAN_FRAME_FLAG_EXT);if(R!==-1&&y.flags.splice(R,1),P!==-1&&y.flags.splice(P,1),E==="extended"?y.flags.push(Z.CanFrameFlag.CAN_FRAME_FLAG_EXT):E==="standard"&&y.flags.push(Z.CanFrameFlag.CAN_FRAME_FLAG_STD),A!==((j=e.frame)==null?void 0:j.id)||!ue(y,(B=e.frame)==null?void 0:B.canFrameFlags)||v!==m||U!==e.identifierMin||K!==e.identifierMax){const O={...e};O.frame=e.frame?{...e.frame}:Z.WriteFrame.fromPartial({id:0,canFrameFlags:{flags:[Z.CanFrameFlag.CAN_FRAME_FLAG_STD]},data:Array.from({length:8},()=>0)}),O.frame.id=A,O.frame.canFrameFlags=y,v==="constant"?(O.randomIdentifier=!1,O.scanIdentifier=!1):v==="random"?(O.randomIdentifier=!0,O.scanIdentifier=!1):v==="scan"&&(O.randomIdentifier=!1,O.scanIdentifier=!0),O.identifierMin=U,O.identifierMax=K,t(O)}},[m,g,t,e]);return r.jsx(Te,{canIdentifier:I,identifierGeneratorType:m,minCanIdentifier:N,maxCanIdentifier:x,canIdentifierType:f,onChange:h,onErrorsChange:n,canIdentifierGeneratorSettingsError:a,disabled:l,collapsible:o,collapsed:c,collapsedChange:u,showSelectMessageDialogChange:i,showSignalValuesTable:d})}function En(e,t,n,a){const[l,o]=s.useState(""),[c,u]=s.useState([]);return s.useEffect(()=>{u(i=>{var g;const d=(g=n==null?void 0:n.sources)==null?void 0:g.filter(f=>{var N,x;const I=(x=(N=a==null?void 0:a.find(m=>{var h;return m.nodeId===((h=f.baseNode)==null?void 0:h.identifier)}))==null?void 0:N.errorStatus)==null?void 0:x.errors;return I===void 0||I===""?f.baseNode&&f.channelSettings&&f.channelSettings.canConfiguration&&(!t||f.channelSettings.canConfiguration.silentMode!==!0):!1}).map(f=>({value:f.channelSettings.channelNumber,displayText:f.baseNode.name,canFdMode:f.channelSettings.canConfiguration.canMode>0,identifier:f.baseNode.identifier}));return!d||ue(i,d)?i:d})},[t,n==null?void 0:n.sources,a]),s.useEffect(()=>{const i=c.find(d=>d.identifier===e);o(i?d=>i.value===d?d:i.value:"")},[e,c]),{channelOptions:c,selectedChannelOption:l}}function Rn({channelIdentifier:e,onChannelIdentifierChange:t,hideSilentChannels:n=!1,hideSectionControl:a=!1,disabled:l=!1,collapsible:o=!1,collapsed:c=!1,collapsedChange:u=void 0}){var x;const i=_.useMeasurementSetup(),d=_.useMeasurementStatus(),g=_.useLocalizedStrings(),{channelOptions:f,selectedChannelOption:I}=En(e,n===!0,i,d),N=s.useCallback(m=>{const h=f.find(L=>L.value===m),$=(h==null?void 0:h.identifier)??"",p=(h==null?void 0:h.canFdMode)===!0;t($,p)},[f,t]);return a===!0?r.jsx(me,{id:"channel",label:g.getString("LabelChannel"),fullWidth:!0,value:I,onChange:N,options:f,required:!0,disabled:l}):r.jsx(oe,{text:g.getString("LabelChannel"),summary:I===""||(x=f.find(m=>m.value===I))==null?void 0:x.displayText,collapsible:o,collapsed:c,collapsedChange:u,children:r.jsx(me,{id:"channel",label:g.getString("LabelChannel"),fullWidth:!0,value:I,onChange:N,options:f,required:!0,disabled:l})})}function wn(e,t,n,a){const[l,o]=s.useState(""),[c,u]=s.useState([]);return s.useEffect(()=>{u(i=>{var g;const d=(g=n==null?void 0:n.sources)==null?void 0:g.filter(f=>{var N,x;const I=(x=(N=a==null?void 0:a.find(m=>{var h;return m.nodeId===((h=f.baseNode)==null?void 0:h.identifier)}))==null?void 0:N.errorStatus)==null?void 0:x.errors;return(I===void 0||I==="")&&f.channelSettings!==void 0&&f.channelSettings.linConfiguration!==void 0&&f.channelSettings.linConfiguration.masterMode===t?f.baseNode&&f.channelSettings&&f.channelSettings.linConfiguration:!1}).map(f=>({value:f.channelSettings.channelNumber,displayText:f.baseNode.name,identifier:f.baseNode.identifier}));return!d||ue(i,d)?i:d})},[n==null?void 0:n.sources,a]),s.useEffect(()=>{const i=c.find(d=>d.identifier===e);o(i?d=>i.value===d?d:i.value:"")},[e,c]),{channelOptions:c,selectedChannelOption:l}}function yn({channelIdentifier:e,selectMasterChannels:t,onChannelIdentifierChange:n,hideSectionControl:a=!1,disabled:l=!1,collapsible:o=!1,collapsed:c=!1,collapsedChange:u=void 0}){var x;const i=_.useMeasurementSetup(),d=_.useMeasurementStatus(),g=_.useLocalizedStrings(),{channelOptions:f,selectedChannelOption:I}=wn(e,t,i,d),N=s.useCallback(m=>{const h=f.find(p=>p.value===m),$=(h==null?void 0:h.identifier)??"";n($)},[f,n]);return a===!0?r.jsx(me,{id:"channel",label:t?g.getString("LabelChannelLinModeMaster"):g.getString("LabelChannelLinModeSlave"),fullWidth:!0,value:I,onChange:N,options:f,required:!0,disabled:l}):r.jsx(oe,{text:t?g.getString("LabelChannelLinModeMaster"):g.getString("LabelChannelLinModeSlave"),summary:I===""||(x=f.find(m=>m.value===I))==null?void 0:x.displayText,collapsible:o,collapsed:c,collapsedChange:u,children:r.jsx(me,{id:"channel",label:t?g.getString("LabelChannelLinModeMaster"):g.getString("LabelChannelLinModeSlave"),fullWidth:!0,value:I,onChange:N,options:f,required:!0,disabled:l})})}function De({linIdentifier:e,onLinIdentifierChange:t,onErrorsChange:n=void 0,showSelectMessageDialogChange:a=void 0,showSelectSignalDialogChange:l=void 0,disabled:o=!1,disableSelectMessageButton:c=!1,disableSelectSignalButton:u=!1,hideSection:i=!1,hideSelectMessageButton:d=!1,showSelectSignalButton:g=!1,collapsible:f=!1,collapsed:I=!1,collapsedChange:N=void 0}){const x=_.useLocalizedStrings(),m=_.useNumericRadix(),h=ae(),$=ae(),p=de(h,$),[L,C]=s.useState(!1);s.useEffect(()=>{n&&n(L)},[L,n]);const[v,k]=s.useState(!1),S=s.useCallback(A=>{let y=A;const R=parseInt(y,y.startsWith("0x")?16:m);return Number.isNaN(R)||R<0||R>63?(Number.isNaN(R)||t(`${R.toString(m).toUpperCase()}`),{val:A,err:!0}):(t(`${R.toString(m).toUpperCase()}`),k(y.startsWith("0x")),{val:A,err:!1})},[m,t]),F=s.useMemo(()=>{const A=parseInt(e,e.startsWith("0x")?16:m);return v?`0x${A.toString(16).toUpperCase()}`:A.toString(m).toUpperCase()},[v,e,m]),E=s.useMemo(()=>r.jsxs(re,{spacing:4,children:[r.jsx(V,{id:"constant-id",fullWidth:!0,value:F,error:L,onValidate:S,onErrorChange:C,disabled:o}),!d&&r.jsx(se,{columnItem:h,width:p,children:r.jsx(Y,{disabled:c,onClick:()=>{a&&a(!0)},variant:"outlined",size:"large",children:x.getString("ButtonSelectMessage")})}),g&&r.jsx(se,{columnItem:$,width:p,children:r.jsx(Y,{disabled:u,onClick:()=>{l&&l(!0)},variant:"outlined",size:"large",children:x.getString("ButtonSelectSignal")})})]}),[F,o,L,x,S]);return i?E:r.jsx(oe,{text:x.getString("LabelLinIdentifier"),summary:e,collapsible:f,collapsed:I,collapsedChange:N,children:E})}function An({frame:e,onFrameChange:t,onErrorsChange:n=void 0,showSelectMessageDialogChange:a=void 0,showSelectSignalDialogChange:l=void 0,disableSelectMessageButton:o=!1,disableSelectSignalButton:c=!1,hideSection:u=!1,hideSelectMessageButton:i=!1,showSelectSignalButton:d=!1,collapsible:g=!1,collapsed:f=!1,collapsedChange:I=void 0}){const N=_.useNumericRadix(),x=s.useMemo(()=>`${(e.id??0).toString(N).toUpperCase()}`,[e.id,N]),m=s.useCallback(h=>{var L;const $=parseInt(h,h.startsWith("0x")?16:N),p=(L=e.linFrameFlags)!=null&&L.flags?{flags:[...e.linFrameFlags.flags]}:{flags:[]};if($!==e.id||!ue(p,e.linFrameFlags)){const C={...e};C.id=$,C.linFrameFlags=p,t(C)}},[e,N,t]);return r.jsx(r.Fragment,{children:r.jsx(De,{linIdentifier:x,onLinIdentifierChange:m,onErrorsChange:n,showSelectMessageDialogChange:a,showSelectSignalDialogChange:l,disableSelectMessageButton:o,disableSelectSignalButton:c,hideSection:u,hideSelectMessageButton:i,showSelectSignalButton:d,collapsible:g,collapsed:f,collapsedChange:I})})}function ze({linIdentifier:e,identifierGeneratorType:t,minLinIdentifier:n,maxLinIdentifier:a,onChange:l,onErrorsChange:o=void 0,linIdentifierGeneratorSettingsError:c=void 0,disabled:u=!1,collapsible:i=!1,collapsed:d=!1,collapsedChange:g=void 0,showSelectMessageDialogChange:f,showSignalValuesTable:I}){const N=_.useLocalizedStrings(),x=_.useNumericRadix(),[m,h]=s.useState(!1),[$,p]=s.useState(!1),[L,C]=s.useState(!1),[v,k]=s.useState(!1),[S,F]=s.useState(!1),[E,A]=s.useState(!1),y=s.useCallback(T=>{let q=T;const H=parseInt(q,q.startsWith("0x")?16:x);return Number.isNaN(H)||H<0||H>63?(Number.isNaN(H)||l(`${H.toString(x).toUpperCase()}`,t,n,a),{val:T,err:!0}):(l(`${H.toString(x).toUpperCase()}`,t,n,a),k(q.startsWith("0x")),{val:T,err:!1})},[t,a,n,x,l]),R=s.useCallback((T,q,H)=>{let J=T;const G=parseInt(J,J.startsWith("0x")?16:x);return Nu