fix: build frontend and fix tsc errors blocking the build
vite.config.ts used defineConfig from 'vite' which doesn't accept the 'test' key — switch to 'vitest/config' which extends it. Also type the onChange test helper as (knob: KnobConfig) => void instead of the overly broad ReturnType<typeof vi.fn>. Run npm run build to ship the compiled static assets.
This commit is contained in:
6 files changed
+16
-15
No files matched your search
@@ -0,0 +1,9 @@
|
||||
(function(){const p=document.createElement("link").relList;if(p&&p.supports&&p.supports("modulepreload"))return;for(const N of document.querySelectorAll('link[rel="modulepreload"]'))v(N);new MutationObserver(N=>{for(const Q of N)if(Q.type==="childList")for(const w of Q.addedNodes)w.tagName==="LINK"&&w.rel==="modulepreload"&&v(w)}).observe(document,{childList:!0,subtree:!0});function j(N){const Q={};return N.integrity&&(Q.integrity=N.integrity),N.referrerPolicy&&(Q.referrerPolicy=N.referrerPolicy),N.crossOrigin==="use-credentials"?Q.credentials="include":N.crossOrigin==="anonymous"?Q.credentials="omit":Q.credentials="same-origin",Q}function v(N){if(N.ep)return;N.ep=!0;const Q=j(N);fetch(N.href,Q)}})();var cf={exports:{}},ze={};var Sv;function Im(){if(Sv)return ze;Sv=1;var h=Symbol.for("react.transitional.element"),p=Symbol.for("react.fragment");function j(v,N,Q){var w=null;if(Q!==void 0&&(w=""+Q),N.key!==void 0&&(w=""+N.key),"key"in N){Q={};for(var hl in N)hl!=="key"&&(Q[hl]=N[hl])}else Q=N;return N=Q.ref,{$$typeof:h,type:v,key:w,ref:N!==void 0?N:null,props:Q}}return ze.Fragment=p,ze.jsx=j,ze.jsxs=j,ze}var bv;function Pm(){return bv||(bv=1,cf.exports=Im()),cf.exports}var T=Pm(),ff={exports:{}},X={};var zv;function ly(){if(zv)return X;zv=1;var h=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),v=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),Q=Symbol.for("react.consumer"),w=Symbol.for("react.context"),hl=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),_=Symbol.for("react.memo"),K=Symbol.for("react.lazy"),M=Symbol.for("react.activity"),O=Symbol.iterator;function rl(d){return d===null||typeof d!="object"?null:(d=O&&d[O]||d["@@iterator"],typeof d=="function"?d:null)}var jl={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Bl=Object.assign,_t={};function Vl(d,A,U){this.props=d,this.context=A,this.refs=_t,this.updater=U||jl}Vl.prototype.isReactComponent={},Vl.prototype.setState=function(d,A){if(typeof d!="object"&&typeof d!="function"&&d!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,d,A,"setState")},Vl.prototype.forceUpdate=function(d){this.updater.enqueueForceUpdate(this,d,"forceUpdate")};function pt(){}pt.prototype=Vl.prototype;function Dl(d,A,U){this.props=d,this.context=A,this.refs=_t,this.updater=U||jl}var Cl=Dl.prototype=new pt;Cl.constructor=Dl,Bl(Cl,Vl.prototype),Cl.isPureReactComponent=!0;var vt=Array.isArray;function Hl(){}var J={H:null,A:null,T:null,S:null},Rl=Object.prototype.hasOwnProperty;function mt(d,A,U){var R=U.ref;return{$$typeof:h,type:d,key:A,ref:R!==void 0?R:null,props:U}}function kt(d,A){return mt(d.type,A,d.props)}function wl(d){return typeof d=="object"&&d!==null&&d.$$typeof===h}function G(d){var A={"=":"=0",":":"=2"};return"$"+d.replace(/[=:]/g,function(U){return A[U]})}var gl=/\/+/g;function Ul(d,A){return typeof d=="object"&&d!==null&&d.key!=null?G(""+d.key):A.toString(36)}function tt(d){switch(d.status){case"fulfilled":return d.value;case"rejected":throw d.reason;default:switch(typeof d.status=="string"?d.then(Hl,Hl):(d.status="pending",d.then(function(A){d.status==="pending"&&(d.status="fulfilled",d.value=A)},function(A){d.status==="pending"&&(d.status="rejected",d.reason=A)})),d.status){case"fulfilled":return d.value;case"rejected":throw d.reason}}throw d}function b(d,A,U,R,Z){var W=typeof d;(W==="undefined"||W==="boolean")&&(d=null);var ul=!1;if(d===null)ul=!0;else switch(W){case"bigint":case"string":case"number":ul=!0;break;case"object":switch(d.$$typeof){case h:case p:ul=!0;break;case K:return ul=d._init,b(ul(d._payload),A,U,R,Z)}}if(ul)return Z=Z(d),ul=R===""?"."+Ul(d,0):R,vt(Z)?(U="",ul!=null&&(U=ul.replace(gl,"$&/")+"/"),b(Z,A,U,"",function(Mu){return Mu})):Z!=null&&(wl(Z)&&(Z=kt(Z,U+(Z.key==null||d&&d.key===Z.key?"":(""+Z.key).replace(gl,"$&/")+"/")+ul)),A.push(Z)),1;ul=0;var Kl=R===""?".":R+":";if(vt(d))for(var zl=0;zl<d.length;zl++)R=d[zl],W=Kl+Ul(R,zl),ul+=b(R,A,U,W,Z);else if(zl=rl(d),typeof zl=="function")for(d=zl.call(d),zl=0;!(R=d.next()).done;)R=R.value,W=Kl+Ul(R,zl++),ul+=b(R,A,U,W,Z);else if(W==="object"){if(typeof d.then=="function")return b(tt(d),A,U,R,Z);throw A=String(d),Error("Objects are not valid as a React child (found: "+(A==="[object Object]"?"object with keys {"+Object.keys(d).join(", ")+"}":A)+"). If you meant to render a collection of children, use an array instead.")}return ul}function D(d,A,U){if(d==null)return d;var R=[],Z=0;return b(d,R,"","",function(W){return A.call(U,W,Z++)}),R}function Y(d){if(d._status===-1){var A=d._result;A=A(),A.then(function(U){(d._status===0||d._status===-1)&&(d._status=1,d._result=U)},function(U){(d._status===0||d._status===-1)&&(d._status=2,d._result=U)}),d._status===-1&&(d._status=0,d._result=A)}if(d._status===1)return d._result.default;throw d._result}Line truncated
|
||||
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
|
||||
`+Zn+l+gf}var Ln=!1;function Vn(l,t){if(!l||Ln)return"";Ln=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var u={DetermineComponentFrameRoot:function(){try{if(t){var E=function(){throw Error()};if(Object.defineProperty(E.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(E,[])}catch(r){var g=r}Reflect.construct(l,[],E)}else{try{E.call()}catch(r){g=r}l.call(E.prototype)}}else{try{throw Error()}catch(r){g=r}(E=l())&&typeof E.catch=="function"&&E.catch(function(){})}}catch(r){if(r&&g&&typeof r.stack=="string")return[r.stack,g.stack]}return[null,null]}};u.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var e=Object.getOwnPropertyDescriptor(u.DetermineComponentFrameRoot,"name");e&&e.configurable&&Object.defineProperty(u.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var n=u.DetermineComponentFrameRoot(),c=n[0],i=n[1];if(c&&i){var f=c.split(`
|
||||
`),y=i.split(`
|
||||
`);for(e=u=0;u<f.length&&!f[u].includes("DetermineComponentFrameRoot");)u++;for(;e<y.length&&!y[e].includes("DetermineComponentFrameRoot");)e++;if(u===f.length||e===y.length)for(u=f.length-1,e=y.length-1;1<=u&&0<=e&&f[u]!==y[e];)e--;for(;1<=u&&0<=e;u--,e--)if(f[u]!==y[e]){if(u!==1||e!==1)do if(u--,e--,0>e||f[u]!==y[e]){var S=`
|
||||
`+f[u].replace(" at new "," at ");return l.displayName&&S.includes("<anonymous>")&&(S=S.replace("<anonymous>",l.displayName)),S}while(1<=u&&0<=e);break}}}finally{Ln=!1,Error.prepareStackTrace=a}return(a=l?l.displayName||l.name:"")?Aa(a):""}function Uv(l,t){switch(l.tag){case 26:case 27:case 5:return Aa(l.type);case 16:return Aa("Lazy");case 13:return l.child!==t&&t!==null?Aa("Suspense Fallback"):Aa("Suspense");case 19:return Aa("SuspenseList");case 0:case 15:return Vn(l.type,!1);case 11:return Vn(l.type.render,!1);case 1:return Vn(l.type,!0);case 31:return Aa("Activity");default:return""}}function rf(l){try{var t="",a=null;do t+=Uv(l,a),a=l,l=l.return;while(l);return t}catch(u){return`
|
||||
Error generating stack: `+u.message+`
|
||||
`+u.stack}}var Kn=Object.prototype.hasOwnProperty,Jn=h.unstable_scheduleCallback,wn=h.unstable_cancelCallback,Nv=h.unstable_shouldYield,jv=h.unstable_requestPaint,at=h.unstable_now,Cv=h.unstable_getCurrentPriorityLevel,Sf=h.unstable_ImmediatePriority,bf=h.unstable_UserBlockingPriority,Ae=h.unstable_NormalPriority,Hv=h.unstable_LowPriority,zf=h.unstable_IdlePriority,Rv=h.log,qv=h.unstable_setDisableYieldValue,Du=null,ut=null;function It(l){if(typeof Rv=="function"&&qv(l),ut&&typeof ut.setStrictMode=="function")try{ut.setStrictMode(Du,l)}catch{}}var et=Math.clz32?Math.clz32:Yv,xv=Math.log,Bv=Math.LN2;function Yv(l){return l>>>=0,l===0?32:31-(xv(l)/Bv|0)|0}var _e=256,pe=262144,Oe=4194304;function _a(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function Me(l,t,a){var u=l.pendingLanes;if(u===0)return 0;var e=0,n=l.suspendedLanes,c=l.pingedLanes;l=l.warmLanes;var i=u&134217727;return i!==0?(u=i&~n,u!==0?e=_a(u):(c&=i,c!==0?e=_a(c):a||(a=i&~l,a!==0&&(e=_a(a))))):(i=u&~n,i!==0?e=_a(i):c!==0?e=_a(c):a||(a=u&~l,a!==0&&(e=_a(a)))),e===0?0:t!==0&&t!==e&&(t&n)===0&&(n=e&-e,a=t&-t,n>=a||n===32&&(a&4194048)!==0)?t:e}function Uu(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function Gv(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Tf(){var l=Oe;return Oe<<=1,(Oe&62914560)===0&&(Oe=4194304),l}function Wn(l){for(var t=[],a=0;31>a;a++)t.push(l);return t}function Nu(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function Xv(l,t,a,u,e,n){var c=l.pendingLanes;l.pendingLanes=a,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=a,l.entangledLanes&=a,l.errorRecoveryDisabledLanes&=a,l.shellSuspendCounter=0;var i=l.entanglements,f=l.expirationTimes,y=l.hiddenUpdates;for(a=c&~a;0<a;){var S=31-et(a),E=1<<S;i[S]=0,f[S]=-1;var g=y[S];if(g!==null)for(y[S]=null,S=0;S<g.length;S++){var r=g[S];r!==null&&(r.lane&=-536870913)}a&=~E}u!==0&&Ef(l,u,0),n!==0&&e===0&&l.tag!==0&&(l.suspendedLanes|=n&~(c&~t))}function Ef(l,t,a){l.pendingLanes|=t,l.suspendedLanes&=~t;var u=31-et(t);l.entangledLanes|=t,l.entanglements[u]=l.entanglements[u]|1073741824|a&261930}function Af(l,t){var a=l.entangledLanes|=t;for(l=l.entanglements;a;){var u=31-et(a),e=1<<u;e&t|l[u]&t&&(l[u]|=t),a&=~e}}function _f(l,t){var a=t&-t;return a=(a&42)!==0?1:$n(a),(a&(l.suspendedLanes|t))!==0?0:a}function $n(l){switch(l){case 2:l=1;break;case 8:l=4;break;case 32:l=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:l=128;break;case 268435456:l=134217728;break;default:l=0}return l}function Fn(l){return l&=-l,2<l?8<l?(l&134217727)!==0?32:268435456:8:2}function pf(){var l=D.p;return l!==0?l:(l=window.event,l===void 0?32:ov(l.type))}function Of(l,t){var a=D.p;try{return D.p=l,t()}finally{D.p=a}}var Pt=Math.random().toString(36).slice(2),Yl="__reactFiber$"+Pt,Wl="__reactProps$"+Pt,Za="__reactContainer$"+Pt,kn="__reactEvents$"+Pt,Qv="__reactListeners$"+Pt,Zv="__reactHandles$"+Pt,Mf="__reactResources$"+Pt,ju="__reactMarker$"+Pt;function In(l){delete l[Yl],delete l[Wl],delete l[kn],delete l[Qv],delete l[Zv]}function La(l){var t=l[Yl];if(t)return t;for(var a=l.parentNode;a;){if(t=a[Za]||a[Yl]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(l=$o(l);l!==null;){if(a=l[Yl])return a;l=$o(l)}return t}l=a,a=l.parentNode}return null}function Va(l){if(l=l[Yl]||l[Za]){var t=l.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return l}return null}function Cu(l){var t=l.tag;if(t===5||t===26||t===27||t===6)return l.stateNode;throw Error(v(33))}function Ka(l){var t=l[Mf];return t||(t=l[Mf]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function ql(l){l[ju]=!0}var Df=new Set,Uf={};function pa(l,t){Ja(l,t),Ja(l+"Capture",t)}function Ja(l,t){for(Uf[l]=t,l=0;l<t.length;l++)Df.add(t[l])}var Lv=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u21
Line truncated
|
||||
`).replace(zm,"")}function Go(l,t){return t=Yo(t),Yo(l)===t}function fl(l,t,a,u,e,n){switch(a){case"children":typeof u=="string"?t==="body"||t==="textarea"&&u===""||Wa(l,u):(typeof u=="number"||typeof u=="bigint")&&t!=="body"&&Wa(l,""+u);break;case"className":Ue(l,"class",u);break;case"tabIndex":Ue(l,"tabindex",u);break;case"dir":case"role":case"viewBox":case"width":case"height":Ue(l,a,u);break;case"style":Yf(l,u,n);break;case"data":if(t!=="object"){Ue(l,"data",u);break}case"src":case"href":if(u===""&&(t!=="a"||a!=="href")){l.removeAttribute(a);break}if(u==null||typeof u=="function"||typeof u=="symbol"||typeof u=="boolean"){l.removeAttribute(a);break}u=je(""+u),l.setAttribute(a,u);break;case"action":case"formAction":if(typeof u=="function"){l.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof n=="function"&&(a==="formAction"?(t!=="input"&&fl(l,t,"name",e.name,e,null),fl(l,t,"formEncType",e.formEncType,e,null),fl(l,t,"formMethod",e.formMethod,e,null),fl(l,t,"formTarget",e.formTarget,e,null)):(fl(l,t,"encType",e.encType,e,null),fl(l,t,"method",e.method,e,null),fl(l,t,"target",e.target,e,null)));if(u==null||typeof u=="symbol"||typeof u=="boolean"){l.removeAttribute(a);break}u=je(""+u),l.setAttribute(a,u);break;case"onClick":u!=null&&(l.onclick=Rt);break;case"onScroll":u!=null&&F("scroll",l);break;case"onScrollEnd":u!=null&&F("scrollend",l);break;case"dangerouslySetInnerHTML":if(u!=null){if(typeof u!="object"||!("__html"in u))throw Error(v(61));if(a=u.__html,a!=null){if(e.children!=null)throw Error(v(60));l.innerHTML=a}}break;case"multiple":l.multiple=u&&typeof u!="function"&&typeof u!="symbol";break;case"muted":l.muted=u&&typeof u!="function"&&typeof u!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(u==null||typeof u=="function"||typeof u=="boolean"||typeof u=="symbol"){l.removeAttribute("xlink:href");break}a=je(""+u),l.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":u!=null&&typeof u!="function"&&typeof u!="symbol"?l.setAttribute(a,""+u):l.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":u&&typeof u!="function"&&typeof u!="symbol"?l.setAttribute(a,""):l.removeAttribute(a);break;case"capture":case"download":u===!0?l.setAttribute(a,""):u!==!1&&u!=null&&typeof u!="function"&&typeof u!="symbol"?l.setAttribute(a,u):l.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":u!=null&&typeof u!="function"&&typeof u!="symbol"&&!isNaN(u)&&1<=u?l.setAttribute(a,u):l.removeAttribute(a);break;case"rowSpan":case"start":u==null||typeof u=="function"||typeof u=="symbol"||isNaN(u)?l.removeAttribute(a):l.setAttribute(a,u);break;case"popover":F("beforetoggle",l),F("toggle",l),De(l,"popover",u);break;case"xlinkActuate":Ht(l,"http://www.w3.org/1999/xlink","xlink:actuate",u);break;case"xlinkArcrole":Ht(l,"http://www.w3.org/1999/xlink","xlink:arcrole",u);break;case"xlinkRole":Ht(l,"http://www.w3.org/1999/xlink","xlink:role",u);break;case"xlinkShow":Ht(l,"http://www.w3.org/1999/xlink","xlink:show",u);break;case"xlinkTitle":Ht(l,"http://www.w3.org/1999/xlink","xlink:title",u);break;case"xlinkType":Ht(l,"http://www.w3.org/1999/xlink","xlink:type",u);break;case"xmlBase":Ht(l,"http://www.w3.org/XML/1998/namespace","xml:base",u);break;case"xmlLang":Ht(l,"http://www.w3.org/XML/1998/namespace","xml:lang",u);break;case"xmlSpace":Ht(l,"http://www.w3.org/XML/1998/namespace","xml:space",u);break;case"is":De(l,"is",u);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Wv.get(a)||a,De(l,a,u))}}function Zi(l,t,a,u,e,n){switch(a){case"style":Yf(l,u,n);break;case"dangerouslySetInnerHTML":if(u!=null){if(typeof u!="object"||!("__html"in u))throw Error(v(61));if(a=u.__html,a!=null){if(e.children!=null)throw Error(v(60));l.innerHTML=a}}break;case"children":typeof u=="string"?Wa(l,u):(typeof u=="number"||typeof u=="bigint")&&Wa(l,""+u);break;case"onScroll":u!=null&&F("scroll",l);break;case"onScrollEnd":u!=null&&F("scrollend",l);break;case"onClick":u!=null&&(l.onclick=Rt);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML"
Line truncated
|
||||
+1
-1
@@ -1 +1 @@
|
||||
:root{--bg: #0d1117;--surface: #161b22;--surface-2: #21262d;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--accent-dim: #1f3a5f;--success: #3fb950;--danger: #f85149;--warning: #d29922;--radius: 8px;--gap: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.6;min-height:100dvh}h2{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}input[type=text],input[type=number],select,textarea{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s}input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--accent)}select{cursor:pointer}textarea{resize:vertical;min-height:60px}input[type=color]{width:36px;height:36px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-shrink:0}button{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-family:inherit;font-weight:500;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}button:active{opacity:.75}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#000;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:#79b8ff;border-color:#79b8ff}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-sm{padding:4px 10px;font-size:12px}#app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:var(--gap);padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border)}#app-header h1{font-size:16px;font-weight:700;letter-spacing:.04em;flex:1}#dirty-badge{font-size:11px;padding:2px 8px;border-radius:20px;background:var(--warning);color:#000;font-weight:600}main{max-width:1100px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:28px}#loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;color:var(--text-muted);font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}#connection .fields{display:flex;gap:var(--gap);flex-wrap:wrap}#connection .field{flex:1;min-width:160px}#global-leds .fields{display:flex;gap:var(--gap);align-items:flex-end;flex-wrap:wrap}#global-leds .field{flex:1;min-width:120px}.color-row{display:flex;align-items:center;gap:8px}.color-hex{font-size:12px;color:var(--text-muted);font-family:monospace}.led-preview{margin-top:12px;height:8px;border-radius:4px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--gap)}.knob-card,.button-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.knob-card .card-title,.button-card .card-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.card-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:11px;font-weight:700}.led-override-toggle{font-size:11px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none;background:none;border:none;padding:0;font-family:inherit}.led-override-toggle:hover{color:var(--accent)}.led-override-panel{display:none;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.led-override-panel.open{display:flex}.led-override-panel .color-row{flex-wrap:wrap;gap:6px}#presets .save-row{display:flex;gap:var(--gap);align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}#presets .save-row .field{flex:1;min-width:180px}.preset-list{display:flex;flex-direction:column;gap:8px}.preset-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.preset-item .preset-name{flex:1;font-weight:500;font-size:13px}.preset-item .preset-actions{display:flex;gap:6px}#toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{padding:10px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;color:#fff;animation:toast-in .2s ease,toaLine truncated
|
||||
:root{--bg: #0d1117;--surface: #161b22;--surface-2: #21262d;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--accent-dim: #1f3a5f;--success: #3fb950;--danger: #f85149;--warning: #d29922;--radius: 8px;--gap: 16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.6;min-height:100dvh}h2{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}label{display:block;font-size:12px;color:var(--text-muted);margin-bottom:4px}input[type=text],input[type=number],select,textarea{width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:7px 10px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s}input[type=text]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--accent)}select{cursor:pointer}textarea{resize:vertical;min-height:60px}input[type=color]{width:36px;height:36px;padding:2px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;flex-shrink:0}button{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-family:inherit;font-weight:500;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;white-space:nowrap}button:active{opacity:.75}button:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:#000;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:#79b8ff;border-color:#79b8ff}.btn-secondary{background:var(--surface-2);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-sm{padding:4px 10px;font-size:12px}#app-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:var(--gap);padding:12px 24px;background:var(--surface);border-bottom:1px solid var(--border)}#app-header h1{font-size:16px;font-weight:700;letter-spacing:.04em;flex:1}#dirty-badge{font-size:11px;padding:2px 8px;border-radius:20px;background:var(--warning);color:#000;font-weight:600}main{max-width:1100px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:28px}#loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;color:var(--text-muted);font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}#connection .fields{display:flex;gap:var(--gap);flex-wrap:wrap}#connection .field{flex:1;min-width:160px}#global-leds .fields{display:flex;gap:var(--gap);align-items:flex-end;flex-wrap:wrap}#global-leds .field{flex:1;min-width:120px}.color-row{display:flex;align-items:center;gap:8px}.color-hex{font-size:12px;color:var(--text-muted);font-family:monospace}.led-preview{margin-top:12px;height:8px;border-radius:4px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--gap)}.knob-card,.button-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column;gap:10px}.knob-card .card-title,.button-card .card-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:8px}.card-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent-dim);color:var(--accent);font-size:11px;font-weight:700}.led-override-toggle{font-size:11px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;gap:6px;-webkit-user-select:none;user-select:none;background:none;border:none;padding:0;font-family:inherit}.led-override-toggle:hover{color:var(--accent)}.led-override-panel{display:none;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--border)}.led-override-panel.open{display:flex}.led-override-panel .color-row{flex-wrap:wrap;gap:6px}#presets .save-row{display:flex;gap:var(--gap);align-items:flex-end;flex-wrap:wrap;margin-bottom:16px}#presets .save-row .field{flex:1;min-width:180px}.preset-list{display:flex;flex-direction:column;gap:8px}.preset-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius)}.preset-item .preset-name{flex:1;font-weight:500;font-size:13px}.preset-item .preset-actions{display:flex;gap:6px}#toast-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{padding:10px 16px;border-radius:var(--radius);font-size:13px;font-weight:500;color:#fff;animation:toast-in .2s ease,toaLine truncated
|
||||
@@ -1,9 +0,0 @@
|
||||
(function(){const p=document.createElement("link").relList;if(p&&p.supports&&p.supports("modulepreload"))return;for(const U of document.querySelectorAll('link[rel="modulepreload"]'))v(U);new MutationObserver(U=>{for(const G of U)if(G.type==="childList")for(const J of G.addedNodes)J.tagName==="LINK"&&J.rel==="modulepreload"&&v(J)}).observe(document,{childList:!0,subtree:!0});function H(U){const G={};return U.integrity&&(G.integrity=U.integrity),U.referrerPolicy&&(G.referrerPolicy=U.referrerPolicy),U.crossOrigin==="use-credentials"?G.credentials="include":U.crossOrigin==="anonymous"?G.credentials="omit":G.credentials="same-origin",G}function v(U){if(U.ep)return;U.ep=!0;const G=H(U);fetch(U.href,G)}})();var fi={exports:{}},ze={};var Sv;function Im(){if(Sv)return ze;Sv=1;var g=Symbol.for("react.transitional.element"),p=Symbol.for("react.fragment");function H(v,U,G){var J=null;if(G!==void 0&&(J=""+G),U.key!==void 0&&(J=""+U.key),"key"in U){G={};for(var ml in U)ml!=="key"&&(G[ml]=U[ml])}else G=U;return U=G.ref,{$$typeof:g,type:v,key:J,ref:U!==void 0?U:null,props:G}}return ze.Fragment=p,ze.jsx=H,ze.jsxs=H,ze}var bv;function Pm(){return bv||(bv=1,fi.exports=Im()),fi.exports}var _=Pm(),ii={exports:{}},X={};var zv;function ly(){if(zv)return X;zv=1;var g=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),H=Symbol.for("react.fragment"),v=Symbol.for("react.strict_mode"),U=Symbol.for("react.profiler"),G=Symbol.for("react.consumer"),J=Symbol.for("react.context"),ml=Symbol.for("react.forward_ref"),R=Symbol.for("react.suspense"),S=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),O=Symbol.for("react.activity"),Z=Symbol.iterator;function Gl(d){return d===null||typeof d!="object"?null:(d=Z&&d[Z]||d["@@iterator"],typeof d=="function"?d:null)}var Dl={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ol=Object.assign,zt={};function Xl(d,A,D){this.props=d,this.context=A,this.refs=zt,this.updater=D||Dl}Xl.prototype.isReactComponent={},Xl.prototype.setState=function(d,A){if(typeof d!="object"&&typeof d!="function"&&d!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,d,A,"setState")},Xl.prototype.forceUpdate=function(d){this.updater.enqueueForceUpdate(this,d,"forceUpdate")};function st(){}st.prototype=Xl.prototype;function Y(d,A,D){this.props=d,this.context=A,this.refs=zt,this.updater=D||Dl}var vl=Y.prototype=new st;vl.constructor=Y,Ol(vl,Xl.prototype),vl.isPureReactComponent=!0;var Ul=Array.isArray;function xl(){}var I={H:null,A:null,T:null,S:null},Vl=Object.prototype.hasOwnProperty;function pt(d,A,D){var j=D.ref;return{$$typeof:g,type:d,key:A,ref:j!==void 0?j:null,props:D}}function Qa(d,A){return pt(d.type,A,d.props)}function Ot(d){return typeof d=="object"&&d!==null&&d.$$typeof===g}function Kl(d){var A={"=":"=0",":":"=2"};return"$"+d.replace(/[=:]/g,function(D){return A[D]})}var Ta=/\/+/g;function jt(d,A){return typeof d=="object"&&d!==null&&d.key!=null?Kl(""+d.key):A.toString(36)}function Tt(d){switch(d.status){case"fulfilled":return d.value;case"rejected":throw d.reason;default:switch(typeof d.status=="string"?d.then(xl,xl):(d.status="pending",d.then(function(A){d.status==="pending"&&(d.status="fulfilled",d.value=A)},function(A){d.status==="pending"&&(d.status="rejected",d.reason=A)})),d.status){case"fulfilled":return d.value;case"rejected":throw d.reason}}throw d}function z(d,A,D,j,L){var w=typeof d;(w==="undefined"||w==="boolean")&&(d=null);var ul=!1;if(d===null)ul=!0;else switch(w){case"bigint":case"string":case"number":ul=!0;break;case"object":switch(d.$$typeof){case g:case p:ul=!0;break;case Q:return ul=d._init,z(ul(d._payload),A,D,j,L)}}if(ul)return L=L(d),ul=j===""?"."+jt(d,0):j,Ul(L)?(D="",ul!=null&&(D=ul.replace(Ta,"$&/")+"/"),z(L,A,D,"",function(Mu){return Mu})):L!=null&&(Ot(L)&&(L=Qa(L,D+(L.key==null||d&&d.key===L.key?"":(""+L.key).replace(Ta,"$&/")+"/")+ul)),A.push(L)),1;ul=0;var Ql=j===""?".":j+":";if(Ul(d))for(var bl=0;bl<d.length;bl++)j=d[bl],w=Ql+jt(j,bl),ul+=z(j,A,D,w,L);else if(bl=Gl(d),typeof bl=="function")for(d=bl.call(d),bl=0;!(j=d.next()).done;)j=j.value,w=Ql+jt(j,bl++),ul+=z(j,A,D,w,L);else if(w==="object"){if(typeof d.then=="function")return z(Tt(d),A,D,j,L);throw A=String(d),Error("Objects are not valid as a React child (found: "+(A==="[object Object]"?"object with keys {"+Object.keys(d).join(", ")+"}":A)+"). If you meant to render a collection of children, use an array instead.")}return ul}function M(d,A,D){if(d==null)return d;var j=[],L=0;return z(d,j,"","",function(w){return A.call(D,w,L++)}),j}function x(d){if(d._status===-1){var A=d._result;A=A(),A.then(function(D){(d._status===0||d._status===-1)&&(d._status=1,d._result=D)},function(D){(d._status===0||d._status===-1)&&(d._status=2,d._result=D)}),d._status===-1&&(d._status=0,d._result=A)}if(d._status===1)return d._result.default;throw d._result}vLine truncated
|
||||
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
|
||||
`+Zn+l+gi}var Ln=!1;function Vn(l,t){if(!l||Ln)return"";Ln=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var u={DetermineComponentFrameRoot:function(){try{if(t){var E=function(){throw Error()};if(Object.defineProperty(E.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(E,[])}catch(r){var h=r}Reflect.construct(l,[],E)}else{try{E.call()}catch(r){h=r}l.call(E.prototype)}}else{try{throw Error()}catch(r){h=r}(E=l())&&typeof E.catch=="function"&&E.catch(function(){})}}catch(r){if(r&&h&&typeof r.stack=="string")return[r.stack,h.stack]}return[null,null]}};u.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var e=Object.getOwnPropertyDescriptor(u.DetermineComponentFrameRoot,"name");e&&e.configurable&&Object.defineProperty(u.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var n=u.DetermineComponentFrameRoot(),c=n[0],f=n[1];if(c&&f){var i=c.split(`
|
||||
`),y=f.split(`
|
||||
`);for(e=u=0;u<i.length&&!i[u].includes("DetermineComponentFrameRoot");)u++;for(;e<y.length&&!y[e].includes("DetermineComponentFrameRoot");)e++;if(u===i.length||e===y.length)for(u=i.length-1,e=y.length-1;1<=u&&0<=e&&i[u]!==y[e];)e--;for(;1<=u&&0<=e;u--,e--)if(i[u]!==y[e]){if(u!==1||e!==1)do if(u--,e--,0>e||i[u]!==y[e]){var b=`
|
||||
`+i[u].replace(" at new "," at ");return l.displayName&&b.includes("<anonymous>")&&(b=b.replace("<anonymous>",l.displayName)),b}while(1<=u&&0<=e);break}}}finally{Ln=!1,Error.prepareStackTrace=a}return(a=l?l.displayName||l.name:"")?Ea(a):""}function Uv(l,t){switch(l.tag){case 26:case 27:case 5:return Ea(l.type);case 16:return Ea("Lazy");case 13:return l.child!==t&&t!==null?Ea("Suspense Fallback"):Ea("Suspense");case 19:return Ea("SuspenseList");case 0:case 15:return Vn(l.type,!1);case 11:return Vn(l.type.render,!1);case 1:return Vn(l.type,!0);case 31:return Ea("Activity");default:return""}}function ri(l){try{var t="",a=null;do t+=Uv(l,a),a=l,l=l.return;while(l);return t}catch(u){return`
|
||||
Error generating stack: `+u.message+`
|
||||
`+u.stack}}var Kn=Object.prototype.hasOwnProperty,Jn=g.unstable_scheduleCallback,wn=g.unstable_cancelCallback,Nv=g.unstable_shouldYield,jv=g.unstable_requestPaint,Pl=g.unstable_now,Cv=g.unstable_getCurrentPriorityLevel,Si=g.unstable_ImmediatePriority,bi=g.unstable_UserBlockingPriority,Ae=g.unstable_NormalPriority,Hv=g.unstable_LowPriority,zi=g.unstable_IdlePriority,Rv=g.log,qv=g.unstable_setDisableYieldValue,Du=null,lt=null;function Ft(l){if(typeof Rv=="function"&&qv(l),lt&&typeof lt.setStrictMode=="function")try{lt.setStrictMode(Du,l)}catch{}}var tt=Math.clz32?Math.clz32:Yv,Bv=Math.log,xv=Math.LN2;function Yv(l){return l>>>=0,l===0?32:31-(Bv(l)/xv|0)|0}var _e=256,pe=262144,Oe=4194304;function Aa(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function Me(l,t,a){var u=l.pendingLanes;if(u===0)return 0;var e=0,n=l.suspendedLanes,c=l.pingedLanes;l=l.warmLanes;var f=u&134217727;return f!==0?(u=f&~n,u!==0?e=Aa(u):(c&=f,c!==0?e=Aa(c):a||(a=f&~l,a!==0&&(e=Aa(a))))):(f=u&~n,f!==0?e=Aa(f):c!==0?e=Aa(c):a||(a=u&~l,a!==0&&(e=Aa(a)))),e===0?0:t!==0&&t!==e&&(t&n)===0&&(n=e&-e,a=t&-t,n>=a||n===32&&(a&4194048)!==0)?t:e}function Uu(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function Gv(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ti(){var l=Oe;return Oe<<=1,(Oe&62914560)===0&&(Oe=4194304),l}function Wn(l){for(var t=[],a=0;31>a;a++)t.push(l);return t}function Nu(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function Xv(l,t,a,u,e,n){var c=l.pendingLanes;l.pendingLanes=a,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=a,l.entangledLanes&=a,l.errorRecoveryDisabledLanes&=a,l.shellSuspendCounter=0;var f=l.entanglements,i=l.expirationTimes,y=l.hiddenUpdates;for(a=c&~a;0<a;){var b=31-tt(a),E=1<<b;f[b]=0,i[b]=-1;var h=y[b];if(h!==null)for(y[b]=null,b=0;b<h.length;b++){var r=h[b];r!==null&&(r.lane&=-536870913)}a&=~E}u!==0&&Ei(l,u,0),n!==0&&e===0&&l.tag!==0&&(l.suspendedLanes|=n&~(c&~t))}function Ei(l,t,a){l.pendingLanes|=t,l.suspendedLanes&=~t;var u=31-tt(t);l.entangledLanes|=t,l.entanglements[u]=l.entanglements[u]|1073741824|a&261930}function Ai(l,t){var a=l.entangledLanes|=t;for(l=l.entanglements;a;){var u=31-tt(a),e=1<<u;e&t|l[u]&t&&(l[u]|=t),a&=~e}}function _i(l,t){var a=t&-t;return a=(a&42)!==0?1:$n(a),(a&(l.suspendedLanes|t))!==0?0:a}function $n(l){switch(l){case 2:l=1;break;case 8:l=4;break;case 32:l=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:l=128;break;case 268435456:l=134217728;break;default:l=0}return l}function Fn(l){return l&=-l,2<l?8<l?(l&134217727)!==0?32:268435456:8:2}function pi(){var l=M.p;return l!==0?l:(l=window.event,l===void 0?32:ov(l.type))}function Oi(l,t){var a=M.p;try{return M.p=l,t()}finally{M.p=a}}var kt=Math.random().toString(36).slice(2),Cl="__reactFiber$"+kt,Jl="__reactProps$"+kt,Za="__reactContainer$"+kt,kn="__reactEvents$"+kt,Qv="__reactListeners$"+kt,Zv="__reactHandles$"+kt,Mi="__reactResources$"+kt,ju="__reactMarker$"+kt;function In(l){delete l[Cl],delete l[Jl],delete l[kn],delete l[Qv],delete l[Zv]}function La(l){var t=l[Cl];if(t)return t;for(var a=l.parentNode;a;){if(t=a[Za]||a[Cl]){if(a=t.alternate,t.child!==null||a!==null&&a.child!==null)for(l=$o(l);l!==null;){if(a=l[Cl])return a;l=$o(l)}return t}l=a,a=l.parentNode}return null}function Va(l){if(l=l[Cl]||l[Za]){var t=l.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return l}return null}function Cu(l){var t=l.tag;if(t===5||t===26||t===27||t===6)return l.stateNode;throw Error(v(33))}function Ka(l){var t=l[Mi];return t||(t=l[Mi]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Nl(l){l[ju]=!0}var Di=new Set,Ui={};function _a(l,t){Ja(l,t),Ja(l+"Capture",t)}function Ja(l,t){for(Ui[l]=t,l=0;l<t.length;l++)Di.add(t[l])}var Lv=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u21
Line truncated
|
||||
`).replace(zm,"")}function Go(l,t){return t=Yo(t),Yo(l)===t}function il(l,t,a,u,e,n){switch(a){case"children":typeof u=="string"?t==="body"||t==="textarea"&&u===""||Wa(l,u):(typeof u=="number"||typeof u=="bigint")&&t!=="body"&&Wa(l,""+u);break;case"className":Ue(l,"class",u);break;case"tabIndex":Ue(l,"tabindex",u);break;case"dir":case"role":case"viewBox":case"width":case"height":Ue(l,a,u);break;case"style":Yi(l,u,n);break;case"data":if(t!=="object"){Ue(l,"data",u);break}case"src":case"href":if(u===""&&(t!=="a"||a!=="href")){l.removeAttribute(a);break}if(u==null||typeof u=="function"||typeof u=="symbol"||typeof u=="boolean"){l.removeAttribute(a);break}u=je(""+u),l.setAttribute(a,u);break;case"action":case"formAction":if(typeof u=="function"){l.setAttribute(a,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof n=="function"&&(a==="formAction"?(t!=="input"&&il(l,t,"name",e.name,e,null),il(l,t,"formEncType",e.formEncType,e,null),il(l,t,"formMethod",e.formMethod,e,null),il(l,t,"formTarget",e.formTarget,e,null)):(il(l,t,"encType",e.encType,e,null),il(l,t,"method",e.method,e,null),il(l,t,"target",e.target,e,null)));if(u==null||typeof u=="symbol"||typeof u=="boolean"){l.removeAttribute(a);break}u=je(""+u),l.setAttribute(a,u);break;case"onClick":u!=null&&(l.onclick=Ht);break;case"onScroll":u!=null&&$("scroll",l);break;case"onScrollEnd":u!=null&&$("scrollend",l);break;case"dangerouslySetInnerHTML":if(u!=null){if(typeof u!="object"||!("__html"in u))throw Error(v(61));if(a=u.__html,a!=null){if(e.children!=null)throw Error(v(60));l.innerHTML=a}}break;case"multiple":l.multiple=u&&typeof u!="function"&&typeof u!="symbol";break;case"muted":l.muted=u&&typeof u!="function"&&typeof u!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(u==null||typeof u=="function"||typeof u=="boolean"||typeof u=="symbol"){l.removeAttribute("xlink:href");break}a=je(""+u),l.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":u!=null&&typeof u!="function"&&typeof u!="symbol"?l.setAttribute(a,""+u):l.removeAttribute(a);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":u&&typeof u!="function"&&typeof u!="symbol"?l.setAttribute(a,""):l.removeAttribute(a);break;case"capture":case"download":u===!0?l.setAttribute(a,""):u!==!1&&u!=null&&typeof u!="function"&&typeof u!="symbol"?l.setAttribute(a,u):l.removeAttribute(a);break;case"cols":case"rows":case"size":case"span":u!=null&&typeof u!="function"&&typeof u!="symbol"&&!isNaN(u)&&1<=u?l.setAttribute(a,u):l.removeAttribute(a);break;case"rowSpan":case"start":u==null||typeof u=="function"||typeof u=="symbol"||isNaN(u)?l.removeAttribute(a):l.setAttribute(a,u);break;case"popover":$("beforetoggle",l),$("toggle",l),De(l,"popover",u);break;case"xlinkActuate":Ct(l,"http://www.w3.org/1999/xlink","xlink:actuate",u);break;case"xlinkArcrole":Ct(l,"http://www.w3.org/1999/xlink","xlink:arcrole",u);break;case"xlinkRole":Ct(l,"http://www.w3.org/1999/xlink","xlink:role",u);break;case"xlinkShow":Ct(l,"http://www.w3.org/1999/xlink","xlink:show",u);break;case"xlinkTitle":Ct(l,"http://www.w3.org/1999/xlink","xlink:title",u);break;case"xlinkType":Ct(l,"http://www.w3.org/1999/xlink","xlink:type",u);break;case"xmlBase":Ct(l,"http://www.w3.org/XML/1998/namespace","xml:base",u);break;case"xmlLang":Ct(l,"http://www.w3.org/XML/1998/namespace","xml:lang",u);break;case"xmlSpace":Ct(l,"http://www.w3.org/XML/1998/namespace","xml:space",u);break;case"is":De(l,"is",u);break;case"innerText":case"textContent":break;default:(!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(a=Wv.get(a)||a,De(l,a,u))}}function Lf(l,t,a,u,e,n){switch(a){case"style":Yi(l,u,n);break;case"dangerouslySetInnerHTML":if(u!=null){if(typeof u!="object"||!("__html"in u))throw Error(v(61));if(a=u.__html,a!=null){if(e.children!=null)throw Error(v(60));l.innerHTML=a}}break;case"children":typeof u=="string"?Wa(l,u):(typeof u=="number"||typeof u=="bigint")&&Wa(l,""+u);break;case"onScroll":u!=null&&$("scroll",l);break;case"onScrollEnd":u!=null&&$("scrollend",l);break;case"onClick":u!=null&&(l.onclick=Ht);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML"
Line truncated
|
||||
@@ -7,8 +7,8 @@
|
||||
<meta name="theme-color" content="#0d1117" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<title>TurnUp</title>
|
||||
<script type="module" crossorigin src="/assets/index-Dcy9vL-q.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-35WG7lRs.css">
|
||||
<script type="module" crossorigin src="/assets/index-1cIxdxyn.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="/assets/index-Bit2B6Yg.css">
|
||||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
|
||||
@@ -39,12 +39,12 @@ interface RenderOptions {
|
||||
runningApps?: string[];
|
||||
sinks?: AudioDevice[];
|
||||
sources?: AudioDevice[];
|
||||
onChange?: ReturnType<typeof vi.fn>;
|
||||
onChange?: (knob: KnobConfig) => void;
|
||||
}
|
||||
|
||||
function renderCard(
|
||||
overrides: Partial<KnobConfig> = {},
|
||||
{ runningApps, sinks, sources, onChange = vi.fn() }: RenderOptions = {},
|
||||
{ runningApps, sinks, sources, onChange = vi.fn() as (knob: KnobConfig) => void }: RenderOptions = {},
|
||||
) {
|
||||
const knob: KnobConfig = {
|
||||
action: 'app_volume',
|
||||
|
||||
+2
-1
@@ -1,4 +1,5 @@
|
||||
import { defineConfig } from 'vite'
|
||||
/// <reference types="vitest" />
|
||||
import { defineConfig } from 'vitest/config'
|
||||
import react from '@vitejs/plugin-react'
|
||||
|
||||
// https://vite.dev/config/
|
||||
|
||||
Reference in new issue
Block a user