@arach/arc-iso 0.8.0 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,19 +1,19 @@
1
- (function(K,B){typeof exports=="object"&&typeof module<"u"?B(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],B):(K=typeof globalThis<"u"?globalThis:K||self,B(K.ArcIso={},K.React))})(this,(function(K,B){"use strict";const gt=30*(Math.PI/180),Dt=Math.cos(gt),Bt=Math.sin(gt);function k(t,e,s=0){return{screenX:(t-e)*Dt,screenY:-(t+e)*Bt-s}}function Xt(t="x"){let e=1,s=0,a=0,i=-1;t==="y"?(e=0,s=1,a=1,i=0):t==="x-"?(e=-1,s=0,a=0,i=1):t==="y-"&&(e=0,s=-1,a=-1,i=0);const l=k(e,s,0),u=k(a,i,0);return`${l.screenX},${l.screenY},${u.screenX},${u.screenY},0,0`}function ot(t,e,s,a=0,i=0,l=0){const u={frontBottom:k(t,0,0),rightBottom:k(t,e,0),backBottom:k(0,e,0),leftBottom:k(0,0,0),frontTop:k(t,0,s),rightTop:k(t,e,s),backTop:k(0,e,s),leftTop:k(0,0,s)},m=b=>({x:b.screenX+a,y:b.screenY+i}),_=Object.fromEntries(Object.entries(u).map(([b,E])=>[b,m(E)])),y=(b,E,L,w)=>{if(w<=0){const V=k(0,0,L),U=k(b,0,L),M=k(b,E,L),D=k(0,E,L);return`M ${V.screenX+a},${V.screenY+i} L ${U.screenX+a},${U.screenY+i} L ${M.screenX+a},${M.screenY+i} L ${D.screenX+a},${D.screenY+i} Z`}const F=Math.min(b,E)/2,Y=Math.min(w,F),R=8,z=[],Z=(V,U,M,D)=>{for(let q=0;q<=R;q++){const S=M+(D-M)*(q/R),x=V+Y*Math.cos(S),n=U+Y*Math.sin(S),p=k(x,n,L);z.push(`${p.screenX+a},${p.screenY+i}`)}};return Z(Y,Y,Math.PI,Math.PI*1.5),Z(b-Y,Y,Math.PI*1.5,Math.PI*2),Z(b-Y,E-Y,0,Math.PI*.5),Z(Y,E-Y,Math.PI*.5,Math.PI),`M ${z[0]} L ${z.slice(1).join(" L ")} Z`},d=b=>`M ${b.map(E=>`${E.x},${E.y}`).join(" L ")} Z`,N=(b,E,L,w,F,Y)=>{const z=[];for(let M=0;M<6;M++){const D=F+(Y-F)*(M/6),q=F+(Y-F)*((M+1)/6),S=(D+q)/2,x=Math.cos(S),n=Math.sin(S),O=x*-.577+n*-.577+0*.577,nt=.3+Math.max(0,O+.4)*.5,rt=k(b+L*Math.cos(D),E+L*Math.sin(D),0),W=k(b+L*Math.cos(q),E+L*Math.sin(q),0),Q=k(b+L*Math.cos(D),E+L*Math.sin(D),w),et=k(b+L*Math.cos(q),E+L*Math.sin(q),w),ht=`M ${rt.screenX+a},${rt.screenY+i} L ${W.screenX+a},${W.screenY+i} L ${et.screenX+a},${et.screenY+i} L ${Q.screenX+a},${Q.screenY+i} Z`;z.push({path:ht,intensity:nt})}return z},h=Math.min(l,Math.min(t,e)/2),c=y(t,e,s,h);let v,f,A,$,C,P;if(h>0){const b=[{x:k(0,h,0).screenX+a,y:k(0,h,0).screenY+i},{x:k(0,e-h,0).screenX+a,y:k(0,e-h,0).screenY+i},{x:k(0,e-h,s).screenX+a,y:k(0,e-h,s).screenY+i},{x:k(0,h,s).screenX+a,y:k(0,h,s).screenY+i}];v=d(b);const E=[{x:k(h,0,0).screenX+a,y:k(h,0,0).screenY+i},{x:k(t-h,0,0).screenX+a,y:k(t-h,0,0).screenY+i},{x:k(t-h,0,s).screenX+a,y:k(t-h,0,s).screenY+i},{x:k(h,0,s).screenX+a,y:k(h,0,s).screenY+i}];f=d(E),A=N(h,h,h,s,Math.PI,Math.PI*1.5),$=N(t-h,h,h,s,Math.PI*1.5,Math.PI*2),C=N(h,e-h,h,s,Math.PI*.5,Math.PI),P=N(t-h,e-h,h,s,0,Math.PI*.5)}else{const b=[_.leftBottom,_.backBottom,_.backTop,_.leftTop],E=[_.leftBottom,_.frontBottom,_.frontTop,_.leftTop];v=d(b),f=d(E),A=[],$=[],C=[],P=[]}const T=`M ${_.leftBottom.x},${_.leftBottom.y} L ${_.frontBottom.x},${_.frontBottom.y} L ${_.rightBottom.x},${_.rightBottom.y} L ${_.backBottom.x},${_.backBottom.y} Z`;return{top:c,left:v,right:f,cornerFrontLeft:A,cornerFrontRight:$,cornerBackLeft:C,cornerBackRight:P,outline:T}}function Ht(t,e=60,s=50){return{top:`hsl(${t}, ${e}%, ${Math.min(s+15,95)}%)`,right:`hsl(${t}, ${e}%, ${s}%)`,left:`hsl(${t}, ${e}%, ${Math.max(s-15,15)}%)`}}const bt={violet:{hue:270,saturation:60,lightness:55},blue:{hue:220,saturation:70,lightness:50},cyan:{hue:190,saturation:80,lightness:45},emerald:{hue:155,saturation:65,lightness:45},amber:{hue:40,saturation:90,lightness:50},rose:{hue:350,saturation:70,lightness:55},slate:{hue:220,saturation:15,lightness:50},zinc:{hue:240,saturation:5,lightness:50}};function Ut(t){const e=bt[t]||bt.slate;return Ht(e.hue,e.saturation,e.lightness)}var pt={exports:{}},ct={};var vt;function Gt(){if(vt)return ct;vt=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function s(a,i,l){var u=null;if(l!==void 0&&(u=""+l),i.key!==void 0&&(u=""+i.key),"key"in i){l={};for(var m in i)m!=="key"&&(l[m]=i[m])}else l=i;return i=l.ref,{$$typeof:t,type:a,key:u,ref:i!==void 0?i:null,props:l}}return ct.Fragment=e,ct.jsx=s,ct.jsxs=s,ct}var lt={};var jt;function Vt(){return jt||(jt=1,process.env.NODE_ENV!=="production"&&(function(){function t(n){if(n==null)return null;if(typeof n=="function")return n.$$typeof===R?null:n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case A:return"Fragment";case C:return"Profiler";case $:return"StrictMode";case E:return"Suspense";case L:return"SuspenseList";case Y:return"Activity"}if(typeof n=="object")switch(typeof n.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),n.$$typeof){case f:return"Portal";case T:return n.displayName||"Context";case P:return(n._context.displayName||"Context")+".Consumer";case b:var p=n.render;return n=n.displayName,n||(n=p.displayName||p.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case w:return p=n.displayName||null,p!==null?p:t(n.type)||"Memo";case F:p=n._payload,n=n._init;try{return t(n(p))}catch{}}return null}function e(n){return""+n}function s(n){try{e(n);var p=!1}catch{p=!0}if(p){p=console;var O=p.error,I=typeof Symbol=="function"&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object";return O.call(p,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",I),e(n)}}function a(n){if(n===A)return"<>";if(typeof n=="object"&&n!==null&&n.$$typeof===F)return"<...>";try{var p=t(n);return p?"<"+p+">":"<...>"}catch{return"<...>"}}function i(){var n=z.A;return n===null?null:n.getOwner()}function l(){return Error("react-stack-top-frame")}function u(n){if(Z.call(n,"key")){var p=Object.getOwnPropertyDescriptor(n,"key").get;if(p&&p.isReactWarning)return!1}return n.key!==void 0}function m(n,p){function O(){M||(M=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",p))}O.isReactWarning=!0,Object.defineProperty(n,"key",{get:O,configurable:!0})}function _(){var n=t(this.type);return D[n]||(D[n]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),n=this.props.ref,n!==void 0?n:null}function y(n,p,O,I,nt,rt){var W=O.ref;return n={$$typeof:v,type:n,key:p,props:O,_owner:I},(W!==void 0?W:null)!==null?Object.defineProperty(n,"ref",{enumerable:!1,get:_}):Object.defineProperty(n,"ref",{enumerable:!1,value:null}),n._store={},Object.defineProperty(n._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(n,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(n,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:nt}),Object.defineProperty(n,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:rt}),Object.freeze&&(Object.freeze(n.props),Object.freeze(n)),n}function d(n,p,O,I,nt,rt){var W=p.children;if(W!==void 0)if(I)if(V(W)){for(I=0;I<W.length;I++)N(W[I]);Object.freeze&&Object.freeze(W)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else N(W);if(Z.call(p,"key")){W=t(n);var Q=Object.keys(p).filter(function(ht){return ht!=="key"});I=0<Q.length?"{key: someKey, "+Q.join(": ..., ")+": ...}":"{key: someKey}",x[W+I]||(Q=0<Q.length?"{"+Q.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
1
+ (function(Z,D){typeof exports=="object"&&typeof module<"u"?D(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],D):(Z=typeof globalThis<"u"?globalThis:Z||self,D(Z.ArcIso={},Z.React))})(this,(function(Z,D){"use strict";const gt=30*(Math.PI/180),Xt=Math.cos(gt),Ht=Math.sin(gt);function k(t,o,s=0){return{screenX:(t-o)*Xt,screenY:-(t+o)*Ht-s}}function Ut(t="x"){let o=1,s=0,a=0,i=-1;t==="y"?(o=0,s=1,a=1,i=0):t==="x-"?(o=-1,s=0,a=0,i=1):t==="y-"&&(o=0,s=-1,a=-1,i=0);const l=k(o,s,0),u=k(a,i,0);return`${l.screenX},${l.screenY},${u.screenX},${u.screenY},0,0`}function ot(t,o,s,a=0,i=0,l=0){const u={frontBottom:k(t,0,0),rightBottom:k(t,o,0),backBottom:k(0,o,0),leftBottom:k(0,0,0),frontTop:k(t,0,s),rightTop:k(t,o,s),backTop:k(0,o,s),leftTop:k(0,0,s)},m=$=>({x:$.screenX+a,y:$.screenY+i}),y=Object.fromEntries(Object.entries(u).map(([$,E])=>[$,m(E)])),x=($,E,L,W)=>{if(W<=0){const J=k(0,0,L),U=k($,0,L),F=k($,E,L),M=k(0,E,L);return`M ${J.screenX+a},${J.screenY+i} L ${U.screenX+a},${U.screenY+i} L ${F.screenX+a},${F.screenY+i} L ${M.screenX+a},${M.screenY+i} Z`}const S=Math.min($,E)/2,P=Math.min(W,S),V=8,O=[],Y=(J,U,F,M)=>{for(let B=0;B<=V;B++){const tt=F+(M-F)*(B/V),w=J+P*Math.cos(tt),e=U+P*Math.sin(tt),p=k(w,e,L);O.push(`${p.screenX+a},${p.screenY+i}`)}};return Y(P,P,Math.PI,Math.PI*1.5),Y($-P,P,Math.PI*1.5,Math.PI*2),Y($-P,E-P,0,Math.PI*.5),Y(P,E-P,Math.PI*.5,Math.PI),`M ${O[0]} L ${O.slice(1).join(" L ")} Z`},c=$=>`M ${$.map(E=>`${E.x},${E.y}`).join(" L ")} Z`,A=($,E,L,W,S,P)=>{const O=[];for(let F=0;F<6;F++){const M=S+(P-S)*(F/6),B=S+(P-S)*((F+1)/6),tt=(M+B)/2,w=Math.cos(tt),e=Math.sin(tt),C=w*-.577+e*-.577+0*.577,et=.3+Math.max(0,C+.4)*.5,nt=k($+L*Math.cos(M),E+L*Math.sin(M),0),z=k($+L*Math.cos(B),E+L*Math.sin(B),0),K=k($+L*Math.cos(M),E+L*Math.sin(M),W),rt=k($+L*Math.cos(B),E+L*Math.sin(B),W),it=`M ${nt.screenX+a},${nt.screenY+i} L ${z.screenX+a},${z.screenY+i} L ${rt.screenX+a},${rt.screenY+i} L ${K.screenX+a},${K.screenY+i} Z`;O.push({path:it,intensity:et})}return O},f=Math.min(l,Math.min(t,o)/2),T=x(t,o,s,f);let d,h,j,g,N,I;if(f>0){const $=[{x:k(0,f,0).screenX+a,y:k(0,f,0).screenY+i},{x:k(0,o-f,0).screenX+a,y:k(0,o-f,0).screenY+i},{x:k(0,o-f,s).screenX+a,y:k(0,o-f,s).screenY+i},{x:k(0,f,s).screenX+a,y:k(0,f,s).screenY+i}];d=c($);const E=[{x:k(f,0,0).screenX+a,y:k(f,0,0).screenY+i},{x:k(t-f,0,0).screenX+a,y:k(t-f,0,0).screenY+i},{x:k(t-f,0,s).screenX+a,y:k(t-f,0,s).screenY+i},{x:k(f,0,s).screenX+a,y:k(f,0,s).screenY+i}];h=c(E),j=A(f,f,f,s,Math.PI,Math.PI*1.5),g=A(t-f,f,f,s,Math.PI*1.5,Math.PI*2),N=A(f,o-f,f,s,Math.PI*.5,Math.PI),I=A(t-f,o-f,f,s,0,Math.PI*.5)}else{const $=[y.leftBottom,y.backBottom,y.backTop,y.leftTop],E=[y.leftBottom,y.frontBottom,y.frontTop,y.leftTop];d=c($),h=c(E),j=[],g=[],N=[],I=[]}const v=`M ${y.leftBottom.x},${y.leftBottom.y} L ${y.frontBottom.x},${y.frontBottom.y} L ${y.rightBottom.x},${y.rightBottom.y} L ${y.backBottom.x},${y.backBottom.y} Z`;return{top:T,left:d,right:h,cornerFrontLeft:j,cornerFrontRight:g,cornerBackLeft:N,cornerBackRight:I,outline:v}}function Gt(t,o=60,s=50){return{top:`hsl(${t}, ${o}%, ${Math.min(s+15,95)}%)`,right:`hsl(${t}, ${o}%, ${s}%)`,left:`hsl(${t}, ${o}%, ${Math.max(s-15,15)}%)`}}const bt={violet:{hue:270,saturation:60,lightness:55},blue:{hue:220,saturation:70,lightness:50},cyan:{hue:190,saturation:80,lightness:45},emerald:{hue:155,saturation:65,lightness:45},amber:{hue:40,saturation:90,lightness:50},rose:{hue:350,saturation:70,lightness:55},slate:{hue:220,saturation:15,lightness:50},zinc:{hue:240,saturation:5,lightness:50}};function Vt(t){const o=bt[t]||bt.slate;return Gt(o.hue,o.saturation,o.lightness)}var pt={exports:{}},lt={};var vt;function qt(){if(vt)return lt;vt=1;var t=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function s(a,i,l){var u=null;if(l!==void 0&&(u=""+l),i.key!==void 0&&(u=""+i.key),"key"in i){l={};for(var m in i)m!=="key"&&(l[m]=i[m])}else l=i;return i=l.ref,{$$typeof:t,type:a,key:u,ref:i!==void 0?i:null,props:l}}return lt.Fragment=o,lt.jsx=s,lt.jsxs=s,lt}var dt={};var jt;function Zt(){return jt||(jt=1,process.env.NODE_ENV!=="production"&&(function(){function t(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===V?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case j:return"Fragment";case N:return"Profiler";case g:return"StrictMode";case E:return"Suspense";case L:return"SuspenseList";case P:return"Activity"}if(typeof e=="object")switch(typeof e.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),e.$$typeof){case h:return"Portal";case v:return e.displayName||"Context";case I:return(e._context.displayName||"Context")+".Consumer";case $:var p=e.render;return e=e.displayName,e||(e=p.displayName||p.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case W:return p=e.displayName||null,p!==null?p:t(e.type)||"Memo";case S:p=e._payload,e=e._init;try{return t(e(p))}catch{}}return null}function o(e){return""+e}function s(e){try{o(e);var p=!1}catch{p=!0}if(p){p=console;var C=p.error,R=typeof Symbol=="function"&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object";return C.call(p,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",R),o(e)}}function a(e){if(e===j)return"<>";if(typeof e=="object"&&e!==null&&e.$$typeof===S)return"<...>";try{var p=t(e);return p?"<"+p+">":"<...>"}catch{return"<...>"}}function i(){var e=O.A;return e===null?null:e.getOwner()}function l(){return Error("react-stack-top-frame")}function u(e){if(Y.call(e,"key")){var p=Object.getOwnPropertyDescriptor(e,"key").get;if(p&&p.isReactWarning)return!1}return e.key!==void 0}function m(e,p){function C(){F||(F=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",p))}C.isReactWarning=!0,Object.defineProperty(e,"key",{get:C,configurable:!0})}function y(){var e=t(this.type);return M[e]||(M[e]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),e=this.props.ref,e!==void 0?e:null}function x(e,p,C,R,et,nt){var z=C.ref;return e={$$typeof:d,type:e,key:p,props:C,_owner:R},(z!==void 0?z:null)!==null?Object.defineProperty(e,"ref",{enumerable:!1,get:y}):Object.defineProperty(e,"ref",{enumerable:!1,value:null}),e._store={},Object.defineProperty(e._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:et}),Object.defineProperty(e,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:nt}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function c(e,p,C,R,et,nt){var z=p.children;if(z!==void 0)if(R)if(J(z)){for(R=0;R<z.length;R++)A(z[R]);Object.freeze&&Object.freeze(z)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else A(z);if(Y.call(p,"key")){z=t(e);var K=Object.keys(p).filter(function(it){return it!=="key"});R=0<K.length?"{key: someKey, "+K.join(": ..., ")+": ...}":"{key: someKey}",w[z+R]||(K=0<K.length?"{"+K.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
2
2
  let props = %s;
3
3
  <%s {...props} />
4
4
  React keys must be passed directly to JSX without using spread:
5
5
  let props = %s;
6
- <%s key={someKey} {...props} />`,I,W,Q,W),x[W+I]=!0)}if(W=null,O!==void 0&&(s(O),W=""+O),u(p)&&(s(p.key),W=""+p.key),"key"in p){O={};for(var et in p)et!=="key"&&(O[et]=p[et])}else O=p;return W&&m(O,typeof n=="function"?n.displayName||n.name||"Unknown":n),y(n,W,O,i(),nt,rt)}function N(n){h(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===F&&(n._payload.status==="fulfilled"?h(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function h(n){return typeof n=="object"&&n!==null&&n.$$typeof===v}var c=B,v=Symbol.for("react.transitional.element"),f=Symbol.for("react.portal"),A=Symbol.for("react.fragment"),$=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),P=Symbol.for("react.consumer"),T=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),L=Symbol.for("react.suspense_list"),w=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),Y=Symbol.for("react.activity"),R=Symbol.for("react.client.reference"),z=c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z=Object.prototype.hasOwnProperty,V=Array.isArray,U=console.createTask?console.createTask:function(){return null};c={react_stack_bottom_frame:function(n){return n()}};var M,D={},q=c.react_stack_bottom_frame.bind(c,l)(),S=U(a(l)),x={};lt.Fragment=A,lt.jsx=function(n,p,O){var I=1e4>z.recentlyCreatedOwnerStacks++;return d(n,p,O,!1,I?Error("react-stack-top-frame"):q,I?U(a(n)):S)},lt.jsxs=function(n,p,O){var I=1e4>z.recentlyCreatedOwnerStacks++;return d(n,p,O,!0,I?Error("react-stack-top-frame"):q,I?U(a(n)):S)}})()),lt}var Mt;function qt(){return Mt||(Mt=1,process.env.NODE_ENV==="production"?pt.exports=Gt():pt.exports=Vt()),pt.exports}var o=qt();const Zt=["solid","blueprint","cyanotype"],_t='"JetBrains Mono", "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace',Jt=.78,r=t=>Math.round(t*Jt*10)/10,wt={id:"solid",name:"Solid",description:"Shaded isometric boxes",technical:!1,paper:{from:"transparent",to:"transparent",edge:"transparent",grid:"transparent",grain:0},ink:{line:"rgba(0,0,0,0.3)",hidden:"rgba(0,0,0,0.2)",hatch:"transparent",text:"#ffffff",muted:"rgba(255,255,255,0.6)",accent:"#3b82f6"},face:{top:"transparent",right:"transparent",left:"transparent"},hatchOpacity:{top:0,right:0,left:0},font:_t,strokeWidth:.5},St={solid:wt,blueprint:{id:"blueprint",name:"Blueprint",description:"Sepia engineering plate on parchment",technical:!0,paper:{from:"#f0e6d0",to:"#ddceac",edge:"#b09a74",grid:"#c6b48f",grain:.055},ink:{line:"#4a3826",hidden:"#96805f",hatch:"#6d563c",text:"#3b2c1d",muted:"#8a7455",accent:"#a8412a"},face:{top:"#f4ebd7",right:"#e6dabb",left:"#d6c6a2"},hatchOpacity:{top:.48,right:.68,left:.92},font:_t,strokeWidth:1},cyanotype:{id:"cyanotype",name:"Cyanotype",description:"White linework on classic blueprint blue",technical:!0,paper:{from:"#123256",to:"#0b1f3a",edge:"#3f6d9f",grid:"#27507f",grain:.07},ink:{line:"#e6f0fb",hidden:"#78a2cc",hatch:"#a6c6e5",text:"#f2f8ff",muted:"#8fb2d6",accent:"#ffc857"},face:{top:"#1b4675",right:"#153a61",left:"#0f2b49"},hatchOpacity:{top:.46,right:.64,left:.88},font:_t,strokeWidth:1}};function Kt(t){return St[t]||wt}Zt.filter(t=>St[t].technical)[0];const Qt={violet:"cross",blue:"lines",sky:"dashes",cyan:"dashes",emerald:"dots",amber:"dense",orange:"dense",rose:"cross",zinc:"plain",slate:"plain"};function Nt(t){return Qt[t||"zinc"]||"lines"}const te={plain:"PLAIN",lines:"HATCH-A",cross:"HATCH-X",dense:"HATCH-D",dots:"STIPPLE",dashes:"BROKEN"};function Ct(t,e,s,a=0,i=0){const l=($,C,P)=>{const T=k($,C,P);return{x:T.screenX+a,y:T.screenY+i}},u=l(0,0,0),m=l(t,0,0),_=l(t,e,0),y=l(0,e,0),d=l(0,0,s),N=l(t,0,s),h=l(t,e,s),c=l(0,e,s),v=$=>`M ${$.map(C=>`${C.x},${C.y}`).join(" L ")} Z`,f=($,C)=>`M ${$.x},${$.y} L ${C.x},${C.y}`,A=[u,m,_,y,d,N,h,c];return{top:v([d,N,h,c]),right:v([u,m,N,d]),left:v([u,y,c,d]),visible:[v([u,m,N,h,c,y]),f(d,N),f(d,c),f(d,u)].join(" "),hidden:[f(_,m),f(_,y),f(_,h)].join(" "),topCenter:{x:(d.x+h.x)/2,y:(d.y+h.y)/2},topApex:{x:h.x,y:h.y},minX:Math.min(...A.map($=>$.x)),minY:Math.min(...A.map($=>$.y)),maxX:Math.max(...A.map($=>$.x)),maxY:Math.max(...A.map($=>$.y))}}function ut(t){return String(t).padStart(2,"0")}const ee={top:["n30","p30"],right:["n30","v"],left:["p30","v"]},oe={n30:-30,p30:30,v:90},ne=[{key:"line",spacing:6.2,strokeWidth:.55},{key:"dense",spacing:3.1,strokeWidth:.45},{key:"dash",spacing:6.2,strokeWidth:.55,dash:"2.6 2.6"}],dt=22;function Et(t,e,s){const[a,i]=ee[s];switch(e){case"plain":return[];case"lines":return[`${t}-line-${a}`];case"cross":return[`${t}-line-${a}`,`${t}-line-${i}`];case"dense":return[`${t}-dense-${a}`];case"dashes":return[`${t}-dash-${a}`];case"dots":return[`${t}-dot`];default:return[`${t}-line-${a}`]}}const Tt=t=>`${t}-paper`,At=t=>`${t}-grain`,re=(t,e="line")=>`${t}-arrow-${e}`,se=t=>[`${t}-grid-n30`,`${t}-grid-p30`];function $t({uid:t,style:e,gridTransform:s=""}){return o.jsxs("defs",{children:[ne.flatMap(a=>Object.entries(oe).map(([i,l])=>o.jsx("pattern",{id:`${t}-${a.key}-${i}`,width:a.spacing,height:a.spacing,patternUnits:"userSpaceOnUse",patternTransform:`rotate(${l})`,children:o.jsx("line",{x1:-1,y1:a.spacing/2,x2:a.spacing+1,y2:a.spacing/2,stroke:e.ink.hatch,strokeWidth:a.strokeWidth,strokeDasharray:a.dash})},`${a.key}-${i}`))),o.jsx("pattern",{id:`${t}-dot`,width:4.5,height:4.5,patternUnits:"userSpaceOnUse",children:o.jsx("circle",{cx:2.25,cy:2.25,r:.55,fill:e.ink.hatch})}),[{id:`${t}-grid-n30`,angle:-30},{id:`${t}-grid-p30`,angle:30}].map(({id:a,angle:i})=>o.jsx("pattern",{id:a,width:dt,height:dt,patternUnits:"userSpaceOnUse",patternTransform:`${s} rotate(${i})`.trim(),children:o.jsx("line",{x1:-1,y1:dt/2,x2:dt+1,y2:dt/2,stroke:e.paper.grid,strokeWidth:.5})},a)),o.jsxs("linearGradient",{id:Tt(t),x1:"0",y1:"0",x2:"0.35",y2:"1",children:[o.jsx("stop",{offset:"0%",stopColor:e.paper.from}),o.jsx("stop",{offset:"100%",stopColor:e.paper.to})]}),o.jsxs("filter",{id:At(t),x:"0%",y:"0%",width:"100%",height:"100%",children:[o.jsx("feTurbulence",{type:"fractalNoise",baseFrequency:"0.85",numOctaves:3,stitchTiles:"stitch"}),o.jsx("feColorMatrix",{type:"saturate",values:"0"})]}),["line","accent"].map(a=>o.jsx("marker",{id:re(t,a),markerWidth:"10",markerHeight:"10",refX:"8",refY:"4",orient:"auto",markerUnits:"userSpaceOnUse",children:o.jsx("path",{d:"M 1 1 L 8 4 L 1 7",fill:"none",stroke:a==="accent"?e.ink.accent:e.ink.line,strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})},a))]})}function ae({style:t,rect:e,pan:s,zoom:a=1,className:i="absolute inset-0 w-full h-full pointer-events-none"}){const l=B.useId().replace(/:/g,""),u=s?`translate(${s.x} ${s.y}) scale(${a})`:a!==1?`scale(${a})`:"",m=e?{x:e.x,y:e.y,width:e.width,height:e.height}:{x:0,y:0,width:"100%",height:"100%"};return o.jsxs("svg",{className:i,"aria-hidden":"true",children:[o.jsx($t,{uid:l,style:t,gridTransform:u}),o.jsx("rect",{...m,fill:`url(#${Tt(l)})`}),se(l).map(_=>o.jsx("rect",{...m,fill:`url(#${_})`,opacity:.6},_)),t.paper.grain>0&&o.jsx("rect",{...m,filter:`url(#${At(l)})`,opacity:t.paper.grain})]})}const yt=r(10),ie=9,Ot=(t,e)=>t.length>e?`${t.slice(0,e-1)}…`:t;function ce({style:t,plate:e,rows:s,title:a,tally:i,className:l="absolute inset-0 w-full h-full pointer-events-none"}){const u=B.useId().replace(/:/g,""),m=s.slice(0,ie),_=s.length-m.length,y={x:e.minX+yt,y:e.minY+yt,width:e.maxX-e.minX-yt*2,height:e.maxY-e.minY-yt*2},d={fontFamily:t.font,letterSpacing:"0.08em"},N=r(236),h=r(13),c=r(16),v=c+Math.max(m.length,1)*h+(_>0?h:0),f=y.x+r(14),A=y.y+r(14),$=r(264),C=r(74),P=r(126),T=y.x+y.width-$-r(14),b=y.y+y.height-C-r(14);return o.jsxs("svg",{className:l,style:{overflow:"visible"},"aria-hidden":"true",children:[o.jsx($t,{uid:u,style:t}),o.jsx("rect",{x:e.minX,y:e.minY,width:e.maxX-e.minX,height:e.maxY-e.minY,fill:"none",stroke:t.paper.edge,strokeWidth:1.4}),o.jsx("rect",{x:y.x,y:y.y,width:y.width,height:y.height,fill:"none",stroke:t.paper.edge,strokeWidth:.6,opacity:.75}),[[y.x,y.y,1,1],[y.x+y.width,y.y,-1,1],[y.x,y.y+y.height,1,-1],[y.x+y.width,y.y+y.height,-1,-1]].map(([E,L,w,F],Y)=>o.jsx("path",{d:`M ${E+w*r(16)} ${L} L ${E} ${L} L ${E} ${L+F*r(16)}`,fill:"none",stroke:t.ink.line,strokeWidth:1.2},Y)),m.length>0&&o.jsxs("g",{children:[o.jsx("rect",{x:f,y:A,width:N,height:v,fill:t.paper.from,fillOpacity:.55,stroke:t.ink.line,strokeWidth:.8}),o.jsx("line",{x1:f,y1:A+c,x2:f+N,y2:A+c,stroke:t.ink.line,strokeWidth:.8}),o.jsx("text",{x:f+r(8),y:A+r(11),fill:t.ink.text,fontSize:r(8),fontWeight:600,style:d,children:"COMPONENT INDEX"}),o.jsxs("text",{x:f+N-r(8),y:A+r(11),textAnchor:"end",fill:t.ink.muted,fontSize:r(8),style:d,children:[ut(s.length)," ITEMS"]}),m.map((E,L)=>{const w=A+c+L*h,F=Nt(E.color),Y=Et(u,F,"top");return o.jsxs("g",{children:[o.jsx("text",{x:f+r(8),y:w+r(9.5),fill:t.ink.muted,fontSize:r(7.5),style:d,children:ut(E.n)}),o.jsx("rect",{x:f+r(28),y:w+r(3),width:r(14),height:r(7),fill:t.face.right,stroke:t.ink.line,strokeWidth:.4}),Y.map(R=>o.jsx("rect",{x:f+r(28),y:w+r(3),width:r(14),height:r(7),fill:`url(#${R})`,opacity:.85},R)),o.jsx("text",{x:f+r(50),y:w+r(9.5),fill:t.ink.text,fontSize:r(7.5),style:d,children:Ot((E.name||"").toUpperCase(),18)}),o.jsx("text",{x:f+N-r(8),y:w+r(9.5),textAnchor:"end",fill:t.ink.muted,fontSize:r(7),style:d,children:te[F]})]},E.n)}),_>0&&o.jsx("text",{x:f+r(8),y:A+c+m.length*h+r(9.5),fill:t.ink.muted,fontSize:r(7.5),style:d,children:`+ ${_} NOT LISTED`})]}),o.jsxs("g",{children:[o.jsx("rect",{x:T,y:b,width:$,height:C,fill:t.paper.from,fillOpacity:.55,stroke:t.ink.line,strokeWidth:.8}),o.jsx("line",{x1:T,y1:b+r(30),x2:T+$,y2:b+r(30),stroke:t.ink.line,strokeWidth:.8}),o.jsx("line",{x1:T,y1:b+r(52),x2:T+$,y2:b+r(52),stroke:t.ink.line,strokeWidth:.5}),o.jsx("line",{x1:T+P,y1:b+r(30),x2:T+P,y2:b+C,stroke:t.ink.line,strokeWidth:.5}),o.jsx("text",{x:T+r(9),y:b+r(12),fill:t.ink.muted,fontSize:r(6.5),style:d,children:"DRAWING TITLE"}),o.jsx("text",{x:T+r(9),y:b+r(24),fill:t.ink.text,fontSize:r(10),fontWeight:600,style:d,children:Ot((a||"UNTITLED ASSEMBLY").toUpperCase(),26)}),o.jsx("text",{x:T+r(9),y:b+r(43),fill:t.ink.muted,fontSize:r(6.5),style:d,children:"PROJECTION"}),o.jsx("text",{x:T+P-r(9),y:b+r(43),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:d,children:"ISOMETRIC 30°"}),o.jsx("text",{x:T+r(9),y:b+r(65),fill:t.ink.muted,fontSize:r(6.5),style:d,children:"SCALE"}),o.jsx("text",{x:T+P-r(9),y:b+r(65),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:d,children:"1:1"}),o.jsx("text",{x:T+P+r(9),y:b+r(43),fill:t.ink.muted,fontSize:r(6.5),style:d,children:"QTY"}),o.jsx("text",{x:T+$-r(9),y:b+r(43),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:d,children:i||`${ut(s.length)} CMP`}),o.jsx("text",{x:T+P+r(9),y:b+r(65),fill:t.ink.muted,fontSize:r(6.5),style:d,children:"SHEET"}),o.jsx("text",{x:T+$-r(9),y:b+r(65),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:d,children:"1 OF 1"})]})]})}const le=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),de=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,s,a)=>a?a.toUpperCase():s.toLowerCase()),Rt=t=>{const e=de(t);return e.charAt(0).toUpperCase()+e.slice(1)},Lt=(...t)=>t.filter((e,s,a)=>!!e&&e.trim()!==""&&a.indexOf(e)===s).join(" ").trim(),he=t=>{for(const e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0};var fe={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const pe=B.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:s=2,absoluteStrokeWidth:a,className:i="",children:l,iconNode:u,...m},_)=>B.createElement("svg",{ref:_,...fe,width:e,height:e,stroke:t,strokeWidth:a?Number(s)*24/Number(e):s,className:Lt("lucide",i),...!l&&!he(m)&&{"aria-hidden":"true"},...m},[...u.map(([y,d])=>B.createElement(y,d)),...Array.isArray(l)?l:[l]]));const g=(t,e)=>{const s=B.forwardRef(({className:a,...i},l)=>B.createElement(pe,{ref:l,iconNode:e,className:Lt(`lucide-${le(Rt(t))}`,`lucide-${t}`,a),...i}));return s.displayName=Rt(t),s};const ue=g("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);const ye=g("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);const xe=g("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);const ke=g("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);const Pt=g("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);const me=g("camera",[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);const _e=g("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]);const $e=g("chart-pie",[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]]);const ge=g("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);const be=g("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);const ve=g("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);const je=g("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);const Me=g("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);const we=g("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);const Se=g("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);const Ne=g("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);const Ce=g("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);const Ee=g("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);const Te=g("grid-3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);const Ae=g("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);const Oe=g("headphones",[["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",key:"1xhozi"}]]);const Re=g("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);const Le=g("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);const Pe=g("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);const ze=g("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]);const Ye=g("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);const We=g("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);const Ie=g("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);const Fe=g("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);const De=g("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);const Be=g("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);const Xe=g("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);const He=g("repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);const Ue=g("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);const Ge=g("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);const Ve=g("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);const qe=g("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);const Ze=g("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);const Je=g("speaker",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["circle",{cx:"12",cy:"14",r:"4",key:"1jruaj"}],["path",{d:"M12 14h.01",key:"1etili"}]]);const Ke=g("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);const Qe=g("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);const to=g("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);const eo=g("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);const oo=g("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);const no=g("watch",[["path",{d:"M12 10v2.2l1.6 1",key:"n3r21l"}],["path",{d:"m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05",key:"18k57s"}],["path",{d:"m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05",key:"16ny36"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}]]);const ro=g("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);const so=g("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),ao={Monitor:Ie,Server:Ge,Smartphone:Ze,Watch:no,Cloud:be,Cpu:je,Database:Me,HardDrive:Ae,Wifi:ro,Globe:Ee,User:eo,Users:oo,Lock:Pe,Key:Re,Shield:qe,Mic:We,Camera:me,Speaker:Je,Headphones:Oe,Code:ve,Terminal:Qe,FileCode:Se,Folder:Ne,Zap:so,Activity:ue,BarChart:_e,PieChart:$e,ArrowRight:xe,ArrowDown:ye,RefreshCw:Xe,Repeat:He,Box:Pt,Package:Fe,Layers:Le,Grid:Te,Settings:Ve,Bell:ke,Mail:ze,MessageSquare:Ye,Search:Ue,Filter:Ce,Download:we,Upload:to,Play:Be,Pause:De,Square:Ke,Circle:ge};function io(t){return ao[t]||Pt}function co({uid:t,style:e,box:s,color:a,tag:i,selected:l=!1,opacity:u,onClick:m,onPointerDown:_}){const y=Nt(a),d=l?e.ink.accent:e.ink.line,N=l?e.ink.accent:e.ink.text,h=[{face:"left",path:s.left},{face:"right",path:s.right},{face:"top",path:s.top}];return o.jsxs("g",{className:m||_?"cursor-pointer":void 0,opacity:u,onClick:m,onPointerDown:_,children:[h.map(({face:c,path:v})=>o.jsxs("g",{children:[o.jsx("path",{d:v,fill:e.face[c]}),Et(t,y,c).map(f=>o.jsx("path",{d:v,fill:`url(#${f})`,opacity:e.hatchOpacity[c]},f))]},c)),o.jsx("path",{d:s.hidden,fill:"none",stroke:e.ink.hidden,strokeWidth:e.strokeWidth*.55,strokeDasharray:"3.5 3",opacity:.85}),o.jsx("path",{d:s.visible,fill:"none",stroke:d,strokeWidth:l?e.strokeWidth*1.7:e.strokeWidth,strokeLinejoin:"round",strokeLinecap:"round"}),i!=null&&o.jsx("text",{x:s.topCenter.x,y:s.topCenter.y+r(3),textAnchor:"middle",fill:N,fontSize:r(8),fontWeight:600,fontFamily:e.font,style:{letterSpacing:"0.1em"},pointerEvents:"none",children:ut(i)})]})}function lo({style:t,box:e,name:s,subtitle:a,icon:i,selected:l=!1,opacity:u}){const m=l?t.ink.accent:t.ink.line,_=l?t.ink.accent:t.ink.text,y=i?io(i):null,d=(s||"").toUpperCase(),N=(a||"").toUpperCase(),h=e.minY-r(11),c=h-r(4),v=N?h-r(15):h-r(4),f=r(9),A=r(3),$=y?f+A:0,C=Math.max(d.length*r(5.6)+$,N.length*r(4.4),r(24)),P=e.topCenter.x+$/2,T=P-d.length*r(5.6)/2-A-f,b=v-f+r(1);return o.jsxs("g",{pointerEvents:"none",opacity:u,children:[o.jsx("line",{x1:e.topCenter.x,y1:e.topCenter.y-r(6),x2:e.topCenter.x,y2:h,stroke:m,strokeWidth:t.strokeWidth*.6}),o.jsx("line",{x1:e.topCenter.x-C/2,y1:h,x2:e.topCenter.x+C/2,y2:h,stroke:m,strokeWidth:t.strokeWidth*.6}),y&&o.jsx("g",{transform:`translate(${T}, ${b})`,color:_,children:o.jsx(y,{width:f,height:f,strokeWidth:1.75})}),o.jsx("text",{x:P,y:v,textAnchor:"middle",fill:_,fontSize:r(9.5),fontWeight:600,fontFamily:t.font,stroke:t.paper.from,strokeWidth:r(3),paintOrder:"stroke",strokeLinejoin:"round",style:{letterSpacing:"0.12em"},children:d}),N&&o.jsx("text",{x:e.topCenter.x,y:c,textAnchor:"middle",fill:t.ink.muted,fontSize:r(7.5),fontFamily:t.font,stroke:t.paper.from,strokeWidth:r(2.5),paintOrder:"stroke",strokeLinejoin:"round",style:{letterSpacing:"0.1em"},children:N})]})}const zt='"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace',ho={blue:{top:"#3b82f6",side:"#2563eb",front:"#1d4ed8"},violet:{top:"#8b5cf6",side:"#7c3aed",front:"#6d28d9"},cyan:{top:"#06b6d4",side:"#0891b2",front:"#0e7490"},emerald:{top:"#10b981",side:"#059669",front:"#047857"},amber:{top:"#f59e0b",side:"#d97706",front:"#b45309"},rose:{top:"#f43f5e",side:"#e11d48",front:"#be123c"},slate:{top:"#475569",side:"#334155",front:"#1e293b"}},fo={blue:{top:"#93c5fd",side:"#60a5fa",front:"#3b82f6"},violet:{top:"#c4b5fd",side:"#a78bfa",front:"#8b5cf6"},cyan:{top:"#67e8f9",side:"#22d3ee",front:"#06b6d4"},emerald:{top:"#6ee7b7",side:"#34d399",front:"#10b981"},amber:{top:"#fcd34d",side:"#fbbf24",front:"#f59e0b"},rose:{top:"#fda4af",side:"#fb7185",front:"#f43f5e"},slate:{top:"#e2e8f0",side:"#cbd5e1",front:"#94a3b8"}};function xt(t,e,s){const a=y=>{const d=y.replace("#","");return{r:parseInt(d.substring(0,2),16),g:parseInt(d.substring(2,4),16),b:parseInt(d.substring(4,6),16)}},i=a(t),l=a(e),u=Math.round(i.r+(l.r-i.r)*s),m=Math.round(i.g+(l.g-i.g)*s),_=Math.round(i.b+(l.b-i.b)*s);return`rgb(${u},${m},${_})`}function po({x:t,y:e,z:s,children:a,fontSize:i=8,color:l="#1e293b",shadow:u}){const m=k(t,e,s);return o.jsx("g",{transform:`translate(${m.screenX}, ${m.screenY})`,filter:u,children:o.jsx("g",{transform:`matrix(${Xt()})`,children:o.jsx("text",{x:0,y:0,textAnchor:"middle",fill:l,fontSize:i,fontWeight:600,fontFamily:zt,style:{textTransform:"uppercase",letterSpacing:"0.06em"},children:a})})})}function uo({width:t,depth:e,elevation:s,color:a,opacity:i,borderColor:l,theme:u,isGround:m}){const y=ot(t,e,m?8:2,0,0),d=k(0,0,s);return o.jsxs("g",{transform:`translate(${d.screenX}, ${d.screenY})`,children:[m&&o.jsx("g",{transform:"translate(4, 4)",opacity:.2,children:o.jsx("path",{d:y.top,fill:"#000"})}),o.jsx("path",{d:y.top,fill:a,opacity:i}),m&&o.jsxs(o.Fragment,{children:[o.jsx("path",{d:y.left,fill:u==="dark"?"#0f172a":"#cbd5e1",opacity:.8}),o.jsx("path",{d:y.right,fill:u==="dark"?"#1e293b":"#94a3b8",opacity:.8})]}),o.jsx("path",{d:y.top,fill:"none",stroke:l||(u==="dark"?"#475569":"#94a3b8"),strokeWidth:m?1.5:.75,opacity:m?1:.6})]})}function yo({config:t,options:e={},className:s,style:a,onNodeClick:i,onLayerClick:l}){const{interactive:u=!0,animate:m=!0,showLabels:_=!0,expandOnHover:y=!0}=e,{theme:d,canvas:N,origin:h,tiers:c,floorSize:v,nodes:f,cornerRadius:A=0}=t,$=Kt(t.style),C=$.technical,P=B.useId().replace(/:/g,""),T=d==="dark"?ho:fo,b=C?$.paper.to:d==="dark"?"#0f172a":"#fafafa",E=C?$.ink.text:d==="dark"?"#e2e8f0":"#1e293b",L=C?$.ink.muted:d==="dark"?"#64748b":"#94a3b8",w=B.useMemo(()=>{const S=f.map((n,p)=>({node:n,i:p})).sort((n,p)=>n.node.tier-p.node.tier||n.node.y-p.node.y||n.node.x-p.node.x),x=new Map;return S.forEach(({i:n},p)=>x.set(n,p+1)),x},[f]),F={minX:16,minY:16,maxX:N.width-16,maxY:N.height-16},[Y,R]=B.useState(new Set);B.useEffect(()=>{m?(R(new Set),c.forEach((S,x)=>{setTimeout(()=>{R(n=>new Set([...n,x]))},x*150+100)})):R(new Set(c.map((S,x)=>x)))},[t.id,m,c.length]);const[z,Z]=B.useState(null),[V,U]=B.useState(null),[M,D]=B.useState(null),q=[...f].sort((S,x)=>{const n=c[S.tier]?.elevation||0,p=c[x.tier]?.elevation||0;if(n!==p)return n-p;const O=S.x+S.width+(S.y+S.depth);return x.x+x.width+(x.y+x.depth)-O});return o.jsx("div",{className:s,style:{display:"inline-block",...a},children:o.jsxs("svg",{width:N.width,height:N.height,style:{backgroundColor:b},onClick:()=>{u&&(D(null),U(null))},children:[o.jsxs("defs",{children:[o.jsx("pattern",{id:`grid-${t.id}`,width:"24",height:"24",patternUnits:"userSpaceOnUse",children:o.jsx("circle",{cx:"12",cy:"12",r:"0.5",fill:d==="dark"?"#1e293b":"#e2e8f0"})}),o.jsx("filter",{id:`glow-${t.id}`,x:"-20%",y:"-20%",width:"140%",height:"140%",children:o.jsx("feDropShadow",{dx:"0",dy:"4",stdDeviation:"8",floodColor:d==="dark"?"#60a5fa":"#3b82f6",floodOpacity:"0.3"})}),o.jsxs("radialGradient",{id:`bg-${t.id}`,cx:"48%",cy:"34%",r:"82%",children:[o.jsx("stop",{offset:"0%",stopColor:d==="dark"?"#16203a":"#ffffff"}),o.jsx("stop",{offset:"55%",stopColor:d==="dark"?"#0e1526":"#f2f5f9"}),o.jsx("stop",{offset:"100%",stopColor:d==="dark"?"#080d18":"#e7ecf2"})]}),o.jsx("filter",{id:`contact-${t.id}`,x:"-60%",y:"-60%",width:"220%",height:"220%",children:o.jsx("feGaussianBlur",{stdDeviation:"5"})}),o.jsxs("linearGradient",{id:`sheen-${t.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[o.jsx("stop",{offset:"0%",stopColor:"#ffffff",stopOpacity:"0.18"}),o.jsx("stop",{offset:"55%",stopColor:"#ffffff",stopOpacity:"0.04"}),o.jsx("stop",{offset:"100%",stopColor:"#ffffff",stopOpacity:"0"})]}),o.jsxs("linearGradient",{id:`shade-${t.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[o.jsx("stop",{offset:"0%",stopColor:"#000000",stopOpacity:"0"}),o.jsx("stop",{offset:"100%",stopColor:"#000000",stopOpacity:"0.24"})]}),o.jsx("filter",{id:`label-${t.id}`,x:"-40%",y:"-40%",width:"180%",height:"180%",children:o.jsx("feDropShadow",{dx:"0",dy:"0.5",stdDeviation:"0.7",floodColor:"#000000",floodOpacity:"0.7"})})]}),C?o.jsxs(o.Fragment,{children:[o.jsx($t,{uid:P,style:$}),o.jsx(ae,{style:$,rect:{x:0,y:0,width:N.width,height:N.height},className:""})]}):o.jsxs(o.Fragment,{children:[o.jsx("rect",{width:"100%",height:"100%",fill:`url(#bg-${t.id})`}),o.jsx("rect",{width:"100%",height:"100%",fill:`url(#grid-${t.id})`,opacity:"0.5"})]}),o.jsx("g",{transform:`translate(${h.x}, ${h.y})`,children:c.map((S,x)=>{const n=q.filter(j=>j.tier===x),p=Y.has(x),O=u&&(V===x||V===null&&M===null&&z===x),I=u&&(V!==null||z!==null||M!==null),nt=M?.tier===x,rt=I&&!O&&!nt,W=p?0:60,Q=p?1:0,et=O&&y?{x:10,y:-34}:{x:0,y:0},ht=O?1.03:1,mt=k(v.width/2,v.depth/2,S.elevation),It=S.offset||{x:0,y:0};return o.jsxs("g",{"data-tier":x,onMouseEnter:()=>u&&Z(x),onMouseLeave:()=>u&&Z(null),onClick:j=>{u&&(j.stopPropagation(),D(null),U(X=>X===x?null:x),l?.(x))},style:{transform:`translate(${It.x+et.x}px, ${It.y+et.y}px) translate(${mt.screenX}px, ${mt.screenY+W}px) scale(${ht}) translate(${-mt.screenX}px, ${-mt.screenY}px)`,transition:"transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease-out",opacity:Q*(rt?.35:1),filter:O?`url(#glow-${t.id})`:"none",cursor:u?"pointer":"default"},children:[C?o.jsx(xo,{width:v.width,depth:v.depth,elevation:x===0?-2:S.elevation,ink:x===0?$.ink.line:$.ink.hidden,isGround:x===0}):o.jsx(uo,{width:v.width,depth:v.depth,elevation:x===0?-2:S.elevation,color:S.floorColor||(d==="dark"?"#0f172a":"#f8fafc"),opacity:S.floorOpacity||(x===0?.95:.5),borderColor:S.borderColor,theme:d,isGround:x===0}),C&&n.map((j,X)=>{const it=S.elevation+5,st=k(j.x,j.y,it),G=Ct(j.width,j.depth,j.height,st.screenX,st.screenY),H=M?.tier===x&&M?.index===X,at=u&&M!==null&&!H;return o.jsx(co,{uid:P,style:$,box:G,color:j.color,tag:w.get(f.indexOf(j)),selected:H,opacity:(j.opacity??1)*(at?.3:1),onClick:u?()=>{if(U(null),D(ft=>ft&&ft.tier===x&&ft.index===X?null:{tier:x,index:X}),i?.(j,{tier:x,index:X}),j.link)try{window.open(j.link,"_blank")}catch{}}:void 0},`tech-${X}`)}),C&&_&&n.map((j,X)=>{const it=S.elevation+5,st=k(j.x,j.y,it),G=Ct(j.width,j.depth,j.height,st.screenX,st.screenY),H=M?.tier===x&&M?.index===X,at=u&&M!==null&&!H;return o.jsx(lo,{style:$,box:G,name:j.label,selected:H,opacity:at?.3:1},`tech-label-${X}`)}),!C&&n.map((j,X)=>{const it=S.elevation+5,st=k(j.x,j.y,it),G=ot(j.width,j.depth,j.height,st.screenX,st.screenY,A),H=T[j.color]||T.slate,at=M?.tier===x&&M?.index===X,ft=u&&M!==null&&!at,Ft=k(j.x-3,j.y-3,S.elevation),$o=ot(j.width+6,j.depth+6,0,Ft.screenX,Ft.screenY,A).top;return o.jsxs("g",{"data-node":`${x}-${X}`,opacity:(j.opacity??1)*(ft?.3:1),onClick:u?J=>{if(J.stopPropagation(),U(null),D(tt=>tt&&tt.tier===x&&tt.index===X?null:{tier:x,index:X}),i?.(j,{tier:x,index:X}),j.link)try{window.open(j.link,"_blank")}catch{}}:void 0,style:{cursor:u?"pointer":"default",transition:"opacity 0.3s ease-out"},children:[o.jsx("path",{d:$o,fill:"#000000",opacity:.3,filter:`url(#contact-${t.id})`}),G.cornerBackRight?.map((J,tt)=>o.jsx("path",{d:J.path,fill:xt(H.front,H.side,J.intensity)},`cbr-${tt}`)),G.cornerBackLeft?.map((J,tt)=>o.jsx("path",{d:J.path,fill:xt(H.side,H.front,J.intensity)},`cbl-${tt}`)),o.jsx("path",{d:G.left,fill:H.side}),o.jsx("path",{d:G.left,fill:`url(#shade-${t.id})`}),o.jsx("path",{d:G.right,fill:H.front}),o.jsx("path",{d:G.right,fill:`url(#shade-${t.id})`}),G.cornerFrontRight?.map((J,tt)=>o.jsx("path",{d:J.path,fill:xt(H.front,H.side,J.intensity)},`cfr-${tt}`)),G.cornerFrontLeft?.map((J,tt)=>o.jsx("path",{d:J.path,fill:xt(H.front,H.side,J.intensity)},`cfl-${tt}`)),o.jsx("path",{d:G.top,fill:H.top}),o.jsx("path",{d:G.top,fill:`url(#sheen-${t.id})`}),o.jsx("path",{d:G.top,fill:"none",stroke:at?"#ffffff":"rgba(255,255,255,0.28)",strokeWidth:at?1.4:.75,strokeLinejoin:"round"}),_&&j.label&&o.jsx(po,{x:j.x+j.width/2,y:j.y+j.depth/2,z:it+j.height+2,fontSize:j.width>70?9:8,color:E,shadow:`url(#label-${t.id})`,children:j.label})]},X)}),_&&o.jsx("text",{x:k(-25,v.depth/2,S.elevation+15).screenX-35,y:k(-25,v.depth/2,S.elevation+15).screenY,fill:L,fontSize:9,fontWeight:500,fontFamily:zt,opacity:C?.9:.6,style:{letterSpacing:"0.05em",textTransform:C?"uppercase":"none"},children:S.name})]},x)})}),C&&o.jsx(ce,{style:$,plate:F,rows:f.map((S,x)=>({n:w.get(x)||x+1,name:S.label,subtitle:c[S.tier]?.name,color:S.color})).sort((S,x)=>S.n-x.n),title:t.title,tally:`${String(f.length).padStart(2,"0")} CMP / ${String(c.length).padStart(2,"0")} TIER`,className:""})]})})}function xo({width:t,depth:e,elevation:s,ink:a,isGround:i}){const l=k(0,0,s),u=ot(t,e,0,l.screenX,l.screenY).top;return o.jsx("path",{d:u,fill:"none",stroke:a,strokeWidth:i?1:.7,strokeDasharray:i?void 0:"5 4",opacity:i?.9:.7})}const Yt='"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace',ko={blue:{top:"#3b82f6",side:"#2563eb",front:"#1d4ed8"},violet:{top:"#8b5cf6",side:"#7c3aed",front:"#6d28d9"},cyan:{top:"#06b6d4",side:"#0891b2",front:"#0e7490"},emerald:{top:"#10b981",side:"#059669",front:"#047857"},amber:{top:"#f59e0b",side:"#d97706",front:"#b45309"},rose:{top:"#f43f5e",side:"#e11d48",front:"#be123c"},slate:{top:"#475569",side:"#334155",front:"#1e293b"}},mo={blue:{top:"#93c5fd",side:"#60a5fa",front:"#3b82f6"},violet:{top:"#c4b5fd",side:"#a78bfa",front:"#8b5cf6"},cyan:{top:"#67e8f9",side:"#22d3ee",front:"#06b6d4"},emerald:{top:"#6ee7b7",side:"#34d399",front:"#10b981"},amber:{top:"#fcd34d",side:"#fbbf24",front:"#f59e0b"},rose:{top:"#fda4af",side:"#fb7185",front:"#f43f5e"},slate:{top:"#e2e8f0",side:"#cbd5e1",front:"#94a3b8"}};function kt(t,e,s){const a=y=>{const d=y.replace("#","");return{r:parseInt(d.substring(0,2),16),g:parseInt(d.substring(2,4),16),b:parseInt(d.substring(4,6),16)}},i=a(t),l=a(e),u=Math.round(i.r+(l.r-i.r)*s),m=Math.round(i.g+(l.g-i.g)*s),_=Math.round(i.b+(l.b-i.b)*s);return`rgb(${u},${m},${_})`}function Wt(t){const{theme:e,canvas:s,origin:a,tiers:i,floorSize:l,nodes:u,cornerRadius:m=0}=t,_=e==="dark"?ko:mo,y=e==="dark"?"#0f172a":"#fafafa",d=e==="dark"?"#e2e8f0":"#1e293b",N=e==="dark"?"#64748b":"#94a3b8",h=[...u].sort((v,f)=>{const A=i[v.tier]?.elevation||0,$=i[f.tier]?.elevation||0;return A!==$?A-$:f.x+f.width+(f.y+f.depth)-(v.x+v.width+(v.y+v.depth))});let c=`<svg xmlns="http://www.w3.org/2000/svg" width="${s.width}" height="${s.height}" style="background:${y}">`;c+=`<defs>
6
+ <%s key={someKey} {...props} />`,R,z,K,z),w[z+R]=!0)}if(z=null,C!==void 0&&(s(C),z=""+C),u(p)&&(s(p.key),z=""+p.key),"key"in p){C={};for(var rt in p)rt!=="key"&&(C[rt]=p[rt])}else C=p;return z&&m(C,typeof e=="function"?e.displayName||e.name||"Unknown":e),x(e,z,C,i(),et,nt)}function A(e){f(e)?e._store&&(e._store.validated=1):typeof e=="object"&&e!==null&&e.$$typeof===S&&(e._payload.status==="fulfilled"?f(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function f(e){return typeof e=="object"&&e!==null&&e.$$typeof===d}var T=D,d=Symbol.for("react.transitional.element"),h=Symbol.for("react.portal"),j=Symbol.for("react.fragment"),g=Symbol.for("react.strict_mode"),N=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),v=Symbol.for("react.context"),$=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),L=Symbol.for("react.suspense_list"),W=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),P=Symbol.for("react.activity"),V=Symbol.for("react.client.reference"),O=T.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y=Object.prototype.hasOwnProperty,J=Array.isArray,U=console.createTask?console.createTask:function(){return null};T={react_stack_bottom_frame:function(e){return e()}};var F,M={},B=T.react_stack_bottom_frame.bind(T,l)(),tt=U(a(l)),w={};dt.Fragment=j,dt.jsx=function(e,p,C){var R=1e4>O.recentlyCreatedOwnerStacks++;return c(e,p,C,!1,R?Error("react-stack-top-frame"):B,R?U(a(e)):tt)},dt.jsxs=function(e,p,C){var R=1e4>O.recentlyCreatedOwnerStacks++;return c(e,p,C,!0,R?Error("react-stack-top-frame"):B,R?U(a(e)):tt)}})()),dt}var Mt;function Jt(){return Mt||(Mt=1,process.env.NODE_ENV==="production"?pt.exports=qt():pt.exports=Zt()),pt.exports}var n=Jt();const wt={rose:{top:"#c58a70",side:"#a86c55",front:"#b57860"},slate:{top:"#9aaab6",side:"#718693",front:"#8196a2"},cyan:{top:"#679c99",side:"#467f7d",front:"#568e8a"},emerald:{top:"#a2b08b",side:"#7d9168",front:"#8e9f78"},blue:{top:"#829eae",side:"#5b798b",front:"#6b8999"},violet:{top:"#a698ac",side:"#807187",front:"#918297"},amber:{top:"#c6ac71",side:"#a08950",front:"#b09a61"}},St=Array.from({length:180},(t,o)=>({x:(o*73.37+11.7)%64,y:(o*o*13.19+5.3)%64,r:o%3===0?.48:.28})),Kt=["solid","blueprint","cyanotype"],$t='"JetBrains Mono", "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace',Qt=.78,r=t=>Math.round(t*Qt*10)/10,Nt={id:"solid",name:"Solid",description:"Shaded isometric boxes",technical:!1,paper:{from:"transparent",to:"transparent",edge:"transparent",grid:"transparent",grain:0},ink:{line:"rgba(0,0,0,0.3)",hidden:"rgba(0,0,0,0.2)",hatch:"transparent",text:"#ffffff",muted:"rgba(255,255,255,0.6)",accent:"#3b82f6"},face:{top:"transparent",right:"transparent",left:"transparent"},hatchOpacity:{top:0,right:0,left:0},font:$t,strokeWidth:.5},Ct={solid:Nt,blueprint:{id:"blueprint",name:"Blueprint",description:"Sepia engineering plate on parchment",technical:!0,paper:{from:"#f0e6d0",to:"#ddceac",edge:"#b09a74",grid:"#c6b48f",grain:.055},ink:{line:"#4a3826",hidden:"#96805f",hatch:"#6d563c",text:"#3b2c1d",muted:"#8a7455",accent:"#a8412a"},face:{top:"#f4ebd7",right:"#e6dabb",left:"#d6c6a2"},hatchOpacity:{top:.48,right:.68,left:.92},font:$t,strokeWidth:1},cyanotype:{id:"cyanotype",name:"Cyanotype",description:"White linework on classic blueprint blue",technical:!0,paper:{from:"#123256",to:"#0b1f3a",edge:"#3f6d9f",grid:"#27507f",grain:.07},ink:{line:"#e6f0fb",hidden:"#78a2cc",hatch:"#a6c6e5",text:"#f2f8ff",muted:"#8fb2d6",accent:"#ffc857"},face:{top:"#1b4675",right:"#153a61",left:"#0f2b49"},hatchOpacity:{top:.46,right:.64,left:.88},font:$t,strokeWidth:1}};function te(t){return Ct[t]||Nt}Kt.filter(t=>Ct[t].technical)[0];const ee={violet:"cross",blue:"lines",sky:"dashes",cyan:"dashes",emerald:"dots",amber:"dense",orange:"dense",rose:"cross",zinc:"plain",slate:"plain"};function Tt(t){return ee[t||"zinc"]||"lines"}const oe={plain:"PLAIN",lines:"HATCH-A",cross:"HATCH-X",dense:"HATCH-D",dots:"STIPPLE",dashes:"BROKEN"};function Et(t,o,s,a=0,i=0){const l=(g,N,I)=>{const v=k(g,N,I);return{x:v.screenX+a,y:v.screenY+i}},u=l(0,0,0),m=l(t,0,0),y=l(t,o,0),x=l(0,o,0),c=l(0,0,s),A=l(t,0,s),f=l(t,o,s),T=l(0,o,s),d=g=>`M ${g.map(N=>`${N.x},${N.y}`).join(" L ")} Z`,h=(g,N)=>`M ${g.x},${g.y} L ${N.x},${N.y}`,j=[u,m,y,x,c,A,f,T];return{top:d([c,A,f,T]),right:d([u,m,A,c]),left:d([u,x,T,c]),visible:[d([u,m,A,f,T,x]),h(c,A),h(c,T),h(c,u)].join(" "),hidden:[h(y,m),h(y,x),h(y,f)].join(" "),topCenter:{x:(c.x+f.x)/2,y:(c.y+f.y)/2},topApex:{x:f.x,y:f.y},minX:Math.min(...j.map(g=>g.x)),minY:Math.min(...j.map(g=>g.y)),maxX:Math.max(...j.map(g=>g.x)),maxY:Math.max(...j.map(g=>g.y))}}function yt(t){return String(t).padStart(2,"0")}const ne={top:["n30","p30"],right:["n30","v"],left:["p30","v"]},re={n30:-30,p30:30,v:90},se=[{key:"line",spacing:6.2,strokeWidth:.55},{key:"dense",spacing:3.1,strokeWidth:.45},{key:"dash",spacing:6.2,strokeWidth:.55,dash:"2.6 2.6"}],ht=22;function At(t,o,s){const[a,i]=ne[s];switch(o){case"plain":return[];case"lines":return[`${t}-line-${a}`];case"cross":return[`${t}-line-${a}`,`${t}-line-${i}`];case"dense":return[`${t}-dense-${a}`];case"dashes":return[`${t}-dash-${a}`];case"dots":return[`${t}-dot`];default:return[`${t}-line-${a}`]}}const Ot=t=>`${t}-paper`,Rt=t=>`${t}-grain`,ae=(t,o="line")=>`${t}-arrow-${o}`,ie=t=>[`${t}-grid-n30`,`${t}-grid-p30`];function _t({uid:t,style:o,gridTransform:s=""}){return n.jsxs("defs",{children:[se.flatMap(a=>Object.entries(re).map(([i,l])=>n.jsx("pattern",{id:`${t}-${a.key}-${i}`,width:a.spacing,height:a.spacing,patternUnits:"userSpaceOnUse",patternTransform:`rotate(${l})`,children:n.jsx("line",{x1:-1,y1:a.spacing/2,x2:a.spacing+1,y2:a.spacing/2,stroke:o.ink.hatch,strokeWidth:a.strokeWidth,strokeDasharray:a.dash})},`${a.key}-${i}`))),n.jsx("pattern",{id:`${t}-dot`,width:4.5,height:4.5,patternUnits:"userSpaceOnUse",children:n.jsx("circle",{cx:2.25,cy:2.25,r:.55,fill:o.ink.hatch})}),[{id:`${t}-grid-n30`,angle:-30},{id:`${t}-grid-p30`,angle:30}].map(({id:a,angle:i})=>n.jsx("pattern",{id:a,width:ht,height:ht,patternUnits:"userSpaceOnUse",patternTransform:`${s} rotate(${i})`.trim(),children:n.jsx("line",{x1:-1,y1:ht/2,x2:ht+1,y2:ht/2,stroke:o.paper.grid,strokeWidth:.5})},a)),n.jsxs("linearGradient",{id:Ot(t),x1:"0",y1:"0",x2:"0.35",y2:"1",children:[n.jsx("stop",{offset:"0%",stopColor:o.paper.from}),n.jsx("stop",{offset:"100%",stopColor:o.paper.to})]}),n.jsxs("filter",{id:Rt(t),x:"0%",y:"0%",width:"100%",height:"100%",children:[n.jsx("feTurbulence",{type:"fractalNoise",baseFrequency:"0.85",numOctaves:3,stitchTiles:"stitch"}),n.jsx("feColorMatrix",{type:"saturate",values:"0"})]}),["line","accent"].map(a=>n.jsx("marker",{id:ae(t,a),markerWidth:"10",markerHeight:"10",refX:"8",refY:"4",orient:"auto",markerUnits:"userSpaceOnUse",children:n.jsx("path",{d:"M 1 1 L 8 4 L 1 7",fill:"none",stroke:a==="accent"?o.ink.accent:o.ink.line,strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})},a))]})}function ce({style:t,rect:o,pan:s,zoom:a=1,className:i="absolute inset-0 w-full h-full pointer-events-none"}){const l=D.useId().replace(/:/g,""),u=s?`translate(${s.x} ${s.y}) scale(${a})`:a!==1?`scale(${a})`:"",m=o?{x:o.x,y:o.y,width:o.width,height:o.height}:{x:0,y:0,width:"100%",height:"100%"};return n.jsxs("svg",{className:i,"aria-hidden":"true",children:[n.jsx(_t,{uid:l,style:t,gridTransform:u}),n.jsx("rect",{...m,fill:`url(#${Ot(l)})`}),ie(l).map(y=>n.jsx("rect",{...m,fill:`url(#${y})`,opacity:.6},y)),t.paper.grain>0&&n.jsx("rect",{...m,filter:`url(#${Rt(l)})`,opacity:t.paper.grain})]})}const ut=r(10),le=9,Lt=(t,o)=>t.length>o?`${t.slice(0,o-1)}…`:t;function de({style:t,plate:o,rows:s,title:a,tally:i,className:l="absolute inset-0 w-full h-full pointer-events-none"}){const u=D.useId().replace(/:/g,""),m=s.slice(0,le),y=s.length-m.length,x={x:o.minX+ut,y:o.minY+ut,width:o.maxX-o.minX-ut*2,height:o.maxY-o.minY-ut*2},c={fontFamily:t.font,letterSpacing:"0.08em"},A=r(236),f=r(13),T=r(16),d=T+Math.max(m.length,1)*f+(y>0?f:0),h=x.x+r(14),j=x.y+r(14),g=r(264),N=r(74),I=r(126),v=x.x+x.width-g-r(14),$=x.y+x.height-N-r(14);return n.jsxs("svg",{className:l,style:{overflow:"visible"},"aria-hidden":"true",children:[n.jsx(_t,{uid:u,style:t}),n.jsx("rect",{x:o.minX,y:o.minY,width:o.maxX-o.minX,height:o.maxY-o.minY,fill:"none",stroke:t.paper.edge,strokeWidth:1.4}),n.jsx("rect",{x:x.x,y:x.y,width:x.width,height:x.height,fill:"none",stroke:t.paper.edge,strokeWidth:.6,opacity:.75}),[[x.x,x.y,1,1],[x.x+x.width,x.y,-1,1],[x.x,x.y+x.height,1,-1],[x.x+x.width,x.y+x.height,-1,-1]].map(([E,L,W,S],P)=>n.jsx("path",{d:`M ${E+W*r(16)} ${L} L ${E} ${L} L ${E} ${L+S*r(16)}`,fill:"none",stroke:t.ink.line,strokeWidth:1.2},P)),m.length>0&&n.jsxs("g",{children:[n.jsx("rect",{x:h,y:j,width:A,height:d,fill:t.paper.from,fillOpacity:.55,stroke:t.ink.line,strokeWidth:.8}),n.jsx("line",{x1:h,y1:j+T,x2:h+A,y2:j+T,stroke:t.ink.line,strokeWidth:.8}),n.jsx("text",{x:h+r(8),y:j+r(11),fill:t.ink.text,fontSize:r(8),fontWeight:600,style:c,children:"COMPONENT INDEX"}),n.jsxs("text",{x:h+A-r(8),y:j+r(11),textAnchor:"end",fill:t.ink.muted,fontSize:r(8),style:c,children:[yt(s.length)," ITEMS"]}),m.map((E,L)=>{const W=j+T+L*f,S=Tt(E.color),P=At(u,S,"top");return n.jsxs("g",{children:[n.jsx("text",{x:h+r(8),y:W+r(9.5),fill:t.ink.muted,fontSize:r(7.5),style:c,children:yt(E.n)}),n.jsx("rect",{x:h+r(28),y:W+r(3),width:r(14),height:r(7),fill:t.face.right,stroke:t.ink.line,strokeWidth:.4}),P.map(V=>n.jsx("rect",{x:h+r(28),y:W+r(3),width:r(14),height:r(7),fill:`url(#${V})`,opacity:.85},V)),n.jsx("text",{x:h+r(50),y:W+r(9.5),fill:t.ink.text,fontSize:r(7.5),style:c,children:Lt((E.name||"").toUpperCase(),18)}),n.jsx("text",{x:h+A-r(8),y:W+r(9.5),textAnchor:"end",fill:t.ink.muted,fontSize:r(7),style:c,children:oe[S]})]},E.n)}),y>0&&n.jsx("text",{x:h+r(8),y:j+T+m.length*f+r(9.5),fill:t.ink.muted,fontSize:r(7.5),style:c,children:`+ ${y} NOT LISTED`})]}),n.jsxs("g",{children:[n.jsx("rect",{x:v,y:$,width:g,height:N,fill:t.paper.from,fillOpacity:.55,stroke:t.ink.line,strokeWidth:.8}),n.jsx("line",{x1:v,y1:$+r(30),x2:v+g,y2:$+r(30),stroke:t.ink.line,strokeWidth:.8}),n.jsx("line",{x1:v,y1:$+r(52),x2:v+g,y2:$+r(52),stroke:t.ink.line,strokeWidth:.5}),n.jsx("line",{x1:v+I,y1:$+r(30),x2:v+I,y2:$+N,stroke:t.ink.line,strokeWidth:.5}),n.jsx("text",{x:v+r(9),y:$+r(12),fill:t.ink.muted,fontSize:r(6.5),style:c,children:"DRAWING TITLE"}),n.jsx("text",{x:v+r(9),y:$+r(24),fill:t.ink.text,fontSize:r(10),fontWeight:600,style:c,children:Lt((a||"UNTITLED ASSEMBLY").toUpperCase(),26)}),n.jsx("text",{x:v+r(9),y:$+r(43),fill:t.ink.muted,fontSize:r(6.5),style:c,children:"PROJECTION"}),n.jsx("text",{x:v+I-r(9),y:$+r(43),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:c,children:"ISOMETRIC 30°"}),n.jsx("text",{x:v+r(9),y:$+r(65),fill:t.ink.muted,fontSize:r(6.5),style:c,children:"SCALE"}),n.jsx("text",{x:v+I-r(9),y:$+r(65),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:c,children:"1:1"}),n.jsx("text",{x:v+I+r(9),y:$+r(43),fill:t.ink.muted,fontSize:r(6.5),style:c,children:"QTY"}),n.jsx("text",{x:v+g-r(9),y:$+r(43),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:c,children:i||`${yt(s.length)} CMP`}),n.jsx("text",{x:v+I+r(9),y:$+r(65),fill:t.ink.muted,fontSize:r(6.5),style:c,children:"SHEET"}),n.jsx("text",{x:v+g-r(9),y:$+r(65),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:c,children:"1 OF 1"})]})]})}const he=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),fe=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(o,s,a)=>a?a.toUpperCase():s.toLowerCase()),Pt=t=>{const o=fe(t);return o.charAt(0).toUpperCase()+o.slice(1)},zt=(...t)=>t.filter((o,s,a)=>!!o&&o.trim()!==""&&a.indexOf(o)===s).join(" ").trim(),pe=t=>{for(const o in t)if(o.startsWith("aria-")||o==="role"||o==="title")return!0};var ye={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const ue=D.forwardRef(({color:t="currentColor",size:o=24,strokeWidth:s=2,absoluteStrokeWidth:a,className:i="",children:l,iconNode:u,...m},y)=>D.createElement("svg",{ref:y,...ye,width:o,height:o,stroke:t,strokeWidth:a?Number(s)*24/Number(o):s,className:zt("lucide",i),...!l&&!pe(m)&&{"aria-hidden":"true"},...m},[...u.map(([x,c])=>D.createElement(x,c)),...Array.isArray(l)?l:[l]]));const _=(t,o)=>{const s=D.forwardRef(({className:a,...i},l)=>D.createElement(ue,{ref:l,iconNode:o,className:zt(`lucide-${he(Pt(t))}`,`lucide-${t}`,a),...i}));return s.displayName=Pt(t),s};const xe=_("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);const ke=_("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);const me=_("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);const $e=_("bell",[["path",{d:"M10.268 21a2 2 0 0 0 3.464 0",key:"vwvbt9"}],["path",{d:"M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326",key:"11g9vi"}]]);const Yt=_("box",[["path",{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",key:"hh9hay"}],["path",{d:"m3.3 7 8.7 5 8.7-5",key:"g66t2b"}],["path",{d:"M12 22V12",key:"d0xqtd"}]]);const _e=_("camera",[["path",{d:"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z",key:"18u6gg"}],["circle",{cx:"12",cy:"13",r:"3",key:"1vg3eu"}]]);const ge=_("chart-no-axes-column-increasing",[["path",{d:"M5 21v-6",key:"1hz6c0"}],["path",{d:"M12 21V9",key:"uvy0l4"}],["path",{d:"M19 21V3",key:"11j9sm"}]]);const be=_("chart-pie",[["path",{d:"M21 12c.552 0 1.005-.449.95-.998a10 10 0 0 0-8.953-8.951c-.55-.055-.998.398-.998.95v8a1 1 0 0 0 1 1z",key:"pzmjnu"}],["path",{d:"M21.21 15.89A10 10 0 1 1 8 2.83",key:"k2fpak"}]]);const ve=_("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);const je=_("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]);const Me=_("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);const we=_("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);const Se=_("database",[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]]);const Ne=_("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);const Ce=_("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);const Te=_("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);const Ee=_("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);const Ae=_("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);const Oe=_("grid-3x3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);const Re=_("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]);const Le=_("headphones",[["path",{d:"M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3",key:"1xhozi"}]]);const Pe=_("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);const ze=_("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]]);const Ye=_("lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]);const Ie=_("mail",[["path",{d:"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7",key:"132q7q"}],["rect",{x:"2",y:"4",width:"20",height:"16",rx:"2",key:"izxlao"}]]);const We=_("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);const Fe=_("mic",[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]]);const De=_("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);const Be=_("package",[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",key:"1a0edw"}],["path",{d:"M12 22V12",key:"d0xqtd"}],["polyline",{points:"3.29 7 12 12 20.71 7",key:"ousv84"}],["path",{d:"m7.5 4.27 9 5.15",key:"1c824w"}]]);const Xe=_("pause",[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]]);const He=_("play",[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]]);const Ue=_("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);const Ge=_("repeat",[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]]);const Ve=_("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);const qe=_("server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]);const Ze=_("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);const Je=_("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]);const Ke=_("smartphone",[["rect",{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2",key:"1yt0o3"}],["path",{d:"M12 18h.01",key:"mhygvu"}]]);const Qe=_("speaker",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M12 6h.01",key:"1vi96p"}],["circle",{cx:"12",cy:"14",r:"4",key:"1jruaj"}],["path",{d:"M12 14h.01",key:"1etili"}]]);const to=_("square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]]);const eo=_("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);const oo=_("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);const no=_("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);const ro=_("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]]);const so=_("watch",[["path",{d:"M12 10v2.2l1.6 1",key:"n3r21l"}],["path",{d:"m16.13 7.66-.81-4.05a2 2 0 0 0-2-1.61h-2.68a2 2 0 0 0-2 1.61l-.78 4.05",key:"18k57s"}],["path",{d:"m7.88 16.36.8 4a2 2 0 0 0 2 1.61h2.72a2 2 0 0 0 2-1.61l.81-4.05",key:"16ny36"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}]]);const ao=_("wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]);const io=_("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),co={Monitor:De,Server:qe,Smartphone:Ke,Watch:so,Cloud:je,Cpu:we,Database:Se,HardDrive:Re,Wifi:ao,Globe:Ae,User:no,Users:ro,Lock:Ye,Key:Pe,Shield:Je,Mic:Fe,Camera:_e,Speaker:Qe,Headphones:Le,Code:Me,Terminal:eo,FileCode:Ce,Folder:Te,Zap:io,Activity:xe,BarChart:ge,PieChart:be,ArrowRight:me,ArrowDown:ke,RefreshCw:Ue,Repeat:Ge,Box:Yt,Package:Be,Layers:ze,Grid:Oe,Settings:Ze,Bell:$e,Mail:Ie,MessageSquare:We,Search:Ve,Filter:Ee,Download:Ne,Upload:oo,Play:He,Pause:Xe,Square:to,Circle:ve};function lo(t){return co[t]||Yt}function ho({uid:t,style:o,box:s,color:a,tag:i,selected:l=!1,opacity:u,onClick:m,onPointerDown:y}){const x=Tt(a),c=l?o.ink.accent:o.ink.line,A=l?o.ink.accent:o.ink.text,f=[{face:"left",path:s.left},{face:"right",path:s.right},{face:"top",path:s.top}];return n.jsxs("g",{className:m||y?"cursor-pointer":void 0,opacity:u,onClick:m,onPointerDown:y,children:[f.map(({face:T,path:d})=>n.jsxs("g",{children:[n.jsx("path",{d,fill:o.face[T]}),At(t,x,T).map(h=>n.jsx("path",{d,fill:`url(#${h})`,opacity:o.hatchOpacity[T]},h))]},T)),n.jsx("path",{d:s.hidden,fill:"none",stroke:o.ink.hidden,strokeWidth:o.strokeWidth*.55,strokeDasharray:"3.5 3",opacity:.85}),n.jsx("path",{d:s.visible,fill:"none",stroke:c,strokeWidth:l?o.strokeWidth*1.7:o.strokeWidth,strokeLinejoin:"round",strokeLinecap:"round"}),i!=null&&n.jsx("text",{x:s.topCenter.x,y:s.topCenter.y+r(3),textAnchor:"middle",fill:A,fontSize:r(8),fontWeight:600,fontFamily:o.font,style:{letterSpacing:"0.1em"},pointerEvents:"none",children:yt(i)})]})}function fo({style:t,box:o,name:s,subtitle:a,icon:i,selected:l=!1,opacity:u}){const m=l?t.ink.accent:t.ink.line,y=l?t.ink.accent:t.ink.text,x=i?lo(i):null,c=(s||"").toUpperCase(),A=(a||"").toUpperCase(),f=o.minY-r(11),T=f-r(4),d=A?f-r(15):f-r(4),h=r(9),j=r(3),g=x?h+j:0,N=Math.max(c.length*r(5.6)+g,A.length*r(4.4),r(24)),I=o.topCenter.x+g/2,v=I-c.length*r(5.6)/2-j-h,$=d-h+r(1);return n.jsxs("g",{pointerEvents:"none",opacity:u,children:[n.jsx("line",{x1:o.topCenter.x,y1:o.topCenter.y-r(6),x2:o.topCenter.x,y2:f,stroke:m,strokeWidth:t.strokeWidth*.6}),n.jsx("line",{x1:o.topCenter.x-N/2,y1:f,x2:o.topCenter.x+N/2,y2:f,stroke:m,strokeWidth:t.strokeWidth*.6}),x&&n.jsx("g",{transform:`translate(${v}, ${$})`,color:y,children:n.jsx(x,{width:h,height:h,strokeWidth:1.75})}),n.jsx("text",{x:I,y:d,textAnchor:"middle",fill:y,fontSize:r(9.5),fontWeight:600,fontFamily:t.font,stroke:t.paper.from,strokeWidth:r(3),paintOrder:"stroke",strokeLinejoin:"round",style:{letterSpacing:"0.12em"},children:c}),A&&n.jsx("text",{x:o.topCenter.x,y:T,textAnchor:"middle",fill:t.ink.muted,fontSize:r(7.5),fontFamily:t.font,stroke:t.paper.from,strokeWidth:r(2.5),paintOrder:"stroke",strokeLinejoin:"round",style:{letterSpacing:"0.1em"},children:A})]})}const It='"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace',po={blue:{top:"#3b82f6",side:"#2563eb",front:"#1d4ed8"},violet:{top:"#8b5cf6",side:"#7c3aed",front:"#6d28d9"},cyan:{top:"#06b6d4",side:"#0891b2",front:"#0e7490"},emerald:{top:"#10b981",side:"#059669",front:"#047857"},amber:{top:"#f59e0b",side:"#d97706",front:"#b45309"},rose:{top:"#f43f5e",side:"#e11d48",front:"#be123c"},slate:{top:"#475569",side:"#334155",front:"#1e293b"}},yo={blue:{top:"#93c5fd",side:"#60a5fa",front:"#3b82f6"},violet:{top:"#c4b5fd",side:"#a78bfa",front:"#8b5cf6"},cyan:{top:"#67e8f9",side:"#22d3ee",front:"#06b6d4"},emerald:{top:"#6ee7b7",side:"#34d399",front:"#10b981"},amber:{top:"#fcd34d",side:"#fbbf24",front:"#f59e0b"},rose:{top:"#fda4af",side:"#fb7185",front:"#f43f5e"},slate:{top:"#e2e8f0",side:"#cbd5e1",front:"#94a3b8"}};function xt(t,o,s){const a=x=>{const c=x.replace("#","");return{r:parseInt(c.substring(0,2),16),g:parseInt(c.substring(2,4),16),b:parseInt(c.substring(4,6),16)}},i=a(t),l=a(o),u=Math.round(i.r+(l.r-i.r)*s),m=Math.round(i.g+(l.g-i.g)*s),y=Math.round(i.b+(l.b-i.b)*s);return`rgb(${u},${m},${y})`}function uo({x:t,y:o,z:s,children:a,fontSize:i=8,color:l="#1e293b",shadow:u}){const m=k(t,o,s);return n.jsx("g",{transform:`translate(${m.screenX}, ${m.screenY})`,filter:u,children:n.jsx("g",{transform:`matrix(${Ut()})`,children:n.jsx("text",{x:0,y:0,textAnchor:"middle",fill:l,fontSize:i,fontWeight:600,fontFamily:It,style:{textTransform:"uppercase",letterSpacing:"0.06em"},children:a})})})}function xo({width:t,depth:o,elevation:s,color:a,opacity:i,borderColor:l,theme:u,isGround:m}){const x=ot(t,o,m?8:2,0,0),c=k(0,0,s);return n.jsxs("g",{transform:`translate(${c.screenX}, ${c.screenY})`,children:[m&&n.jsx("g",{transform:"translate(4, 4)",opacity:.2,children:n.jsx("path",{d:x.top,fill:"#000"})}),n.jsx("path",{d:x.top,fill:a,opacity:i}),m&&n.jsxs(n.Fragment,{children:[n.jsx("path",{d:x.left,fill:u==="dark"?"#0f172a":"#cbd5e1",opacity:.8}),n.jsx("path",{d:x.right,fill:u==="dark"?"#1e293b":"#94a3b8",opacity:.8})]}),n.jsx("path",{d:x.top,fill:"none",stroke:l||(u==="dark"?"#475569":"#94a3b8"),strokeWidth:m?1.5:.75,opacity:m?1:.6})]})}function ko({config:t,options:o={},className:s,style:a,onNodeClick:i,onLayerClick:l}){const{interactive:u=!0,animate:m=!0,showLabels:y=!0,expandOnHover:x=!0}=o,{theme:c,canvas:A,origin:f,tiers:T,floorSize:d,nodes:h,cornerRadius:j=0}=t,g=te(t.style),N=g.technical,I=D.useId().replace(/:/g,""),v=!N&&t.material==="retro-print",$=v?wt:c==="dark"?po:yo,E=N?g.paper.to:v?c==="dark"?"#202624":"#f4efe6":c==="dark"?"#0f172a":"#fafafa",L=N?g.ink.text:v?"#202a29":c==="dark"?"#e2e8f0":"#1e293b",W=N?g.ink.muted:v?c==="dark"?"#c5c4b7":"#505b56":c==="dark"?"#64748b":"#94a3b8",S=D.useMemo(()=>{const w=h.map((p,C)=>({node:p,i:C})).sort((p,C)=>p.node.tier-C.node.tier||p.node.y-C.node.y||p.node.x-C.node.x),e=new Map;return w.forEach(({i:p},C)=>e.set(p,C+1)),e},[h]),P={minX:16,minY:16,maxX:A.width-16,maxY:A.height-16},[V,O]=D.useState(new Set);D.useEffect(()=>{m?(O(new Set),T.forEach((w,e)=>{setTimeout(()=>{O(p=>new Set([...p,e]))},e*150+100)})):O(new Set(T.map((w,e)=>e)))},[t.id,m,T.length]);const[Y,J]=D.useState(null),[U,F]=D.useState(null),[M,B]=D.useState(null),tt=[...h].sort((w,e)=>{const p=T[w.tier]?.elevation||0,C=T[e.tier]?.elevation||0;if(p!==C)return p-C;const R=w.x+w.width+(w.y+w.depth);return e.x+e.width+(e.y+e.depth)-R});return n.jsx("div",{className:s,style:{display:"inline-block",...a},children:n.jsxs("svg",{width:A.width,height:A.height,style:{backgroundColor:E},onClick:()=>{u&&(B(null),F(null))},children:[n.jsxs("defs",{children:[v&&n.jsx("pattern",{id:`print-${t.id}`,width:"64",height:"64",patternUnits:"userSpaceOnUse",children:St.map((w,e)=>n.jsx("circle",{cx:w.x,cy:w.y,r:w.r,fill:"#26362e",opacity:.32},e))}),n.jsx("pattern",{id:`grid-${t.id}`,width:"24",height:"24",patternUnits:"userSpaceOnUse",children:n.jsx("circle",{cx:"12",cy:"12",r:"0.5",fill:c==="dark"?"#1e293b":"#e2e8f0"})}),n.jsx("filter",{id:`glow-${t.id}`,x:"-20%",y:"-20%",width:"140%",height:"140%",children:n.jsx("feDropShadow",{dx:"0",dy:"4",stdDeviation:"8",floodColor:c==="dark"?"#60a5fa":"#3b82f6",floodOpacity:"0.3"})}),n.jsxs("radialGradient",{id:`bg-${t.id}`,cx:"48%",cy:"34%",r:"82%",children:[n.jsx("stop",{offset:"0%",stopColor:c==="dark"?"#16203a":"#ffffff"}),n.jsx("stop",{offset:"55%",stopColor:c==="dark"?"#0e1526":"#f2f5f9"}),n.jsx("stop",{offset:"100%",stopColor:c==="dark"?"#080d18":"#e7ecf2"})]}),n.jsx("filter",{id:`contact-${t.id}`,x:"-60%",y:"-60%",width:"220%",height:"220%",children:n.jsx("feGaussianBlur",{stdDeviation:"5"})}),n.jsxs("linearGradient",{id:`sheen-${t.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[n.jsx("stop",{offset:"0%",stopColor:"#ffffff",stopOpacity:"0.18"}),n.jsx("stop",{offset:"55%",stopColor:"#ffffff",stopOpacity:"0.04"}),n.jsx("stop",{offset:"100%",stopColor:"#ffffff",stopOpacity:"0"})]}),n.jsxs("linearGradient",{id:`shade-${t.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[n.jsx("stop",{offset:"0%",stopColor:"#000000",stopOpacity:"0"}),n.jsx("stop",{offset:"100%",stopColor:"#000000",stopOpacity:"0.24"})]}),n.jsx("filter",{id:`label-${t.id}`,x:"-40%",y:"-40%",width:"180%",height:"180%",children:n.jsx("feDropShadow",{dx:"0",dy:"0.5",stdDeviation:"0.7",floodColor:"#000000",floodOpacity:"0.7"})})]}),N?n.jsxs(n.Fragment,{children:[n.jsx(_t,{uid:I,style:g}),n.jsx(ce,{style:g,rect:{x:0,y:0,width:A.width,height:A.height},className:""})]}):n.jsxs(n.Fragment,{children:[n.jsx("rect",{width:"100%",height:"100%",fill:v?E:`url(#bg-${t.id})`}),n.jsx("rect",{width:"100%",height:"100%",fill:`url(#grid-${t.id})`,opacity:"0.5"})]}),n.jsx("g",{transform:`translate(${f.x}, ${f.y})`,children:T.map((w,e)=>{const p=tt.filter(b=>b.tier===e),C=V.has(e),R=u&&(U===e||U===null&&M===null&&Y===e),et=u&&(U!==null||Y!==null||M!==null),nt=M?.tier===e,z=et&&!R&&!nt,K=C?0:60,rt=C?1:0,it=R&&x?{x:10,y:-34}:{x:0,y:0},bo=R?1.03:1,mt=k(d.width/2,d.depth/2,w.elevation),Dt=w.offset||{x:0,y:0};return n.jsxs("g",{"data-tier":e,onMouseEnter:()=>u&&J(e),onMouseLeave:()=>u&&J(null),onClick:b=>{u&&(b.stopPropagation(),B(null),F(X=>X===e?null:e),l?.(e))},style:{transform:`translate(${Dt.x+it.x}px, ${Dt.y+it.y}px) translate(${mt.screenX}px, ${mt.screenY+K}px) scale(${bo}) translate(${-mt.screenX}px, ${-mt.screenY}px)`,transition:"transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease-out",opacity:rt*(z?.35:1),filter:R?`url(#glow-${t.id})`:"none",cursor:u?"pointer":"default"},children:[N?n.jsx(mo,{width:d.width,depth:d.depth,elevation:e===0?-2:w.elevation,ink:e===0?g.ink.line:g.ink.hidden,isGround:e===0}):n.jsx(xo,{width:d.width,depth:d.depth,elevation:e===0?-2:w.elevation,color:w.floorColor||(c==="dark"?"#0f172a":"#f8fafc"),opacity:w.floorOpacity||(e===0?.95:.5),borderColor:w.borderColor,theme:c,isGround:e===0}),N&&p.map((b,X)=>{const ct=w.elevation+5,st=k(b.x,b.y,ct),G=Et(b.width,b.depth,b.height,st.screenX,st.screenY),H=M?.tier===e&&M?.index===X,at=u&&M!==null&&!H;return n.jsx(ho,{uid:I,style:g,box:G,color:b.color,tag:S.get(h.indexOf(b)),selected:H,opacity:(b.opacity??1)*(at?.3:1),onClick:u?()=>{if(F(null),B(ft=>ft&&ft.tier===e&&ft.index===X?null:{tier:e,index:X}),i?.(b,{tier:e,index:X}),b.link)try{window.open(b.link,"_blank")}catch{}}:void 0},`tech-${X}`)}),N&&y&&p.map((b,X)=>{const ct=w.elevation+5,st=k(b.x,b.y,ct),G=Et(b.width,b.depth,b.height,st.screenX,st.screenY),H=M?.tier===e&&M?.index===X,at=u&&M!==null&&!H;return n.jsx(fo,{style:g,box:G,name:b.label,selected:H,opacity:at?.3:1},`tech-label-${X}`)}),!N&&p.map((b,X)=>{const ct=w.elevation+5,st=k(b.x,b.y,ct),G=ot(b.width,b.depth,b.height,st.screenX,st.screenY,j),H=$[b.color]||$.slate,at=M?.tier===e&&M?.index===X,ft=u&&M!==null&&!at,Bt=k(b.x-3,b.y-3,w.elevation),vo=ot(b.width+6,b.depth+6,0,Bt.screenX,Bt.screenY,j).top;return n.jsxs("g",{"data-node":`${e}-${X}`,opacity:(b.opacity??1)*(ft?.3:1),onClick:u?q=>{if(q.stopPropagation(),F(null),B(Q=>Q&&Q.tier===e&&Q.index===X?null:{tier:e,index:X}),i?.(b,{tier:e,index:X}),b.link)try{window.open(b.link,"_blank")}catch{}}:void 0,style:{cursor:u?"pointer":"default",transition:"opacity 0.3s ease-out"},children:[n.jsx("path",{d:vo,fill:"#000000",opacity:.3,filter:`url(#contact-${t.id})`}),G.cornerBackRight?.map((q,Q)=>n.jsx("path",{d:q.path,fill:xt(H.front,H.side,q.intensity)},`cbr-${Q}`)),G.cornerBackLeft?.map((q,Q)=>n.jsx("path",{d:q.path,fill:xt(H.side,H.front,q.intensity)},`cbl-${Q}`)),n.jsx("path",{d:G.left,fill:H.side}),n.jsx("path",{d:G.left,fill:`url(#${v?"print":"shade"}-${t.id})`}),n.jsx("path",{d:G.right,fill:H.front}),n.jsx("path",{d:G.right,fill:`url(#${v?"print":"shade"}-${t.id})`}),G.cornerFrontRight?.map((q,Q)=>n.jsx("path",{d:q.path,fill:xt(H.front,H.side,q.intensity)},`cfr-${Q}`)),G.cornerFrontLeft?.map((q,Q)=>n.jsx("path",{d:q.path,fill:xt(H.front,H.side,q.intensity)},`cfl-${Q}`)),n.jsx("path",{d:G.top,fill:H.top}),n.jsx("path",{d:G.top,fill:`url(#${v?"print":"sheen"}-${t.id})`}),n.jsx("path",{d:G.top,fill:"none",stroke:at?"#ffffff":"rgba(255,255,255,0.28)",strokeWidth:at?1.4:.75,strokeLinejoin:"round"}),y&&b.label&&n.jsx(uo,{x:b.x+b.width/2,y:b.y+b.depth/2,z:ct+b.height+2,fontSize:b.width>70?9:8,color:L,shadow:v?void 0:`url(#label-${t.id})`,children:b.label})]},X)}),y&&n.jsx("text",{x:k(-25,d.depth/2,w.elevation+15).screenX-35,y:k(-25,d.depth/2,w.elevation+15).screenY,fill:W,fontSize:9,fontWeight:500,fontFamily:It,opacity:N?.9:.6,style:{letterSpacing:"0.05em",textTransform:N?"uppercase":"none"},children:w.name})]},e)})}),N&&n.jsx(de,{style:g,plate:P,rows:h.map((w,e)=>({n:S.get(e)||e+1,name:w.label,subtitle:T[w.tier]?.name,color:w.color})).sort((w,e)=>w.n-e.n),title:t.title,tally:`${String(h.length).padStart(2,"0")} CMP / ${String(T.length).padStart(2,"0")} TIER`,className:""})]})})}function mo({width:t,depth:o,elevation:s,ink:a,isGround:i}){const l=k(0,0,s),u=ot(t,o,0,l.screenX,l.screenY).top;return n.jsx("path",{d:u,fill:"none",stroke:a,strokeWidth:i?1:.7,strokeDasharray:i?void 0:"5 4",opacity:i?.9:.7})}const Wt='"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace',$o={blue:{top:"#3b82f6",side:"#2563eb",front:"#1d4ed8"},violet:{top:"#8b5cf6",side:"#7c3aed",front:"#6d28d9"},cyan:{top:"#06b6d4",side:"#0891b2",front:"#0e7490"},emerald:{top:"#10b981",side:"#059669",front:"#047857"},amber:{top:"#f59e0b",side:"#d97706",front:"#b45309"},rose:{top:"#f43f5e",side:"#e11d48",front:"#be123c"},slate:{top:"#475569",side:"#334155",front:"#1e293b"}},_o={blue:{top:"#93c5fd",side:"#60a5fa",front:"#3b82f6"},violet:{top:"#c4b5fd",side:"#a78bfa",front:"#8b5cf6"},cyan:{top:"#67e8f9",side:"#22d3ee",front:"#06b6d4"},emerald:{top:"#6ee7b7",side:"#34d399",front:"#10b981"},amber:{top:"#fcd34d",side:"#fbbf24",front:"#f59e0b"},rose:{top:"#fda4af",side:"#fb7185",front:"#f43f5e"},slate:{top:"#e2e8f0",side:"#cbd5e1",front:"#94a3b8"}};function kt(t,o,s){const a=x=>{const c=x.replace("#","");return{r:parseInt(c.substring(0,2),16),g:parseInt(c.substring(2,4),16),b:parseInt(c.substring(4,6),16)}},i=a(t),l=a(o),u=Math.round(i.r+(l.r-i.r)*s),m=Math.round(i.g+(l.g-i.g)*s),y=Math.round(i.b+(l.b-i.b)*s);return`rgb(${u},${m},${y})`}function Ft(t){const{theme:o,canvas:s,origin:a,tiers:i,floorSize:l,nodes:u,cornerRadius:m=0}=t,y=t.material==="retro-print",x=y?wt:o==="dark"?$o:_o,c=y?o==="dark"?"#202624":"#f4efe6":o==="dark"?"#0f172a":"#fafafa",A=y?"#202a29":o==="dark"?"#e2e8f0":"#1e293b",f=y?o==="dark"?"#c5c4b7":"#505b56":o==="dark"?"#64748b":"#94a3b8",T=[...u].sort((h,j)=>{const g=i[h.tier]?.elevation||0,N=i[j.tier]?.elevation||0;return g!==N?g-N:j.x+j.width+(j.y+j.depth)-(h.x+h.width+(h.y+h.depth))});let d=`<svg xmlns="http://www.w3.org/2000/svg" width="${s.width}" height="${s.height}" style="background:${c}">`;d+=`<defs>${y?`<pattern id="print" width="64" height="64" patternUnits="userSpaceOnUse">${St.map(h=>`<circle cx="${h.x}" cy="${h.y}" r="${h.r}" fill="#26362e" opacity="0.32"/>`).join("")}</pattern>`:""}
7
7
  <pattern id="grid" width="24" height="24" patternUnits="userSpaceOnUse">
8
- <circle cx="12" cy="12" r="0.5" fill="${e==="dark"?"#1e293b":"#e2e8f0"}"/>
8
+ <circle cx="12" cy="12" r="0.5" fill="${o==="dark"?"#1e293b":"#e2e8f0"}"/>
9
9
  </pattern>
10
10
  <radialGradient id="bg" cx="48%" cy="34%" r="82%">
11
- <stop offset="0%" stop-color="${e==="dark"?"#16203a":"#ffffff"}"/>
12
- <stop offset="55%" stop-color="${e==="dark"?"#0e1526":"#f2f5f9"}"/>
13
- <stop offset="100%" stop-color="${e==="dark"?"#080d18":"#e7ecf2"}"/>
11
+ <stop offset="0%" stop-color="${o==="dark"?"#16203a":"#ffffff"}"/>
12
+ <stop offset="55%" stop-color="${o==="dark"?"#0e1526":"#f2f5f9"}"/>
13
+ <stop offset="100%" stop-color="${o==="dark"?"#080d18":"#e7ecf2"}"/>
14
14
  </radialGradient>
15
15
  <filter id="contact" x="-60%" y="-60%" width="220%" height="220%"><feGaussianBlur stdDeviation="5"/></filter>
16
16
  <linearGradient id="sheen" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="#ffffff" stop-opacity="0.18"/><stop offset="55%" stop-color="#ffffff" stop-opacity="0.04"/><stop offset="100%" stop-color="#ffffff" stop-opacity="0"/></linearGradient>
17
17
  <linearGradient id="shade" x1="0" y1="0" x2="0" y2="1"><stop offset="0%" stop-color="#000000" stop-opacity="0"/><stop offset="100%" stop-color="#000000" stop-opacity="0.24"/></linearGradient>
18
18
  <filter id="labelshadow" x="-40%" y="-40%" width="180%" height="180%"><feDropShadow dx="0" dy="0.5" stdDeviation="0.7" flood-color="#000000" flood-opacity="0.7"/></filter>
19
- </defs>`,c+='<rect width="100%" height="100%" fill="url(#bg)"/>',c+='<rect width="100%" height="100%" fill="url(#grid)" opacity="0.5"/>',c+=`<g transform="translate(${a.x},${a.y})">`;for(let v=0;v<i.length;v++){const f=i[v],A=h.filter(w=>w.tier===v),$=f.offset||{x:0,y:0};c+=`<g transform="translate(${$.x},${$.y})">`;const C=v===0?8:2,P=ot(l.width,l.depth,C,0,0),T=k(0,0,v===0?-2:f.elevation),b=f.floorColor||(e==="dark"?"#0f172a":"#f8fafc"),E=f.floorOpacity||(v===0?.95:.5);c+=`<g transform="translate(${T.screenX},${T.screenY})">`,v===0&&(c+=`<g transform="translate(4,4)" opacity="0.2"><path d="${P.top}" fill="#000"/></g>`),c+=`<path d="${P.top}" fill="${b}" opacity="${E}"/>`,v===0&&(c+=`<path d="${P.left}" fill="${e==="dark"?"#0f172a":"#cbd5e1"}" opacity="0.8"/>`,c+=`<path d="${P.right}" fill="${e==="dark"?"#1e293b":"#94a3b8"}" opacity="0.8"/>`),c+=`<path d="${P.top}" fill="none" stroke="${f.borderColor||(e==="dark"?"#475569":"#94a3b8")}" stroke-width="${v===0?1.5:.75}" opacity="${v===0?1:.6}"/>`,c+="</g>";for(const w of A){const F=f.elevation+5,Y=k(w.x,w.y,F),R=ot(w.width,w.depth,w.height,Y.screenX,Y.screenY,m),z=_[w.color]||_.slate,Z=w.opacity??1;c+=`<g opacity="${Z}">`;const V=k(w.x-3,w.y-3,f.elevation),U=ot(w.width+6,w.depth+6,0,V.screenX,V.screenY,m).top;if(c+=`<path d="${U}" fill="#000000" opacity="0.3" filter="url(#contact)"/>`,R.cornerBackRight)for(const M of R.cornerBackRight)c+=`<path d="${M.path}" fill="${kt(z.front,z.side,M.intensity)}"/>`;if(R.cornerBackLeft)for(const M of R.cornerBackLeft)c+=`<path d="${M.path}" fill="${kt(z.side,z.front,M.intensity)}"/>`;if(c+=`<path d="${R.left}" fill="${z.side}"/>`,c+=`<path d="${R.left}" fill="url(#shade)"/>`,c+=`<path d="${R.right}" fill="${z.front}"/>`,c+=`<path d="${R.right}" fill="url(#shade)"/>`,R.cornerFrontRight)for(const M of R.cornerFrontRight)c+=`<path d="${M.path}" fill="${kt(z.front,z.side,M.intensity)}"/>`;if(R.cornerFrontLeft)for(const M of R.cornerFrontLeft)c+=`<path d="${M.path}" fill="${kt(z.front,z.side,M.intensity)}"/>`;if(c+=`<path d="${R.top}" fill="${z.top}"/>`,c+=`<path d="${R.top}" fill="url(#sheen)"/>`,c+=`<path d="${R.top}" fill="none" stroke="rgba(255,255,255,0.28)" stroke-width="0.75" stroke-linejoin="round"/>`,w.label){const M=k(w.x+w.width/2,w.y+w.depth/2,F+w.height+2),D=w.width>70?9:8;c+=`<g transform="translate(${M.screenX},${M.screenY})" filter="url(#labelshadow)">`,c+='<g transform="matrix(0.866,-0.5,0.866,0.5,0,0)">',c+=`<text x="0" y="0" text-anchor="middle" fill="${d}" font-size="${D}" font-weight="600" font-family='${Yt}' style="text-transform:uppercase;letter-spacing:0.06em">${w.label}</text>`,c+="</g></g>"}c+="</g>"}const L=k(-25,l.depth/2,f.elevation+15);c+=`<text x="${L.screenX-35}" y="${L.screenY}" fill="${N}" font-size="9" font-weight="500" font-family='${Yt}' opacity="0.6" style="letter-spacing:0.05em">${f.name}</text>`,c+="</g>"}return c+="</g></svg>",c}function _o(t,e){t.innerHTML=Wt(e)}K.ArcDiagram=yo,K.getColorShading=Ut,K.isoBox=ot,K.isoToScreen=k,K.renderToElement=_o,K.renderToString=Wt,Object.defineProperty(K,Symbol.toStringTag,{value:"Module"})}));
19
+ </defs>`,d+=`<rect width="100%" height="100%" fill="${y?c:"url(#bg)"}"/>`,d+='<rect width="100%" height="100%" fill="url(#grid)" opacity="0.5"/>',d+=`<g transform="translate(${a.x},${a.y})">`;for(let h=0;h<i.length;h++){const j=i[h],g=T.filter(S=>S.tier===h),N=j.offset||{x:0,y:0};d+=`<g transform="translate(${N.x},${N.y})">`;const I=h===0?8:2,v=ot(l.width,l.depth,I,0,0),$=k(0,0,h===0?-2:j.elevation),E=j.floorColor||(o==="dark"?"#0f172a":"#f8fafc"),L=j.floorOpacity||(h===0?.95:.5);d+=`<g transform="translate(${$.screenX},${$.screenY})">`,h===0&&(d+=`<g transform="translate(4,4)" opacity="0.2"><path d="${v.top}" fill="#000"/></g>`),d+=`<path d="${v.top}" fill="${E}" opacity="${L}"/>`,h===0&&(d+=`<path d="${v.left}" fill="${o==="dark"?"#0f172a":"#cbd5e1"}" opacity="0.8"/>`,d+=`<path d="${v.right}" fill="${o==="dark"?"#1e293b":"#94a3b8"}" opacity="0.8"/>`),d+=`<path d="${v.top}" fill="none" stroke="${j.borderColor||(o==="dark"?"#475569":"#94a3b8")}" stroke-width="${h===0?1.5:.75}" opacity="${h===0?1:.6}"/>`,d+="</g>";for(const S of g){const P=j.elevation+5,V=k(S.x,S.y,P),O=ot(S.width,S.depth,S.height,V.screenX,V.screenY,m),Y=x[S.color]||x.slate,J=S.opacity??1;d+=`<g opacity="${J}">`;const U=k(S.x-3,S.y-3,j.elevation),F=ot(S.width+6,S.depth+6,0,U.screenX,U.screenY,m).top;if(d+=`<path d="${F}" fill="#000000" opacity="0.3" filter="url(#contact)"/>`,O.cornerBackRight)for(const M of O.cornerBackRight)d+=`<path d="${M.path}" fill="${kt(Y.front,Y.side,M.intensity)}"/>`;if(O.cornerBackLeft)for(const M of O.cornerBackLeft)d+=`<path d="${M.path}" fill="${kt(Y.side,Y.front,M.intensity)}"/>`;if(d+=`<path d="${O.left}" fill="${Y.side}"/>`,d+=`<path d="${O.left}" fill="url(#${y?"print":"shade"})"/>`,d+=`<path d="${O.right}" fill="${Y.front}"/>`,d+=`<path d="${O.right}" fill="url(#${y?"print":"shade"})"/>`,O.cornerFrontRight)for(const M of O.cornerFrontRight)d+=`<path d="${M.path}" fill="${kt(Y.front,Y.side,M.intensity)}"/>`;if(O.cornerFrontLeft)for(const M of O.cornerFrontLeft)d+=`<path d="${M.path}" fill="${kt(Y.front,Y.side,M.intensity)}"/>`;if(d+=`<path d="${O.top}" fill="${Y.top}"/>`,d+=`<path d="${O.top}" fill="url(#${y?"print":"sheen"})"/>`,d+=`<path d="${O.top}" fill="none" stroke="rgba(255,255,255,0.28)" stroke-width="0.75" stroke-linejoin="round"/>`,S.label){const M=k(S.x+S.width/2,S.y+S.depth/2,P+S.height+2),B=S.width>70?9:8;d+=`<g transform="translate(${M.screenX},${M.screenY})" filter="${y?"none":"url(#labelshadow)"}">`,d+='<g transform="matrix(0.866,-0.5,0.866,0.5,0,0)">',d+=`<text x="0" y="0" text-anchor="middle" fill="${A}" font-size="${B}" font-weight="600" font-family='${Wt}' style="text-transform:uppercase;letter-spacing:0.06em">${S.label}</text>`,d+="</g></g>"}d+="</g>"}const W=k(-25,l.depth/2,j.elevation+15);d+=`<text x="${W.screenX-35}" y="${W.screenY}" fill="${f}" font-size="9" font-weight="500" font-family='${Wt}' opacity="0.6" style="letter-spacing:0.05em">${j.name}</text>`,d+="</g>"}return d+="</g></svg>",d}function go(t,o){t.innerHTML=Ft(o)}Z.ArcDiagram=ko,Z.getColorShading=Vt,Z.isoBox=ot,Z.isoToScreen=k,Z.renderToElement=go,Z.renderToString=Ft,Object.defineProperty(Z,Symbol.toStringTag,{value:"Module"})}));