@arach/arc-iso 0.7.0 → 0.8.0
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.
- package/dist/arc-iso-slim.es.js +1192 -730
- package/dist/arc-iso-slim.umd.js +7 -7
- package/dist/arc-iso.es.js +1648 -1186
- package/dist/arc-iso.umd.js +27 -27
- package/dist/index.d.ts +11 -0
- package/package.json +1 -1
package/dist/arc-iso-slim.umd.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
(function(K,
|
|
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:
|
|
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,N,Q,N),p[N+I]=!0)}if(N=null,R!==void 0&&(a(R),N=""+R),x(h)&&(a(h.key),N=""+h.key),"key"in h){R={};for(var tt in h)tt!=="key"&&(R[tt]=h[tt])}else R=h;return N&&b(R,typeof n=="function"?n.displayName||n.name||"Unknown":n),u(n,N,R,s(),nt,ot)}function O(n){d(n)?n._store&&(n._store.validated=1):typeof n=="object"&&n!==null&&n.$$typeof===F&&(n._payload.status==="fulfilled"?d(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function d(n){return typeof n=="object"&&n!==null&&n.$$typeof===S}var c=H,S=Symbol.for("react.transitional.element"),y=Symbol.for("react.portal"),M=Symbol.for("react.fragment"),g=Symbol.for("react.strict_mode"),C=Symbol.for("react.profiler"),W=Symbol.for("react.consumer"),_=Symbol.for("react.context"),$=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),E=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),Y=Symbol.for("react.activity"),A=Symbol.for("react.client.reference"),L=c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Z=Object.prototype.hasOwnProperty,G=Array.isArray,z=console.createTask?console.createTask:function(){return null};c={react_stack_bottom_frame:function(n){return n()}};var T,D={},J=c.react_stack_bottom_frame.bind(c,f)(),v=z(i(f)),p={};ct.Fragment=M,ct.jsx=function(n,h,R){var I=1e4>L.recentlyCreatedOwnerStacks++;return l(n,h,R,!1,I?Error("react-stack-top-frame"):J,I?z(i(n)):v)},ct.jsxs=function(n,h,R){var I=1e4>L.recentlyCreatedOwnerStacks++;return l(n,h,R,!0,I?Error("react-stack-top-frame"):J,I?z(i(n)):v)}})()),ct}var Tt;function zt(){return Tt||(Tt=1,process.env.NODE_ENV==="production"?ht.exports=Bt():ht.exports=Xt()),ht.exports}var e=zt();const Ut=["solid","blueprint","cyanotype"],kt='"JetBrains Mono", "IBM Plex Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace',Ht=.78,r=t=>Math.round(t*Ht*10)/10,Et={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:kt,strokeWidth:.5},vt={solid:Et,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:.3,right:.55,left:.85},font:kt,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:.28,right:.5,left:.78},font:kt,strokeWidth:1}};function Gt(t){return vt[t]||Et}Ut.filter(t=>vt[t].technical)[0];const Jt={violet:"cross",blue:"lines",sky:"lines",cyan:"dashes",emerald:"dots",amber:"dense",orange:"dense",rose:"cross",zinc:"plain",slate:"plain"};function wt(t){return Jt[t||"zinc"]||"lines"}const Zt={plain:"PLAIN",lines:"HATCH-A",cross:"HATCH-X",dense:"HATCH-D",dots:"STIPPLE",dashes:"BROKEN"};function Ot(t,o,a,i=0,s=0){const f=(g,C,W)=>{const _=m(g,C,W);return{x:_.screenX+i,y:_.screenY+s}},x=f(0,0,0),b=f(t,0,0),k=f(t,o,0),u=f(0,o,0),l=f(0,0,a),O=f(t,0,a),d=f(t,o,a),c=f(0,o,a),S=g=>`M ${g.map(C=>`${C.x},${C.y}`).join(" L ")} Z`,y=(g,C)=>`M ${g.x},${g.y} L ${C.x},${C.y}`,M=[x,b,k,u,l,O,d,c];return{top:S([l,O,d,c]),right:S([x,b,O,l]),left:S([x,u,c,l]),visible:[S([x,b,O,d,c,u]),y(l,O),y(l,c),y(l,x)].join(" "),hidden:[y(k,b),y(k,u),y(k,d)].join(" "),topCenter:{x:(l.x+d.x)/2,y:(l.y+d.y)/2},topApex:{x:d.x,y:d.y},minX:Math.min(...M.map(g=>g.x)),minY:Math.min(...M.map(g=>g.y)),maxX:Math.max(...M.map(g=>g.x)),maxY:Math.max(...M.map(g=>g.y))}}function pt(t){return String(t).padStart(2,"0")}const Vt={top:["n30","p30"],right:["n30","v"],left:["p30","v"]},Kt={n30:-30,p30:30,v:90},Qt=[{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"}],lt=22;function Ct(t,o,a){const[i,s]=Vt[a];switch(o){case"plain":return[];case"lines":return[`${t}-line-${i}`];case"cross":return[`${t}-line-${i}`,`${t}-line-${s}`];case"dense":return[`${t}-dense-${i}`];case"dashes":return[`${t}-dash-${i}`];case"dots":return[`${t}-dot`];default:return[`${t}-line-${i}`]}}const Rt=t=>`${t}-paper`,_t=t=>`${t}-grain`,qt=(t,o="line")=>`${t}-arrow-${o}`,te=t=>[`${t}-grid-n30`,`${t}-grid-p30`];function bt({uid:t,style:o,gridTransform:a=""}){return e.jsxs("defs",{children:[Qt.flatMap(i=>Object.entries(Kt).map(([s,f])=>e.jsx("pattern",{id:`${t}-${i.key}-${s}`,width:i.spacing,height:i.spacing,patternUnits:"userSpaceOnUse",patternTransform:`rotate(${f})`,children:e.jsx("line",{x1:-1,y1:i.spacing/2,x2:i.spacing+1,y2:i.spacing/2,stroke:o.ink.hatch,strokeWidth:i.strokeWidth,strokeDasharray:i.dash})},`${i.key}-${s}`))),e.jsx("pattern",{id:`${t}-dot`,width:4.5,height:4.5,patternUnits:"userSpaceOnUse",children:e.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:i,angle:s})=>e.jsx("pattern",{id:i,width:lt,height:lt,patternUnits:"userSpaceOnUse",patternTransform:`${a} rotate(${s})`.trim(),children:e.jsx("line",{x1:-1,y1:lt/2,x2:lt+1,y2:lt/2,stroke:o.paper.grid,strokeWidth:.5})},i)),e.jsxs("linearGradient",{id:Rt(t),x1:"0",y1:"0",x2:"0.35",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:o.paper.from}),e.jsx("stop",{offset:"100%",stopColor:o.paper.to})]}),e.jsxs("filter",{id:_t(t),x:"0%",y:"0%",width:"100%",height:"100%",children:[e.jsx("feTurbulence",{type:"fractalNoise",baseFrequency:"0.85",numOctaves:3,stitchTiles:"stitch"}),e.jsx("feColorMatrix",{type:"saturate",values:"0"})]}),["line","accent"].map(i=>e.jsx("marker",{id:qt(t,i),markerWidth:"10",markerHeight:"10",refX:"8",refY:"4",orient:"auto",markerUnits:"userSpaceOnUse",children:e.jsx("path",{d:"M 1 1 L 8 4 L 1 7",fill:"none",stroke:i==="accent"?o.ink.accent:o.ink.line,strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round"})},i))]})}function ee({style:t,rect:o,pan:a,zoom:i=1,className:s="absolute inset-0 w-full h-full pointer-events-none"}){const f=H.useId().replace(/:/g,""),x=a?`translate(${a.x} ${a.y}) scale(${i})`:i!==1?`scale(${i})`:"",b=o?{x:o.x,y:o.y,width:o.width,height:o.height}:{x:0,y:0,width:"100%",height:"100%"};return e.jsxs("svg",{className:s,"aria-hidden":"true",children:[e.jsx(bt,{uid:f,style:t,gridTransform:x}),e.jsx("rect",{...b,fill:`url(#${Rt(f)})`}),te(f).map(k=>e.jsx("rect",{...b,fill:`url(#${k})`,opacity:.6},k)),t.paper.grain>0&&e.jsx("rect",{...b,filter:`url(#${_t(f)})`,opacity:t.paper.grain})]})}const ut=r(10),ne=9,Mt=(t,o)=>t.length>o?`${t.slice(0,o-1)}…`:t;function oe({style:t,plate:o,rows:a,title:i,tally:s,className:f="absolute inset-0 w-full h-full pointer-events-none"}){const x=H.useId().replace(/:/g,""),b=a.slice(0,ne),k=a.length-b.length,u={x:o.minX+ut,y:o.minY+ut,width:o.maxX-o.minX-ut*2,height:o.maxY-o.minY-ut*2},l={fontFamily:t.font,letterSpacing:"0.08em"},O=r(236),d=r(13),c=r(16),S=c+Math.max(b.length,1)*d+(k>0?d:0),y=u.x+r(14),M=u.y+r(14),g=r(264),C=r(74),W=r(126),_=u.x+u.width-g-r(14),$=u.y+u.height-C-r(14);return e.jsxs("svg",{className:f,style:{overflow:"visible"},"aria-hidden":"true",children:[e.jsx(bt,{uid:x,style:t}),e.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}),e.jsx("rect",{x:u.x,y:u.y,width:u.width,height:u.height,fill:"none",stroke:t.paper.edge,strokeWidth:.6,opacity:.75}),[[u.x,u.y,1,1],[u.x+u.width,u.y,-1,1],[u.x,u.y+u.height,1,-1],[u.x+u.width,u.y+u.height,-1,-1]].map(([w,P,E,F],Y)=>e.jsx("path",{d:`M ${w+E*r(16)} ${P} L ${w} ${P} L ${w} ${P+F*r(16)}`,fill:"none",stroke:t.ink.line,strokeWidth:1.2},Y)),b.length>0&&e.jsxs("g",{children:[e.jsx("rect",{x:y,y:M,width:O,height:S,fill:t.paper.from,fillOpacity:.55,stroke:t.ink.line,strokeWidth:.8}),e.jsx("line",{x1:y,y1:M+c,x2:y+O,y2:M+c,stroke:t.ink.line,strokeWidth:.8}),e.jsx("text",{x:y+r(8),y:M+r(11),fill:t.ink.text,fontSize:r(8),fontWeight:600,style:l,children:"COMPONENT INDEX"}),e.jsxs("text",{x:y+O-r(8),y:M+r(11),textAnchor:"end",fill:t.ink.muted,fontSize:r(8),style:l,children:[pt(a.length)," ITEMS"]}),b.map((w,P)=>{const E=M+c+P*d,F=wt(w.color),Y=Ct(x,F,"top");return e.jsxs("g",{children:[e.jsx("text",{x:y+r(8),y:E+r(9.5),fill:t.ink.muted,fontSize:r(7.5),style:l,children:pt(w.n)}),e.jsx("rect",{x:y+r(28),y:E+r(3),width:r(14),height:r(7),fill:t.face.right,stroke:t.ink.line,strokeWidth:.4}),Y.map(A=>e.jsx("rect",{x:y+r(28),y:E+r(3),width:r(14),height:r(7),fill:`url(#${A})`,opacity:.85},A)),e.jsx("text",{x:y+r(50),y:E+r(9.5),fill:t.ink.text,fontSize:r(7.5),style:l,children:Mt((w.name||"").toUpperCase(),18)}),e.jsx("text",{x:y+O-r(8),y:E+r(9.5),textAnchor:"end",fill:t.ink.muted,fontSize:r(7),style:l,children:Zt[F]})]},w.n)}),k>0&&e.jsx("text",{x:y+r(8),y:M+c+b.length*d+r(9.5),fill:t.ink.muted,fontSize:r(7.5),style:l,children:`+ ${k} NOT LISTED`})]}),e.jsxs("g",{children:[e.jsx("rect",{x:_,y:$,width:g,height:C,fill:t.paper.from,fillOpacity:.55,stroke:t.ink.line,strokeWidth:.8}),e.jsx("line",{x1:_,y1:$+r(30),x2:_+g,y2:$+r(30),stroke:t.ink.line,strokeWidth:.8}),e.jsx("line",{x1:_,y1:$+r(52),x2:_+g,y2:$+r(52),stroke:t.ink.line,strokeWidth:.5}),e.jsx("line",{x1:_+W,y1:$+r(30),x2:_+W,y2:$+C,stroke:t.ink.line,strokeWidth:.5}),e.jsx("text",{x:_+r(9),y:$+r(12),fill:t.ink.muted,fontSize:r(6.5),style:l,children:"DRAWING TITLE"}),e.jsx("text",{x:_+r(9),y:$+r(24),fill:t.ink.text,fontSize:r(10),fontWeight:600,style:l,children:Mt((i||"UNTITLED ASSEMBLY").toUpperCase(),26)}),e.jsx("text",{x:_+r(9),y:$+r(43),fill:t.ink.muted,fontSize:r(6.5),style:l,children:"PROJECTION"}),e.jsx("text",{x:_+W-r(9),y:$+r(43),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:l,children:"ISOMETRIC 30°"}),e.jsx("text",{x:_+r(9),y:$+r(65),fill:t.ink.muted,fontSize:r(6.5),style:l,children:"SCALE"}),e.jsx("text",{x:_+W-r(9),y:$+r(65),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:l,children:"1:1"}),e.jsx("text",{x:_+W+r(9),y:$+r(43),fill:t.ink.muted,fontSize:r(6.5),style:l,children:"QTY"}),e.jsx("text",{x:_+g-r(9),y:$+r(43),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:l,children:s||`${pt(a.length)} CMP`}),e.jsx("text",{x:_+W+r(9),y:$+r(65),fill:t.ink.muted,fontSize:r(6.5),style:l,children:"SHEET"}),e.jsx("text",{x:_+g-r(9),y:$+r(65),textAnchor:"end",fill:t.ink.text,fontSize:r(7),style:l,children:"1 OF 1"})]})]})}function re({uid:t,style:o,box:a,color:i,tag:s,selected:f=!1,opacity:x,onClick:b,onPointerDown:k}){const u=wt(i),l=f?o.ink.accent:o.ink.line,O=f?o.ink.accent:o.ink.text,d=[{face:"left",path:a.left},{face:"right",path:a.right},{face:"top",path:a.top}];return e.jsxs("g",{className:b||k?"cursor-pointer":void 0,opacity:x,onClick:b,onPointerDown:k,children:[d.map(({face:c,path:S})=>e.jsxs("g",{children:[e.jsx("path",{d:S,fill:o.face[c]}),Ct(t,u,c).map(y=>e.jsx("path",{d:S,fill:`url(#${y})`,opacity:o.hatchOpacity[c]},y))]},c)),e.jsx("path",{d:a.hidden,fill:"none",stroke:o.ink.hidden,strokeWidth:o.strokeWidth*.55,strokeDasharray:"3.5 3",opacity:.85}),e.jsx("path",{d:a.visible,fill:"none",stroke:l,strokeWidth:f?o.strokeWidth*1.7:o.strokeWidth,strokeLinejoin:"round",strokeLinecap:"round"}),s!=null&&e.jsx("text",{x:a.topCenter.x,y:a.topCenter.y+r(3),textAnchor:"middle",fill:O,fontSize:r(8),fontWeight:600,fontFamily:o.font,style:{letterSpacing:"0.1em"},pointerEvents:"none",children:pt(s)})]})}function se({style:t,box:o,name:a,subtitle:i,selected:s=!1,opacity:f}){const x=s?t.ink.accent:t.ink.line,b=s?t.ink.accent:t.ink.text,k=(a||"").toUpperCase(),u=(i||"").toUpperCase(),l=o.minY-r(11),O=l-r(4),d=u?l-r(15):l-r(4),c=Math.max(k.length*r(5.6),u.length*r(4.4),r(24));return e.jsxs("g",{pointerEvents:"none",opacity:f,children:[e.jsx("line",{x1:o.topCenter.x,y1:o.topCenter.y-r(6),x2:o.topCenter.x,y2:l,stroke:x,strokeWidth:t.strokeWidth*.6}),e.jsx("line",{x1:o.topCenter.x-c/2,y1:l,x2:o.topCenter.x+c/2,y2:l,stroke:x,strokeWidth:t.strokeWidth*.6}),e.jsx("text",{x:o.topCenter.x,y:d,textAnchor:"middle",fill:b,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:k}),u&&e.jsx("text",{x:o.topCenter.x,y:O,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:u})]})}const At='"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace',ae={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"}},ie={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,a){const i=u=>{const l=u.replace("#","");return{r:parseInt(l.substring(0,2),16),g:parseInt(l.substring(2,4),16),b:parseInt(l.substring(4,6),16)}},s=i(t),f=i(o),x=Math.round(s.r+(f.r-s.r)*a),b=Math.round(s.g+(f.g-s.g)*a),k=Math.round(s.b+(f.b-s.b)*a);return`rgb(${x},${b},${k})`}function ce({x:t,y:o,z:a,children:i,fontSize:s=8,color:f="#1e293b",shadow:x}){const b=m(t,o,a);return e.jsx("g",{transform:`translate(${b.screenX}, ${b.screenY})`,filter:x,children:e.jsx("g",{transform:"matrix(0.866, -0.5, 0.866, 0.5, 0, 0)",children:e.jsx("text",{x:0,y:0,textAnchor:"middle",fill:f,fontSize:s,fontWeight:600,fontFamily:At,style:{textTransform:"uppercase",letterSpacing:"0.06em"},children:i})})})}function le({width:t,depth:o,elevation:a,color:i,opacity:s,borderColor:f,theme:x,isGround:b}){const u=et(t,o,b?8:2,0,0),l=m(0,0,a);return e.jsxs("g",{transform:`translate(${l.screenX}, ${l.screenY})`,children:[b&&e.jsx("g",{transform:"translate(4, 4)",opacity:.2,children:e.jsx("path",{d:u.top,fill:"#000"})}),e.jsx("path",{d:u.top,fill:i,opacity:s}),b&&e.jsxs(e.Fragment,{children:[e.jsx("path",{d:u.left,fill:x==="dark"?"#0f172a":"#cbd5e1",opacity:.8}),e.jsx("path",{d:u.right,fill:x==="dark"?"#1e293b":"#94a3b8",opacity:.8})]}),e.jsx("path",{d:u.top,fill:"none",stroke:f||(x==="dark"?"#475569":"#94a3b8"),strokeWidth:b?1.5:.75,opacity:b?1:.6})]})}function fe({config:t,options:o={},className:a,style:i,onNodeClick:s,onLayerClick:f}){const{interactive:x=!0,animate:b=!0,showLabels:k=!0,expandOnHover:u=!0}=o,{theme:l,canvas:O,origin:d,tiers:c,floorSize:S,nodes:y,cornerRadius:M=0}=t,g=Gt(t.style),C=g.technical,W=H.useId().replace(/:/g,""),_=l==="dark"?ae:ie,$=C?g.paper.to:l==="dark"?"#0f172a":"#fafafa",w=C?g.ink.text:l==="dark"?"#e2e8f0":"#1e293b",P=C?g.ink.muted:l==="dark"?"#64748b":"#94a3b8",E=H.useMemo(()=>{const v=y.map((n,h)=>({node:n,i:h})).sort((n,h)=>n.node.tier-h.node.tier||n.node.y-h.node.y||n.node.x-h.node.x),p=new Map;return v.forEach(({i:n},h)=>p.set(n,h+1)),p},[y]),F={minX:16,minY:16,maxX:O.width-16,maxY:O.height-16},[Y,A]=H.useState(new Set);H.useEffect(()=>{b?(A(new Set),c.forEach((v,p)=>{setTimeout(()=>{A(n=>new Set([...n,p]))},p*150+100)})):A(new Set(c.map((v,p)=>p)))},[t.id,b,c.length]);const[L,Z]=H.useState(null),[G,z]=H.useState(null),[T,D]=H.useState(null),J=[...y].sort((v,p)=>{const n=c[v.tier]?.elevation||0,h=c[p.tier]?.elevation||0;if(n!==h)return n-h;const R=v.x+v.width+(v.y+v.depth);return p.x+p.width+(p.y+p.depth)-R});return e.jsx("div",{className:a,style:{display:"inline-block",...i},children:e.jsxs("svg",{width:O.width,height:O.height,style:{backgroundColor:$},onClick:()=>{x&&(D(null),z(null))},children:[e.jsxs("defs",{children:[e.jsx("pattern",{id:`grid-${t.id}`,width:"24",height:"24",patternUnits:"userSpaceOnUse",children:e.jsx("circle",{cx:"12",cy:"12",r:"0.5",fill:l==="dark"?"#1e293b":"#e2e8f0"})}),e.jsx("filter",{id:`glow-${t.id}`,x:"-20%",y:"-20%",width:"140%",height:"140%",children:e.jsx("feDropShadow",{dx:"0",dy:"4",stdDeviation:"8",floodColor:l==="dark"?"#60a5fa":"#3b82f6",floodOpacity:"0.3"})}),e.jsxs("radialGradient",{id:`bg-${t.id}`,cx:"48%",cy:"34%",r:"82%",children:[e.jsx("stop",{offset:"0%",stopColor:l==="dark"?"#16203a":"#ffffff"}),e.jsx("stop",{offset:"55%",stopColor:l==="dark"?"#0e1526":"#f2f5f9"}),e.jsx("stop",{offset:"100%",stopColor:l==="dark"?"#080d18":"#e7ecf2"})]}),e.jsx("filter",{id:`contact-${t.id}`,x:"-60%",y:"-60%",width:"220%",height:"220%",children:e.jsx("feGaussianBlur",{stdDeviation:"5"})}),e.jsxs("linearGradient",{id:`sheen-${t.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#ffffff",stopOpacity:"0.18"}),e.jsx("stop",{offset:"55%",stopColor:"#ffffff",stopOpacity:"0.04"}),e.jsx("stop",{offset:"100%",stopColor:"#ffffff",stopOpacity:"0"})]}),e.jsxs("linearGradient",{id:`shade-${t.id}`,x1:"0",y1:"0",x2:"0",y2:"1",children:[e.jsx("stop",{offset:"0%",stopColor:"#000000",stopOpacity:"0"}),e.jsx("stop",{offset:"100%",stopColor:"#000000",stopOpacity:"0.24"})]}),e.jsx("filter",{id:`label-${t.id}`,x:"-40%",y:"-40%",width:"180%",height:"180%",children:e.jsx("feDropShadow",{dx:"0",dy:"0.5",stdDeviation:"0.7",floodColor:"#000000",floodOpacity:"0.7"})})]}),C?e.jsxs(e.Fragment,{children:[e.jsx(bt,{uid:W,style:g}),e.jsx(ee,{style:g,rect:{x:0,y:0,width:O.width,height:O.height},className:""})]}):e.jsxs(e.Fragment,{children:[e.jsx("rect",{width:"100%",height:"100%",fill:`url(#bg-${t.id})`}),e.jsx("rect",{width:"100%",height:"100%",fill:`url(#grid-${t.id})`,opacity:"0.5"})]}),e.jsx("g",{transform:`translate(${d.x}, ${d.y})`,children:c.map((v,p)=>{const n=J.filter(j=>j.tier===p),h=Y.has(p),R=x&&(G===p||G===null&&T===null&&L===p),I=x&&(G!==null||L!==null||T!==null),nt=T?.tier===p,ot=I&&!R&&!nt,N=h?0:60,Q=h?1:0,tt=R&&u?{x:10,y:-34}:{x:0,y:0},ft=R?1.03:1,yt=m(S.width/2,S.depth/2,v.elevation),Yt=v.offset||{x:0,y:0};return e.jsxs("g",{"data-tier":p,onMouseEnter:()=>x&&Z(p),onMouseLeave:()=>x&&Z(null),onClick:j=>{x&&(j.stopPropagation(),D(null),z(B=>B===p?null:p),f?.(p))},style:{transform:`translate(${Yt.x+tt.x}px, ${Yt.y+tt.y}px) translate(${yt.screenX}px, ${yt.screenY+N}px) scale(${ft}) translate(${-yt.screenX}px, ${-yt.screenY}px)`,transition:"transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease-out",opacity:Q*(ot?.35:1),filter:R?`url(#glow-${t.id})`:"none",cursor:x?"pointer":"default"},children:[C?e.jsx(de,{width:S.width,depth:S.depth,elevation:p===0?-2:v.elevation,ink:p===0?g.ink.line:g.ink.hidden,isGround:p===0}):e.jsx(le,{width:S.width,depth:S.depth,elevation:p===0?-2:v.elevation,color:v.floorColor||(l==="dark"?"#0f172a":"#f8fafc"),opacity:v.floorOpacity||(p===0?.95:.5),borderColor:v.borderColor,theme:l,isGround:p===0}),C&&n.map((j,B)=>{const at=v.elevation+5,rt=m(j.x,j.y,at),U=Ot(j.width,j.depth,j.height,rt.screenX,rt.screenY),X=T?.tier===p&&T?.index===B,st=x&&T!==null&&!X;return e.jsx(re,{uid:W,style:g,box:U,color:j.color,tag:E.get(y.indexOf(j)),selected:X,opacity:(j.opacity??1)*(st?.3:1),onClick:x?()=>{if(z(null),D(dt=>dt&&dt.tier===p&&dt.index===B?null:{tier:p,index:B}),s?.(j,{tier:p,index:B}),j.link)try{window.open(j.link,"_blank")}catch{}}:void 0},`tech-${B}`)}),C&&k&&n.map((j,B)=>{const at=v.elevation+5,rt=m(j.x,j.y,at),U=Ot(j.width,j.depth,j.height,rt.screenX,rt.screenY),X=T?.tier===p&&T?.index===B,st=x&&T!==null&&!X;return e.jsx(se,{style:g,box:U,name:j.label,selected:X,opacity:st?.3:1},`tech-label-${B}`)}),!C&&n.map((j,B)=>{const at=v.elevation+5,rt=m(j.x,j.y,at),U=et(j.width,j.depth,j.height,rt.screenX,rt.screenY,M),X=_[j.color]||_.slate,st=T?.tier===p&&T?.index===B,dt=x&&T!==null&&!st,Nt=m(j.x-3,j.y-3,v.elevation),xe=et(j.width+6,j.depth+6,0,Nt.screenX,Nt.screenY,M).top;return e.jsxs("g",{"data-node":`${p}-${B}`,opacity:(j.opacity??1)*(dt?.3:1),onClick:x?V=>{if(V.stopPropagation(),z(null),D(q=>q&&q.tier===p&&q.index===B?null:{tier:p,index:B}),s?.(j,{tier:p,index:B}),j.link)try{window.open(j.link,"_blank")}catch{}}:void 0,style:{cursor:x?"pointer":"default",transition:"opacity 0.3s ease-out"},children:[e.jsx("path",{d:xe,fill:"#000000",opacity:.3,filter:`url(#contact-${t.id})`}),U.cornerBackRight?.map((V,q)=>e.jsx("path",{d:V.path,fill:xt(X.front,X.side,V.intensity)},`cbr-${q}`)),U.cornerBackLeft?.map((V,q)=>e.jsx("path",{d:V.path,fill:xt(X.side,X.front,V.intensity)},`cbl-${q}`)),e.jsx("path",{d:U.left,fill:X.side}),e.jsx("path",{d:U.left,fill:`url(#shade-${t.id})`}),e.jsx("path",{d:U.right,fill:X.front}),e.jsx("path",{d:U.right,fill:`url(#shade-${t.id})`}),U.cornerFrontRight?.map((V,q)=>e.jsx("path",{d:V.path,fill:xt(X.front,X.side,V.intensity)},`cfr-${q}`)),U.cornerFrontLeft?.map((V,q)=>e.jsx("path",{d:V.path,fill:xt(X.front,X.side,V.intensity)},`cfl-${q}`)),e.jsx("path",{d:U.top,fill:X.top}),e.jsx("path",{d:U.top,fill:`url(#sheen-${t.id})`}),e.jsx("path",{d:U.top,fill:"none",stroke:st?"#ffffff":"rgba(255,255,255,0.28)",strokeWidth:st?1.4:.75,strokeLinejoin:"round"}),k&&j.label&&e.jsx(ce,{x:j.x+j.width/2,y:j.y+j.depth/2,z:at+j.height+2,fontSize:j.width>70?9:8,color:w,shadow:`url(#label-${t.id})`,children:j.label})]},B)}),k&&e.jsx("text",{x:m(-25,S.depth/2,v.elevation+15).screenX-35,y:m(-25,S.depth/2,v.elevation+15).screenY,fill:P,fontSize:9,fontWeight:500,fontFamily:At,opacity:C?.9:.6,style:{letterSpacing:"0.05em",textTransform:C?"uppercase":"none"},children:v.name})]},p)})}),C&&e.jsx(oe,{style:g,plate:F,rows:y.map((v,p)=>({n:E.get(p)||p+1,name:v.label,subtitle:c[v.tier]?.name,color:v.color})).sort((v,p)=>v.n-p.n),title:t.title,tally:`${String(y.length).padStart(2,"0")} CMP / ${String(c.length).padStart(2,"0")} TIER`,className:""})]})})}function de({width:t,depth:o,elevation:a,ink:i,isGround:s}){const f=m(0,0,a),x=et(t,o,0,f.screenX,f.screenY).top;return e.jsx("path",{d:x,fill:"none",stroke:i,strokeWidth:s?1:.7,strokeDasharray:s?void 0:"5 4",opacity:s?.9:.7})}const Pt='"JetBrains Mono", "Fira Code", "SF Mono", Consolas, monospace',he={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"}},pe={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 mt(t,o,a){const i=u=>{const l=u.replace("#","");return{r:parseInt(l.substring(0,2),16),g:parseInt(l.substring(2,4),16),b:parseInt(l.substring(4,6),16)}},s=i(t),f=i(o),x=Math.round(s.r+(f.r-s.r)*a),b=Math.round(s.g+(f.g-s.g)*a),k=Math.round(s.b+(f.b-s.b)*a);return`rgb(${x},${b},${k})`}function Lt(t){const{theme:o,canvas:a,origin:i,tiers:s,floorSize:f,nodes:x,cornerRadius:b=0}=t,k=o==="dark"?he:pe,u=o==="dark"?"#0f172a":"#fafafa",l=o==="dark"?"#e2e8f0":"#1e293b",O=o==="dark"?"#64748b":"#94a3b8",d=[...x].sort((S,y)=>{const M=s[S.tier]?.elevation||0,g=s[y.tier]?.elevation||0;return M!==g?M-g:y.x+y.width+(y.y+y.depth)-(S.x+S.width+(S.y+S.depth))});let c=`<svg xmlns="http://www.w3.org/2000/svg" width="${a.width}" height="${a.height}" style="background:${u}">`;c+=`<defs>
|
|
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>
|
|
7
7
|
<pattern id="grid" width="24" height="24" patternUnits="userSpaceOnUse">
|
|
8
|
-
<circle cx="12" cy="12" r="0.5" fill="${
|
|
8
|
+
<circle cx="12" cy="12" r="0.5" fill="${e==="dark"?"#1e293b":"#e2e8f0"}"/>
|
|
9
9
|
</pattern>
|
|
10
10
|
<radialGradient id="bg" cx="48%" cy="34%" r="82%">
|
|
11
|
-
<stop offset="0%" stop-color="${
|
|
12
|
-
<stop offset="55%" stop-color="${
|
|
13
|
-
<stop offset="100%" stop-color="${
|
|
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"}"/>
|
|
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(${
|
|
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"})}));
|