@skill-map/cli 0.24.2 → 0.24.3
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/LICENSE +21 -0
- package/README.md +4 -4
- package/dist/cli.js +5 -5
- package/dist/cli.js.map +1 -1
- package/dist/index.js +5 -5
- package/dist/index.js.map +1 -1
- package/dist/kernel/index.js +5 -5
- package/dist/kernel/index.js.map +1 -1
- package/dist/ui/{chunk-CUNKB7ZS.js → chunk-533YMAY3.js} +1 -1
- package/dist/ui/{chunk-UJOZYR5I.js → chunk-6BG7PBUN.js} +1 -1
- package/dist/ui/{chunk-SG23AWC6.js → chunk-AD7RBRD3.js} +2 -2
- package/dist/ui/{chunk-BA5FEGFM.js → chunk-BK4M46IZ.js} +1 -1
- package/dist/ui/{chunk-XPMAU22J.js → chunk-J3YWUNFO.js} +1 -1
- package/dist/ui/{chunk-S3F7ZJKD.js → chunk-O546Z3K4.js} +1 -1
- package/dist/ui/{chunk-IN3Q4IBM.js → chunk-QV6BIVZJ.js} +1 -1
- package/dist/ui/{chunk-DUE22NNK.js → chunk-RR36XBDS.js} +1 -1
- package/dist/ui/{chunk-EI3A2R5P.js → chunk-UVILXZ5L.js} +1 -1
- package/dist/ui/{chunk-NLLFX5I7.js → chunk-UXCAEDR6.js} +1 -1
- package/dist/ui/{chunk-ZYPPIYEF.js → chunk-VO6NF24F.js} +1 -1
- package/dist/ui/{chunk-7KJXEUBZ.js → chunk-Z2667C3S.js} +1 -1
- package/dist/ui/index.html +1 -1
- package/dist/ui/{main-6UGKLU2M.js → main-GGBD5FA4.js} +2 -2
- package/package.json +25 -25
- /package/dist/ui/{chunk-RIDAAD4I.js → chunk-5W6J6H76.js} +0 -0
- /package/dist/ui/{chunk-3R7E3HPC.js → chunk-H2J55DNK.js} +0 -0
- /package/dist/ui/{chunk-N2C45VIA.js → chunk-JMP2LDMI.js} +0 -0
- /package/dist/ui/{chunk-FWFBO7KA.js → chunk-Y7MXGXU3.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as Nt}from"./chunk-DUE22NNK.js";import{a as ko,b as In,c as No,d as Ro,e as nh,f as ih,g as oh}from"./chunk-7KJXEUBZ.js";import{b as Hp,e as _o,f as Gp,j as We,k as Le,l as Yp,m as bo,n as wo,o as So,p as Zp,q as Qp,r as Jp,s as ku,t as ci,u as Sn,w as Io}from"./chunk-CUNKB7ZS.js";import{c as vo,d as Co,f as eh,g as th}from"./chunk-SG23AWC6.js";import{h as To,i as Eo,j as Po,m as Do,n as Mo}from"./chunk-ZYPPIYEF.js";import{$ as _t,$a as Kt,$b as Zt,Aa as _e,Ab as Bp,Ba as Ee,Bc as vn,Eb as rt,Fb as Ae,Gb as Z,Gc as Up,Hb as ge,Hc as Wp,Ib as oi,Ic as Cn,J as y,Jb as ri,Jc as go,K as ro,Ka as Y,Lc as $p,M as pe,N as _n,Na as S,O as d,Oa as I,Oc as qp,Pc as Xp,Qa as be,Qb as ai,R as Pp,Ra as ee,S as Pt,Sa as te,Sb as gt,T as G,Ta as E,Tb as D,U as j,Ua as f,V as Ze,Va as p,Vc as si,W as Dp,Wa as B,Wb as De,Wc as yo,X as Qe,Xa as U,Xb as F,Y as ao,Ya as $,Yb as Se,Z as je,Za as Dt,Zb as po,_a as Xt,_b as Du,aa as ni,ab as yn,bb as uo,bd as xn,cb as fo,cc as xe,cd as bn,da as W,db as ce,dc as qe,ea as ae,eb as Eu,fa as gn,fb as q,g as x,ga as ne,gd as wn,hb as m,hd as Kp,ia as we,ib as Yt,id as Mt,ja as so,jb as Pe,jd as Mu,ka as Mp,kb as Ap,la as Iu,mb as wt,mc as zp,md as xo,n as Tp,na as kp,nb as St,nd as kt,oa as c,ob as Pu,oc as Vp,pa as Np,pb as ut,pc as ho,qa as Rp,qb as it,qc as mo,ra as Op,sa as Tu,sb as ot,ta as co,tb as re,u as Ep,ub as Lp,vb as Ve,wa as J,wb as _,xa as lo,xb as v,ya as Ce,yb as Ue,za as Fp,zb as ii}from"./chunk-XPMAU22J.js";import{V as jp}from"./chunk-3R7E3HPC.js";import{a as se,b as ti}from"./chunk-Q7L6LLAK.js";var Qt=class{constructor(i,e,n,o,r){this.center=i,this.radiusX=e,this.radiusY=n,this.startAngle=o,this.endAngle=r}},A=class t{static castToPoint(i){return i||t.initialize()}static initialize(i=0,e=0){return{x:i,y:e}}static copy(i){return t.initialize(i.x,i.y)}static isEqual(i,e){return i.x===e.x&&i.y===e.y}static sum(i,e){return{x:i.x+e.x,y:i.y+e.y}}static sub(i,e){return{x:i.x-e.x,y:i.y-e.y}}static div(i,e){return{x:i.x/e,y:i.y/e}}static mult(i,e){return{x:i.x*e,y:i.y*e}}static interpolatePoints(i,e,n){let o=1-n;return t.initialize(i.x*o+e.x*n,i.y*o+e.y*n)}static roundTo(i,e){let n=Math.trunc(i.x/e),o=Math.trunc(i.y/e);return{x:n*e,y:o*e}}static hypotenuse(i,e){let n=e.x-i.x,o=e.y-i.y;return Math.abs(Math.sqrt(n*n+o*o))}static distance(i,e){let n=i.x-e.x,o=i.y-e.y;return Math.sqrt(n*n+o*o)}static getMinimum(i,e){return t.initialize(Math.min(i.x,e.x),Math.min(i.y,e.y))}static getMaximum(i,e){return t.initialize(Math.max(i.x,e.x),Math.max(i.y,e.y))}static matrixTransform(i,e){let n=t.initialize(i.x,i.y),o=e.getScreenCTM();if(o){let r=e.createSVGPoint();r.x=i.x,r.y=i.y,n=r.matrixTransform(o.inverse())}return n}static elementTransform(i,e){let n=t.initialize(i.x,i.y),o=e.getBoundingClientRect();return n=t.sub(n,t.initialize(o.left,o.top)),n}},K=class t{constructor(i=0,e=0){this.x=i,this.y=e}static fromPoint(i){return new t(i.x,i.y)}add(i){let e=A.sum(this,i);return t.fromPoint(e)}sub(i){let e=A.sub(this,i);return t.fromPoint(e)}subNumber(i){let e=A.sub(this,new t(i,i));return t.fromPoint(e)}div(i){let e=A.div(this,i);return t.fromPoint(e)}mult(i){let e=A.mult(this,i);return t.fromPoint(e)}matrixTransform(i){let e=A.matrixTransform(this,i);return t.fromPoint(e)}elementTransform(i){let e=A.elementTransform(this,i);return t.fromPoint(e)}},di=class{static initialize(i=A.initialize(),e=A.initialize()){return{point1:i,point2:e}}static copy(i){return{point1:i.point1,point2:i.point2}}static hypotenuse(i){return Math.sqrt(Math.pow(i.point1.x-i.point2.x,2)+Math.pow(i.point1.y-i.point2.y,2))}},Jt=class{constructor(i,e){this.point1=i,this.point2=e}},H=class t{static initialize(i=0,e=0,n=0,o=0){n<0&&(i=i+n,n=-n),o<0&&(e=e+o,o=-o);let r=A.initialize(i+n/2,e+o/2);return{x:i,y:e,width:n,height:o,gravityCenter:r}}static copy(i){return t.initialize(i.x,i.y,i.width,i.height)}static fromElement(i){let{x:e,y:n,width:o,height:r}=i.getBoundingClientRect();return t.initialize(e,n,o,r)}static isIncludePoint(i,e){return e.x>=t.left(i)&&e.x<=t.right(i)&&e.y>=t.top(i)&&e.y<=t.bottom(i)}static intersectionWithRect(i,e){return!(i.x+i.width<e.x||e.x+e.width<i.x||i.y+i.height<e.y||e.y+e.height<i.y)}static left(i){return i.x}static top(i){return i.y}static right(i){return i.x+i.width}static bottom(i){return i.y+i.height}static addPoint(i,e){let n=t.copy(i);return n.x+=e.x,n.y+=e.y,this.initialize(n.x,n.y,n.width,n.height)}static mult(i,e){let n=t.copy(i);return n.x*=e,n.y*=e,n.width*=e,n.height*=e,this.initialize(n.x,n.y,n.width,n.height)}static div(i,e){let n=t.copy(i);return n.x/=e,n.y/=e,n.width/=e,n.height/=e,this.initialize(n.x,n.y,n.width,n.height)}static addPointToSize(i,e){let n=t.copy(i);return n.width+=e.x,n.height+=e.y,this.initialize(n.x,n.y,n.width,n.height)}static union(i){return!i||i.length===0?null:i.reduce((e,n)=>{let o=Math.min(e.x,n.x),r=Math.min(e.y,n.y),a=Math.max(e.x+e.width,n.x+n.width),s=Math.max(e.y+e.height,n.y+n.height);return t.initialize(o,r,a-o,s-r)},i[0])}static elementTransform(i,e){let n=e.getBoundingClientRect(),o=A.sub(i,A.initialize(n.left,n.top));return t.initialize(o.x,o.y,i.width,i.height)}static updateIsNotFinite(i){return!Number.isFinite(i.width)||!Number.isFinite(i.height)||!Number.isFinite(i.x)||!Number.isFinite(i.y)?t.initialize(0,0,0,0):i}};function rh(t,i){let e=Math.max(t.width,i),n=Math.max(t.height,i),o=(e-t.width)/2,r=(n-t.height)/2;return H.initialize(t.x-o,t.y-r,e,n)}function Ru(t,i){t=H.updateIsNotFinite(t),i.setAttribute("x",t.x.toString()),i.setAttribute("y",t.y.toString()),i.setAttribute("width",t.width.toString()),i.setAttribute("height",t.height.toString())}function ah(t,i){t=H.updateIsNotFinite(t),i.setAttribute("viewBox",`${t.x} ${t.y} ${t.width} ${t.height}`)}var Me=class t{constructor(i=0,e=0,n=0,o=0,r=0,a=0,s=0,l=0){this.x=i,this.y=e,this.width=n,this.height=o,this.radius1=r,this.radius2=a,this.radius3=s,this.radius4=l,this.gravityCenter=A.initialize(),this.gravityCenter=this.calculateGravityCenter(this)}calculateGravityCenter(i){return new K(i.x+i.width/2,i.y+i.height/2)}static fromRect(i){return new t(i.x,i.y,i.width,i.height)}static fromRoundedRect(i){return new t(i.x,i.y,i.width,i.height,i.radius1,i.radius2,i.radius3,i.radius4)}static fromCenter(i,e,n){return new t(i.gravityCenter.x-e/2,i.gravityCenter.y-n/2,e,n,i.radius1,i.radius2,i.radius3,i.radius4)}static fromPoint(i){return new t(i.x,i.y)}addPoint(i){let e=t.fromRoundedRect(this);return e.x+=i.x,e.y+=i.y,e.gravityCenter=this.calculateGravityCenter(e),e}},ft=class t{static initialize(i=0,e=0){return{width:i,height:e}}static isEqual(i,e){return i.width===e.width&&i.height===e.height}static offsetFromElement(i){if(i instanceof SVGGraphicsElement){let e=i.getBBox();return t.initialize(e.width,e.height)}else if(i instanceof HTMLElement)return t.initialize(i.offsetWidth,i.offsetHeight)}};function fg(){return{position:A.initialize(),scaledPosition:A.initialize(),scale:1,rotate:0}}function pg(t){let i;if(t){t=t.replace("matrix(",""),t=t.replace(")","");let e=t.split(" ");i={position:{x:Number(e[4]),y:Number(e[5])},scaledPosition:A.initialize(),scale:Number(e[0]),rotate:0}}return i}var Rt=class{static toString(i){let e=A.sum(i.position,i.scaledPosition);return`matrix(${i.scale}, 0, 0, ${i.scale}, ${e.x}, ${e.y})`}static fromString(i){return pg(i)}static default(){return fg()}},Je=class t{static initialize(i=0,e=0){return A.initialize(i,e)}static fromPoints(i,e){return t.initialize(e.x-i.x,e.y-i.y)}static vectorLength(i){return Math.sqrt(t.magnitudeSquared(i))}static magnitudeSquared(i){return i.x*i.x+i.y*i.y}static dotProduct(i,e){return i.x*e.x+i.y*e.y}static crossProduct(i,e){return i.x*e.y-i.y*e.x}static subtract(i,e){return t.initialize(i.x-e.x,i.y-e.y)}static add(i,e){return t.initialize(i.x+e.x,i.y+e.y)}static scale(i,e){return t.initialize(i.x*e,i.y*e)}static angle(i,e){let n=Math.acos(Math.max(-1,Math.min(t.dotProduct(i,e)/(t.vectorLength(i)*t.vectorLength(e)),1)));return t.crossProduct(i,e)<0?-n:n}},Nu=class{static parseRoundedRect(i){let e=Math.PI*.5,n=i.x,o=i.y,r=i.x+i.width,a=i.y+i.height,s=i.x+i.radius1,l=i.y+i.radius1,u=i.x+i.width-i.radius2,h=i.y+i.radius2,g=i.x+i.width-i.radius3,C=i.y+i.height-i.radius3,w=i.x+i.radius4,P=i.y+i.height-i.radius4;return[new Qt({x:s,y:l},i.radius1,i.radius1,2*e,3*e),new Jt({x:s,y:o},{x:u,y:o}),new Qt({x:u,y:h},i.radius2,i.radius2,3*e,4*e),new Jt({x:r,y:h},{x:r,y:C}),new Qt({x:g,y:C},i.radius3,i.radius3,0,e),new Jt({x:g,y:a},{x:w,y:a}),new Qt({x:w,y:P},i.radius4,i.radius4,e,2*e),new Jt({x:n,y:P},{x:n,y:l})]}},Tn=class{static getRoundedRectIntersections(i,e,n){let o=Nu.parseRoundedRect(n);for(let r of o)if(r instanceof Qt){let a=this.intersectArcWithLine(r,i,e);if(a.length>0)return a}else if(r instanceof Jt){let a=this.intersectLineSegments(i,e,r.point1,r.point2);if(a)return[a]}return[]}static getRoundedRectIntersectionsWithSVGPath(i,e){let n=i.getTotalLength(),o=[];for(let r=0;r<=n;r+=1){let a=i.getPointAtLength(r);o.push({x:a.x,y:a.y})}for(let r=1;r<o.length;r++){let a=this.getRoundedRectIntersections(o[r-1],o[r],e);if(a.length>0)return a}return[]}static intersectArcWithLine(i,e,n){return this.filterPointsWithinArc(this.findEllipseLineIntersections(i.center,i.radiusX,i.radiusY,e,n),i)}static intersectLineSegments(i,e,n,o){let r=e.x-i.x,a=e.y-i.y,s=o.x-n.x,l=o.y-n.y,u=(-a*(i.x-n.x)+r*(i.y-n.y))/(-s*a+r*l),h=(s*(i.y-n.y)-l*(i.x-n.x))/(-s*a+r*l);return u>=0&&u<=1&&h>=0&&h<=1?{x:i.x+h*r,y:i.y+h*a}:null}static filterPointsWithinArc(i,e){let{center:n,startAngle:o,endAngle:r}=e;if(i.length===0)return i;r<o&&([o,r]=[r,o]),(o<0||r<0)&&(o+=2*Math.PI,r+=2*Math.PI);let a=[];for(let s of i){let l=this.normalizeAngle(Je.angle(Je.initialize(1,0),Je.initialize(s.x-n.x,s.y-n.y)));l<o&&(l+=2*Math.PI),o<=l&&l<=r&&a.push(s)}return a}static normalizeAngle(i){let e=i%(2*Math.PI);return e<0?e+2*Math.PI:e}static findEllipseLineIntersections(i,e,n,o,r){let a=Je.initialize(o.x,o.y),s=Je.fromPoints(o,r),l=Je.initialize(i.x,i.y),u=Je.subtract(a,l),h=Je.initialize(s.x/(e*e),s.y/(n*n)),g=Je.initialize(u.x/(e*e),u.y/(n*n)),C=Je.dotProduct(s,h),w=Je.dotProduct(s,g),P=Je.dotProduct(u,g)-1,T=w*w-C*P;return T<0?[]:this.calculateIntersectionPoints(T,C,w,o,r)}static calculateIntersectionPoints(i,e,n,o,r){let a=[];if(i>0){let s=Math.sqrt(i),l=(-n-s)/e,u=(-n+s)/e;l>=0&&l<=1&&a.push(A.interpolatePoints(o,r,l)),u>=0&&u<=1&&a.push(A.interpolatePoints(o,r,u))}else{let s=-n/e;s>=0&&s<=1&&a.push(A.interpolatePoints(o,r,s))}return a}};var Ou=class{handle(i,e){let n=!0;if(this.validator&&(n=e.get(this.validator).handle(i)),!!n)return e.get(this.execution).handle(i)}execute(i,e){return e.get(this.execution).handle(i)}setValidator(i){this.validator=i}setExecution(i){this.execution=i}},R=class t{constructor(){this._injector=d(Qe)}static registerPipeline(i,e,n){if(!i||!i.fToken)throw new Error("Type must have a fToken static property.");let o=this.pipelines.get(i.fToken)||new Ou;n?o.setValidator(e):o.setExecution(e),this.pipelines.set(i.fToken,o)}send(i){let e=t.pipelines.get(i.constructor.fToken);if(e)return e.handle(i,this._injector);throw new Error("Handler not registered for request type.")}execute(i){return t.pipelines.get(i.constructor.fToken).execute(i,this._injector)}};R.pipelines=new Map;R.\u0275fac=function(i){return new(i||R)};R.\u0275prov=y({token:R,factory:R.\u0275fac});function b(t){return function(i){R.registerPipeline(t,i,!1)}}var hg=(()=>{class t{setItem(e,n){localStorage.setItem(e,n)}getItem(e){return localStorage.getItem(e)}removeItem(e){localStorage.removeItem(e)}clear(){localStorage.clear()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),mg=(()=>{class t{storage={};setItem(e,n){this.storage[e]=n}getItem(e){return this.storage[e]||null}removeItem(e){delete this.storage[e]}clear(){this.storage={}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),_g=new pe("F_LOCAL_STORAGE",{providedIn:"root",factory:()=>mo(d(so))?d(hg):d(mg)}),gg=(()=>{class t{getComputedStyle(e){return window.getComputedStyle(e)}get innerWidth(){return window.innerWidth}get innerHeight(){return window.innerHeight}get pageXOffset(){return window.pageXOffset}get pageYOffset(){return window.pageYOffset}isMediaQuery(e){return window.matchMedia(e).matches}requestAnimationFrame(e){return window.requestAnimationFrame(e)}get location(){return window.location}open(e,n,o){window.open(e,n,o)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),yg=(()=>{class t{getComputedStyle(e){return new Proxy({getPropertyValue:n=>"0"},{get:(n,o)=>o==="getPropertyValue"?n.getPropertyValue:"0"})}get innerWidth(){return 0}get innerHeight(){return 0}get pageXOffset(){return 0}get pageYOffset(){return 0}isMediaQuery(e){return!1}requestAnimationFrame(e){return setTimeout(e,0)}get location(){return{href:"",pathname:"",search:"",hash:"",origin:""}}open(e,n,o){}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),vg=new pe("F_WINDOW",{providedIn:"root",factory:()=>mo(d(so))?d(gg):d(yg)}),Ot=(function(t){return t.MAC_OS="macos",t.IOS="ios",t.WINDOWS="windows",t.ANDROID="android",t.LINUX="linux",t})(Ot||{}),Fu;try{Fu=typeof Intl<"u"&&Intl.v8BreakIterator}catch{Fu=!1}var Au=(()=>{class t{_platformId;isBrowser=!1;EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent);TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent);BLINK=this.isBrowser&&!!(window.chrome||Fu)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT;WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT;IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window);FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent);ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT;SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT;constructor(e){this._platformId=e,this.isBrowser=this._platformId?mo(this._platformId):typeof document=="object"&&!!document}getOS(){let e=navigator.userAgent.toLowerCase(),n=/(macintosh|macintel|macppc|mac68k|macos)/i,o=/(win32|win64|windows|wince)/i,r;return n.test(e)?r=Ot.MAC_OS:this.IOS?r=Ot.IOS:o.test(e)?r=Ot.WINDOWS:this.ANDROID?r=Ot.ANDROID:!r&&/linux/.test(e)&&(r=Ot.LINUX),r}static \u0275fac=function(n){return new(n||t)(_n(so))};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ke=(()=>{class t{injectedDocument;windowService;localStorageService;platformService;constructor(e,n,o,r){this.injectedDocument=e,this.windowService=n,this.localStorageService=o,this.platformService=r}isBrowser(){return this.platformService.isBrowser}get window(){return this.windowService}get localStorage(){return this.localStorageService}get document(){return this.injectedDocument}toPixels(e,n,o,r){if(e.endsWith("px"))return parseFloat(e);if(e.endsWith("%")){let a=parseFloat(e)/100;return Math.max(n,o)*a}else{if(e.endsWith("em"))return parseFloat(e)*parseFloat(r);if(e.endsWith("rem"))return parseFloat(e)*parseFloat(getComputedStyle(this.document.documentElement).fontSize);if(e.endsWith("vh")){let a=this.window.innerHeight/100;return parseFloat(e)*a}else if(e.endsWith("vw")){let a=this.window.innerWidth/100;return parseFloat(e)*a}}return parseFloat(e)||0}static \u0275fac=function(n){return new(n||t)(_n(ao),_n(vg),_n(_g),_n(Au))};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Lu(t,i){return t.reduce((e,n)=>[...e,...i(n)],[])}function Bu(t){let i=t.cloneNode(!0),e=i.querySelectorAll("[id]"),n=t.nodeName.toLowerCase();i.removeAttribute("id");for(let o=0;o<e.length;o++)e[o].removeAttribute("id");return n==="canvas"?dh(t,i):(n==="input"||n==="select"||n==="textarea")&&ch(t,i),sh("canvas",t,i,dh),sh("input, textarea, select",t,i,ch),i}function sh(t,i,e,n){let o=i.querySelectorAll(t);if(o.length){let r=e.querySelectorAll(t);for(let a=0;a<o.length;a++)n(o[a],r[a])}}var Cg=0;function ch(t,i){i.type!=="file"&&(i.value=t.value),i.type==="radio"&&i.name&&(i.name=`mat-clone-${i.name}-${Cg++}`)}function dh(t,i){let e=i.getContext("2d");if(e)try{e.drawImage(t,0,0)}catch{}}function zu(t,i,e){for(let n in i)if(i.hasOwnProperty(n)){let o=i[n];o?t.setProperty(n,o,e?.has(n)?"important":""):t.removeProperty(n)}return t}function lh(t){zu(t.style,{"touch-action":"none","-webkit-user-drag":"none","-webkit-tap-highlight-color":"transparent","user-select":"none","-ms-user-select":"none","-webkit-user-select":"none","-moz-user-select":"none"})}function uh(t,i,e){return xg(t,e).dataset[i]}function xg(t,i){return t.closest(i)}function Vu(t,i){let e=t.rootNodes;if(e.length===1&&e[0].nodeType===i.ELEMENT_NODE)return e[0];let n=i.createElement("div");return e.forEach(o=>n.appendChild(o)),n}function li(t,i){let e=bg(t,i);return!!e&&!e.classList.contains(i+"-disabled")}function bg(t,i){return t.closest(i)}function It(t){return t.match(/^[a-zA-Z_]/)||(t="_"+t),t.replace(/[^a-zA-Z0-9_\-:.]/g,"_")}function En(t,i,e){let n=e[t.toUpperCase()]||wg(e,t.toLowerCase());if(n===void 0)throw new Error(`Unknown ${i}: ${t}. Accepted values: ${Object.keys(e).join(", ")}`);return n}function wg(t,i){return Object.keys(t).find(e=>t[e]===i)}var Sg=["markerElement"],Ig=["fConnectionGradientRenderer",""],Tg=["f-connection-path",""],Eg=["fConnectionSelection",""],Pg=["f-connection-drag-handle-start",""],Dg=["f-connection-drag-handle-end",""],Mg=["defs"],kg=["*"],Ng=["fGroupsContainer"],Rg=["fNodesContainer"],Og=["fConnectionsContainer"],Fg=[[["","fGroup",""],["","fGroups",""]],[["f-snap-connection"]],[["f-connection"],["","fConnections",""]],[["f-connection-for-create"]],[["","fNode",""],["","fNodes",""]]],Ag=["[fGroup], [fGroups]","f-snap-connection","f-connection, [fConnections]","f-connection-for-create","[fNode], [fNodes]"],Lg=[[["svg","fMarker",""]],[["f-connection-marker-circle"],["f-connection-marker-arrow"]],[["f-connection-gradient"]],[["f-connection-waypoints"]],[["","fConnectionContent",""]]],Bg=["svg[fMarker]","f-connection-marker-circle, f-connection-marker-arrow","f-connection-gradient","f-connection-waypoints","[fConnectionContent]"];function zg(t,i){t&1&&(Ze(),B(0,"linearGradient",3)),t&2&&E("fConnectionGradientRendererFor",i)}function Vg(t,i){t&1&&(Ze(),B(0,"circle",6))}function Hg(t,i){t&1&&Pe(0,4)}var Gg="[_nghost-%COMP%]{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}",jg=[[["","fDefinitions",""]],[["f-background"]],[["f-line-alignment"]],[["f-canvas"]],[["f-selection-area"]],"*"],Ug=["[fDefinitions]","f-background","f-line-alignment","f-canvas","f-selection-area","*"],Wu=new pe("F_BACKGROUND_PATTERN"),rc=class{fPattern;static fToken=Symbol("AddPatternToBackgroundRequest");constructor(i){this.fPattern=i}},Nn=class{_items=[];_byId=new Map;get(i){return this._byId.get(i)}require(i){let e=this._byId.get(i);if(!e)throw new Error(`${this.kind} not found: ${i}`);return e}has(i){return this._byId.has(i)}getAll(){return this._items}size(){return this._items.length}add(i){let e=i.fId();if(this._byId.has(e))throw new Error(`${this.kind} already exists: ${e}`);this._items.push(i),this._byId.set(e,i)}addMany(i){for(let e of i)this.add(e)}remove(i){let e=i.fId(),n=this._byId.get(e);if(!n)return!1;this._byId.delete(e);let o=this._items.indexOf(n);return o>=0&&this._items.splice(o,1),!0}removeById(i){let e=this._byId.get(i);if(!e)return;this._byId.delete(i);let n=this._items.indexOf(e);return n>=0&&this._items.splice(n,1),e}clear(){this._items.length=0,this._byId.clear()}};function en(t){return{name:t}}var $u=class{_instances=new Map;get(i){return this._instances.get(i.name)}require(i){let e=this.get(i);if(!e)throw new Error(`Instance not found: ${i.name}`);return e}has(i){return this._instances.has(i.name)}add(i,e){if(this._instances.has(i.name))throw new Error(`${i.name} already exists`);this._instances.set(i.name,e)}remove(i){if(!this._instances.has(i.name))throw new Error(`${i.name} does not exist`);return this._instances.delete(i.name),!0}clear(){this._instances.clear()}},pi=class extends Nn{kind;constructor(i){super(),this.kind=i}},qu=class extends Nn{kind="Connection Marker"},Xu=class extends Nn{kind="Connection";_instancesForCreate;_instancesForSnap;getForSnap(){return this._instancesForSnap}getForCreate(){return this._instancesForCreate}addForCreate(i){this._instancesForCreate=i}addForSnap(i){this._instancesForSnap=i}removeInstanceForCreate(){this._instancesForCreate=void 0}removeInstanceForSnap(){this._instancesForSnap=void 0}},Ku=class extends Nn{kind="Node"},Dn=class{notifyOnSubscribe;static fToken=Symbol("ListenConnectionsChangesRequest");constructor(i=!0){this.notifyOnSubscribe=i}};function Wg(){return t=>{let i=null,e=null,n=()=>{i!==null&&cancelAnimationFrame(i),e!==null&&cancelAnimationFrame(e),i=e=null};return{callback:()=>{n(),i=requestAnimationFrame(()=>{i=null,e=requestAnimationFrame(()=>{e=null,t()})})},cleanup:n}}}function $g(){return t=>{let i=null;return{callback:()=>{i!==null&&cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=null,t()})},cleanup:()=>{i!==null&&cancelAnimationFrame(i),i=null}}}}function ac(t){return i=>{let e=null;return{callback:()=>{e!==null&&clearTimeout(e),e=setTimeout(()=>{e=null,i()},t)},cleanup:()=>{e!==null&&clearTimeout(e),e=null}}}}var ct=class{_listeners=new Set;notify(){this._listeners.forEach(i=>i())}listen(i){return this._listeners.add(i),()=>this.stop(i)}stop(i){this._listeners.delete(i)}},Yu=class extends ct{_htmlElement;_observer=new ResizeObserver(()=>this.notify());_isObserving=!1;constructor(i){super(),this._htmlElement=i}listen(i){return this._isObserving||(this._observer.observe(this._htmlElement),this._isObserving=!0),super.listen(i)}stop(i){super.stop(i),this._listeners.size===0&&this._disconnect()}_disconnect(){this._observer.unobserve(this._htmlElement),this._observer.disconnect(),this._isObserving=!1}},vt=class t{_channels=[];_operators=[];constructor(...i){this._channels=[...i]}pipe(...i){let e=new t(...this._channels);return e._operators=[...this._operators,...i],e}listen(i,e){let n=e,o=[],r=[],a=[];for(let g of[...this._operators].reverse()){let C=g(n);n=C.callback,C.cleanup&&o.push(C.cleanup),C.onSubscribe&&r.push(C.onSubscribe),C.setTeardown&&a.push(C.setTeardown)}let s=this._channels.map(g=>g.listen(()=>n())),l=null,u=!1,h=()=>{u||(u=!0,l?.(),l=null,s.forEach(g=>g()),o.forEach(g=>g()))};a.slice().reverse().forEach(g=>g(h)),r.slice().reverse().forEach(g=>g(n)),l=i.onDestroy(h)}};function Fl(){return t=>{let i=!0;return{callback:t,onSubscribe:e=>{queueMicrotask(()=>{i&&e()})},cleanup:()=>{i=!1}}}}function fh(){return t=>{let i=!1,e=null;return{setTeardown:n=>e=n,callback:()=>{if(!i){i=!0;try{t()}finally{e?.()}}}}}}var qg=(()=>{let t=class Ao{_store=d(M);handle({notifyOnSubscribe:e}){return e?new vt(this._store.connectionsChanges$).pipe(Fl(),ac(1)):new vt(this._store.connectionsChanges$).pipe(ac(1))}static \u0275fac=function(n){return new(n||Ao)};static \u0275prov=y({token:Ao,factory:Ao.\u0275fac})};return t=x([b(Dn)],t),t})(),Zu=class{static fToken=Symbol("ListenNodesChangesRequest")},Xg=(()=>{let t=class Lo{_store=d(M);handle(e){return new vt(this._store.nodesChanges$)}static \u0275fac=function(n){return new(n||Lo)};static \u0275prov=y({token:Lo,factory:Lo.\u0275fac})};return t=x([b(Zu)],t),t})(),sc=class{static fToken=Symbol("ListenTransformChangesRequest")},Kg=(()=>{let t=class Bo{_store=d(M);handle(e){return new vt(this._store.transformChanges$,this._store.connectionsChanges$,this._store.nodesChanges$)}static \u0275fac=function(n){return new(n||Bo)};static \u0275prov=y({token:Bo,factory:Bo.\u0275fac})};return t=x([b(sc)],t),t})(),tn=class{static fToken=Symbol("EmitConnectionsChangesRequest")},Yg=(()=>{let t=class zo{_store=d(M);handle(e){this._store.emitConnectionChanges()}static \u0275fac=function(n){return new(n||zo)};static \u0275prov=y({token:zo,factory:zo.\u0275fac})};return t=x([b(tn)],t),t})(),Lt=class{static fToken=Symbol("NotifyTransformChangedRequest")},M=(()=>{class t{transformChanges$=new ct;viewportAnimationChanges$=new ct;connectionsChanges$=new ct;_connectionsRevision=0;connectionsRenderedChanges$=new ct;_connectionsRenderedRevision=0;_connectionsRenderedNodesRevision=0;_viewportAnimationCount=0;nodesChanges$=new ct;_nodesRevision=0;progressiveRenderChanges$=new ct;_pendingProgressiveRenderCount=0;get connectionsRevision(){return this._connectionsRevision}get connectionsRenderedRevision(){return this._connectionsRenderedRevision}get connectionsRenderedNodesRevision(){return this._connectionsRenderedNodesRevision}get nodesRevision(){return this._nodesRevision}get hasPendingProgressiveRender(){return this._pendingProgressiveRenderCount>0}get isViewportAnimating(){return this._viewportAnimationCount>0}get flowHost(){return this.fFlow?.hostElement}fFlow;fCanvas;get transform(){return this.fCanvas?.transform}nodes=new Ku;connections=new Xu;connectionMarkers=new qu;outputs=new pi("Output");inputs=new pi("Input");outlets=new pi("Outlet");instances=new $u;fDraggable;emitNodeChanges(){this._nodesRevision++,this.nodesChanges$.notify()}emitConnectionChanges(){this._connectionsRevision++,this.connectionsChanges$.notify()}completeConnectionsRender(e,n){e<this._connectionsRenderedRevision||e===this._connectionsRenderedRevision&&n<=this._connectionsRenderedNodesRevision||(this._connectionsRenderedRevision=Math.min(e,this._connectionsRevision),this._connectionsRenderedNodesRevision=n,this.connectionsRenderedChanges$.notify())}beginProgressiveRender(){this._pendingProgressiveRenderCount++,this.progressiveRenderChanges$.notify()}endProgressiveRender(){this._pendingProgressiveRenderCount&&(this._pendingProgressiveRenderCount--,this.progressiveRenderChanges$.notify())}transformChanged(){this.transformChanges$.notify()}beginViewportAnimation(){this._viewportAnimationCount++,this.viewportAnimationChanges$.notify()}endViewportAnimation(){this._viewportAnimationCount&&(this._viewportAnimationCount--,this.viewportAnimationChanges$.notify())}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac})}return t})(),ye={MAGNETIC_LINES:en("magnetic-lines"),MAGNETIC_RECTS:en("magnetic-rects"),ZOOM:en("zoom-controls"),BACKGROUND:en("background"),SELECTION_AREA:en("selection-area"),MINIMAP:en("minimap"),AUTO_PAN:en("auto-pan")},Zg=(()=>{let t=class Vo{_store=d(M);handle(e){this._store.transformChanged()}static \u0275fac=function(n){return new(n||Vo)};static \u0275prov=y({token:Vo,factory:Vo.\u0275fac})};return t=x([b(Lt)],t),t})(),Bt=class{key;instance;static fToken=Symbol("RegisterPluginInstanceRequest");constructor(i,e){this.key=i,this.instance=e}},Qg=(()=>{let t=class Ho{_store=d(M);handle({key:e,instance:n}){this._store.instances.add(e,n)}static \u0275fac=function(n){return new(n||Ho)};static \u0275prov=y({token:Ho,factory:Ho.\u0275fac})};return t=x([b(Bt)],t),t})(),zt=class{key;static fToken=Symbol("RemovePluginInstanceRequest");constructor(i){this.key=i}},Jg=(()=>{let t=class Go{_store=d(M);handle({key:e}){this._store.instances.remove(e)}static \u0275fac=function(n){return new(n||Go)};static \u0275prov=y({token:Go,factory:Go.\u0275fac})};return t=x([b(zt)],t),t})(),e0=[M,Xg,qg,Kg,Yg,Zg,Qg,Jg],t0=0,n0=(()=>{let t=class jo{_store=d(M);_browser=d(ke);get _backgroundElement(){return this._store.instances.get(ye.BACKGROUND)?.hostElement}handle(e){let n=this._getPatterns(e.fPattern?.hostElement);if(!n?.length)return;let o=kn("defs",this._browser);if(e.fPattern?.hostElement.remove(),n.forEach(r=>{o.append(r)}),n.length){this._backgroundElement?.firstChild?.appendChild(o),n[n.length-1].id="f-background-pattern-"+t0++;let r=n[n.length-1].id,a=kn("rect",this._browser);a.setAttribute("fill","url(#"+r+")"),a.setAttribute("width","100%"),a.setAttribute("height","100%"),this._backgroundElement?.firstChild?.appendChild(a);let s=this._store.fCanvas?.transform||Rt.default();e.fPattern?.setTransform(s)}}_getPatterns(e){return Array.from(e?.getElementsByTagName("pattern")||[])}static \u0275fac=function(n){return new(n||jo)};static \u0275prov=y({token:jo,factory:jo.\u0275fac})};return t=x([b(rc)],t),t})(),hi=class{fTransform;static fToken=Symbol("SetBackgroundTransformRequest");constructor(i){this.fTransform=i}},i0=(()=>{let t=class Uo{_store=d(M);handle(e){this._store.instances.get(ye.BACKGROUND)?.setTransform(e.fTransform)}static \u0275fac=function(n){return new(n||Uo)};static \u0275prov=y({token:Uo,factory:Uo.\u0275fac})};return t=x([b(hi)],t),t})(),o0=[n0,i0],cc=class{instance;static fToken=Symbol("AddCanvasToStoreRequest");constructor(i){this.instance=i}},r0=(()=>{let t=class Wo{_store=d(M);handle({instance:e}){this._store.fCanvas=e}static \u0275fac=function(n){return new(n||Wo)};static \u0275prov=y({token:Wo,factory:Wo.\u0275fac})};return t=x([b(cc)],t),t})(),dc=class{id;animated;static fToken=Symbol("CenterGroupOrNodeRequest");constructor(i,e){this.id=i,this.animated=e}},a0=(()=>{let t=class $o{_store=d(M);_mediator=d(R);get _transform(){return this._store.transform}handle({id:e,animated:n}){let o=this._store.nodes.get(e);o&&(this._toCenter(this._getNodeRect(o),this._getFlowRect(),o._position),this._mediator.execute(new Rn(n,nn.VIEWPORT_ONLY)))}_toCenter(e,n,o){this._transform.scaledPosition=A.initialize(),this._transform.position=A.initialize((n.width-e.width)/2-o.x*this._transform.scale,(n.height-e.height)/2-o.y*this._transform.scale)}_getNodeRect(e){return H.fromElement(e.hostElement)}_getFlowRect(){return H.fromElement(this._store.flowHost)}static \u0275fac=function(n){return new(n||$o)};static \u0275prov=y({token:$o,factory:$o.\u0275fac})};return t=x([b(dc)],t),t})(),lc=class{toCenter;animated;static fToken=Symbol("FitToFlowRequest");constructor(i,e){this.toCenter=i,this.animated=e}},s0=(()=>{let t=class qo{_store=d(M);get _transform(){return this._store.transform}_mediator=d(R);handle({toCenter:e,animated:n}){let o=this._mediator.execute(new Vn)||H.initialize();o.width===0||o.height===0||(this.fitToParent(o,H.fromElement(this._store.flowHost),this._store.nodes.getAll().map(r=>r._position),e),this._mediator.execute(new Rn(n,nn.VIEWPORT_ONLY)))}fitToParent(e,n,o,r){this._transform.scaledPosition=A.initialize(),this._transform.position=this._getZeroPositionWithoutScale(o);let a=e.width/this._transform.scale+r.x,s=e.height/this._transform.scale+r.y;(a>n.width||s>n.height||a<n.width&&s<n.height)&&(this._transform.scale=Math.min(n.width/a,n.height/s));let l=(n.width-a*this._transform.scale)/2-this._transform.position.x*this._transform.scale,u=(n.height-s*this._transform.scale)/2-this._transform.position.y*this._transform.scale;this._transform.position=A.initialize(l+r.x/2*this._transform.scale,u+r.y/2*this._transform.scale)}_getZeroPositionWithoutScale(e){let n=e.length?Math.min(...e.map(r=>r.x)):0,o=e.length?Math.min(...e.map(r=>r.y)):0;return A.initialize(n,o)}static \u0275fac=function(n){return new(n||qo)};static \u0275prov=y({token:qo,factory:qo.\u0275fac})};return t=x([b(lc)],t),t})(),uc=class{transform;position;static fToken=Symbol("InputCanvasPositionRequest");constructor(i,e){this.transform=i,this.position=e}},c0=(()=>{let t=class Xo{_store=d(M);handle({transform:e,position:n}){n&&(A.isEqual(this._calculateTransformPosition(e),n)||(e.position=n,e.scaledPosition=A.initialize(),this._store.fCanvas?.redraw()))}_calculateTransformPosition(e){return A.sum(e.position,e.scaledPosition)}static \u0275fac=function(n){return new(n||Xo)};static \u0275prov=y({token:Xo,factory:Xo.\u0275fac})};return t=x([b(uc)],t),t})(),fc=class{transform;scale;static fToken=Symbol("InputCanvasScaleRequest");constructor(i,e){this.transform=i,this.scale=e}},d0=(()=>{let t=class Ko{_store=d(M);handle(e){!e.scale&&e.scale!==0||(e.transform.scale=e.scale,this._store.fCanvas?.redraw())}static \u0275fac=function(n){return new(n||Ko)};static \u0275prov=y({token:Ko,factory:Ko.\u0275fac})};return t=x([b(fc)],t),t})(),nn=(function(t){return t.VIEWPORT_ONLY="VIEWPORT_ONLY",t.WITH_CONNECTION_CHANGES="WITH_CONNECTION_CHANGES",t})(nn||{}),Rn=class{animated;context;static fToken=Symbol("RedrawCanvasWithAnimationRequest");constructor(i,e=nn.WITH_CONNECTION_CHANGES){this.animated=i,this.context=e}};function zh(t,i){let e=n=>{n.propertyName==="transform"&&(t.removeEventListener("transitionend",e),i(n))};t.addEventListener("transitionend",e)}var l0=(()=>{let t=class Yo{_store=d(M);get _canvas(){return this._store.fCanvas}handle(e){e.animated?this._redrawWithAnimation(e.context):this._redraw(e.context),this._canvas?.emitCanvasChangeEvent()}_redrawWithAnimation(e){this._store.beginViewportAnimation(),this._canvas?.redrawWithAnimation(),zh(this._canvas.hostElement,()=>{this._store.endViewportAnimation(),e===nn.WITH_CONNECTION_CHANGES&&this._store.emitConnectionChanges()})}_redraw(e){this._canvas?.redraw(),e===nn.WITH_CONNECTION_CHANGES&&this._store.emitConnectionChanges()}static \u0275fac=function(n){return new(n||Yo)};static \u0275prov=y({token:Yo,factory:Yo.\u0275fac})};return t=x([b(Rn)],t),t})(),pc=class{static fToken=Symbol("RemoveCanvasFromStoreRequest")},u0=(()=>{let t=class Zo{_store=d(M);handle(e){this._store.fCanvas=void 0}static \u0275fac=function(n){return new(n||Zo)};static \u0275prov=y({token:Zo,factory:Zo.\u0275fac})};return t=x([b(pc)],t),t})(),hc=class{static fToken=Symbol("ResetScaleRequest")},f0=(()=>{let t=class Qo{_store=d(M);get _transform(){return this._store.transform}handle(e){this._transform.scale=1,this._transform.scaledPosition=A.initialize()}static \u0275fac=function(n){return new(n||Qo)};static \u0275prov=y({token:Qo,factory:Qo.\u0275fac})};return t=x([b(hc)],t),t})(),mc=class{animated;static fToken=Symbol("ResetScaleAndCenterRequest");constructor(i){this.animated=i}},p0=(()=>{let t=class Jo{_mediator=d(R);_store=d(M);get _transform(){return this._store.transform}handle({animated:e}){let n=this._mediator.execute(new Vn)||H.initialize();n.width===0||n.height===0||(this._oneToOneCentering(n,H.fromElement(this._store.flowHost),this._store.nodes.getAll().map(o=>o._position)),this._mediator.execute(new Rn(e,nn.VIEWPORT_ONLY)))}_oneToOneCentering(e,n,o){this._transform.scaledPosition=A.initialize(),this._transform.position=this._getZeroPositionWithoutScale(o);let r=(n.width-e.width/this._transform.scale)/2-this._transform.position.x,a=(n.height-e.height/this._transform.scale)/2-this._transform.position.y;this._transform.scale=1,this._transform.position=A.initialize(r,a)}_getZeroPositionWithoutScale(e){let n=e.length?Math.min(...e.map(r=>r.x)):0,o=e.length?Math.min(...e.map(r=>r.y)):0;return A.initialize(n,o)}static \u0275fac=function(n){return new(n||Jo)};static \u0275prov=y({token:Jo,factory:Jo.\u0275fac})};return t=x([b(mc)],t),t})(),_c=class{scale;toPosition;static fToken=Symbol("UpdateScaleRequest");constructor(i,e){this.scale=i,this.toPosition=e}},h0=(()=>{let t=class er{_store=d(M);get _transform(){return this._store.transform}handle({scale:e,toPosition:n}){if(e===this._transform.scale)return;let o=A.sum(this._transform.scaledPosition,this._transform.position),r=n.x-(n.x-o.x)*e/this._transform.scale,a=n.y-(n.y-o.y)*e/this._transform.scale;this._transform.scale=e,this._transform.scaledPosition=A.sub(A.initialize(r,a),this._transform.position)}static \u0275fac=function(n){return new(n||er)};static \u0275prov=y({token:er,factory:er.\u0275fac})};return t=x([b(_c)],t),t})(),m0=[r0,a0,s0,c0,d0,l0,u0,f0,p0,h0],Qu=class{connection;static fToken=Symbol("AddConnectionForCreateToStoreRequest");constructor(i){this.connection=i}},_0=(()=>{let t=class tr{_store=d(M);handle({connection:e}){this._store.connections.addForCreate(e)}static \u0275fac=function(n){return new(n||tr)};static \u0275prov=y({token:tr,factory:tr.\u0275fac})};return t=x([b(Qu)],t),t})(),gc=class{instance;static fToken=Symbol("AddConnectionMarkerToStoreRequest");constructor(i){this.instance=i}},g0=(()=>{let t=class nr{_store=d(M);handle({instance:e}){this._store.connectionMarkers.add(e),this._store.emitNodeChanges()}static \u0275fac=function(n){return new(n||nr)};static \u0275prov=y({token:nr,factory:nr.\u0275fac})};return t=x([b(gc)],t),t})(),yc=class{connection;static fToken=Symbol("AddConnectionToStoreRequest");constructor(i){this.connection=i}},y0=(()=>{let t=class ir{_store=d(M);handle({connection:e}){this._store.connections.add(e),this._store.emitConnectionChanges()}static \u0275fac=function(n){return new(n||ir)};static \u0275prov=y({token:ir,factory:ir.\u0275fac})};return t=x([b(yc)],t),t})(),Ju=class{connection;static fToken=Symbol("AddSnapConnectionToStoreRequest");constructor(i){this.connection=i}},v0=(()=>{let t=class or{_store=d(M);handle({connection:e}){this._store.connections.addForSnap(e)}static \u0275fac=function(n){return new(n||or)};static \u0275prov=y({token:or,factory:or.\u0275fac})};return t=x([b(Ju)],t),t})(),On=class{connection;static fToken=Symbol("CreateConnectionMarkersRequest");constructor(i){this.connection=i}},ph=new pe("F_CONNECTION_CONTENT");var vc=class t{points;cumulativeLengths;segmentTangents;totalLength;constructor(i){let e=t._removeConsecutiveDuplicates(i);if(e.length<2){this.points=[{x:0,y:0},{x:1,y:0}],this.cumulativeLengths=[0,1],this.segmentTangents=[{x:1,y:0}],this.totalLength=1;return}this.points=e;let n=this.points.length,o=n-1,r=new Array(n).fill(0),a=new Array(o),s=0;for(let l=0;l<o;l++){let u=this.points[l+1].x-this.points[l].x,h=this.points[l+1].y-this.points[l].y,g=Math.hypot(u,h),C=g?u/g:1,w=g?h/g:0;a[l]={x:C,y:w},s+=g,r[l+1]=s}this.cumulativeLengths=r,this.segmentTangents=a,this.totalLength=s||1}static from(i){return new t(i.map(e=>({x:e.x,y:e.y})))}static _removeConsecutiveDuplicates(i){let e=[];for(let n of i){let o=e[e.length-1];(!o||o.x!==n.x||o.y!==n.y)&&e.push({x:n.x,y:n.y})}return e}},ef=class t{_polyline;constructor(i=[]){this._polyline=new vc(i)}updatePoints(i){return this._polyline=new vc(i),this._polyline.totalLength}calculateTotalLength(i){return this.updatePoints(i)}get totalLength(){return this._polyline.totalLength}getPointAtProgress(i){let{points:e,cumulativeLengths:n,segmentTangents:o,totalLength:r}=this._polyline,s=t._clamp(i,0,1)*r,l=.5;if(s<=l)return{point:e[0],tangent:o[0]??{x:1,y:0},atEdge:!0};if(r-s<=l){let O=e.length-1;return{point:e[O],tangent:o[O-1]??{x:1,y:0},atEdge:!0}}let u=t._findRightIndex(n,s),h=Math.max(1,u),g=n[h-1],C=n[h],w=t._safeRatio(s-g,C-g),P=e[h-1],T=e[h],k={x:t._lerp(P.x,T.x,w),y:t._lerp(P.y,T.y,w)},N=o[h-1]??{x:1,y:0};return{point:k,tangent:N,atEdge:!1}}getPointAtLength(i){return this.getPointAtProgress(i)}getPointAtDistance(i){let e=this._polyline.totalLength?i/this._polyline.totalLength:0;return this.getPointAtProgress(e)}static _findRightIndex(i,e){let n=0,o=i.length-1;for(;n<o;){let r=n+o>>1;i[r]<e?n=r+1:o=r}return n}static _lerp(i,e,n){return i+(e-i)*n}static _clamp(i,e,n){return i<e?e:i>n?n:i}static _safeRatio(i,e){let n=Math.abs(e)<1e-6?1e-6:e;return i/n}},Vh=(function(t){return t.NONE="none",t.ALONG="along",t})(Vh||{}),tf=class{compute(i,e){let n=this._clamp01(e.position()),{point:o,tangent:r}=i.getPointAtLength(n),a={x:-r.y,y:r.x},s=e.offset()??0,l=o.x+a.x*s,u=o.y+a.y*s,g=this._sizeAlongDirection(e.hostElement,r)*.5,C=n*i.totalLength,w=i.totalLength-C,P=this._applyEdgeGuard(l,u,r,C,w,g),T=this._calculateContentRotation(e.align(),r);return{position:P,rotationDeg:T}}_clamp01(i){return i<=0?0:i>=1?1:i}_applyEdgeGuard(i,e,n,o,r,a){if(o<=a){let s=a-o;return{x:i+n.x*s,y:e+n.y*s}}if(r<=a){let s=a-r;return{x:i-n.x*s,y:e-n.y*s}}return{x:i,y:e}}_sizeAlongDirection(i,e){let n=H.fromElement(i);return Math.abs(e.x)*n.width+Math.abs(e.y)*n.height}_normalize180(i){let e=(i+180)%360;return e<0&&(e+=360),e-180}_keepUpright(i){let e=this._normalize180(i);return e>90?e-=180:e<-90&&(e+=180),e}_calculateContentRotation(i,e){let n=0;return i===Vh.ALONG&&(n=Math.atan2(e.y,e.x)*180/Math.PI,n=this._keepUpright(n)),n}},nf=class{_placement;constructor(i=new tf){this._placement=i}layout(i,e){let n=new ef(i),o=n.totalLength;for(let r of e){let{position:a,rotationDeg:s}=this._placement.compute(n,r);r.hostElement.style.transform=this._createTransformString(a,s)}return o}_createTransformString(i,e){return`translate3d(${i.x}px, ${i.y}px, 0) translate(-50%, -50%) rotate(${e}deg)`}};var hh=new pe("F_CONNECTION_WAYPOINTS");function Hh(t,i,e){return(t.x-i.x)**2+(t.y-i.y)**2<=e**2}function C0(t,i){let e=t.fWaypoints(),n=e?.radius()||8;return e?.candidates().find(o=>Hh(i,o,n))}function x0(t,i){let e=t.fWaypoints(),n=e?.radius()||8;return e?.waypoints().find(o=>Hh(i,o,n))}function b0(t,i){for(let e of t){let n=x0(e,i);if(n&&e.fWaypoints()?.visibility())return{connection:e,waypoint:n};let o=C0(e,i);if(o&&e.fWaypoints()?.visibility())return{connection:e,candidate:o}}}var Al=new pe("F_CONNECTION_COMPONENTS_PARENT");var fe=(function(t){return t.START="f-connection-marker-start",t.END="f-connection-marker-end",t.SELECTED_START="f-connection-selected-marker-start",t.SELECTED_END="f-connection-selected-marker-end",t.START_ALL_STATES="f-connection-marker-start-all-states",t.END_ALL_STATES="f-connection-marker-end-all-states",t})(fe||{}),Cc=new pe("F_CONNECTION_MARKER"),w0=0,xc=class{fId=W(`f-marker-${w0++}`);hostElement=d(we).nativeElement};function Gh(t,i=fe.START){if(typeof t!="string")return i;let e=t.trim().toLowerCase();return e?S0(e)??i:i}function S0(t){switch(t){case"start":case"f-connection-marker-start":return fe.START;case"end":case"f-connection-marker-end":return fe.END;case"selected-start":case"f-connection-selected-marker-start":return fe.SELECTED_START;case"selected-end":case"f-connection-selected-marker-end":return fe.SELECTED_END;case"start-all-states":case"f-connection-marker-start-all-states":case"start-all":case"all-start":return fe.START_ALL_STATES;case"end-all-states":case"f-connection-marker-end-all-states":case"end-all":case"all-end":return fe.END_ALL_STATES;default:return null}}var jh=(()=>{class t extends xc{_markerElement=Se.required("markerElement");_type=F(fe.END_ALL_STATES,{alias:"type",transform:e=>Gh(e,fe.END_ALL_STATES)});get markerElement(){return this._markerElement().nativeElement}width=6;height=7;refX=5.5;refY=3.5;get type(){return this._type()}orient="auto";markerUnits="strokeWidth";static \u0275fac=(()=>{let e;return function(o){return(e||(e=ne(t)))(o||t)}})();static \u0275cmp=J({type:t,selectors:[["f-connection-marker-arrow"]],viewQuery:function(n,o){n&1&&ut(o._markerElement,Sg,5),n&2&&it()},hostAttrs:[1,"f-component",2,"display","none"],inputs:{_type:[1,"type","_type"]},features:[ge([{provide:Cc,useExisting:t}]),_e],decls:3,vars:0,consts:[["markerElement",""],["viewBox","0 0 6 6",1,"f-marker"],["d","M0,0 L6,3 0,6Z"]],template:function(n,o){n&1&&(Ze(),U(0,"svg",1,0),Dt(2,"path",2),$())},encapsulation:2})}return t})();var Uh=(()=>{class t extends xc{_mediator=d(R);markerElement=this.hostElement;width=0;height=0;refX=0;refY=0;type=fe.START;orient="auto";markerUnits="strokeWidth";ngOnInit(){this.hostElement.style.display="none",this._mediator.execute(new gc(this))}ngOnDestroy(){this._mediator.execute(new Uc(this))}static \u0275fac=(()=>{let e;return function(o){return(e||(e=ne(t)))(o||t)}})();static \u0275dir=Ce({type:t,selectors:[["svg","fMarker",""]],hostAttrs:[1,"f-component","f-marker"],inputs:{width:"width",height:"height",refX:"refX",refY:"refY",type:[2,"type","type",e=>Gh(e,fe.START)],orient:"orient",markerUnits:"markerUnits"},standalone:!1,features:[ge([{provide:Cc,useExisting:t}]),_e]})}return t})(),Ft=(function(t){return t.FIXED="fixed",t.FIXED_CENTER="fixed_center",t.FLOATING="floating",t})(Ft||{}),Xe=(function(t){return t.DEFAULT="default",t.TOP="top",t.BOTTOM="bottom",t.LEFT="left",t.RIGHT="right",t.CALCULATE="calculate",t.CALCULATE_HORIZONTAL="calculate_horizontal",t.CALCULATE_VERTICAL="calculate_vertical",t})(Xe||{});function I0({sourceRect:t,targetRect:i}){return{point1:t.gravityCenter,point2:i.gravityCenter}}var L=(function(t){return t.LEFT="left",t.TOP="top",t.RIGHT="right",t.BOTTOM="bottom",t.CALCULATE="calculate",t.CALCULATE_HORIZONTAL="calculate_horizontal",t.CALCULATE_VERTICAL="calculate_vertical",t.AUTO="auto",t})(L||{}),Pn=(function(t){return t.SEGMENT="segment",t.STRAIGHT="straight",t.BEZIER="bezier",t.ADAPTIVE_CURVE="adaptive-curve",t})(Pn||{});function T0({sourceRect:t,sourceConnectableSide:i,targetRect:e,targetConnectableSide:n}){return{point1:mh(t,i===L.AUTO?L.BOTTOM:i),point2:mh(e,n===L.AUTO?L.TOP:n)}}function mh(t,i){switch(i){case L.TOP:return{x:t.x+t.width/2,y:t.y};case L.BOTTOM:return{x:t.x+t.width/2,y:t.y+t.height};case L.LEFT:return{x:t.x,y:t.y+t.height/2};case L.RIGHT:return{x:t.x+t.width,y:t.y+t.height/2};default:throw new Error(`Unknown side: ${i}`)}}function Wh(t,i,e,n){if(!n||!n.rotationDeg)return Tn.getRoundedRectIntersections(t,i,e)[0];let o=rr(t,-n.rotationDeg,n.pivot),r=rr(i,-n.rotationDeg,n.pivot),a=E0(e,-n.rotationDeg,n.pivot),s=Tn.getRoundedRectIntersections(o,r,a)[0];return s?rr(s,n.rotationDeg,n.pivot):void 0}function E0(t,i,e){let n=rr(P0(t),i,e);return new Me(n.x-t.width/2,n.y-t.height/2,t.width,t.height,t.radius1,t.radius2,t.radius3,t.radius4)}function P0(t){return{x:t.x+t.width/2,y:t.y+t.height/2}}function rr(t,i,e){let n=t.x-e.x,o=t.y-e.y,r=i*Math.PI/180,a=Math.cos(r),s=Math.sin(r);return{x:n*a-o*s+e.x,y:n*s+o*a+e.y}}function D0({sourceRect:t,targetRect:i,sourceRotationContext:e,targetRotationContext:n}){return N0(M0(t,i,e),k0(t,i,n),t,i)}function M0(t,i,e){return Wh(t.gravityCenter,i.gravityCenter,t,e)}function k0(t,i,e){return Wh(i.gravityCenter,t.gravityCenter,i,e)}function N0(t,i,e,n){return{point1:t||e.gravityCenter,point2:i||n.gravityCenter}}var Oo=.5,R0={[Ft.FLOATING]:D0,[Ft.FIXED_CENTER]:I0,[Ft.FIXED]:T0},$n=(()=>{class t{handle(e){let n=this._calculateDirectionalVectors(e.sourceRect.gravityCenter.x,e.sourceRect.gravityCenter.y,e.targetRect.gravityCenter.x,e.targetRect.gravityCenter.y),o=this._determineSourceSide(e,n),r=this._determineTargetSide(e,n);return e.connection._applyResolvedSidesToConnection(o,r),this._getBehaviorHandler(e.connection.fBehavior)({sourceRect:e.sourceRect,targetRect:e.targetRect,sourceConnectableSide:o,targetConnectableSide:r,sourceRotationContext:e.sourceRotationContext,targetRotationContext:e.targetRotationContext})}_calculateDirectionalVectors(e,n,o,r){let a=o-e,s=r-n;return{sourceToTargetX:a,sourceToTargetY:s,targetToSourceX:-a,targetToSourceY:-s}}_determineSourceSide(e,n){return this._resolveConnectableSide(e.connection.fOutputSide(),n.sourceToTargetX,n.sourceToTargetY,e.sourceConnectableSide)}_determineTargetSide(e,n){return this._resolveConnectableSide(e.connection.fInputSide(),n.targetToSourceX,n.targetToSourceY,e.targetConnectableSide)}_resolveConnectableSide(e,n,o,r){if(e===Xe.DEFAULT)return r;let a=Math.abs(n),s=Math.abs(o);if(a<Oo&&s<Oo)return r;let u=a>=s;switch(e){case Xe.CALCULATE:return u?n>=0?L.RIGHT:L.LEFT:o>=0?L.BOTTOM:L.TOP;case Xe.CALCULATE_HORIZONTAL:return a<Oo?r:n>=0?L.RIGHT:L.LEFT;case Xe.CALCULATE_VERTICAL:return s<Oo?r:o>=0?L.BOTTOM:L.TOP;case Xe.TOP:return L.TOP;case Xe.BOTTOM:return L.BOTTOM;case Xe.LEFT:return L.LEFT;case Xe.RIGHT:return L.RIGHT;default:return r}}_getBehaviorHandler(e){let n=R0[e];if(!n)throw new Error(`[Behavior] No handler for behavior: ${e}`);return n}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac})}return t})(),ht=class{sourceRect;targetRect;connection;sourceConnectableSide;targetConnectableSide;sourceRotationContext;targetRotationContext;constructor(i,e,n,o,r,a,s){this.sourceRect=i,this.targetRect=e,this.connection=n,this.sourceConnectableSide=o,this.targetConnectableSide=r,this.sourceRotationContext=a,this.targetRotationContext=s}};function Ll(t,i,e){return[t,...e??[],i]}function O0(t,i){let e=Math.abs(i.x-t.x)/2,n=i.x<t.x?i.x+e:i.x-e,o=Math.abs(i.y-t.y)/2,r=i.y<t.y?i.y+o:i.y-o;return{x:n,y:r}}function F0(t,i=32){let e=new Array(i+1);e[0]=se({},t[0]);for(let n=1;n<=i;n++)e[n]=$h(t[0],t[1],t[2],t[3],n/i);return e}function $h(t,i,e,n,o){let r=1-o,a=o*o,s=r*r,l=s*r,u=a*o;return{x:l*t.x+3*s*o*i.x+3*r*a*e.x+u*n.x,y:l*t.y+3*s*o*i.y+3*r*a*e.y+u*n.y}}function qh(t){return t.map(i=>$h(i.p0,i.c1,i.c2,i.p3,.5))}function A0(t){if(t.length<2)throw new Error("Polylines must be at least two points");let i=L0(t);return i<=0?[se({},t[0])]:[B0(t,i/2)]}function L0(t){let i=0;for(let e=0;e<t.length-1;e++)i+=Xh(t[e],t[e+1]);return i}function B0(t,i){let e=0;for(let o=0;o<t.length-1;o++){let r=t[o],a=t[o+1],s=Xh(r,a);if(!(s<=0)){if(e+s>=i){let l=(i-e)/s;return{x:r.x+(a.x-r.x)*l,y:r.y+(a.y-r.y)*l}}e+=s}}let n=t[t.length-1];return{x:n.x,y:n.y}}function Xh(t,i){return Math.hypot(i.x-t.x,i.y-t.y)}function z0(t){let i=[];for(let e of t)for(let n of e){let o=i[i.length-1];(!o||o.x!==n.x||o.y!==n.y)&&i.push(n)}return i}function Kh(t){if(!t.length)return"";let i=`M ${t[0].p0.x} ${t[0].p0.y}`;for(let e=0;e<t.length;e++){let n=t[e],o=e===t.length-1,r=o?n.p3.x+2e-4:n.p3.x,a=o?n.p3.y+2e-4:n.p3.y;i+=` C ${n.c1.x} ${n.c1.y}, ${n.c2.x} ${n.c2.y}, ${r} ${a}`}return i}function Yh(t,i=16){if(!t.length)return[];let e=[];for(let n=0;n<t.length;n++){let o=t[n],r=F0([o.p0,o.c1,o.c2,o.p3],i);n>0&&r.shift(),e.push(...r)}return e}function V0(t,i=1e-6){let e=t.length;if(e<=2)return t;let n=[];n.push(t[0]);for(let r=1;r<e;r++){let a=t[r],s=n[n.length-1];(Math.abs(a.x-s.x)>i||Math.abs(a.y-s.y)>i)&&n.push(a)}if(n.length<=2)return n;let o=[];o.push(n[0]);for(let r=1;r<n.length-1;r++){let a=o[o.length-1],s=n[r],l=n[r+1],u=Math.abs(a.x-s.x)<=i&&Math.abs(s.x-l.x)<=i,h=Math.abs(a.y-s.y)<=i&&Math.abs(s.y-l.y)<=i;!u&&!h&&o.push(s)}return o.push(n[n.length-1]),o}var of=class t{static _dir(i){switch(i){case L.LEFT:return{x:-1,y:0};case L.RIGHT:return{x:1,y:0};case L.TOP:return{x:0,y:-1};case L.BOTTOM:return{x:0,y:1};case L.AUTO:return{x:0,y:0}}return{x:0,y:0}}static _isHorizontal(i){return i===L.LEFT||i===L.RIGHT}static _handleLength(i,e,n,o){let r=Math.abs(e.x-i.x),a=Math.abs(e.y-i.y),s=Math.hypot(r,a),l=n===L.AUTO?Math.max(r,a):this._isHorizontal(n)?r:a,u=Math.max(8,o),h=o+.5*s,g=o*1.05+l*.3;return Math.min(h,Math.max(u,g))}static _softControl(i,e,n,o){let r=this._dir(i),a=n.x-e.x,s=n.y-e.y,l=Math.hypot(a,s)||1,u=a/l,h=s/l;if(i===L.AUTO)return{x:e.x+u*o,y:e.y+h*o};let g=r.x*u+r.y*h,C=.12,w=Math.max(0,-g)*.08,P=Math.min(.2,C+w),T=r.x*(1-P)+u*P,k=r.y*(1-P)+h*P,N=Math.hypot(T,k)||1;return{x:e.x+T/N*o,y:e.y+k/N*o}}handle({source:i,sourceSide:e,target:n,targetSide:o,offset:r,waypoints:a}){let s=Math.max(0,r??0),l=Ll(i,n,a),u=[];for(let g=0;g<l.length-1;g++){let C=l[g],w=l[g+1],P=t._handleLength(C,w,e,s),T=t._handleLength(w,C,o,s),k=t._softControl(e,C,w,P),N=t._softControl(o,w,C,T);u.push({p0:C,c1:k,c2:N,p3:w,chainIndex:g})}let h=Yh(u,12);return{path:Kh(u),secondPoint:u[0]?.c1??i,penultimatePoint:u[u.length-1]?.c2??n,points:h,candidates:qh(u)}}},rf=class{handle({source:i,sourceSide:e,target:n,targetSide:o,offset:r,waypoints:a}){let s=Ll(i,n,a),l=[];for(let h=0;h<s.length-1;h++){let g=s[h],C=s[h+1],w=_h(e,g,C,r??0),P=_h(o,C,g,r??0);l.push({p0:g,c1:w,c2:P,p3:C,chainIndex:h})}let u=Yh(l,12);return{path:Kh(l),secondPoint:l[0]?.c1??i,penultimatePoint:l[l.length-1]?.c2??n,points:u,candidates:qh(l)}}};function _h(t,i,e,n){let o={x:i.x,y:i.y};switch(t){case L.LEFT:o.x-=Fo(i.x-e.x,n);break;case L.RIGHT:o.x+=Fo(e.x-i.x,n);break;case L.TOP:o.y-=Fo(i.y-e.y,n);break;case L.BOTTOM:o.y+=Fo(e.y-i.y,n);break;case L.AUTO:break}return o}function Fo(t,i){return t>=i?t:i*Math.sqrt(i-t)}function H0(t){let{axis:i,source:e,target:n,sourceSide:o,targetSide:r,sourceGap:a,targetGap:s,sourceDir:l,targetDir:u,currentDir:h,offset:g,sourceGapOffset:C,targetGapOffset:w}=t,P=G0(a,s),T=j0(i,l,h,P);return o===r?U0(i,e,n,g,l,h,a,s,C,w):T=W0(i,l,u,a,s,P,T),T}function G0(t,i){return{sourceTarget:[{x:t.x,y:i.y}],targetSource:[{x:i.x,y:t.y}]}}function j0(t,i,e,n){return t==="x"?i.x===e?n.targetSource:n.sourceTarget:i.y===e?n.sourceTarget:n.targetSource}function U0(t,i,e,n,o,r,a,s,l,u){let h=Math.abs(i[t]-e[t]);if(h>n)return;let g=Math.min(n-1,n-h);g<=0||(o[t]===r?l[t]=(a[t]>i[t]?-1:1)*g:u[t]=(s[t]>e[t]?-1:1)*g)}function W0(t,i,e,n,o,r,a){let s=t==="x"?"y":"x",l=i[t]===e[s],u=n[s]>o[s],h=n[s]<o[s];return i[t]===1&&(!l&&u||l&&h)||i[t]!==1&&(!l&&h||l&&u)?t==="x"?r.sourceTarget:r.targetSource:a}var ui=1e-6,gh=2e-4,$0=.75;function q0(t,i){let e=t.length,n=[];n.push(`M ${t[0].x} ${t[0].y}`);for(let r=1;r<e-1;r++)n.push(X0(t[r-1],t[r],t[r+1],i));let o=t[e-1];return n.push(`L ${o.x+gh} ${o.y+gh}`),n.join(" ")}function X0(t,i,e,n){let o=i.x,r=i.y;if(n<=0)return`L ${o} ${r}`;let a=Math.abs(t.x-o)<=ui&&Math.abs(o-e.x)<=ui,s=Math.abs(t.y-r)<=ui&&Math.abs(r-e.y)<=ui;if(a||s)return`L ${o} ${r}`;let l=Math.hypot(o-t.x,r-t.y),u=Math.hypot(e.x-o,e.y-r),h=Math.min(l*.5,u*.5,n);if(h<$0)return`L ${o} ${r}`;if(Math.abs(t.y-r)<=ui){let k=t.x<e.x?-1:1,N=t.y<e.y?1:-1,O=o+h*k,V=r+h*N;return`L ${O} ${r} Q ${o} ${r} ${o} ${V}`}let C=t.x<e.x?1:-1,w=t.y<e.y?-1:1,P=r+h*w,T=o+h*C;return`L ${o} ${P} Q ${o} ${r} ${T} ${r}`}var yh={[L.LEFT]:A.initialize(-1,0),[L.RIGHT]:A.initialize(1,0),[L.TOP]:A.initialize(0,-1),[L.BOTTOM]:A.initialize(0,1),[L.AUTO]:A.initialize(0,0)},af=class{handle({source:i,sourceSide:e,target:n,targetSide:o,waypoints:r,offset:a,radius:s}){let l=Ll(i,n,r),u=[],h=[];for(let P=0;P<l.length-1;P++){let T=l[P],k=l[P+1],N=this._getPathPoints(T,e,k,o,a??0);u.push(N),h.push(...A0(N))}let g=V0(z0(u)),C=g.length>1?g[g.length-2]:i,w=g.length>1?g[1]:n;return{path:q0(g,s??0),penultimatePoint:C,secondPoint:w,points:g,candidates:h}}_getPathPoints(i,e,n,o,r){let a=yh[e],s=yh[o],l={x:i.x+a.x*r,y:i.y+a.y*r},u={x:n.x+s.x*r,y:n.y+s.y*r},h=this._getDirection(l,e,u),g=h.x!==0?"x":"y",C=h[g],w=[],P=A.initialize(),T=A.initialize(),k=O0(i,n);if(a[g]*s[g]===-1){let N=[{x:k.x,y:l.y},{x:k.x,y:u.y}],O=[{x:l.x,y:k.y},{x:u.x,y:k.y}];a[g]===C?w=g==="x"?N:O:w=g==="x"?O:N}else w=H0({axis:g,source:i,target:n,sourceSide:e,targetSide:o,sourceGap:l,targetGap:u,sourceDir:a,targetDir:s,currentDir:C,offset:r,sourceGapOffset:P,targetGapOffset:T});return[i,{x:l.x+P.x,y:l.y+P.y},...w,{x:u.x+T.x,y:u.y+T.y},n]}_getDirection(i,e,n){return e===L.LEFT||e===L.RIGHT?i.x<n.x?A.initialize(1,0):A.initialize(-1,0):i.y<n.y?A.initialize(0,1):A.initialize(0,-1)}},vh=2e-4,sf=class{handle(i){let e=Ll(i.source,i.target,i.waypoints),n=e.length,o=e[0],r=`M ${o.x} ${o.y}`,a=new Array(n-1);for(let s=0;s<n-1;s++){let l=e[s],u=e[s+1],h=s===n-2,g=h?u.x+vh:u.x,C=h?u.y+vh:u.y;r+=` L ${g} ${C}`,a[s]={x:(l.x+u.x)*.5,y:(l.y+u.y)*.5}}return{path:r,candidates:a,points:e,secondPoint:e[1]??i.target,penultimatePoint:e[n-2]??i.source}}},K0=new pe("F_CONNECTION_BUILDERS"),Zh=(()=>{class t{_builtinBuilders={[Pn.STRAIGHT]:new sf,[Pn.BEZIER]:new rf,[Pn.ADAPTIVE_CURVE]:new of,[Pn.SEGMENT]:new af};_providedBuilders;_builders;constructor(){this._providedBuilders=d(K0,{optional:!0})||{},this._builders=se(se({},this._builtinBuilders),this._providedBuilders)}handle({type:e,payload:n}){let o=this._builders[e];if(!o)throw this._createBuilderNotFoundError(e);return o.handle(n)}_createBuilderNotFoundError(e){let n=Object.keys(this._builtinBuilders).sort(),o=Object.keys(this._providedBuilders).sort(),r=Object.keys(this._builders).sort(),a=n.filter(l=>l in this._providedBuilders).sort(),s=[`Connection Builder Error: builder type "${e}" not found.`,`Registered types: ${r.length?r.join(", "):"(none)"}`,`Built-in types: ${n.length?n.join(", "):"(none)"}`,`Provided (F_CONNECTION_BUILDERS) types: ${o.length?o.join(", "):"(none)"}`,a.length?`Overridden built-ins: ${a.join(", ")}`:null,"Tip: ensure you pass a valid Connection Type or provide a builder via F_CONNECTION_BUILDERS."].filter(Boolean);return new Error(s.join(`
|
|
1
|
+
import{c as Nt}from"./chunk-RR36XBDS.js";import{a as ko,b as In,c as No,d as Ro,e as nh,f as ih,g as oh}from"./chunk-Z2667C3S.js";import{b as Hp,e as _o,f as Gp,j as We,k as Le,l as Yp,m as bo,n as wo,o as So,p as Zp,q as Qp,r as Jp,s as ku,t as ci,u as Sn,w as Io}from"./chunk-533YMAY3.js";import{c as vo,d as Co,f as eh,g as th}from"./chunk-AD7RBRD3.js";import{h as To,i as Eo,j as Po,m as Do,n as Mo}from"./chunk-VO6NF24F.js";import{$ as _t,$a as Kt,$b as Zt,Aa as _e,Ab as Bp,Ba as Ee,Bc as vn,Eb as rt,Fb as Ae,Gb as Z,Gc as Up,Hb as ge,Hc as Wp,Ib as oi,Ic as Cn,J as y,Jb as ri,Jc as go,K as ro,Ka as Y,Lc as $p,M as pe,N as _n,Na as S,O as d,Oa as I,Oc as qp,Pc as Xp,Qa as be,Qb as ai,R as Pp,Ra as ee,S as Pt,Sa as te,Sb as gt,T as G,Ta as E,Tb as D,U as j,Ua as f,V as Ze,Va as p,Vc as si,W as Dp,Wa as B,Wb as De,Wc as yo,X as Qe,Xa as U,Xb as F,Y as ao,Ya as $,Yb as Se,Z as je,Za as Dt,Zb as po,_a as Xt,_b as Du,aa as ni,ab as yn,bb as uo,bd as xn,cb as fo,cc as xe,cd as bn,da as W,db as ce,dc as qe,ea as ae,eb as Eu,fa as gn,fb as q,g as x,ga as ne,gd as wn,hb as m,hd as Kp,ia as we,ib as Yt,id as Mt,ja as so,jb as Pe,jd as Mu,ka as Mp,kb as Ap,la as Iu,mb as wt,mc as zp,md as xo,n as Tp,na as kp,nb as St,nd as kt,oa as c,ob as Pu,oc as Vp,pa as Np,pb as ut,pc as ho,qa as Rp,qb as it,qc as mo,ra as Op,sa as Tu,sb as ot,ta as co,tb as re,u as Ep,ub as Lp,vb as Ve,wa as J,wb as _,xa as lo,xb as v,ya as Ce,yb as Ue,za as Fp,zb as ii}from"./chunk-J3YWUNFO.js";import{V as jp}from"./chunk-H2J55DNK.js";import{a as se,b as ti}from"./chunk-Q7L6LLAK.js";var Qt=class{constructor(i,e,n,o,r){this.center=i,this.radiusX=e,this.radiusY=n,this.startAngle=o,this.endAngle=r}},A=class t{static castToPoint(i){return i||t.initialize()}static initialize(i=0,e=0){return{x:i,y:e}}static copy(i){return t.initialize(i.x,i.y)}static isEqual(i,e){return i.x===e.x&&i.y===e.y}static sum(i,e){return{x:i.x+e.x,y:i.y+e.y}}static sub(i,e){return{x:i.x-e.x,y:i.y-e.y}}static div(i,e){return{x:i.x/e,y:i.y/e}}static mult(i,e){return{x:i.x*e,y:i.y*e}}static interpolatePoints(i,e,n){let o=1-n;return t.initialize(i.x*o+e.x*n,i.y*o+e.y*n)}static roundTo(i,e){let n=Math.trunc(i.x/e),o=Math.trunc(i.y/e);return{x:n*e,y:o*e}}static hypotenuse(i,e){let n=e.x-i.x,o=e.y-i.y;return Math.abs(Math.sqrt(n*n+o*o))}static distance(i,e){let n=i.x-e.x,o=i.y-e.y;return Math.sqrt(n*n+o*o)}static getMinimum(i,e){return t.initialize(Math.min(i.x,e.x),Math.min(i.y,e.y))}static getMaximum(i,e){return t.initialize(Math.max(i.x,e.x),Math.max(i.y,e.y))}static matrixTransform(i,e){let n=t.initialize(i.x,i.y),o=e.getScreenCTM();if(o){let r=e.createSVGPoint();r.x=i.x,r.y=i.y,n=r.matrixTransform(o.inverse())}return n}static elementTransform(i,e){let n=t.initialize(i.x,i.y),o=e.getBoundingClientRect();return n=t.sub(n,t.initialize(o.left,o.top)),n}},K=class t{constructor(i=0,e=0){this.x=i,this.y=e}static fromPoint(i){return new t(i.x,i.y)}add(i){let e=A.sum(this,i);return t.fromPoint(e)}sub(i){let e=A.sub(this,i);return t.fromPoint(e)}subNumber(i){let e=A.sub(this,new t(i,i));return t.fromPoint(e)}div(i){let e=A.div(this,i);return t.fromPoint(e)}mult(i){let e=A.mult(this,i);return t.fromPoint(e)}matrixTransform(i){let e=A.matrixTransform(this,i);return t.fromPoint(e)}elementTransform(i){let e=A.elementTransform(this,i);return t.fromPoint(e)}},di=class{static initialize(i=A.initialize(),e=A.initialize()){return{point1:i,point2:e}}static copy(i){return{point1:i.point1,point2:i.point2}}static hypotenuse(i){return Math.sqrt(Math.pow(i.point1.x-i.point2.x,2)+Math.pow(i.point1.y-i.point2.y,2))}},Jt=class{constructor(i,e){this.point1=i,this.point2=e}},H=class t{static initialize(i=0,e=0,n=0,o=0){n<0&&(i=i+n,n=-n),o<0&&(e=e+o,o=-o);let r=A.initialize(i+n/2,e+o/2);return{x:i,y:e,width:n,height:o,gravityCenter:r}}static copy(i){return t.initialize(i.x,i.y,i.width,i.height)}static fromElement(i){let{x:e,y:n,width:o,height:r}=i.getBoundingClientRect();return t.initialize(e,n,o,r)}static isIncludePoint(i,e){return e.x>=t.left(i)&&e.x<=t.right(i)&&e.y>=t.top(i)&&e.y<=t.bottom(i)}static intersectionWithRect(i,e){return!(i.x+i.width<e.x||e.x+e.width<i.x||i.y+i.height<e.y||e.y+e.height<i.y)}static left(i){return i.x}static top(i){return i.y}static right(i){return i.x+i.width}static bottom(i){return i.y+i.height}static addPoint(i,e){let n=t.copy(i);return n.x+=e.x,n.y+=e.y,this.initialize(n.x,n.y,n.width,n.height)}static mult(i,e){let n=t.copy(i);return n.x*=e,n.y*=e,n.width*=e,n.height*=e,this.initialize(n.x,n.y,n.width,n.height)}static div(i,e){let n=t.copy(i);return n.x/=e,n.y/=e,n.width/=e,n.height/=e,this.initialize(n.x,n.y,n.width,n.height)}static addPointToSize(i,e){let n=t.copy(i);return n.width+=e.x,n.height+=e.y,this.initialize(n.x,n.y,n.width,n.height)}static union(i){return!i||i.length===0?null:i.reduce((e,n)=>{let o=Math.min(e.x,n.x),r=Math.min(e.y,n.y),a=Math.max(e.x+e.width,n.x+n.width),s=Math.max(e.y+e.height,n.y+n.height);return t.initialize(o,r,a-o,s-r)},i[0])}static elementTransform(i,e){let n=e.getBoundingClientRect(),o=A.sub(i,A.initialize(n.left,n.top));return t.initialize(o.x,o.y,i.width,i.height)}static updateIsNotFinite(i){return!Number.isFinite(i.width)||!Number.isFinite(i.height)||!Number.isFinite(i.x)||!Number.isFinite(i.y)?t.initialize(0,0,0,0):i}};function rh(t,i){let e=Math.max(t.width,i),n=Math.max(t.height,i),o=(e-t.width)/2,r=(n-t.height)/2;return H.initialize(t.x-o,t.y-r,e,n)}function Ru(t,i){t=H.updateIsNotFinite(t),i.setAttribute("x",t.x.toString()),i.setAttribute("y",t.y.toString()),i.setAttribute("width",t.width.toString()),i.setAttribute("height",t.height.toString())}function ah(t,i){t=H.updateIsNotFinite(t),i.setAttribute("viewBox",`${t.x} ${t.y} ${t.width} ${t.height}`)}var Me=class t{constructor(i=0,e=0,n=0,o=0,r=0,a=0,s=0,l=0){this.x=i,this.y=e,this.width=n,this.height=o,this.radius1=r,this.radius2=a,this.radius3=s,this.radius4=l,this.gravityCenter=A.initialize(),this.gravityCenter=this.calculateGravityCenter(this)}calculateGravityCenter(i){return new K(i.x+i.width/2,i.y+i.height/2)}static fromRect(i){return new t(i.x,i.y,i.width,i.height)}static fromRoundedRect(i){return new t(i.x,i.y,i.width,i.height,i.radius1,i.radius2,i.radius3,i.radius4)}static fromCenter(i,e,n){return new t(i.gravityCenter.x-e/2,i.gravityCenter.y-n/2,e,n,i.radius1,i.radius2,i.radius3,i.radius4)}static fromPoint(i){return new t(i.x,i.y)}addPoint(i){let e=t.fromRoundedRect(this);return e.x+=i.x,e.y+=i.y,e.gravityCenter=this.calculateGravityCenter(e),e}},ft=class t{static initialize(i=0,e=0){return{width:i,height:e}}static isEqual(i,e){return i.width===e.width&&i.height===e.height}static offsetFromElement(i){if(i instanceof SVGGraphicsElement){let e=i.getBBox();return t.initialize(e.width,e.height)}else if(i instanceof HTMLElement)return t.initialize(i.offsetWidth,i.offsetHeight)}};function fg(){return{position:A.initialize(),scaledPosition:A.initialize(),scale:1,rotate:0}}function pg(t){let i;if(t){t=t.replace("matrix(",""),t=t.replace(")","");let e=t.split(" ");i={position:{x:Number(e[4]),y:Number(e[5])},scaledPosition:A.initialize(),scale:Number(e[0]),rotate:0}}return i}var Rt=class{static toString(i){let e=A.sum(i.position,i.scaledPosition);return`matrix(${i.scale}, 0, 0, ${i.scale}, ${e.x}, ${e.y})`}static fromString(i){return pg(i)}static default(){return fg()}},Je=class t{static initialize(i=0,e=0){return A.initialize(i,e)}static fromPoints(i,e){return t.initialize(e.x-i.x,e.y-i.y)}static vectorLength(i){return Math.sqrt(t.magnitudeSquared(i))}static magnitudeSquared(i){return i.x*i.x+i.y*i.y}static dotProduct(i,e){return i.x*e.x+i.y*e.y}static crossProduct(i,e){return i.x*e.y-i.y*e.x}static subtract(i,e){return t.initialize(i.x-e.x,i.y-e.y)}static add(i,e){return t.initialize(i.x+e.x,i.y+e.y)}static scale(i,e){return t.initialize(i.x*e,i.y*e)}static angle(i,e){let n=Math.acos(Math.max(-1,Math.min(t.dotProduct(i,e)/(t.vectorLength(i)*t.vectorLength(e)),1)));return t.crossProduct(i,e)<0?-n:n}},Nu=class{static parseRoundedRect(i){let e=Math.PI*.5,n=i.x,o=i.y,r=i.x+i.width,a=i.y+i.height,s=i.x+i.radius1,l=i.y+i.radius1,u=i.x+i.width-i.radius2,h=i.y+i.radius2,g=i.x+i.width-i.radius3,C=i.y+i.height-i.radius3,w=i.x+i.radius4,P=i.y+i.height-i.radius4;return[new Qt({x:s,y:l},i.radius1,i.radius1,2*e,3*e),new Jt({x:s,y:o},{x:u,y:o}),new Qt({x:u,y:h},i.radius2,i.radius2,3*e,4*e),new Jt({x:r,y:h},{x:r,y:C}),new Qt({x:g,y:C},i.radius3,i.radius3,0,e),new Jt({x:g,y:a},{x:w,y:a}),new Qt({x:w,y:P},i.radius4,i.radius4,e,2*e),new Jt({x:n,y:P},{x:n,y:l})]}},Tn=class{static getRoundedRectIntersections(i,e,n){let o=Nu.parseRoundedRect(n);for(let r of o)if(r instanceof Qt){let a=this.intersectArcWithLine(r,i,e);if(a.length>0)return a}else if(r instanceof Jt){let a=this.intersectLineSegments(i,e,r.point1,r.point2);if(a)return[a]}return[]}static getRoundedRectIntersectionsWithSVGPath(i,e){let n=i.getTotalLength(),o=[];for(let r=0;r<=n;r+=1){let a=i.getPointAtLength(r);o.push({x:a.x,y:a.y})}for(let r=1;r<o.length;r++){let a=this.getRoundedRectIntersections(o[r-1],o[r],e);if(a.length>0)return a}return[]}static intersectArcWithLine(i,e,n){return this.filterPointsWithinArc(this.findEllipseLineIntersections(i.center,i.radiusX,i.radiusY,e,n),i)}static intersectLineSegments(i,e,n,o){let r=e.x-i.x,a=e.y-i.y,s=o.x-n.x,l=o.y-n.y,u=(-a*(i.x-n.x)+r*(i.y-n.y))/(-s*a+r*l),h=(s*(i.y-n.y)-l*(i.x-n.x))/(-s*a+r*l);return u>=0&&u<=1&&h>=0&&h<=1?{x:i.x+h*r,y:i.y+h*a}:null}static filterPointsWithinArc(i,e){let{center:n,startAngle:o,endAngle:r}=e;if(i.length===0)return i;r<o&&([o,r]=[r,o]),(o<0||r<0)&&(o+=2*Math.PI,r+=2*Math.PI);let a=[];for(let s of i){let l=this.normalizeAngle(Je.angle(Je.initialize(1,0),Je.initialize(s.x-n.x,s.y-n.y)));l<o&&(l+=2*Math.PI),o<=l&&l<=r&&a.push(s)}return a}static normalizeAngle(i){let e=i%(2*Math.PI);return e<0?e+2*Math.PI:e}static findEllipseLineIntersections(i,e,n,o,r){let a=Je.initialize(o.x,o.y),s=Je.fromPoints(o,r),l=Je.initialize(i.x,i.y),u=Je.subtract(a,l),h=Je.initialize(s.x/(e*e),s.y/(n*n)),g=Je.initialize(u.x/(e*e),u.y/(n*n)),C=Je.dotProduct(s,h),w=Je.dotProduct(s,g),P=Je.dotProduct(u,g)-1,T=w*w-C*P;return T<0?[]:this.calculateIntersectionPoints(T,C,w,o,r)}static calculateIntersectionPoints(i,e,n,o,r){let a=[];if(i>0){let s=Math.sqrt(i),l=(-n-s)/e,u=(-n+s)/e;l>=0&&l<=1&&a.push(A.interpolatePoints(o,r,l)),u>=0&&u<=1&&a.push(A.interpolatePoints(o,r,u))}else{let s=-n/e;s>=0&&s<=1&&a.push(A.interpolatePoints(o,r,s))}return a}};var Ou=class{handle(i,e){let n=!0;if(this.validator&&(n=e.get(this.validator).handle(i)),!!n)return e.get(this.execution).handle(i)}execute(i,e){return e.get(this.execution).handle(i)}setValidator(i){this.validator=i}setExecution(i){this.execution=i}},R=class t{constructor(){this._injector=d(Qe)}static registerPipeline(i,e,n){if(!i||!i.fToken)throw new Error("Type must have a fToken static property.");let o=this.pipelines.get(i.fToken)||new Ou;n?o.setValidator(e):o.setExecution(e),this.pipelines.set(i.fToken,o)}send(i){let e=t.pipelines.get(i.constructor.fToken);if(e)return e.handle(i,this._injector);throw new Error("Handler not registered for request type.")}execute(i){return t.pipelines.get(i.constructor.fToken).execute(i,this._injector)}};R.pipelines=new Map;R.\u0275fac=function(i){return new(i||R)};R.\u0275prov=y({token:R,factory:R.\u0275fac});function b(t){return function(i){R.registerPipeline(t,i,!1)}}var hg=(()=>{class t{setItem(e,n){localStorage.setItem(e,n)}getItem(e){return localStorage.getItem(e)}removeItem(e){localStorage.removeItem(e)}clear(){localStorage.clear()}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),mg=(()=>{class t{storage={};setItem(e,n){this.storage[e]=n}getItem(e){return this.storage[e]||null}removeItem(e){delete this.storage[e]}clear(){this.storage={}}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),_g=new pe("F_LOCAL_STORAGE",{providedIn:"root",factory:()=>mo(d(so))?d(hg):d(mg)}),gg=(()=>{class t{getComputedStyle(e){return window.getComputedStyle(e)}get innerWidth(){return window.innerWidth}get innerHeight(){return window.innerHeight}get pageXOffset(){return window.pageXOffset}get pageYOffset(){return window.pageYOffset}isMediaQuery(e){return window.matchMedia(e).matches}requestAnimationFrame(e){return window.requestAnimationFrame(e)}get location(){return window.location}open(e,n,o){window.open(e,n,o)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),yg=(()=>{class t{getComputedStyle(e){return new Proxy({getPropertyValue:n=>"0"},{get:(n,o)=>o==="getPropertyValue"?n.getPropertyValue:"0"})}get innerWidth(){return 0}get innerHeight(){return 0}get pageXOffset(){return 0}get pageYOffset(){return 0}isMediaQuery(e){return!1}requestAnimationFrame(e){return setTimeout(e,0)}get location(){return{href:"",pathname:"",search:"",hash:"",origin:""}}open(e,n,o){}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),vg=new pe("F_WINDOW",{providedIn:"root",factory:()=>mo(d(so))?d(gg):d(yg)}),Ot=(function(t){return t.MAC_OS="macos",t.IOS="ios",t.WINDOWS="windows",t.ANDROID="android",t.LINUX="linux",t})(Ot||{}),Fu;try{Fu=typeof Intl<"u"&&Intl.v8BreakIterator}catch{Fu=!1}var Au=(()=>{class t{_platformId;isBrowser=!1;EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent);TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent);BLINK=this.isBrowser&&!!(window.chrome||Fu)&&typeof CSS<"u"&&!this.EDGE&&!this.TRIDENT;WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT;IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!("MSStream"in window);FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent);ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT;SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT;constructor(e){this._platformId=e,this.isBrowser=this._platformId?mo(this._platformId):typeof document=="object"&&!!document}getOS(){let e=navigator.userAgent.toLowerCase(),n=/(macintosh|macintel|macppc|mac68k|macos)/i,o=/(win32|win64|windows|wince)/i,r;return n.test(e)?r=Ot.MAC_OS:this.IOS?r=Ot.IOS:o.test(e)?r=Ot.WINDOWS:this.ANDROID?r=Ot.ANDROID:!r&&/linux/.test(e)&&(r=Ot.LINUX),r}static \u0275fac=function(n){return new(n||t)(_n(so))};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})(),ke=(()=>{class t{injectedDocument;windowService;localStorageService;platformService;constructor(e,n,o,r){this.injectedDocument=e,this.windowService=n,this.localStorageService=o,this.platformService=r}isBrowser(){return this.platformService.isBrowser}get window(){return this.windowService}get localStorage(){return this.localStorageService}get document(){return this.injectedDocument}toPixels(e,n,o,r){if(e.endsWith("px"))return parseFloat(e);if(e.endsWith("%")){let a=parseFloat(e)/100;return Math.max(n,o)*a}else{if(e.endsWith("em"))return parseFloat(e)*parseFloat(r);if(e.endsWith("rem"))return parseFloat(e)*parseFloat(getComputedStyle(this.document.documentElement).fontSize);if(e.endsWith("vh")){let a=this.window.innerHeight/100;return parseFloat(e)*a}else if(e.endsWith("vw")){let a=this.window.innerWidth/100;return parseFloat(e)*a}}return parseFloat(e)||0}static \u0275fac=function(n){return new(n||t)(_n(ao),_n(vg),_n(_g),_n(Au))};static \u0275prov=y({token:t,factory:t.\u0275fac,providedIn:"root"})}return t})();function Lu(t,i){return t.reduce((e,n)=>[...e,...i(n)],[])}function Bu(t){let i=t.cloneNode(!0),e=i.querySelectorAll("[id]"),n=t.nodeName.toLowerCase();i.removeAttribute("id");for(let o=0;o<e.length;o++)e[o].removeAttribute("id");return n==="canvas"?dh(t,i):(n==="input"||n==="select"||n==="textarea")&&ch(t,i),sh("canvas",t,i,dh),sh("input, textarea, select",t,i,ch),i}function sh(t,i,e,n){let o=i.querySelectorAll(t);if(o.length){let r=e.querySelectorAll(t);for(let a=0;a<o.length;a++)n(o[a],r[a])}}var Cg=0;function ch(t,i){i.type!=="file"&&(i.value=t.value),i.type==="radio"&&i.name&&(i.name=`mat-clone-${i.name}-${Cg++}`)}function dh(t,i){let e=i.getContext("2d");if(e)try{e.drawImage(t,0,0)}catch{}}function zu(t,i,e){for(let n in i)if(i.hasOwnProperty(n)){let o=i[n];o?t.setProperty(n,o,e?.has(n)?"important":""):t.removeProperty(n)}return t}function lh(t){zu(t.style,{"touch-action":"none","-webkit-user-drag":"none","-webkit-tap-highlight-color":"transparent","user-select":"none","-ms-user-select":"none","-webkit-user-select":"none","-moz-user-select":"none"})}function uh(t,i,e){return xg(t,e).dataset[i]}function xg(t,i){return t.closest(i)}function Vu(t,i){let e=t.rootNodes;if(e.length===1&&e[0].nodeType===i.ELEMENT_NODE)return e[0];let n=i.createElement("div");return e.forEach(o=>n.appendChild(o)),n}function li(t,i){let e=bg(t,i);return!!e&&!e.classList.contains(i+"-disabled")}function bg(t,i){return t.closest(i)}function It(t){return t.match(/^[a-zA-Z_]/)||(t="_"+t),t.replace(/[^a-zA-Z0-9_\-:.]/g,"_")}function En(t,i,e){let n=e[t.toUpperCase()]||wg(e,t.toLowerCase());if(n===void 0)throw new Error(`Unknown ${i}: ${t}. Accepted values: ${Object.keys(e).join(", ")}`);return n}function wg(t,i){return Object.keys(t).find(e=>t[e]===i)}var Sg=["markerElement"],Ig=["fConnectionGradientRenderer",""],Tg=["f-connection-path",""],Eg=["fConnectionSelection",""],Pg=["f-connection-drag-handle-start",""],Dg=["f-connection-drag-handle-end",""],Mg=["defs"],kg=["*"],Ng=["fGroupsContainer"],Rg=["fNodesContainer"],Og=["fConnectionsContainer"],Fg=[[["","fGroup",""],["","fGroups",""]],[["f-snap-connection"]],[["f-connection"],["","fConnections",""]],[["f-connection-for-create"]],[["","fNode",""],["","fNodes",""]]],Ag=["[fGroup], [fGroups]","f-snap-connection","f-connection, [fConnections]","f-connection-for-create","[fNode], [fNodes]"],Lg=[[["svg","fMarker",""]],[["f-connection-marker-circle"],["f-connection-marker-arrow"]],[["f-connection-gradient"]],[["f-connection-waypoints"]],[["","fConnectionContent",""]]],Bg=["svg[fMarker]","f-connection-marker-circle, f-connection-marker-arrow","f-connection-gradient","f-connection-waypoints","[fConnectionContent]"];function zg(t,i){t&1&&(Ze(),B(0,"linearGradient",3)),t&2&&E("fConnectionGradientRendererFor",i)}function Vg(t,i){t&1&&(Ze(),B(0,"circle",6))}function Hg(t,i){t&1&&Pe(0,4)}var Gg="[_nghost-%COMP%]{display:block;position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none}",jg=[[["","fDefinitions",""]],[["f-background"]],[["f-line-alignment"]],[["f-canvas"]],[["f-selection-area"]],"*"],Ug=["[fDefinitions]","f-background","f-line-alignment","f-canvas","f-selection-area","*"],Wu=new pe("F_BACKGROUND_PATTERN"),rc=class{fPattern;static fToken=Symbol("AddPatternToBackgroundRequest");constructor(i){this.fPattern=i}},Nn=class{_items=[];_byId=new Map;get(i){return this._byId.get(i)}require(i){let e=this._byId.get(i);if(!e)throw new Error(`${this.kind} not found: ${i}`);return e}has(i){return this._byId.has(i)}getAll(){return this._items}size(){return this._items.length}add(i){let e=i.fId();if(this._byId.has(e))throw new Error(`${this.kind} already exists: ${e}`);this._items.push(i),this._byId.set(e,i)}addMany(i){for(let e of i)this.add(e)}remove(i){let e=i.fId(),n=this._byId.get(e);if(!n)return!1;this._byId.delete(e);let o=this._items.indexOf(n);return o>=0&&this._items.splice(o,1),!0}removeById(i){let e=this._byId.get(i);if(!e)return;this._byId.delete(i);let n=this._items.indexOf(e);return n>=0&&this._items.splice(n,1),e}clear(){this._items.length=0,this._byId.clear()}};function en(t){return{name:t}}var $u=class{_instances=new Map;get(i){return this._instances.get(i.name)}require(i){let e=this.get(i);if(!e)throw new Error(`Instance not found: ${i.name}`);return e}has(i){return this._instances.has(i.name)}add(i,e){if(this._instances.has(i.name))throw new Error(`${i.name} already exists`);this._instances.set(i.name,e)}remove(i){if(!this._instances.has(i.name))throw new Error(`${i.name} does not exist`);return this._instances.delete(i.name),!0}clear(){this._instances.clear()}},pi=class extends Nn{kind;constructor(i){super(),this.kind=i}},qu=class extends Nn{kind="Connection Marker"},Xu=class extends Nn{kind="Connection";_instancesForCreate;_instancesForSnap;getForSnap(){return this._instancesForSnap}getForCreate(){return this._instancesForCreate}addForCreate(i){this._instancesForCreate=i}addForSnap(i){this._instancesForSnap=i}removeInstanceForCreate(){this._instancesForCreate=void 0}removeInstanceForSnap(){this._instancesForSnap=void 0}},Ku=class extends Nn{kind="Node"},Dn=class{notifyOnSubscribe;static fToken=Symbol("ListenConnectionsChangesRequest");constructor(i=!0){this.notifyOnSubscribe=i}};function Wg(){return t=>{let i=null,e=null,n=()=>{i!==null&&cancelAnimationFrame(i),e!==null&&cancelAnimationFrame(e),i=e=null};return{callback:()=>{n(),i=requestAnimationFrame(()=>{i=null,e=requestAnimationFrame(()=>{e=null,t()})})},cleanup:n}}}function $g(){return t=>{let i=null;return{callback:()=>{i!==null&&cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=null,t()})},cleanup:()=>{i!==null&&cancelAnimationFrame(i),i=null}}}}function ac(t){return i=>{let e=null;return{callback:()=>{e!==null&&clearTimeout(e),e=setTimeout(()=>{e=null,i()},t)},cleanup:()=>{e!==null&&clearTimeout(e),e=null}}}}var ct=class{_listeners=new Set;notify(){this._listeners.forEach(i=>i())}listen(i){return this._listeners.add(i),()=>this.stop(i)}stop(i){this._listeners.delete(i)}},Yu=class extends ct{_htmlElement;_observer=new ResizeObserver(()=>this.notify());_isObserving=!1;constructor(i){super(),this._htmlElement=i}listen(i){return this._isObserving||(this._observer.observe(this._htmlElement),this._isObserving=!0),super.listen(i)}stop(i){super.stop(i),this._listeners.size===0&&this._disconnect()}_disconnect(){this._observer.unobserve(this._htmlElement),this._observer.disconnect(),this._isObserving=!1}},vt=class t{_channels=[];_operators=[];constructor(...i){this._channels=[...i]}pipe(...i){let e=new t(...this._channels);return e._operators=[...this._operators,...i],e}listen(i,e){let n=e,o=[],r=[],a=[];for(let g of[...this._operators].reverse()){let C=g(n);n=C.callback,C.cleanup&&o.push(C.cleanup),C.onSubscribe&&r.push(C.onSubscribe),C.setTeardown&&a.push(C.setTeardown)}let s=this._channels.map(g=>g.listen(()=>n())),l=null,u=!1,h=()=>{u||(u=!0,l?.(),l=null,s.forEach(g=>g()),o.forEach(g=>g()))};a.slice().reverse().forEach(g=>g(h)),r.slice().reverse().forEach(g=>g(n)),l=i.onDestroy(h)}};function Fl(){return t=>{let i=!0;return{callback:t,onSubscribe:e=>{queueMicrotask(()=>{i&&e()})},cleanup:()=>{i=!1}}}}function fh(){return t=>{let i=!1,e=null;return{setTeardown:n=>e=n,callback:()=>{if(!i){i=!0;try{t()}finally{e?.()}}}}}}var qg=(()=>{let t=class Ao{_store=d(M);handle({notifyOnSubscribe:e}){return e?new vt(this._store.connectionsChanges$).pipe(Fl(),ac(1)):new vt(this._store.connectionsChanges$).pipe(ac(1))}static \u0275fac=function(n){return new(n||Ao)};static \u0275prov=y({token:Ao,factory:Ao.\u0275fac})};return t=x([b(Dn)],t),t})(),Zu=class{static fToken=Symbol("ListenNodesChangesRequest")},Xg=(()=>{let t=class Lo{_store=d(M);handle(e){return new vt(this._store.nodesChanges$)}static \u0275fac=function(n){return new(n||Lo)};static \u0275prov=y({token:Lo,factory:Lo.\u0275fac})};return t=x([b(Zu)],t),t})(),sc=class{static fToken=Symbol("ListenTransformChangesRequest")},Kg=(()=>{let t=class Bo{_store=d(M);handle(e){return new vt(this._store.transformChanges$,this._store.connectionsChanges$,this._store.nodesChanges$)}static \u0275fac=function(n){return new(n||Bo)};static \u0275prov=y({token:Bo,factory:Bo.\u0275fac})};return t=x([b(sc)],t),t})(),tn=class{static fToken=Symbol("EmitConnectionsChangesRequest")},Yg=(()=>{let t=class zo{_store=d(M);handle(e){this._store.emitConnectionChanges()}static \u0275fac=function(n){return new(n||zo)};static \u0275prov=y({token:zo,factory:zo.\u0275fac})};return t=x([b(tn)],t),t})(),Lt=class{static fToken=Symbol("NotifyTransformChangedRequest")},M=(()=>{class t{transformChanges$=new ct;viewportAnimationChanges$=new ct;connectionsChanges$=new ct;_connectionsRevision=0;connectionsRenderedChanges$=new ct;_connectionsRenderedRevision=0;_connectionsRenderedNodesRevision=0;_viewportAnimationCount=0;nodesChanges$=new ct;_nodesRevision=0;progressiveRenderChanges$=new ct;_pendingProgressiveRenderCount=0;get connectionsRevision(){return this._connectionsRevision}get connectionsRenderedRevision(){return this._connectionsRenderedRevision}get connectionsRenderedNodesRevision(){return this._connectionsRenderedNodesRevision}get nodesRevision(){return this._nodesRevision}get hasPendingProgressiveRender(){return this._pendingProgressiveRenderCount>0}get isViewportAnimating(){return this._viewportAnimationCount>0}get flowHost(){return this.fFlow?.hostElement}fFlow;fCanvas;get transform(){return this.fCanvas?.transform}nodes=new Ku;connections=new Xu;connectionMarkers=new qu;outputs=new pi("Output");inputs=new pi("Input");outlets=new pi("Outlet");instances=new $u;fDraggable;emitNodeChanges(){this._nodesRevision++,this.nodesChanges$.notify()}emitConnectionChanges(){this._connectionsRevision++,this.connectionsChanges$.notify()}completeConnectionsRender(e,n){e<this._connectionsRenderedRevision||e===this._connectionsRenderedRevision&&n<=this._connectionsRenderedNodesRevision||(this._connectionsRenderedRevision=Math.min(e,this._connectionsRevision),this._connectionsRenderedNodesRevision=n,this.connectionsRenderedChanges$.notify())}beginProgressiveRender(){this._pendingProgressiveRenderCount++,this.progressiveRenderChanges$.notify()}endProgressiveRender(){this._pendingProgressiveRenderCount&&(this._pendingProgressiveRenderCount--,this.progressiveRenderChanges$.notify())}transformChanged(){this.transformChanges$.notify()}beginViewportAnimation(){this._viewportAnimationCount++,this.viewportAnimationChanges$.notify()}endViewportAnimation(){this._viewportAnimationCount&&(this._viewportAnimationCount--,this.viewportAnimationChanges$.notify())}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac})}return t})(),ye={MAGNETIC_LINES:en("magnetic-lines"),MAGNETIC_RECTS:en("magnetic-rects"),ZOOM:en("zoom-controls"),BACKGROUND:en("background"),SELECTION_AREA:en("selection-area"),MINIMAP:en("minimap"),AUTO_PAN:en("auto-pan")},Zg=(()=>{let t=class Vo{_store=d(M);handle(e){this._store.transformChanged()}static \u0275fac=function(n){return new(n||Vo)};static \u0275prov=y({token:Vo,factory:Vo.\u0275fac})};return t=x([b(Lt)],t),t})(),Bt=class{key;instance;static fToken=Symbol("RegisterPluginInstanceRequest");constructor(i,e){this.key=i,this.instance=e}},Qg=(()=>{let t=class Ho{_store=d(M);handle({key:e,instance:n}){this._store.instances.add(e,n)}static \u0275fac=function(n){return new(n||Ho)};static \u0275prov=y({token:Ho,factory:Ho.\u0275fac})};return t=x([b(Bt)],t),t})(),zt=class{key;static fToken=Symbol("RemovePluginInstanceRequest");constructor(i){this.key=i}},Jg=(()=>{let t=class Go{_store=d(M);handle({key:e}){this._store.instances.remove(e)}static \u0275fac=function(n){return new(n||Go)};static \u0275prov=y({token:Go,factory:Go.\u0275fac})};return t=x([b(zt)],t),t})(),e0=[M,Xg,qg,Kg,Yg,Zg,Qg,Jg],t0=0,n0=(()=>{let t=class jo{_store=d(M);_browser=d(ke);get _backgroundElement(){return this._store.instances.get(ye.BACKGROUND)?.hostElement}handle(e){let n=this._getPatterns(e.fPattern?.hostElement);if(!n?.length)return;let o=kn("defs",this._browser);if(e.fPattern?.hostElement.remove(),n.forEach(r=>{o.append(r)}),n.length){this._backgroundElement?.firstChild?.appendChild(o),n[n.length-1].id="f-background-pattern-"+t0++;let r=n[n.length-1].id,a=kn("rect",this._browser);a.setAttribute("fill","url(#"+r+")"),a.setAttribute("width","100%"),a.setAttribute("height","100%"),this._backgroundElement?.firstChild?.appendChild(a);let s=this._store.fCanvas?.transform||Rt.default();e.fPattern?.setTransform(s)}}_getPatterns(e){return Array.from(e?.getElementsByTagName("pattern")||[])}static \u0275fac=function(n){return new(n||jo)};static \u0275prov=y({token:jo,factory:jo.\u0275fac})};return t=x([b(rc)],t),t})(),hi=class{fTransform;static fToken=Symbol("SetBackgroundTransformRequest");constructor(i){this.fTransform=i}},i0=(()=>{let t=class Uo{_store=d(M);handle(e){this._store.instances.get(ye.BACKGROUND)?.setTransform(e.fTransform)}static \u0275fac=function(n){return new(n||Uo)};static \u0275prov=y({token:Uo,factory:Uo.\u0275fac})};return t=x([b(hi)],t),t})(),o0=[n0,i0],cc=class{instance;static fToken=Symbol("AddCanvasToStoreRequest");constructor(i){this.instance=i}},r0=(()=>{let t=class Wo{_store=d(M);handle({instance:e}){this._store.fCanvas=e}static \u0275fac=function(n){return new(n||Wo)};static \u0275prov=y({token:Wo,factory:Wo.\u0275fac})};return t=x([b(cc)],t),t})(),dc=class{id;animated;static fToken=Symbol("CenterGroupOrNodeRequest");constructor(i,e){this.id=i,this.animated=e}},a0=(()=>{let t=class $o{_store=d(M);_mediator=d(R);get _transform(){return this._store.transform}handle({id:e,animated:n}){let o=this._store.nodes.get(e);o&&(this._toCenter(this._getNodeRect(o),this._getFlowRect(),o._position),this._mediator.execute(new Rn(n,nn.VIEWPORT_ONLY)))}_toCenter(e,n,o){this._transform.scaledPosition=A.initialize(),this._transform.position=A.initialize((n.width-e.width)/2-o.x*this._transform.scale,(n.height-e.height)/2-o.y*this._transform.scale)}_getNodeRect(e){return H.fromElement(e.hostElement)}_getFlowRect(){return H.fromElement(this._store.flowHost)}static \u0275fac=function(n){return new(n||$o)};static \u0275prov=y({token:$o,factory:$o.\u0275fac})};return t=x([b(dc)],t),t})(),lc=class{toCenter;animated;static fToken=Symbol("FitToFlowRequest");constructor(i,e){this.toCenter=i,this.animated=e}},s0=(()=>{let t=class qo{_store=d(M);get _transform(){return this._store.transform}_mediator=d(R);handle({toCenter:e,animated:n}){let o=this._mediator.execute(new Vn)||H.initialize();o.width===0||o.height===0||(this.fitToParent(o,H.fromElement(this._store.flowHost),this._store.nodes.getAll().map(r=>r._position),e),this._mediator.execute(new Rn(n,nn.VIEWPORT_ONLY)))}fitToParent(e,n,o,r){this._transform.scaledPosition=A.initialize(),this._transform.position=this._getZeroPositionWithoutScale(o);let a=e.width/this._transform.scale+r.x,s=e.height/this._transform.scale+r.y;(a>n.width||s>n.height||a<n.width&&s<n.height)&&(this._transform.scale=Math.min(n.width/a,n.height/s));let l=(n.width-a*this._transform.scale)/2-this._transform.position.x*this._transform.scale,u=(n.height-s*this._transform.scale)/2-this._transform.position.y*this._transform.scale;this._transform.position=A.initialize(l+r.x/2*this._transform.scale,u+r.y/2*this._transform.scale)}_getZeroPositionWithoutScale(e){let n=e.length?Math.min(...e.map(r=>r.x)):0,o=e.length?Math.min(...e.map(r=>r.y)):0;return A.initialize(n,o)}static \u0275fac=function(n){return new(n||qo)};static \u0275prov=y({token:qo,factory:qo.\u0275fac})};return t=x([b(lc)],t),t})(),uc=class{transform;position;static fToken=Symbol("InputCanvasPositionRequest");constructor(i,e){this.transform=i,this.position=e}},c0=(()=>{let t=class Xo{_store=d(M);handle({transform:e,position:n}){n&&(A.isEqual(this._calculateTransformPosition(e),n)||(e.position=n,e.scaledPosition=A.initialize(),this._store.fCanvas?.redraw()))}_calculateTransformPosition(e){return A.sum(e.position,e.scaledPosition)}static \u0275fac=function(n){return new(n||Xo)};static \u0275prov=y({token:Xo,factory:Xo.\u0275fac})};return t=x([b(uc)],t),t})(),fc=class{transform;scale;static fToken=Symbol("InputCanvasScaleRequest");constructor(i,e){this.transform=i,this.scale=e}},d0=(()=>{let t=class Ko{_store=d(M);handle(e){!e.scale&&e.scale!==0||(e.transform.scale=e.scale,this._store.fCanvas?.redraw())}static \u0275fac=function(n){return new(n||Ko)};static \u0275prov=y({token:Ko,factory:Ko.\u0275fac})};return t=x([b(fc)],t),t})(),nn=(function(t){return t.VIEWPORT_ONLY="VIEWPORT_ONLY",t.WITH_CONNECTION_CHANGES="WITH_CONNECTION_CHANGES",t})(nn||{}),Rn=class{animated;context;static fToken=Symbol("RedrawCanvasWithAnimationRequest");constructor(i,e=nn.WITH_CONNECTION_CHANGES){this.animated=i,this.context=e}};function zh(t,i){let e=n=>{n.propertyName==="transform"&&(t.removeEventListener("transitionend",e),i(n))};t.addEventListener("transitionend",e)}var l0=(()=>{let t=class Yo{_store=d(M);get _canvas(){return this._store.fCanvas}handle(e){e.animated?this._redrawWithAnimation(e.context):this._redraw(e.context),this._canvas?.emitCanvasChangeEvent()}_redrawWithAnimation(e){this._store.beginViewportAnimation(),this._canvas?.redrawWithAnimation(),zh(this._canvas.hostElement,()=>{this._store.endViewportAnimation(),e===nn.WITH_CONNECTION_CHANGES&&this._store.emitConnectionChanges()})}_redraw(e){this._canvas?.redraw(),e===nn.WITH_CONNECTION_CHANGES&&this._store.emitConnectionChanges()}static \u0275fac=function(n){return new(n||Yo)};static \u0275prov=y({token:Yo,factory:Yo.\u0275fac})};return t=x([b(Rn)],t),t})(),pc=class{static fToken=Symbol("RemoveCanvasFromStoreRequest")},u0=(()=>{let t=class Zo{_store=d(M);handle(e){this._store.fCanvas=void 0}static \u0275fac=function(n){return new(n||Zo)};static \u0275prov=y({token:Zo,factory:Zo.\u0275fac})};return t=x([b(pc)],t),t})(),hc=class{static fToken=Symbol("ResetScaleRequest")},f0=(()=>{let t=class Qo{_store=d(M);get _transform(){return this._store.transform}handle(e){this._transform.scale=1,this._transform.scaledPosition=A.initialize()}static \u0275fac=function(n){return new(n||Qo)};static \u0275prov=y({token:Qo,factory:Qo.\u0275fac})};return t=x([b(hc)],t),t})(),mc=class{animated;static fToken=Symbol("ResetScaleAndCenterRequest");constructor(i){this.animated=i}},p0=(()=>{let t=class Jo{_mediator=d(R);_store=d(M);get _transform(){return this._store.transform}handle({animated:e}){let n=this._mediator.execute(new Vn)||H.initialize();n.width===0||n.height===0||(this._oneToOneCentering(n,H.fromElement(this._store.flowHost),this._store.nodes.getAll().map(o=>o._position)),this._mediator.execute(new Rn(e,nn.VIEWPORT_ONLY)))}_oneToOneCentering(e,n,o){this._transform.scaledPosition=A.initialize(),this._transform.position=this._getZeroPositionWithoutScale(o);let r=(n.width-e.width/this._transform.scale)/2-this._transform.position.x,a=(n.height-e.height/this._transform.scale)/2-this._transform.position.y;this._transform.scale=1,this._transform.position=A.initialize(r,a)}_getZeroPositionWithoutScale(e){let n=e.length?Math.min(...e.map(r=>r.x)):0,o=e.length?Math.min(...e.map(r=>r.y)):0;return A.initialize(n,o)}static \u0275fac=function(n){return new(n||Jo)};static \u0275prov=y({token:Jo,factory:Jo.\u0275fac})};return t=x([b(mc)],t),t})(),_c=class{scale;toPosition;static fToken=Symbol("UpdateScaleRequest");constructor(i,e){this.scale=i,this.toPosition=e}},h0=(()=>{let t=class er{_store=d(M);get _transform(){return this._store.transform}handle({scale:e,toPosition:n}){if(e===this._transform.scale)return;let o=A.sum(this._transform.scaledPosition,this._transform.position),r=n.x-(n.x-o.x)*e/this._transform.scale,a=n.y-(n.y-o.y)*e/this._transform.scale;this._transform.scale=e,this._transform.scaledPosition=A.sub(A.initialize(r,a),this._transform.position)}static \u0275fac=function(n){return new(n||er)};static \u0275prov=y({token:er,factory:er.\u0275fac})};return t=x([b(_c)],t),t})(),m0=[r0,a0,s0,c0,d0,l0,u0,f0,p0,h0],Qu=class{connection;static fToken=Symbol("AddConnectionForCreateToStoreRequest");constructor(i){this.connection=i}},_0=(()=>{let t=class tr{_store=d(M);handle({connection:e}){this._store.connections.addForCreate(e)}static \u0275fac=function(n){return new(n||tr)};static \u0275prov=y({token:tr,factory:tr.\u0275fac})};return t=x([b(Qu)],t),t})(),gc=class{instance;static fToken=Symbol("AddConnectionMarkerToStoreRequest");constructor(i){this.instance=i}},g0=(()=>{let t=class nr{_store=d(M);handle({instance:e}){this._store.connectionMarkers.add(e),this._store.emitNodeChanges()}static \u0275fac=function(n){return new(n||nr)};static \u0275prov=y({token:nr,factory:nr.\u0275fac})};return t=x([b(gc)],t),t})(),yc=class{connection;static fToken=Symbol("AddConnectionToStoreRequest");constructor(i){this.connection=i}},y0=(()=>{let t=class ir{_store=d(M);handle({connection:e}){this._store.connections.add(e),this._store.emitConnectionChanges()}static \u0275fac=function(n){return new(n||ir)};static \u0275prov=y({token:ir,factory:ir.\u0275fac})};return t=x([b(yc)],t),t})(),Ju=class{connection;static fToken=Symbol("AddSnapConnectionToStoreRequest");constructor(i){this.connection=i}},v0=(()=>{let t=class or{_store=d(M);handle({connection:e}){this._store.connections.addForSnap(e)}static \u0275fac=function(n){return new(n||or)};static \u0275prov=y({token:or,factory:or.\u0275fac})};return t=x([b(Ju)],t),t})(),On=class{connection;static fToken=Symbol("CreateConnectionMarkersRequest");constructor(i){this.connection=i}},ph=new pe("F_CONNECTION_CONTENT");var vc=class t{points;cumulativeLengths;segmentTangents;totalLength;constructor(i){let e=t._removeConsecutiveDuplicates(i);if(e.length<2){this.points=[{x:0,y:0},{x:1,y:0}],this.cumulativeLengths=[0,1],this.segmentTangents=[{x:1,y:0}],this.totalLength=1;return}this.points=e;let n=this.points.length,o=n-1,r=new Array(n).fill(0),a=new Array(o),s=0;for(let l=0;l<o;l++){let u=this.points[l+1].x-this.points[l].x,h=this.points[l+1].y-this.points[l].y,g=Math.hypot(u,h),C=g?u/g:1,w=g?h/g:0;a[l]={x:C,y:w},s+=g,r[l+1]=s}this.cumulativeLengths=r,this.segmentTangents=a,this.totalLength=s||1}static from(i){return new t(i.map(e=>({x:e.x,y:e.y})))}static _removeConsecutiveDuplicates(i){let e=[];for(let n of i){let o=e[e.length-1];(!o||o.x!==n.x||o.y!==n.y)&&e.push({x:n.x,y:n.y})}return e}},ef=class t{_polyline;constructor(i=[]){this._polyline=new vc(i)}updatePoints(i){return this._polyline=new vc(i),this._polyline.totalLength}calculateTotalLength(i){return this.updatePoints(i)}get totalLength(){return this._polyline.totalLength}getPointAtProgress(i){let{points:e,cumulativeLengths:n,segmentTangents:o,totalLength:r}=this._polyline,s=t._clamp(i,0,1)*r,l=.5;if(s<=l)return{point:e[0],tangent:o[0]??{x:1,y:0},atEdge:!0};if(r-s<=l){let O=e.length-1;return{point:e[O],tangent:o[O-1]??{x:1,y:0},atEdge:!0}}let u=t._findRightIndex(n,s),h=Math.max(1,u),g=n[h-1],C=n[h],w=t._safeRatio(s-g,C-g),P=e[h-1],T=e[h],k={x:t._lerp(P.x,T.x,w),y:t._lerp(P.y,T.y,w)},N=o[h-1]??{x:1,y:0};return{point:k,tangent:N,atEdge:!1}}getPointAtLength(i){return this.getPointAtProgress(i)}getPointAtDistance(i){let e=this._polyline.totalLength?i/this._polyline.totalLength:0;return this.getPointAtProgress(e)}static _findRightIndex(i,e){let n=0,o=i.length-1;for(;n<o;){let r=n+o>>1;i[r]<e?n=r+1:o=r}return n}static _lerp(i,e,n){return i+(e-i)*n}static _clamp(i,e,n){return i<e?e:i>n?n:i}static _safeRatio(i,e){let n=Math.abs(e)<1e-6?1e-6:e;return i/n}},Vh=(function(t){return t.NONE="none",t.ALONG="along",t})(Vh||{}),tf=class{compute(i,e){let n=this._clamp01(e.position()),{point:o,tangent:r}=i.getPointAtLength(n),a={x:-r.y,y:r.x},s=e.offset()??0,l=o.x+a.x*s,u=o.y+a.y*s,g=this._sizeAlongDirection(e.hostElement,r)*.5,C=n*i.totalLength,w=i.totalLength-C,P=this._applyEdgeGuard(l,u,r,C,w,g),T=this._calculateContentRotation(e.align(),r);return{position:P,rotationDeg:T}}_clamp01(i){return i<=0?0:i>=1?1:i}_applyEdgeGuard(i,e,n,o,r,a){if(o<=a){let s=a-o;return{x:i+n.x*s,y:e+n.y*s}}if(r<=a){let s=a-r;return{x:i-n.x*s,y:e-n.y*s}}return{x:i,y:e}}_sizeAlongDirection(i,e){let n=H.fromElement(i);return Math.abs(e.x)*n.width+Math.abs(e.y)*n.height}_normalize180(i){let e=(i+180)%360;return e<0&&(e+=360),e-180}_keepUpright(i){let e=this._normalize180(i);return e>90?e-=180:e<-90&&(e+=180),e}_calculateContentRotation(i,e){let n=0;return i===Vh.ALONG&&(n=Math.atan2(e.y,e.x)*180/Math.PI,n=this._keepUpright(n)),n}},nf=class{_placement;constructor(i=new tf){this._placement=i}layout(i,e){let n=new ef(i),o=n.totalLength;for(let r of e){let{position:a,rotationDeg:s}=this._placement.compute(n,r);r.hostElement.style.transform=this._createTransformString(a,s)}return o}_createTransformString(i,e){return`translate3d(${i.x}px, ${i.y}px, 0) translate(-50%, -50%) rotate(${e}deg)`}};var hh=new pe("F_CONNECTION_WAYPOINTS");function Hh(t,i,e){return(t.x-i.x)**2+(t.y-i.y)**2<=e**2}function C0(t,i){let e=t.fWaypoints(),n=e?.radius()||8;return e?.candidates().find(o=>Hh(i,o,n))}function x0(t,i){let e=t.fWaypoints(),n=e?.radius()||8;return e?.waypoints().find(o=>Hh(i,o,n))}function b0(t,i){for(let e of t){let n=x0(e,i);if(n&&e.fWaypoints()?.visibility())return{connection:e,waypoint:n};let o=C0(e,i);if(o&&e.fWaypoints()?.visibility())return{connection:e,candidate:o}}}var Al=new pe("F_CONNECTION_COMPONENTS_PARENT");var fe=(function(t){return t.START="f-connection-marker-start",t.END="f-connection-marker-end",t.SELECTED_START="f-connection-selected-marker-start",t.SELECTED_END="f-connection-selected-marker-end",t.START_ALL_STATES="f-connection-marker-start-all-states",t.END_ALL_STATES="f-connection-marker-end-all-states",t})(fe||{}),Cc=new pe("F_CONNECTION_MARKER"),w0=0,xc=class{fId=W(`f-marker-${w0++}`);hostElement=d(we).nativeElement};function Gh(t,i=fe.START){if(typeof t!="string")return i;let e=t.trim().toLowerCase();return e?S0(e)??i:i}function S0(t){switch(t){case"start":case"f-connection-marker-start":return fe.START;case"end":case"f-connection-marker-end":return fe.END;case"selected-start":case"f-connection-selected-marker-start":return fe.SELECTED_START;case"selected-end":case"f-connection-selected-marker-end":return fe.SELECTED_END;case"start-all-states":case"f-connection-marker-start-all-states":case"start-all":case"all-start":return fe.START_ALL_STATES;case"end-all-states":case"f-connection-marker-end-all-states":case"end-all":case"all-end":return fe.END_ALL_STATES;default:return null}}var jh=(()=>{class t extends xc{_markerElement=Se.required("markerElement");_type=F(fe.END_ALL_STATES,{alias:"type",transform:e=>Gh(e,fe.END_ALL_STATES)});get markerElement(){return this._markerElement().nativeElement}width=6;height=7;refX=5.5;refY=3.5;get type(){return this._type()}orient="auto";markerUnits="strokeWidth";static \u0275fac=(()=>{let e;return function(o){return(e||(e=ne(t)))(o||t)}})();static \u0275cmp=J({type:t,selectors:[["f-connection-marker-arrow"]],viewQuery:function(n,o){n&1&&ut(o._markerElement,Sg,5),n&2&&it()},hostAttrs:[1,"f-component",2,"display","none"],inputs:{_type:[1,"type","_type"]},features:[ge([{provide:Cc,useExisting:t}]),_e],decls:3,vars:0,consts:[["markerElement",""],["viewBox","0 0 6 6",1,"f-marker"],["d","M0,0 L6,3 0,6Z"]],template:function(n,o){n&1&&(Ze(),U(0,"svg",1,0),Dt(2,"path",2),$())},encapsulation:2})}return t})();var Uh=(()=>{class t extends xc{_mediator=d(R);markerElement=this.hostElement;width=0;height=0;refX=0;refY=0;type=fe.START;orient="auto";markerUnits="strokeWidth";ngOnInit(){this.hostElement.style.display="none",this._mediator.execute(new gc(this))}ngOnDestroy(){this._mediator.execute(new Uc(this))}static \u0275fac=(()=>{let e;return function(o){return(e||(e=ne(t)))(o||t)}})();static \u0275dir=Ce({type:t,selectors:[["svg","fMarker",""]],hostAttrs:[1,"f-component","f-marker"],inputs:{width:"width",height:"height",refX:"refX",refY:"refY",type:[2,"type","type",e=>Gh(e,fe.START)],orient:"orient",markerUnits:"markerUnits"},standalone:!1,features:[ge([{provide:Cc,useExisting:t}]),_e]})}return t})(),Ft=(function(t){return t.FIXED="fixed",t.FIXED_CENTER="fixed_center",t.FLOATING="floating",t})(Ft||{}),Xe=(function(t){return t.DEFAULT="default",t.TOP="top",t.BOTTOM="bottom",t.LEFT="left",t.RIGHT="right",t.CALCULATE="calculate",t.CALCULATE_HORIZONTAL="calculate_horizontal",t.CALCULATE_VERTICAL="calculate_vertical",t})(Xe||{});function I0({sourceRect:t,targetRect:i}){return{point1:t.gravityCenter,point2:i.gravityCenter}}var L=(function(t){return t.LEFT="left",t.TOP="top",t.RIGHT="right",t.BOTTOM="bottom",t.CALCULATE="calculate",t.CALCULATE_HORIZONTAL="calculate_horizontal",t.CALCULATE_VERTICAL="calculate_vertical",t.AUTO="auto",t})(L||{}),Pn=(function(t){return t.SEGMENT="segment",t.STRAIGHT="straight",t.BEZIER="bezier",t.ADAPTIVE_CURVE="adaptive-curve",t})(Pn||{});function T0({sourceRect:t,sourceConnectableSide:i,targetRect:e,targetConnectableSide:n}){return{point1:mh(t,i===L.AUTO?L.BOTTOM:i),point2:mh(e,n===L.AUTO?L.TOP:n)}}function mh(t,i){switch(i){case L.TOP:return{x:t.x+t.width/2,y:t.y};case L.BOTTOM:return{x:t.x+t.width/2,y:t.y+t.height};case L.LEFT:return{x:t.x,y:t.y+t.height/2};case L.RIGHT:return{x:t.x+t.width,y:t.y+t.height/2};default:throw new Error(`Unknown side: ${i}`)}}function Wh(t,i,e,n){if(!n||!n.rotationDeg)return Tn.getRoundedRectIntersections(t,i,e)[0];let o=rr(t,-n.rotationDeg,n.pivot),r=rr(i,-n.rotationDeg,n.pivot),a=E0(e,-n.rotationDeg,n.pivot),s=Tn.getRoundedRectIntersections(o,r,a)[0];return s?rr(s,n.rotationDeg,n.pivot):void 0}function E0(t,i,e){let n=rr(P0(t),i,e);return new Me(n.x-t.width/2,n.y-t.height/2,t.width,t.height,t.radius1,t.radius2,t.radius3,t.radius4)}function P0(t){return{x:t.x+t.width/2,y:t.y+t.height/2}}function rr(t,i,e){let n=t.x-e.x,o=t.y-e.y,r=i*Math.PI/180,a=Math.cos(r),s=Math.sin(r);return{x:n*a-o*s+e.x,y:n*s+o*a+e.y}}function D0({sourceRect:t,targetRect:i,sourceRotationContext:e,targetRotationContext:n}){return N0(M0(t,i,e),k0(t,i,n),t,i)}function M0(t,i,e){return Wh(t.gravityCenter,i.gravityCenter,t,e)}function k0(t,i,e){return Wh(i.gravityCenter,t.gravityCenter,i,e)}function N0(t,i,e,n){return{point1:t||e.gravityCenter,point2:i||n.gravityCenter}}var Oo=.5,R0={[Ft.FLOATING]:D0,[Ft.FIXED_CENTER]:I0,[Ft.FIXED]:T0},$n=(()=>{class t{handle(e){let n=this._calculateDirectionalVectors(e.sourceRect.gravityCenter.x,e.sourceRect.gravityCenter.y,e.targetRect.gravityCenter.x,e.targetRect.gravityCenter.y),o=this._determineSourceSide(e,n),r=this._determineTargetSide(e,n);return e.connection._applyResolvedSidesToConnection(o,r),this._getBehaviorHandler(e.connection.fBehavior)({sourceRect:e.sourceRect,targetRect:e.targetRect,sourceConnectableSide:o,targetConnectableSide:r,sourceRotationContext:e.sourceRotationContext,targetRotationContext:e.targetRotationContext})}_calculateDirectionalVectors(e,n,o,r){let a=o-e,s=r-n;return{sourceToTargetX:a,sourceToTargetY:s,targetToSourceX:-a,targetToSourceY:-s}}_determineSourceSide(e,n){return this._resolveConnectableSide(e.connection.fOutputSide(),n.sourceToTargetX,n.sourceToTargetY,e.sourceConnectableSide)}_determineTargetSide(e,n){return this._resolveConnectableSide(e.connection.fInputSide(),n.targetToSourceX,n.targetToSourceY,e.targetConnectableSide)}_resolveConnectableSide(e,n,o,r){if(e===Xe.DEFAULT)return r;let a=Math.abs(n),s=Math.abs(o);if(a<Oo&&s<Oo)return r;let u=a>=s;switch(e){case Xe.CALCULATE:return u?n>=0?L.RIGHT:L.LEFT:o>=0?L.BOTTOM:L.TOP;case Xe.CALCULATE_HORIZONTAL:return a<Oo?r:n>=0?L.RIGHT:L.LEFT;case Xe.CALCULATE_VERTICAL:return s<Oo?r:o>=0?L.BOTTOM:L.TOP;case Xe.TOP:return L.TOP;case Xe.BOTTOM:return L.BOTTOM;case Xe.LEFT:return L.LEFT;case Xe.RIGHT:return L.RIGHT;default:return r}}_getBehaviorHandler(e){let n=R0[e];if(!n)throw new Error(`[Behavior] No handler for behavior: ${e}`);return n}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac})}return t})(),ht=class{sourceRect;targetRect;connection;sourceConnectableSide;targetConnectableSide;sourceRotationContext;targetRotationContext;constructor(i,e,n,o,r,a,s){this.sourceRect=i,this.targetRect=e,this.connection=n,this.sourceConnectableSide=o,this.targetConnectableSide=r,this.sourceRotationContext=a,this.targetRotationContext=s}};function Ll(t,i,e){return[t,...e??[],i]}function O0(t,i){let e=Math.abs(i.x-t.x)/2,n=i.x<t.x?i.x+e:i.x-e,o=Math.abs(i.y-t.y)/2,r=i.y<t.y?i.y+o:i.y-o;return{x:n,y:r}}function F0(t,i=32){let e=new Array(i+1);e[0]=se({},t[0]);for(let n=1;n<=i;n++)e[n]=$h(t[0],t[1],t[2],t[3],n/i);return e}function $h(t,i,e,n,o){let r=1-o,a=o*o,s=r*r,l=s*r,u=a*o;return{x:l*t.x+3*s*o*i.x+3*r*a*e.x+u*n.x,y:l*t.y+3*s*o*i.y+3*r*a*e.y+u*n.y}}function qh(t){return t.map(i=>$h(i.p0,i.c1,i.c2,i.p3,.5))}function A0(t){if(t.length<2)throw new Error("Polylines must be at least two points");let i=L0(t);return i<=0?[se({},t[0])]:[B0(t,i/2)]}function L0(t){let i=0;for(let e=0;e<t.length-1;e++)i+=Xh(t[e],t[e+1]);return i}function B0(t,i){let e=0;for(let o=0;o<t.length-1;o++){let r=t[o],a=t[o+1],s=Xh(r,a);if(!(s<=0)){if(e+s>=i){let l=(i-e)/s;return{x:r.x+(a.x-r.x)*l,y:r.y+(a.y-r.y)*l}}e+=s}}let n=t[t.length-1];return{x:n.x,y:n.y}}function Xh(t,i){return Math.hypot(i.x-t.x,i.y-t.y)}function z0(t){let i=[];for(let e of t)for(let n of e){let o=i[i.length-1];(!o||o.x!==n.x||o.y!==n.y)&&i.push(n)}return i}function Kh(t){if(!t.length)return"";let i=`M ${t[0].p0.x} ${t[0].p0.y}`;for(let e=0;e<t.length;e++){let n=t[e],o=e===t.length-1,r=o?n.p3.x+2e-4:n.p3.x,a=o?n.p3.y+2e-4:n.p3.y;i+=` C ${n.c1.x} ${n.c1.y}, ${n.c2.x} ${n.c2.y}, ${r} ${a}`}return i}function Yh(t,i=16){if(!t.length)return[];let e=[];for(let n=0;n<t.length;n++){let o=t[n],r=F0([o.p0,o.c1,o.c2,o.p3],i);n>0&&r.shift(),e.push(...r)}return e}function V0(t,i=1e-6){let e=t.length;if(e<=2)return t;let n=[];n.push(t[0]);for(let r=1;r<e;r++){let a=t[r],s=n[n.length-1];(Math.abs(a.x-s.x)>i||Math.abs(a.y-s.y)>i)&&n.push(a)}if(n.length<=2)return n;let o=[];o.push(n[0]);for(let r=1;r<n.length-1;r++){let a=o[o.length-1],s=n[r],l=n[r+1],u=Math.abs(a.x-s.x)<=i&&Math.abs(s.x-l.x)<=i,h=Math.abs(a.y-s.y)<=i&&Math.abs(s.y-l.y)<=i;!u&&!h&&o.push(s)}return o.push(n[n.length-1]),o}var of=class t{static _dir(i){switch(i){case L.LEFT:return{x:-1,y:0};case L.RIGHT:return{x:1,y:0};case L.TOP:return{x:0,y:-1};case L.BOTTOM:return{x:0,y:1};case L.AUTO:return{x:0,y:0}}return{x:0,y:0}}static _isHorizontal(i){return i===L.LEFT||i===L.RIGHT}static _handleLength(i,e,n,o){let r=Math.abs(e.x-i.x),a=Math.abs(e.y-i.y),s=Math.hypot(r,a),l=n===L.AUTO?Math.max(r,a):this._isHorizontal(n)?r:a,u=Math.max(8,o),h=o+.5*s,g=o*1.05+l*.3;return Math.min(h,Math.max(u,g))}static _softControl(i,e,n,o){let r=this._dir(i),a=n.x-e.x,s=n.y-e.y,l=Math.hypot(a,s)||1,u=a/l,h=s/l;if(i===L.AUTO)return{x:e.x+u*o,y:e.y+h*o};let g=r.x*u+r.y*h,C=.12,w=Math.max(0,-g)*.08,P=Math.min(.2,C+w),T=r.x*(1-P)+u*P,k=r.y*(1-P)+h*P,N=Math.hypot(T,k)||1;return{x:e.x+T/N*o,y:e.y+k/N*o}}handle({source:i,sourceSide:e,target:n,targetSide:o,offset:r,waypoints:a}){let s=Math.max(0,r??0),l=Ll(i,n,a),u=[];for(let g=0;g<l.length-1;g++){let C=l[g],w=l[g+1],P=t._handleLength(C,w,e,s),T=t._handleLength(w,C,o,s),k=t._softControl(e,C,w,P),N=t._softControl(o,w,C,T);u.push({p0:C,c1:k,c2:N,p3:w,chainIndex:g})}let h=Yh(u,12);return{path:Kh(u),secondPoint:u[0]?.c1??i,penultimatePoint:u[u.length-1]?.c2??n,points:h,candidates:qh(u)}}},rf=class{handle({source:i,sourceSide:e,target:n,targetSide:o,offset:r,waypoints:a}){let s=Ll(i,n,a),l=[];for(let h=0;h<s.length-1;h++){let g=s[h],C=s[h+1],w=_h(e,g,C,r??0),P=_h(o,C,g,r??0);l.push({p0:g,c1:w,c2:P,p3:C,chainIndex:h})}let u=Yh(l,12);return{path:Kh(l),secondPoint:l[0]?.c1??i,penultimatePoint:l[l.length-1]?.c2??n,points:u,candidates:qh(l)}}};function _h(t,i,e,n){let o={x:i.x,y:i.y};switch(t){case L.LEFT:o.x-=Fo(i.x-e.x,n);break;case L.RIGHT:o.x+=Fo(e.x-i.x,n);break;case L.TOP:o.y-=Fo(i.y-e.y,n);break;case L.BOTTOM:o.y+=Fo(e.y-i.y,n);break;case L.AUTO:break}return o}function Fo(t,i){return t>=i?t:i*Math.sqrt(i-t)}function H0(t){let{axis:i,source:e,target:n,sourceSide:o,targetSide:r,sourceGap:a,targetGap:s,sourceDir:l,targetDir:u,currentDir:h,offset:g,sourceGapOffset:C,targetGapOffset:w}=t,P=G0(a,s),T=j0(i,l,h,P);return o===r?U0(i,e,n,g,l,h,a,s,C,w):T=W0(i,l,u,a,s,P,T),T}function G0(t,i){return{sourceTarget:[{x:t.x,y:i.y}],targetSource:[{x:i.x,y:t.y}]}}function j0(t,i,e,n){return t==="x"?i.x===e?n.targetSource:n.sourceTarget:i.y===e?n.sourceTarget:n.targetSource}function U0(t,i,e,n,o,r,a,s,l,u){let h=Math.abs(i[t]-e[t]);if(h>n)return;let g=Math.min(n-1,n-h);g<=0||(o[t]===r?l[t]=(a[t]>i[t]?-1:1)*g:u[t]=(s[t]>e[t]?-1:1)*g)}function W0(t,i,e,n,o,r,a){let s=t==="x"?"y":"x",l=i[t]===e[s],u=n[s]>o[s],h=n[s]<o[s];return i[t]===1&&(!l&&u||l&&h)||i[t]!==1&&(!l&&h||l&&u)?t==="x"?r.sourceTarget:r.targetSource:a}var ui=1e-6,gh=2e-4,$0=.75;function q0(t,i){let e=t.length,n=[];n.push(`M ${t[0].x} ${t[0].y}`);for(let r=1;r<e-1;r++)n.push(X0(t[r-1],t[r],t[r+1],i));let o=t[e-1];return n.push(`L ${o.x+gh} ${o.y+gh}`),n.join(" ")}function X0(t,i,e,n){let o=i.x,r=i.y;if(n<=0)return`L ${o} ${r}`;let a=Math.abs(t.x-o)<=ui&&Math.abs(o-e.x)<=ui,s=Math.abs(t.y-r)<=ui&&Math.abs(r-e.y)<=ui;if(a||s)return`L ${o} ${r}`;let l=Math.hypot(o-t.x,r-t.y),u=Math.hypot(e.x-o,e.y-r),h=Math.min(l*.5,u*.5,n);if(h<$0)return`L ${o} ${r}`;if(Math.abs(t.y-r)<=ui){let k=t.x<e.x?-1:1,N=t.y<e.y?1:-1,O=o+h*k,V=r+h*N;return`L ${O} ${r} Q ${o} ${r} ${o} ${V}`}let C=t.x<e.x?1:-1,w=t.y<e.y?-1:1,P=r+h*w,T=o+h*C;return`L ${o} ${P} Q ${o} ${r} ${T} ${r}`}var yh={[L.LEFT]:A.initialize(-1,0),[L.RIGHT]:A.initialize(1,0),[L.TOP]:A.initialize(0,-1),[L.BOTTOM]:A.initialize(0,1),[L.AUTO]:A.initialize(0,0)},af=class{handle({source:i,sourceSide:e,target:n,targetSide:o,waypoints:r,offset:a,radius:s}){let l=Ll(i,n,r),u=[],h=[];for(let P=0;P<l.length-1;P++){let T=l[P],k=l[P+1],N=this._getPathPoints(T,e,k,o,a??0);u.push(N),h.push(...A0(N))}let g=V0(z0(u)),C=g.length>1?g[g.length-2]:i,w=g.length>1?g[1]:n;return{path:q0(g,s??0),penultimatePoint:C,secondPoint:w,points:g,candidates:h}}_getPathPoints(i,e,n,o,r){let a=yh[e],s=yh[o],l={x:i.x+a.x*r,y:i.y+a.y*r},u={x:n.x+s.x*r,y:n.y+s.y*r},h=this._getDirection(l,e,u),g=h.x!==0?"x":"y",C=h[g],w=[],P=A.initialize(),T=A.initialize(),k=O0(i,n);if(a[g]*s[g]===-1){let N=[{x:k.x,y:l.y},{x:k.x,y:u.y}],O=[{x:l.x,y:k.y},{x:u.x,y:k.y}];a[g]===C?w=g==="x"?N:O:w=g==="x"?O:N}else w=H0({axis:g,source:i,target:n,sourceSide:e,targetSide:o,sourceGap:l,targetGap:u,sourceDir:a,targetDir:s,currentDir:C,offset:r,sourceGapOffset:P,targetGapOffset:T});return[i,{x:l.x+P.x,y:l.y+P.y},...w,{x:u.x+T.x,y:u.y+T.y},n]}_getDirection(i,e,n){return e===L.LEFT||e===L.RIGHT?i.x<n.x?A.initialize(1,0):A.initialize(-1,0):i.y<n.y?A.initialize(0,1):A.initialize(0,-1)}},vh=2e-4,sf=class{handle(i){let e=Ll(i.source,i.target,i.waypoints),n=e.length,o=e[0],r=`M ${o.x} ${o.y}`,a=new Array(n-1);for(let s=0;s<n-1;s++){let l=e[s],u=e[s+1],h=s===n-2,g=h?u.x+vh:u.x,C=h?u.y+vh:u.y;r+=` L ${g} ${C}`,a[s]={x:(l.x+u.x)*.5,y:(l.y+u.y)*.5}}return{path:r,candidates:a,points:e,secondPoint:e[1]??i.target,penultimatePoint:e[n-2]??i.source}}},K0=new pe("F_CONNECTION_BUILDERS"),Zh=(()=>{class t{_builtinBuilders={[Pn.STRAIGHT]:new sf,[Pn.BEZIER]:new rf,[Pn.ADAPTIVE_CURVE]:new of,[Pn.SEGMENT]:new af};_providedBuilders;_builders;constructor(){this._providedBuilders=d(K0,{optional:!0})||{},this._builders=se(se({},this._builtinBuilders),this._providedBuilders)}handle({type:e,payload:n}){let o=this._builders[e];if(!o)throw this._createBuilderNotFoundError(e);return o.handle(n)}_createBuilderNotFoundError(e){let n=Object.keys(this._builtinBuilders).sort(),o=Object.keys(this._providedBuilders).sort(),r=Object.keys(this._builders).sort(),a=n.filter(l=>l in this._providedBuilders).sort(),s=[`Connection Builder Error: builder type "${e}" not found.`,`Registered types: ${r.length?r.join(", "):"(none)"}`,`Built-in types: ${n.length?n.join(", "):"(none)"}`,`Provided (F_CONNECTION_BUILDERS) types: ${o.length?o.join(", "):"(none)"}`,a.length?`Overridden built-ins: ${a.join(", ")}`:null,"Tip: ensure you pass a valid Connection Type or provide a builder via F_CONNECTION_BUILDERS."].filter(Boolean);return new Error(s.join(`
|
|
2
2
|
`))}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac})}return t})();function Y0(t,i,e){return It("connection_"+t+i+e)}function Z0(t,i,e){return It("connection_for_selection_"+t+i+e)}function Qh(t){return It("connection_gradient_"+t)}function Q0(t){return`url(#${Qh(t)})`}var J0=(()=>{class t{_connection=d(Al);_hostElement=d(we).nativeElement;_injector=d(Qe);_hostAttributes=new Map;_startColor;_endColor;gradientId=D(()=>Qh(this._connection.fId()));ngOnInit(){this._listenColorChanges()}_listenColorChanges(){ae(()=>{this.gradient().fStartColor(),this.gradient().fEndColor(),gt(()=>{this._updateGradient()})},{injector:this._injector})}get stop1Element(){return this._hostElement.children.item(0)}get stop2Element(){return this._hostElement.children.item(1)}redraw(e){let n=e.point2.x-e.point1.x,o=e.point2.y-e.point1.y,r=Math.sqrt(n*n+o*o)||.01,a=new K(.5-.5*n/r,.5-.5*o/r);this._setHostAttribute("x1",a.x.toString()),this._setHostAttribute("y1",a.y.toString());let s=new K(.5+.5*n/r,.5+.5*o/r);this._setHostAttribute("x2",s.x.toString()),this._setHostAttribute("y2",s.y.toString()),this._updateGradient()}_updateGradient(){let e=this.gradient();this._setFromColor(e.fStartColor()),this._setToColor(e.fEndColor())}_setFromColor(e){let n=e||"transparent";this._startColor!==n&&(this._startColor=n,this.stop1Element.setAttribute("stop-color",n),this.stop1Element.style.setProperty("stop-color",n))}_setToColor(e){let n=e||"transparent";this._endColor!==n&&(this._endColor=n,this.stop2Element.setAttribute("stop-color",n),this.stop2Element.style.setProperty("stop-color",n))}_setHostAttribute(e,n){this._hostAttributes.get(e)!==n&&(this._hostAttributes.set(e,n),this._hostElement.setAttribute(e,n))}static \u0275fac=function(n){return new(n||t)};static \u0275dir=Ce({type:t,standalone:!1})}return t})(),cf=(()=>{class t extends J0{gradient=F.required({alias:"fConnectionGradientRendererFor"});static \u0275fac=(()=>{let e;return function(o){return(e||(e=ne(t)))(o||t)}})();static \u0275cmp=J({type:t,selectors:[["linearGradient","fConnectionGradientRenderer",""]],hostVars:1,hostBindings:function(n,o){n&2&&Y("id",o.gradientId())},inputs:{gradient:[1,"fConnectionGradientRendererFor","gradient"]},features:[_e],attrs:Ig,decls:3,vars:0,consts:[[0,"xmlns","svg","http://www.w3.org/2000/svg"],["offset","0%"],["offset","100%"]],template:function(n,o){n&1&&(uo(0,0),Ze(),Dt(1,"stop",1)(2,"stop",2),fo())},encapsulation:2,changeDetection:0})}return t})(),Ch=new pe("F_CONNECTION_GRADIENT");var df=new pe("F_CONNECTION_PATH"),lf=class{hostElement=d(we).nativeElement},ey=(()=>{class t extends lf{_connection=d(Al);useGradient=F(!1);linkToGradient=D(()=>this.useGradient()?Q0(this._connection.fId()):null);get fPathId(){return this._connection.fId()}get attrConnectionId(){return Y0(this._connection.fId(),this._connection.fOutputId(),this._connection.fInputId())}initialize(){this.deselect()}setPath(e){this.hostElement.setAttribute("d",`${e}`)}select(){this.hostElement.setAttribute("marker-start",`url(#${iy(this._connection.fId())})`),this.hostElement.setAttribute("marker-end",`url(#${oy(this._connection.fId())})`)}deselect(){this.hostElement.setAttribute("marker-start",`url(#${ty(this._connection.fId())})`),this.hostElement.setAttribute("marker-end",`url(#${ny(this._connection.fId())})`)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=ne(t)))(o||t)}})();static \u0275cmp=J({type:t,selectors:[["path","f-connection-path",""]],hostAttrs:[1,"f-component","f-connection-path"],hostVars:4,hostBindings:function(n,o){n&2&&(Y("id",o.attrConnectionId)("data-f-path-id",o.fPathId),ot("stroke",o.linkToGradient()))},inputs:{useGradient:[1,"useGradient"]},standalone:!1,features:[ge([{provide:df,useExisting:t}]),_e],attrs:Tg,decls:0,vars:0,template:function(n,o){},styles:["[_nghost-%COMP%]{fill:none;pointer-events:stroke}"],changeDetection:0})}return t})();function ty(t){return It(`f-connection-marker-start-${t}`)}function ny(t){return It(`f-connection-marker-end-${t}`)}function iy(t){return It(`f-connection-selected-marker-start-${t}`)}function oy(t){return It(`f-connection-selected-marker-end-${t}`)}var uf=new pe("F_CONNECTION_SELECTION"),ff=class{hostElement=d(we).nativeElement},ry=(()=>{class t extends ff{_connection=d(Al);get connectionForSelectionId(){return Z0(this._connection.fId(),this._connection.fOutputId(),this._connection.fInputId())}setPath(e){this.hostElement.setAttribute("d",`${e}`)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=ne(t)))(o||t)}})();static \u0275cmp=J({type:t,selectors:[["path","fConnectionSelection",""]],hostAttrs:[1,"f-component","f-connection-selection"],hostVars:1,hostBindings:function(n,o){n&2&&Y("id",o.connectionForSelectionId)},standalone:!1,features:[ge([{provide:uf,useExisting:t}]),_e],attrs:Eg,decls:0,vars:0,template:function(n,o){},styles:["[_nghost-%COMP%]{fill:none;pointer-events:stroke}"],changeDetection:0})}return t})(),pf=new pe("F_CONNECTION_DRAG_HANDLE_END"),hf=new pe("F_CONNECTION_DRAG_HANDLE_START"),bc=class{hostElement=d(we).nativeElement;point=A.initialize();class="f-connection-drag-handle";calculateCircleCenter(i,e,n){let o={x:e.x-i.x,y:e.y-i.y},r=Math.sqrt(o.x*o.x+o.y*o.y)||1,a={x:o.x/r,y:o.y/r},s={x:a.x*n,y:a.y*n};return{x:e.x-s.x,y:e.y-s.y}}},ay=(()=>{class t extends bc{redraw(e,n){this.point=this.calculateCircleCenter(e,n,8),this.hostElement.setAttribute("cx",this.point.x.toString()),this.hostElement.setAttribute("cy",this.point.y.toString())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=ne(t)))(o||t)}})();static \u0275cmp=J({type:t,selectors:[["circle","f-connection-drag-handle-start",""]],hostVars:2,hostBindings:function(n,o){n&2&&Ve(o.class)},standalone:!1,features:[ge([{provide:hf,useExisting:t}]),_e],attrs:Pg,decls:0,vars:0,template:function(n,o){},encapsulation:2,changeDetection:0})}return t})(),sy=(()=>{class t extends bc{redraw(e,n){this.point=this.calculateCircleCenter(e,n,8),this.hostElement.setAttribute("cx",this.point.x.toString()),this.hostElement.setAttribute("cy",this.point.y.toString())}static \u0275fac=(()=>{let e;return function(o){return(e||(e=ne(t)))(o||t)}})();static \u0275cmp=J({type:t,selectors:[["circle","f-connection-drag-handle-end",""]],hostVars:2,hostBindings:function(n,o){n&2&&Ve(o.class)},standalone:!1,features:[ge([{provide:pf,useExisting:t}]),_e],attrs:Dg,decls:0,vars:0,template:function(n,o){},encapsulation:2,changeDetection:0})}return t})(),Hu="f-selected";function Jh(t){return class extends t{fId=W("");fSelectionDisabled=W(!1);unmarkAsSelected(){this.unmarkChildrenAsSelected?.(),this.hostElement.classList.remove(Hu)}markAsSelected(){this.markChildrenAsSelected?.(),this.isSelected()||this.hostElement.classList.add(Hu)}isSelected(){return this.hostElement.classList.contains(Hu)}markChildrenAsSelected(){}unmarkChildrenAsSelected(){}constructor(...i){super(...i)}}}function cy(t){return class extends t{show(){this.hostElement.style.display="unset"}hide(){this.hostElement.style.display="none"}constructor(...i){super(...i)}}}var dy=Jh(cy(class{hostElement;constructor(t){this.hostElement=t}})),ly=(()=>{class t extends dy{_fConnectionBuilder=d(Zh);path="";line=di.initialize();fReassignableStart=W(!1);fDraggingDisabled=W(!1);fSelectionDisabled=W(!1);fDefs=Se.required("defs");fPath=Se.required(df);fDragHandleStart=Se(hf);fDragHandleEnd=Se.required(pf);fSelection=Se.required(uf);fContents=Du(ph,{descendants:!0});fMarkers=Du(Cc,{descendants:!0});fGradient=po(Ch);_fGradientRenderer=Se(cf);fWaypoints=po(hh);fInputSide=W(Xe.DEFAULT);_contentLayoutEngine=new nf;_sourceSide=L.AUTO;fOutputSide=W(Xe.DEFAULT);_targetSide=L.AUTO;_penultimatePoint=A.initialize();_secondPoint=A.initialize();constructor(){super(d(we).nativeElement)}initialize(){this.redraw(),this.isSelected()?this.markChildrenAsSelected():this.unmarkChildrenAsSelected()}isContains(e){return(this.hostElement.firstChild?.lastChild).contains(e)||Array.from(this.fContents()?.values()??[]).some(n=>n.hostElement?.contains(e))||this.fWaypoints()?.hostElement?.contains(e)}setLine({point1:e,point2:n}){this.line=di.initialize(e,n);let{path:o,points:r,penultimatePoint:a,secondPoint:s,candidates:l}=this._getPathResult(e,n);this.path=o,this._penultimatePoint=a||e,this._secondPoint=s||n,this.fWaypoints()?.candidates.set(l||[]),this._contentLayoutEngine.layout(r||[],this._contents())}_contents(){return Array.from(this.fContents()?.values()??[])}_getPathResult(e,n){return this._fConnectionBuilder.handle({type:this.fType,payload:{source:e,sourceSide:this._sourceSide,target:n,targetSide:this._targetSide,radius:this.fRadius,offset:this.fOffset,waypoints:this.fWaypoints()?.waypoints()||[]}})}markChildrenAsSelected(){this.fPath().select()}unmarkChildrenAsSelected(){this.fPath().deselect()}redraw(){this.fPath().setPath(this.path),this.fSelection().setPath(this.path),this.fDragHandleEnd().redraw(this._penultimatePoint,this.line.point2),this.fDragHandleStart()?.redraw(this._secondPoint,this.line.point1),this._fGradientRenderer()?.redraw(this.line)}getResolvedSides(){return{sourceSide:this._sourceSide,targetSide:this._targetSide}}_applyResolvedSidesToConnection(e,n){this._sourceSide=e,this._targetSide=n}static \u0275fac=function(n){return new(n||t)};static \u0275dir=Ce({type:t,contentQueries:function(n,o,r){n&1&&Pu(r,o.fContents,ph,5)(r,o.fMarkers,Cc,5)(r,o.fGradient,Ch,5)(r,o.fWaypoints,hh,5),n&2&&it(4)},viewQuery:function(n,o){n&1&&ut(o.fDefs,Mg,5)(o.fPath,df,5)(o.fDragHandleStart,hf,5)(o.fDragHandleEnd,pf,5)(o.fSelection,uf,5)(o._fGradientRenderer,cf,5),n&2&&it(6)},standalone:!1,features:[_e]})}return t})(),uy=(()=>{let t=class ar{_browser=d(ke);_markerCache=new WeakMap;handle({connection:e}){let n=this._findConnectionMarkers(e),o=e.fDefs();if(!o)return!1;let r=fy(n),a=this._markerCache.get(e);if(a?.signature===r&&a.defsElement===o.nativeElement)return!1;let s=tm("defs",this._browser);return n.forEach(l=>{em(l.type).forEach(u=>{let h=py(u,l,e.fId(),this._browser),g=l.markerElement.cloneNode(!0);g.setAttribute("height",`${l.height}`),g.setAttribute("width",`${l.width}`),g.removeAttribute("markerUnits"),g.style.display="unset",h.append(g),s.append(h)})}),o.nativeElement.innerHTML=s.innerHTML,this._markerCache.set(e,{signature:r,defsElement:o.nativeElement}),this._makeSafariCompatible(e),!0}_findConnectionMarkers(e){return Array.from(e.fMarkers()??[])}_makeSafariCompatible(e){e.fPath().hostElement.replaceWith(e.fPath().hostElement)}static \u0275fac=function(n){return new(n||ar)};static \u0275prov=y({token:ar,factory:ar.\u0275fac})};return t=x([b(On)],t),t})();function fy(t){return t.map(i=>[...em(i.type),i.width,i.height,i.refX,i.refY,i.orient,i.markerUnits,i.markerElement.outerHTML].join("|")).join("||")}function py(t,i,e,n){let o=tm("marker",n);return o.setAttribute("id",It(t+"-"+e)),o.setAttribute("markerHeight",`${i.height}`),o.setAttribute("markerWidth",`${i.width}`),o.setAttribute("orient",`${i.orient}`),o.setAttribute("refX",`${i.refX}`),o.setAttribute("refY",`${i.refY}`),o.setAttribute("markerUnits",`${i.markerUnits}`),o}function em(t){switch(t){case fe.START:return[fe.START];case fe.END:return[fe.END];case fe.SELECTED_START:return[fe.SELECTED_START];case fe.SELECTED_END:return[fe.SELECTED_END];case fe.START_ALL_STATES:return[fe.START,fe.SELECTED_START];case fe.END_ALL_STATES:return[fe.END,fe.SELECTED_END];default:return[]}}function tm(t,i){return i.document.createElementNS("http://www.w3.org/2000/svg",t)}var Bl=(()=>{class t{renderTicket=0;_connectedInPreviousRender=new Set;beginRender(){return++this.renderTicket}resetConnectedConnectors(){for(let e of this._connectedInPreviousRender)e.resetConnected();this._connectedInPreviousRender.clear()}trackConnectedConnectors(e,n){this._connectedInPreviousRender.add(e),this._connectedInPreviousRender.add(n)}static \u0275fac=function(n){return new(n||t)};static \u0275prov=y({token:t,factory:t.\u0275fac})}return t})(),hy=String.raw`
|
|
3
3
|
const EPSILON = 0.5;
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as Vt,c as w,d as Lt,e as Rt}from"./chunk-EI3A2R5P.js";import{a as Ct,b as wt,c as Se,d as Pe,e as kt,f as St,g as It}from"./chunk-SG23AWC6.js";import{a as Me,b as Te,c as Ot,d as Ft,e as Dt,f as At,g as jt,h as Nt,i as re,j as ae}from"./chunk-NLLFX5I7.js";import{e as Pt,f as Ee,h as ne,i as ie,j as oe,l as Et,m as Mt,n as Tt}from"./chunk-ZYPPIYEF.js";import{$ as tt,Aa as rt,Ba as Y,Bc as ee,Hb as Z,I as Xe,Ic as Ce,J as Ye,Jb as pt,Jc as we,K as Je,Ka as _,Lc as ft,M as Ze,Na as f,O as M,Oa as x,Oc as xt,Pa as at,Qa as Q,Qb as ut,Ra as O,S as et,Sa as F,T as k,Ta as b,Tb as y,U as S,Ua as l,Uc as vt,Va as s,Vc as me,Wa as T,Wb as ye,Wc as yt,Xa as m,Xb as V,Ya as h,Yb as mt,Za as J,ab as st,bd as ke,cc as ze,cd as te,da as v,db as I,dc as ht,ea as N,eb as X,fb as C,ga as Le,hb as a,id as G,jd as B,ka as nt,kb as lt,la as pe,lb as dt,mb as fe,nb as xe,oa as r,oc as _t,pb as ct,pc as bt,qb as gt,sb as Re,tb as $,ub as ve,vb as ue,wa as A,wb as d,xa as it,xb as p,yb as u,za as ot,zb as R}from"./chunk-XPMAU22J.js";import"./chunk-3R7E3HPC.js";import{a as q,b as W}from"./chunk-Q7L6LLAK.js";function gn(t,i){if(t&1&&(m(0,"p",6),d(1),h()),t&2){let e=a();r(),R(" ",e.texts.aboutErrorPrefix," ",e.loadError()," ")}}var Ie=class t{dataSource=M(G);updateCheck=M(Vt);theme=M(Rt);visible=V.required();texts=w;health=v(null);loadError=v(null);markSrc=y(()=>this.theme.resolved()==="dark"?"skill-map-mark-light.svg":"skill-map-mark-dark.svg");cliVersion=y(()=>this.updateCheck.current()??this.health()?.implVersion??this.texts.aboutUnknown);specVersion=y(()=>this.health()?.specVersion??this.texts.aboutLoading);schemaVersion=y(()=>this.health()?.schemaVersion??this.texts.aboutLoading);scope=y(()=>this.health()?.scope??this.texts.aboutLoading);cwd=y(()=>this.health()?.cwd??this.texts.aboutLoading);dbDisplay=y(()=>{let i=this.health();return i?this.texts.aboutDbValue(i.db,pn(i.dbPath,i.cwd)):this.texts.aboutLoading});homeDir=y(()=>this.health()?.homeDir??this.texts.aboutLoading);constructor(){N(()=>{this.visible()&&this.health()===null&&this.load()})}async load(){this.loadError.set(null);try{let i=await this.dataSource.health();this.health.set(i)}catch(i){let e=i instanceof B||i instanceof Error?i.message:String(i);this.loadError.set(e)}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,selectors:[["sm-settings-about"]],inputs:{visible:[1,"visible"]},decls:67,vars:29,consts:[["aria-labelledby","settings-about-heading","data-testid","settings-about",1,"settings-about"],[1,"settings-about__header"],["alt","","aria-hidden","true","data-testid","settings-about-logo",1,"settings-about__logo",3,"src"],[1,"settings-about__heading-text"],["id","settings-about-heading",1,"settings-about__title"],[1,"settings-about__intro"],["data-testid","settings-about-error",1,"settings-about__error"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-star",1,"settings-about__star",3,"href"],["aria-hidden","true",1,"fa-solid","fa-star","settings-about__star-icon"],[1,"settings-about__star-text"],[1,"settings-about__star-heading"],[1,"settings-about__star-body"],[1,"settings-about__star-cta"],["aria-hidden","true",1,"fa-solid","fa-star"],[1,"settings-about__list"],[1,"settings-about__row"],[1,"settings-about__label"],[1,"settings-about__value"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-website",1,"settings-about__link",3,"href"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-github",1,"settings-about__link",3,"href"],["data-testid","settings-about-cli",1,"settings-about__value"],["data-testid","settings-about-spec",1,"settings-about__value"],["data-testid","settings-about-schema",1,"settings-about__value"],["data-testid","settings-about-scope",1,"settings-about__value"],["data-testid","settings-about-cwd",1,"settings-about__value"],["data-testid","settings-about-db",1,"settings-about__value"],["data-testid","settings-about-home",1,"settings-about__value"]],template:function(e,n){e&1&&(m(0,"section",0)(1,"header",1),J(2,"img",2),m(3,"div",3)(4,"h2",4),d(5),h(),m(6,"p",5),d(7),h()()(),f(8,gn,2,2,"p",6),m(9,"a",7),J(10,"i",8),m(11,"span",9)(12,"span",10),d(13),h(),m(14,"span",11),d(15),h()(),m(16,"span",12),J(17,"i",13),d(18),h()(),m(19,"dl",14)(20,"div",15)(21,"dt",16),d(22),h(),m(23,"dd",17)(24,"a",18),d(25),h()()(),m(26,"div",15)(27,"dt",16),d(28),h(),m(29,"dd",17)(30,"a",19),d(31),h()()(),m(32,"div",15)(33,"dt",16),d(34),h(),m(35,"dd",20),d(36),h()(),m(37,"div",15)(38,"dt",16),d(39),h(),m(40,"dd",21),d(41),h()(),m(42,"div",15)(43,"dt",16),d(44),h(),m(45,"dd",22),d(46),h()(),m(47,"div",15)(48,"dt",16),d(49),h(),m(50,"dd",23),d(51),h()(),m(52,"div",15)(53,"dt",16),d(54),h(),m(55,"dd",24),d(56),h()(),m(57,"div",15)(58,"dt",16),d(59),h(),m(60,"dd",25),d(61),h()(),m(62,"div",15)(63,"dt",16),d(64),h(),m(65,"dd",26),d(66),h()()()()),e&2&&(r(2),X("src",n.markSrc(),pe),r(3),u(" ",n.texts.aboutHeading," "),r(2),p(n.texts.aboutIntro),r(),x(n.loadError()?8:-1),r(),X("href",n.texts.aboutGithubUrl,pe),_("aria-label",n.texts.aboutStarA11y),r(4),p(n.texts.aboutStarHeading),r(2),p(n.texts.aboutStarBody),r(3),u(" ",n.texts.aboutStarCta," "),r(4),p(n.texts.aboutWebsiteLabel),r(2),X("href",n.texts.aboutWebsiteUrl,pe),r(),p(n.texts.aboutWebsiteUrl),r(3),p(n.texts.aboutGithubLabel),r(2),X("href",n.texts.aboutGithubUrl,pe),r(),p(n.texts.aboutGithubUrl),r(3),p(n.texts.aboutCliLabel),r(2),u(" ",n.cliVersion()," "),r(3),p(n.texts.aboutSpecLabel),r(2),u(" ",n.specVersion()," "),r(3),p(n.texts.aboutSchemaLabel),r(2),u(" ",n.schemaVersion()," "),r(3),p(n.texts.aboutScopeLabel),r(2),u(" ",n.scope()," "),r(3),p(n.texts.aboutFolderLabel),r(2),u(" ",n.cwd()," "),r(3),p(n.texts.aboutDbLabel),r(2),u(" ",n.dbDisplay()," "),r(3),p(n.texts.aboutHomeLabel),r(2),u(" ",n.homeDir()," "))},styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-about[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.settings-about__header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}.settings-about__logo[_ngcontent-%COMP%]{width:64px;height:64px;flex-shrink:0}.settings-about__heading-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:0}.settings-about__title[_ngcontent-%COMP%]{font-size:1.15rem;font-weight:600;margin:0}.settings-about__intro[_ngcontent-%COMP%]{margin:0;color:var(--p-text-muted-color);font-size:.875rem}.settings-about__error[_ngcontent-%COMP%]{margin:0;padding:.5rem .75rem;border-radius:var(--p-border-radius);background:var(--p-message-error-background);color:var(--p-message-error-color);font-size:.875rem}.settings-about__list[_ngcontent-%COMP%]{margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.settings-about__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:180px 1fr;align-items:baseline;gap:.75rem;padding:.5rem .75rem;border-radius:var(--p-border-radius)}.settings-about__row[_ngcontent-%COMP%]:nth-child(odd){background:var(--p-content-hover-background)}.settings-about__label[_ngcontent-%COMP%]{margin:0;font-size:.875rem;color:var(--p-text-muted-color)}.settings-about__value[_ngcontent-%COMP%]{margin:0;font-family:var(--p-monospace-font-family);font-size:.875rem;word-break:break-all}.settings-about__link[_ngcontent-%COMP%]{color:var(--p-primary-color);text-decoration:none}.settings-about__link[_ngcontent-%COMP%]:hover, .settings-about__link[_ngcontent-%COMP%]:focus-visible{text-decoration:underline}.settings-about__star[_ngcontent-%COMP%]{--star-accent: #f4b400;display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border-radius:var(--p-border-radius);border:1px solid color-mix(in oklab,var(--star-accent) 45%,transparent);background:color-mix(in oklab,var(--star-accent) 12%,transparent);color:var(--p-text-color);text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.settings-about__star[_ngcontent-%COMP%]:hover, .settings-about__star[_ngcontent-%COMP%]:focus-visible{background:color-mix(in oklab,var(--star-accent) 22%,transparent);border-color:color-mix(in oklab,var(--star-accent) 70%,transparent);transform:translateY(-1px);outline:none}.app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--star-accent) 18%,transparent);border-color:color-mix(in oklab,var(--star-accent) 55%,transparent)}.app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:hover, .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:hover, .app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:focus-visible, .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:focus-visible{background:color-mix(in oklab,var(--star-accent) 30%,transparent);border-color:var(--star-accent)}.settings-about__star-icon[_ngcontent-%COMP%]{font-size:1.5rem;color:var(--star-accent);flex-shrink:0}.settings-about__star-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.settings-about__star-heading[_ngcontent-%COMP%]{font-weight:600;font-size:.95rem}.settings-about__star-body[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--p-text-muted-color);line-height:1.4}.settings-about__star-cta[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--sm-radius-pill);background:var(--star-accent);color:#1a1a1a;font-weight:600;font-size:.8125rem;white-space:nowrap;flex-shrink:0}.settings-about__star[_ngcontent-%COMP%]:hover .settings-about__star-cta[_ngcontent-%COMP%], .settings-about__star[_ngcontent-%COMP%]:focus-visible .settings-about__star-cta[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--star-accent) 88%,white)}"],changeDetection:0})};function pn(t,i){if(!t||!i)return t;let e=i.replace(/[/\\]+$/,"");return t.startsWith(e)?t.slice(e.length).replace(/^[/\\]+/,""):t}var zt={schemaVersion:1,entries:[{version:"0.24.2",date:"2026-05-13",kind:"user-facing",highlights:[{body:'**Graph edge style picker** \u2014 Settings \u2192 General now has an "Edge style" control. Pick **Orthogonal**, **Straight**, **Bezier**, or **Adaptive curve** (new default) and the graph re-renders immediately. The choice is remembered in this browser only.',packages:["@skill-map/cli"]},{body:"**Edge look refresh** \u2014 graph edges now show a small **dot at the start** and arrow at the end, with thinner strokes and softer colors. Kind colors (invokes / references / mentions / supersedes) are still distinct but no longer compete with the node cards for attention.",packages:["@skill-map/cli"]},{body:"**Click an edge to highlight it** \u2014 clicking a connection in the graph now selects it: the line grows a touch thicker and saturates to its full colour (same hue as the base, just louder). Click elsewhere on the canvas to clear the selection.",packages:["@skill-map/cli"]},{body:"**Footer link icons refresh** \u2014 the incoming / outgoing link counters on each node card now use the classic **download / upload** glyphs instead of plain up / down arrows. The arrow shape stays exclusive to the graph's edges, which keeps the visual vocabulary clearer.",packages:["@skill-map/cli"]}]},{version:"0.24.1",date:"2026-05-13",kind:"user-facing",highlights:[{body:'**Graph edge style picker** \u2014 Settings \u2192 General now has an "Edge style" control. Pick **Orthogonal** (default), **Straight**, **Bezier**, or **Adaptive curve** and the graph re-renders immediately. The choice is remembered in this browser only.',packages:["@skill-map/cli"]}]},{version:"0.24.0",date:"2026-05-13",kind:"user-facing",highlights:[{body:"**CLI flags fixed.** `sm refresh`, `sm watch`, `sm jobs prune` now honor `--db` / `-g`. `sm watch` and `sm scan --watch` honor `--no-color`. `sm scan --watch` names the conflicting flag on combo errors. `sm conformance run` progress moved to stderr; `--quiet` silences it.",packages:["@skill-map/cli"]}]},{version:"0.23.1",date:"2026-05-12",kind:"user-facing",highlights:[{body:"Inspector chips and the hero card now render their variant styling (link, warn, broken, danger, hero accent border). They had silently been rendering as bare defaults since PrimeNG 21 changed how `[styleClass]` is applied to chip and card hosts.",packages:["@skill-map/cli"]}]},{version:"0.23.0",date:"2026-05-12",kind:"user-facing",highlights:[{body:'Node inspector will split actions into "Applicable" (always available) and "Recommended" (per finding). First pairing: stale sidecar recommends running `bump`. UI hookup lands in the next iteration; the spec field ships first.',packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm plugins create <id> -g` now scaffolds under `~/.skill-map/plugins/<id>` instead of the project dir. The flag was advertised in `--help` but previously ignored.",packages:["@skill-map/cli"]},{body:"`sm refresh`, `sm plugins doctor`, and `sm conformance run` now respect `--json` for machine-readable output. `sm graph --format json` is a new format that emits the full ScanResult. CI / scripts can parse these instead of the human text.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm serve` now rejects browser requests whose `Host` or `Origin` is not a loopback name. Closes a DNS-rebinding lane where a malicious page could trigger scans or settings writes. `--dev-cors` still works for Vite-style dev UIs on a different loopback port.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm` now refuses to grant the `.sm` write consent (or apply `scan.extraFolders` / `scan.referencePaths`) from user-level config. The first prompt re-appears per project. Move stray values into `<project>/.skill-map/settings.local.json` (gitignored).",packages:["@skill-map/cli"]}]},{version:"0.22.0",date:"2026-05-12",kind:"user-facing",highlights:[{body:'The "include HOME" toggle is gone. To scan paths outside the project, list them in **Extra folders to scan** (renamed from *Extra roots*). If you had `scan.includeHome: true`, add the paths you actually need (e.g. `~/.claude/agents`), not one click anymore.',packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.21.0",date:"2026-05-10",kind:"user-facing",highlights:[{body:"Expanded node cards now show the file path above the description and a provider chip (Claude, Gemini, Open Skills). Favorite toggle uses a star instead of a heart.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Disabling a plugin now removes its card chips from the UI immediately. Previously the chips lingered until the next `sm scan`, making the toggle look broken.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"The card footer is cleaner: the three outgoing counters (`@`-mentions, markdown links, `/`-commands) share a single `\u2193` arrow glyph on the left, and the URL counter keeps its link glyph on the right. Three legacy hardcoded chips (in / out links, external URLs) were removed.",packages:["@skill-map/cli"]},{body:"`sm plugins show core/<ext>` now resolves like `enable`/`disable` do, and `sm plugins list` marks individually-disabled extensions with `\u2715`. The `sm tutorial` content is realigned with the v0.20.0 verbs (no more `sm graph --root` / `sm export --kind` / `kind: hook` claims).",packages:["@skill-map/cli"]},{body:"The view slot `card.footer.left.counter` was renamed to `card.footer.left`, symmetrical with `card.footer.right`. Plugin authors using the old literal in `plugin.json` need to update it; the scaffolder emits the new name automatically.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"The topbar now shows the full project path under the **skill-map** wordmark, so a screenshot or a quick glance at the UI is always self-identifying. Previously only the last folder segment was shown, and projects scanned from their own root saw no path at all.",packages:["@skill-map/cli"]}]},{version:"0.20.0",date:"2026-05-10",kind:"user-facing",highlights:[{body:'**Update-check is now a user preference.** Whether you see "Update available" notifications no longer depends on the project you are scanning. The toggle moved to **Settings \u2192 General**; the CLI equivalent is `sm config set -g updateCheck.enabled <bool>`.',packages:["@skill-map/cli"]},{body:"**`sm scan` now flags orphan job files.** A new check scans `.skill-map/jobs/` for MD files that no DB row references and reports each as a `warn` issue. To delete the files, run `sm bump prune --orphan-files` (unchanged).",packages:["@skill-map/cli"]},{body:"**`sm scan -g` now scans your HOME directory.** Run `sm scan -g` (without positional roots) to walk every active provider's HOME dir, typically `~/.claude`, `~/.gemini`, `~/.agents`, using the global config + DB.",packages:["@skill-map/cli"]},{body:"**Three new privacy-sensitive project settings** in Settings \u2192 Project: *include HOME provider directories*, *extra scan roots*, and *reference paths for link validation*. Every change that expands disk access beyond your project root requires explicit confirmation.",packages:["@skill-map/cli"]},{body:'**Reset Layout uses a proper dialog.** The "Reset all node positions" action used to fire a browser-native `confirm()` popup; it now uses the in-app dialog style with a destructive-styled "Reset" button and a "Cancel" escape.',packages:["@skill-map/cli"]},{body:'**Plugins can be locked by the host.** Settings \u2192 Plugins shows a "Locked" pill on plugins marked as mandatory (today only `core/markdown`, the universal `.md` fallback). The toggle stays visible but disabled, with a tooltip explaining why.',packages:["@skill-map/cli"]}]},{version:"0.19.0",date:"2026-05-09",kind:"user-facing",highlights:[{body:"**Settings \u2192 Changelog.** The Changelog tab in Settings now lists what's new in skill-map: one entry per release, newest first, bullet points for the user-facing changes. Bundled with the demo so it's available offline too.",packages:["@skill-map/cli"]},{body:"**Tags zoom-to-matching.** Clicking a tag chip in the inspector now pans + zooms the graph to fit every node that carries the tag. Click the same chip again to clear the selection and return to the previous view.",packages:["@skill-map/cli"]}]},{version:"0.18.0",date:"2026-05-07",kind:"user-facing",highlights:[{body:"**Bump sidecars in batch.** New `sm bump --pending` walks every node whose `.sm` sidecar reports drift and refreshes them in one pass. Single-node `sm bump <path>` also lands.",packages:["@skill-map/cli"]},{body:'**Annotation field dropped: `released`.** Redundant with `audit.lastBumpedAt`. The inspector and node card now read the activity timestamp from the `audit:` block, no more confusion between "officially released" and "last bumped".',packages:["@skill-map/cli"]}]},{version:"0.17.0",date:"2026-04-29",kind:"user-facing",highlights:[{body:"**Per-node chips in the graph card and inspector.** Plugins can now decorate nodes with counters, alerts, and key-value rows. Two come built-in: external-URL count per node, and in/out link counts.",packages:["@skill-map/cli"]},{body:"**Multi-provider graphs.** Claude, Gemini, and the open-standard `agent-skills` flavour now coexist in the same graph. Cards paint with each Provider's accent; the kind palette in the graph view filters on the actual node kind names.",packages:["@skill-map/cli"]}]}]};var Bt=zt;var mn=(t,i)=>i.version;function hn(t,i){if(t&1&&(m(0,"p",3),d(1),h()),t&2){let e=a();r(),u(" ",e.texts.changelogEmpty," ")}}function _n(t,i){if(t&1&&(m(0,"p",10),d(1),h()),t&2){let e=a(3);r(),u(" ",e.texts.changelogInternalRelease," ")}}function bn(t,i){if(t&1&&(m(0,"li",15),d(1),h()),t&2){let e=i.$implicit;r(),p(e)}}function fn(t,i){if(t&1&&(m(0,"ul",14),O(1,bn,2,1,"li",15,Q),h()),t&2){let e=a().$implicit,n=a(4);_("aria-label",n.texts.changelogAffectedPackages),r(),F(e.packages)}}function xn(t,i){if(t&1&&(m(0,"li",12),J(1,"div",13),f(2,fn,3,1,"ul",14),h()),t&2){let e=i.$implicit;r(),X("innerHTML",e.bodyHtml,nt),r(),x(e.packages.length?2:-1)}}function vn(t,i){if(t&1&&(m(0,"ul",11),O(1,xn,3,2,"li",12,at),h()),t&2){let e=a().$implicit;r(),F(e.highlights)}}function yn(t,i){if(t&1&&(m(0,"li",6)(1,"header",7)(2,"span",8),d(3),h(),m(4,"span",9),d(5),h()(),f(6,_n,2,1,"p",10)(7,vn,3,0,"ul",11),h()),t&2){let e=i.$implicit;$("settings-changelog__entry--internal",e.kind==="internal"),_("data-testid","settings-changelog-entry-"+e.version),r(3),u("v",e.version),r(2),p(e.date),r(),x(e.kind==="internal"?6:7)}}function Cn(t,i){if(t&1&&(m(0,"ol",4),O(1,yn,8,6,"li",5,mn),h()),t&2){let e=a();r(),F(e.entries())}}var Oe=class t{markdown=M(It);texts=w;entries=v([]);hasEntries=y(()=>this.entries().length>0);ngOnInit(){this.renderAll()}async renderAll(){let i=[];for(let e of Bt.entries){let n=[];for(let o of e.highlights)n.push({bodyHtml:await this.markdown.render(o.body),packages:o.packages});i.push({version:e.version,date:this.formatDate(e.date),kind:e.kind,highlights:n})}this.entries.set(i)}formatDate(i){let e=new Date(i+"T00:00:00Z");return Number.isNaN(e.getTime())?i:new Intl.DateTimeFormat("en-GB",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}).format(e)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,selectors:[["sm-settings-changelog"]],decls:7,vars:4,consts:[["data-testid","settings-changelog",1,"settings-changelog"],["id","settings-changelog-heading",1,"settings-changelog__title"],[1,"settings-changelog__intro"],["data-testid","settings-changelog-empty",1,"settings-changelog__empty"],["role","list",1,"settings-changelog__list"],[1,"settings-changelog__entry",3,"settings-changelog__entry--internal"],[1,"settings-changelog__entry"],[1,"settings-changelog__entry-header"],[1,"settings-changelog__version"],[1,"settings-changelog__date"],[1,"settings-changelog__internal-body"],["role","list",1,"settings-changelog__highlights"],[1,"settings-changelog__highlight"],[1,"settings-changelog__highlight-body",3,"innerHTML"],["role","list",1,"settings-changelog__packages"],[1,"settings-changelog__package"]],template:function(e,n){e&1&&(m(0,"section",0)(1,"h2",1),d(2),h(),m(3,"p",2),d(4),h(),f(5,hn,2,1,"p",3)(6,Cn,3,0,"ol",4),h()),e&2&&(_("aria-labelledby","settings-changelog-heading"),r(2),u(" ",n.texts.changelogHeading," "),r(2),p(n.texts.changelogIntro),r(),x(n.hasEntries()?6:5))},styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-changelog__title[_ngcontent-%COMP%]{margin:0 0 .25rem;font-size:1.05rem;font-weight:600;color:var(--p-text-color)}.settings-changelog__intro[_ngcontent-%COMP%]{margin:0 0 1.25rem;font-size:.85rem;color:var(--sm-text-muted);line-height:1.5}.settings-changelog__empty[_ngcontent-%COMP%]{margin:1.5rem 0 0;font-size:.9rem;color:var(--sm-text-muted);font-style:italic}.settings-changelog__list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.settings-changelog__entry[_ngcontent-%COMP%]{border-left:2px solid var(--p-primary-color);padding:.25rem 0 .25rem .85rem}.settings-changelog__entry--internal[_ngcontent-%COMP%]{border-left-color:var(--sm-border)}.settings-changelog__entry-header[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.45rem}.settings-changelog__version[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);font-size:.95rem;font-weight:600;color:var(--p-text-color)}.settings-changelog__date[_ngcontent-%COMP%]{font-size:.78rem;color:var(--sm-text-muted)}.settings-changelog__internal-body[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--sm-text-muted);font-style:italic}.settings-changelog__highlights[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.settings-changelog__highlight[_ngcontent-%COMP%]{font-size:.88rem;line-height:1.5;color:var(--p-text-color)}.settings-changelog__highlight-body[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .settings-changelog__highlight-body p{margin:0}[_nghost-%COMP%] .settings-changelog__highlight-body p+p{margin-top:.45rem}[_nghost-%COMP%] .settings-changelog__highlight-body code{font-family:var(--sm-font-mono);font-size:.82rem;padding:.05rem .3rem;border-radius:var(--sm-radius-sm);background:var(--sm-bg-hover);color:var(--p-text-color)}[_nghost-%COMP%] .settings-changelog__highlight-body a{color:var(--p-primary-color);text-decoration:underline}[_nghost-%COMP%] .settings-changelog__highlight-body strong{font-weight:600}.settings-changelog__packages[_ngcontent-%COMP%]{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.settings-changelog__package[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);font-size:.7rem;padding:.1rem .4rem;border-radius:var(--sm-radius-sm);background:var(--sm-bg-hover);color:var(--sm-text-muted);border:1px solid var(--sm-border);line-height:1.4}"],changeDetection:0})};var Kt=`
|
|
1
|
+
import{b as Vt,c as w,d as Lt,e as Rt}from"./chunk-UVILXZ5L.js";import{a as Ct,b as wt,c as Se,d as Pe,e as kt,f as St,g as It}from"./chunk-AD7RBRD3.js";import{a as Me,b as Te,c as Ot,d as Ft,e as Dt,f as At,g as jt,h as Nt,i as re,j as ae}from"./chunk-UXCAEDR6.js";import{e as Pt,f as Ee,h as ne,i as ie,j as oe,l as Et,m as Mt,n as Tt}from"./chunk-VO6NF24F.js";import{$ as tt,Aa as rt,Ba as Y,Bc as ee,Hb as Z,I as Xe,Ic as Ce,J as Ye,Jb as pt,Jc as we,K as Je,Ka as _,Lc as ft,M as Ze,Na as f,O as M,Oa as x,Oc as xt,Pa as at,Qa as Q,Qb as ut,Ra as O,S as et,Sa as F,T as k,Ta as b,Tb as y,U as S,Ua as l,Uc as vt,Va as s,Vc as me,Wa as T,Wb as ye,Wc as yt,Xa as m,Xb as V,Ya as h,Yb as mt,Za as J,ab as st,bd as ke,cc as ze,cd as te,da as v,db as I,dc as ht,ea as N,eb as X,fb as C,ga as Le,hb as a,id as G,jd as B,ka as nt,kb as lt,la as pe,lb as dt,mb as fe,nb as xe,oa as r,oc as _t,pb as ct,pc as bt,qb as gt,sb as Re,tb as $,ub as ve,vb as ue,wa as A,wb as d,xa as it,xb as p,yb as u,za as ot,zb as R}from"./chunk-J3YWUNFO.js";import"./chunk-H2J55DNK.js";import{a as q,b as W}from"./chunk-Q7L6LLAK.js";function gn(t,i){if(t&1&&(m(0,"p",6),d(1),h()),t&2){let e=a();r(),R(" ",e.texts.aboutErrorPrefix," ",e.loadError()," ")}}var Ie=class t{dataSource=M(G);updateCheck=M(Vt);theme=M(Rt);visible=V.required();texts=w;health=v(null);loadError=v(null);markSrc=y(()=>this.theme.resolved()==="dark"?"skill-map-mark-light.svg":"skill-map-mark-dark.svg");cliVersion=y(()=>this.updateCheck.current()??this.health()?.implVersion??this.texts.aboutUnknown);specVersion=y(()=>this.health()?.specVersion??this.texts.aboutLoading);schemaVersion=y(()=>this.health()?.schemaVersion??this.texts.aboutLoading);scope=y(()=>this.health()?.scope??this.texts.aboutLoading);cwd=y(()=>this.health()?.cwd??this.texts.aboutLoading);dbDisplay=y(()=>{let i=this.health();return i?this.texts.aboutDbValue(i.db,pn(i.dbPath,i.cwd)):this.texts.aboutLoading});homeDir=y(()=>this.health()?.homeDir??this.texts.aboutLoading);constructor(){N(()=>{this.visible()&&this.health()===null&&this.load()})}async load(){this.loadError.set(null);try{let i=await this.dataSource.health();this.health.set(i)}catch(i){let e=i instanceof B||i instanceof Error?i.message:String(i);this.loadError.set(e)}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,selectors:[["sm-settings-about"]],inputs:{visible:[1,"visible"]},decls:67,vars:29,consts:[["aria-labelledby","settings-about-heading","data-testid","settings-about",1,"settings-about"],[1,"settings-about__header"],["alt","","aria-hidden","true","data-testid","settings-about-logo",1,"settings-about__logo",3,"src"],[1,"settings-about__heading-text"],["id","settings-about-heading",1,"settings-about__title"],[1,"settings-about__intro"],["data-testid","settings-about-error",1,"settings-about__error"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-star",1,"settings-about__star",3,"href"],["aria-hidden","true",1,"fa-solid","fa-star","settings-about__star-icon"],[1,"settings-about__star-text"],[1,"settings-about__star-heading"],[1,"settings-about__star-body"],[1,"settings-about__star-cta"],["aria-hidden","true",1,"fa-solid","fa-star"],[1,"settings-about__list"],[1,"settings-about__row"],[1,"settings-about__label"],[1,"settings-about__value"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-website",1,"settings-about__link",3,"href"],["target","_blank","rel","noopener noreferrer","data-testid","settings-about-github",1,"settings-about__link",3,"href"],["data-testid","settings-about-cli",1,"settings-about__value"],["data-testid","settings-about-spec",1,"settings-about__value"],["data-testid","settings-about-schema",1,"settings-about__value"],["data-testid","settings-about-scope",1,"settings-about__value"],["data-testid","settings-about-cwd",1,"settings-about__value"],["data-testid","settings-about-db",1,"settings-about__value"],["data-testid","settings-about-home",1,"settings-about__value"]],template:function(e,n){e&1&&(m(0,"section",0)(1,"header",1),J(2,"img",2),m(3,"div",3)(4,"h2",4),d(5),h(),m(6,"p",5),d(7),h()()(),f(8,gn,2,2,"p",6),m(9,"a",7),J(10,"i",8),m(11,"span",9)(12,"span",10),d(13),h(),m(14,"span",11),d(15),h()(),m(16,"span",12),J(17,"i",13),d(18),h()(),m(19,"dl",14)(20,"div",15)(21,"dt",16),d(22),h(),m(23,"dd",17)(24,"a",18),d(25),h()()(),m(26,"div",15)(27,"dt",16),d(28),h(),m(29,"dd",17)(30,"a",19),d(31),h()()(),m(32,"div",15)(33,"dt",16),d(34),h(),m(35,"dd",20),d(36),h()(),m(37,"div",15)(38,"dt",16),d(39),h(),m(40,"dd",21),d(41),h()(),m(42,"div",15)(43,"dt",16),d(44),h(),m(45,"dd",22),d(46),h()(),m(47,"div",15)(48,"dt",16),d(49),h(),m(50,"dd",23),d(51),h()(),m(52,"div",15)(53,"dt",16),d(54),h(),m(55,"dd",24),d(56),h()(),m(57,"div",15)(58,"dt",16),d(59),h(),m(60,"dd",25),d(61),h()(),m(62,"div",15)(63,"dt",16),d(64),h(),m(65,"dd",26),d(66),h()()()()),e&2&&(r(2),X("src",n.markSrc(),pe),r(3),u(" ",n.texts.aboutHeading," "),r(2),p(n.texts.aboutIntro),r(),x(n.loadError()?8:-1),r(),X("href",n.texts.aboutGithubUrl,pe),_("aria-label",n.texts.aboutStarA11y),r(4),p(n.texts.aboutStarHeading),r(2),p(n.texts.aboutStarBody),r(3),u(" ",n.texts.aboutStarCta," "),r(4),p(n.texts.aboutWebsiteLabel),r(2),X("href",n.texts.aboutWebsiteUrl,pe),r(),p(n.texts.aboutWebsiteUrl),r(3),p(n.texts.aboutGithubLabel),r(2),X("href",n.texts.aboutGithubUrl,pe),r(),p(n.texts.aboutGithubUrl),r(3),p(n.texts.aboutCliLabel),r(2),u(" ",n.cliVersion()," "),r(3),p(n.texts.aboutSpecLabel),r(2),u(" ",n.specVersion()," "),r(3),p(n.texts.aboutSchemaLabel),r(2),u(" ",n.schemaVersion()," "),r(3),p(n.texts.aboutScopeLabel),r(2),u(" ",n.scope()," "),r(3),p(n.texts.aboutFolderLabel),r(2),u(" ",n.cwd()," "),r(3),p(n.texts.aboutDbLabel),r(2),u(" ",n.dbDisplay()," "),r(3),p(n.texts.aboutHomeLabel),r(2),u(" ",n.homeDir()," "))},styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-about[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.settings-about__header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:1rem}.settings-about__logo[_ngcontent-%COMP%]{width:64px;height:64px;flex-shrink:0}.settings-about__heading-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;min-width:0}.settings-about__title[_ngcontent-%COMP%]{font-size:1.15rem;font-weight:600;margin:0}.settings-about__intro[_ngcontent-%COMP%]{margin:0;color:var(--p-text-muted-color);font-size:.875rem}.settings-about__error[_ngcontent-%COMP%]{margin:0;padding:.5rem .75rem;border-radius:var(--p-border-radius);background:var(--p-message-error-background);color:var(--p-message-error-color);font-size:.875rem}.settings-about__list[_ngcontent-%COMP%]{margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.settings-about__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:180px 1fr;align-items:baseline;gap:.75rem;padding:.5rem .75rem;border-radius:var(--p-border-radius)}.settings-about__row[_ngcontent-%COMP%]:nth-child(odd){background:var(--p-content-hover-background)}.settings-about__label[_ngcontent-%COMP%]{margin:0;font-size:.875rem;color:var(--p-text-muted-color)}.settings-about__value[_ngcontent-%COMP%]{margin:0;font-family:var(--p-monospace-font-family);font-size:.875rem;word-break:break-all}.settings-about__link[_ngcontent-%COMP%]{color:var(--p-primary-color);text-decoration:none}.settings-about__link[_ngcontent-%COMP%]:hover, .settings-about__link[_ngcontent-%COMP%]:focus-visible{text-decoration:underline}.settings-about__star[_ngcontent-%COMP%]{--star-accent: #f4b400;display:flex;align-items:center;gap:.875rem;padding:.875rem 1rem;border-radius:var(--p-border-radius);border:1px solid color-mix(in oklab,var(--star-accent) 45%,transparent);background:color-mix(in oklab,var(--star-accent) 12%,transparent);color:var(--p-text-color);text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.settings-about__star[_ngcontent-%COMP%]:hover, .settings-about__star[_ngcontent-%COMP%]:focus-visible{background:color-mix(in oklab,var(--star-accent) 22%,transparent);border-color:color-mix(in oklab,var(--star-accent) 70%,transparent);transform:translateY(-1px);outline:none}.app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--star-accent) 18%,transparent);border-color:color-mix(in oklab,var(--star-accent) 55%,transparent)}.app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:hover, .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:hover, .app-dark[_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:focus-visible, .app-dark [_nghost-%COMP%] .settings-about__star[_ngcontent-%COMP%]:focus-visible{background:color-mix(in oklab,var(--star-accent) 30%,transparent);border-color:var(--star-accent)}.settings-about__star-icon[_ngcontent-%COMP%]{font-size:1.5rem;color:var(--star-accent);flex-shrink:0}.settings-about__star-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.settings-about__star-heading[_ngcontent-%COMP%]{font-weight:600;font-size:.95rem}.settings-about__star-body[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--p-text-muted-color);line-height:1.4}.settings-about__star-cta[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;border-radius:var(--sm-radius-pill);background:var(--star-accent);color:#1a1a1a;font-weight:600;font-size:.8125rem;white-space:nowrap;flex-shrink:0}.settings-about__star[_ngcontent-%COMP%]:hover .settings-about__star-cta[_ngcontent-%COMP%], .settings-about__star[_ngcontent-%COMP%]:focus-visible .settings-about__star-cta[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--star-accent) 88%,white)}"],changeDetection:0})};function pn(t,i){if(!t||!i)return t;let e=i.replace(/[/\\]+$/,"");return t.startsWith(e)?t.slice(e.length).replace(/^[/\\]+/,""):t}var zt={schemaVersion:1,entries:[{version:"0.24.3",date:"2026-05-13",kind:"internal",highlights:[]},{version:"0.24.2",date:"2026-05-13",kind:"user-facing",highlights:[{body:'**Graph edge style picker** \u2014 Settings \u2192 General now has an "Edge style" control. Pick **Orthogonal**, **Straight**, **Bezier**, or **Adaptive curve** (new default) and the graph re-renders immediately. The choice is remembered in this browser only.',packages:["@skill-map/cli"]},{body:"**Edge look refresh** \u2014 graph edges now show a small **dot at the start** and arrow at the end, with thinner strokes and softer colors. Kind colors (invokes / references / mentions / supersedes) are still distinct but no longer compete with the node cards for attention.",packages:["@skill-map/cli"]},{body:"**Click an edge to highlight it** \u2014 clicking a connection in the graph now selects it: the line grows a touch thicker and saturates to its full colour (same hue as the base, just louder). Click elsewhere on the canvas to clear the selection.",packages:["@skill-map/cli"]},{body:"**Footer link icons refresh** \u2014 the incoming / outgoing link counters on each node card now use the classic **download / upload** glyphs instead of plain up / down arrows. The arrow shape stays exclusive to the graph's edges, which keeps the visual vocabulary clearer.",packages:["@skill-map/cli"]}]},{version:"0.24.1",date:"2026-05-13",kind:"user-facing",highlights:[{body:'**Graph edge style picker** \u2014 Settings \u2192 General now has an "Edge style" control. Pick **Orthogonal** (default), **Straight**, **Bezier**, or **Adaptive curve** and the graph re-renders immediately. The choice is remembered in this browser only.',packages:["@skill-map/cli"]}]},{version:"0.24.0",date:"2026-05-13",kind:"user-facing",highlights:[{body:"**CLI flags fixed.** `sm refresh`, `sm watch`, `sm jobs prune` now honor `--db` / `-g`. `sm watch` and `sm scan --watch` honor `--no-color`. `sm scan --watch` names the conflicting flag on combo errors. `sm conformance run` progress moved to stderr; `--quiet` silences it.",packages:["@skill-map/cli"]}]},{version:"0.23.1",date:"2026-05-12",kind:"user-facing",highlights:[{body:"Inspector chips and the hero card now render their variant styling (link, warn, broken, danger, hero accent border). They had silently been rendering as bare defaults since PrimeNG 21 changed how `[styleClass]` is applied to chip and card hosts.",packages:["@skill-map/cli"]}]},{version:"0.23.0",date:"2026-05-12",kind:"user-facing",highlights:[{body:'Node inspector will split actions into "Applicable" (always available) and "Recommended" (per finding). First pairing: stale sidecar recommends running `bump`. UI hookup lands in the next iteration; the spec field ships first.',packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm plugins create <id> -g` now scaffolds under `~/.skill-map/plugins/<id>` instead of the project dir. The flag was advertised in `--help` but previously ignored.",packages:["@skill-map/cli"]},{body:"`sm refresh`, `sm plugins doctor`, and `sm conformance run` now respect `--json` for machine-readable output. `sm graph --format json` is a new format that emits the full ScanResult. CI / scripts can parse these instead of the human text.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm serve` now rejects browser requests whose `Host` or `Origin` is not a loopback name. Closes a DNS-rebinding lane where a malicious page could trigger scans or settings writes. `--dev-cors` still works for Vite-style dev UIs on a different loopback port.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"`sm` now refuses to grant the `.sm` write consent (or apply `scan.extraFolders` / `scan.referencePaths`) from user-level config. The first prompt re-appears per project. Move stray values into `<project>/.skill-map/settings.local.json` (gitignored).",packages:["@skill-map/cli"]}]},{version:"0.22.0",date:"2026-05-12",kind:"user-facing",highlights:[{body:'The "include HOME" toggle is gone. To scan paths outside the project, list them in **Extra folders to scan** (renamed from *Extra roots*). If you had `scan.includeHome: true`, add the paths you actually need (e.g. `~/.claude/agents`), not one click anymore.',packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.21.0",date:"2026-05-10",kind:"user-facing",highlights:[{body:"Expanded node cards now show the file path above the description and a provider chip (Claude, Gemini, Open Skills). Favorite toggle uses a star instead of a heart.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"Disabling a plugin now removes its card chips from the UI immediately. Previously the chips lingered until the next `sm scan`, making the toggle look broken.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"The card footer is cleaner: the three outgoing counters (`@`-mentions, markdown links, `/`-commands) share a single `\u2193` arrow glyph on the left, and the URL counter keeps its link glyph on the right. Three legacy hardcoded chips (in / out links, external URLs) were removed.",packages:["@skill-map/cli"]},{body:"`sm plugins show core/<ext>` now resolves like `enable`/`disable` do, and `sm plugins list` marks individually-disabled extensions with `\u2715`. The `sm tutorial` content is realigned with the v0.20.0 verbs (no more `sm graph --root` / `sm export --kind` / `kind: hook` claims).",packages:["@skill-map/cli"]},{body:"The view slot `card.footer.left.counter` was renamed to `card.footer.left`, symmetrical with `card.footer.right`. Plugin authors using the old literal in `plugin.json` need to update it; the scaffolder emits the new name automatically.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"The topbar now shows the full project path under the **skill-map** wordmark, so a screenshot or a quick glance at the UI is always self-identifying. Previously only the last folder segment was shown, and projects scanned from their own root saw no path at all.",packages:["@skill-map/cli"]}]},{version:"0.20.0",date:"2026-05-10",kind:"user-facing",highlights:[{body:'**Update-check is now a user preference.** Whether you see "Update available" notifications no longer depends on the project you are scanning. The toggle moved to **Settings \u2192 General**; the CLI equivalent is `sm config set -g updateCheck.enabled <bool>`.',packages:["@skill-map/cli"]},{body:"**`sm scan` now flags orphan job files.** A new check scans `.skill-map/jobs/` for MD files that no DB row references and reports each as a `warn` issue. To delete the files, run `sm bump prune --orphan-files` (unchanged).",packages:["@skill-map/cli"]},{body:"**`sm scan -g` now scans your HOME directory.** Run `sm scan -g` (without positional roots) to walk every active provider's HOME dir, typically `~/.claude`, `~/.gemini`, `~/.agents`, using the global config + DB.",packages:["@skill-map/cli"]},{body:"**Three new privacy-sensitive project settings** in Settings \u2192 Project: *include HOME provider directories*, *extra scan roots*, and *reference paths for link validation*. Every change that expands disk access beyond your project root requires explicit confirmation.",packages:["@skill-map/cli"]},{body:'**Reset Layout uses a proper dialog.** The "Reset all node positions" action used to fire a browser-native `confirm()` popup; it now uses the in-app dialog style with a destructive-styled "Reset" button and a "Cancel" escape.',packages:["@skill-map/cli"]},{body:'**Plugins can be locked by the host.** Settings \u2192 Plugins shows a "Locked" pill on plugins marked as mandatory (today only `core/markdown`, the universal `.md` fallback). The toggle stays visible but disabled, with a tooltip explaining why.',packages:["@skill-map/cli"]}]},{version:"0.19.0",date:"2026-05-09",kind:"user-facing",highlights:[{body:"**Settings \u2192 Changelog.** The Changelog tab in Settings now lists what's new in skill-map: one entry per release, newest first, bullet points for the user-facing changes. Bundled with the demo so it's available offline too.",packages:["@skill-map/cli"]},{body:"**Tags zoom-to-matching.** Clicking a tag chip in the inspector now pans + zooms the graph to fit every node that carries the tag. Click the same chip again to clear the selection and return to the previous view.",packages:["@skill-map/cli"]}]},{version:"0.18.0",date:"2026-05-07",kind:"user-facing",highlights:[{body:"**Bump sidecars in batch.** New `sm bump --pending` walks every node whose `.sm` sidecar reports drift and refreshes them in one pass. Single-node `sm bump <path>` also lands.",packages:["@skill-map/cli"]},{body:'**Annotation field dropped: `released`.** Redundant with `audit.lastBumpedAt`. The inspector and node card now read the activity timestamp from the `audit:` block, no more confusion between "officially released" and "last bumped".',packages:["@skill-map/cli"]}]},{version:"0.17.0",date:"2026-04-29",kind:"user-facing",highlights:[{body:"**Per-node chips in the graph card and inspector.** Plugins can now decorate nodes with counters, alerts, and key-value rows. Two come built-in: external-URL count per node, and in/out link counts.",packages:["@skill-map/cli"]},{body:"**Multi-provider graphs.** Claude, Gemini, and the open-standard `agent-skills` flavour now coexist in the same graph. Cards paint with each Provider's accent; the kind palette in the graph view filters on the actual node kind names.",packages:["@skill-map/cli"]}]}]};var Bt=zt;var mn=(t,i)=>i.version;function hn(t,i){if(t&1&&(m(0,"p",3),d(1),h()),t&2){let e=a();r(),u(" ",e.texts.changelogEmpty," ")}}function _n(t,i){if(t&1&&(m(0,"p",10),d(1),h()),t&2){let e=a(3);r(),u(" ",e.texts.changelogInternalRelease," ")}}function bn(t,i){if(t&1&&(m(0,"li",15),d(1),h()),t&2){let e=i.$implicit;r(),p(e)}}function fn(t,i){if(t&1&&(m(0,"ul",14),O(1,bn,2,1,"li",15,Q),h()),t&2){let e=a().$implicit,n=a(4);_("aria-label",n.texts.changelogAffectedPackages),r(),F(e.packages)}}function xn(t,i){if(t&1&&(m(0,"li",12),J(1,"div",13),f(2,fn,3,1,"ul",14),h()),t&2){let e=i.$implicit;r(),X("innerHTML",e.bodyHtml,nt),r(),x(e.packages.length?2:-1)}}function vn(t,i){if(t&1&&(m(0,"ul",11),O(1,xn,3,2,"li",12,at),h()),t&2){let e=a().$implicit;r(),F(e.highlights)}}function yn(t,i){if(t&1&&(m(0,"li",6)(1,"header",7)(2,"span",8),d(3),h(),m(4,"span",9),d(5),h()(),f(6,_n,2,1,"p",10)(7,vn,3,0,"ul",11),h()),t&2){let e=i.$implicit;$("settings-changelog__entry--internal",e.kind==="internal"),_("data-testid","settings-changelog-entry-"+e.version),r(3),u("v",e.version),r(2),p(e.date),r(),x(e.kind==="internal"?6:7)}}function Cn(t,i){if(t&1&&(m(0,"ol",4),O(1,yn,8,6,"li",5,mn),h()),t&2){let e=a();r(),F(e.entries())}}var Oe=class t{markdown=M(It);texts=w;entries=v([]);hasEntries=y(()=>this.entries().length>0);ngOnInit(){this.renderAll()}async renderAll(){let i=[];for(let e of Bt.entries){let n=[];for(let o of e.highlights)n.push({bodyHtml:await this.markdown.render(o.body),packages:o.packages});i.push({version:e.version,date:this.formatDate(e.date),kind:e.kind,highlights:n})}this.entries.set(i)}formatDate(i){let e=new Date(i+"T00:00:00Z");return Number.isNaN(e.getTime())?i:new Intl.DateTimeFormat("en-GB",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}).format(e)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,selectors:[["sm-settings-changelog"]],decls:7,vars:4,consts:[["data-testid","settings-changelog",1,"settings-changelog"],["id","settings-changelog-heading",1,"settings-changelog__title"],[1,"settings-changelog__intro"],["data-testid","settings-changelog-empty",1,"settings-changelog__empty"],["role","list",1,"settings-changelog__list"],[1,"settings-changelog__entry",3,"settings-changelog__entry--internal"],[1,"settings-changelog__entry"],[1,"settings-changelog__entry-header"],[1,"settings-changelog__version"],[1,"settings-changelog__date"],[1,"settings-changelog__internal-body"],["role","list",1,"settings-changelog__highlights"],[1,"settings-changelog__highlight"],[1,"settings-changelog__highlight-body",3,"innerHTML"],["role","list",1,"settings-changelog__packages"],[1,"settings-changelog__package"]],template:function(e,n){e&1&&(m(0,"section",0)(1,"h2",1),d(2),h(),m(3,"p",2),d(4),h(),f(5,hn,2,1,"p",3)(6,Cn,3,0,"ol",4),h()),e&2&&(_("aria-labelledby","settings-changelog-heading"),r(2),u(" ",n.texts.changelogHeading," "),r(2),p(n.texts.changelogIntro),r(),x(n.hasEntries()?6:5))},styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-changelog__title[_ngcontent-%COMP%]{margin:0 0 .25rem;font-size:1.05rem;font-weight:600;color:var(--p-text-color)}.settings-changelog__intro[_ngcontent-%COMP%]{margin:0 0 1.25rem;font-size:.85rem;color:var(--sm-text-muted);line-height:1.5}.settings-changelog__empty[_ngcontent-%COMP%]{margin:1.5rem 0 0;font-size:.9rem;color:var(--sm-text-muted);font-style:italic}.settings-changelog__list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.settings-changelog__entry[_ngcontent-%COMP%]{border-left:2px solid var(--p-primary-color);padding:.25rem 0 .25rem .85rem}.settings-changelog__entry--internal[_ngcontent-%COMP%]{border-left-color:var(--sm-border)}.settings-changelog__entry-header[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.45rem}.settings-changelog__version[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);font-size:.95rem;font-weight:600;color:var(--p-text-color)}.settings-changelog__date[_ngcontent-%COMP%]{font-size:.78rem;color:var(--sm-text-muted)}.settings-changelog__internal-body[_ngcontent-%COMP%]{margin:0;font-size:.85rem;color:var(--sm-text-muted);font-style:italic}.settings-changelog__highlights[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}.settings-changelog__highlight[_ngcontent-%COMP%]{font-size:.88rem;line-height:1.5;color:var(--p-text-color)}.settings-changelog__highlight-body[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] .settings-changelog__highlight-body p{margin:0}[_nghost-%COMP%] .settings-changelog__highlight-body p+p{margin-top:.45rem}[_nghost-%COMP%] .settings-changelog__highlight-body code{font-family:var(--sm-font-mono);font-size:.82rem;padding:.05rem .3rem;border-radius:var(--sm-radius-sm);background:var(--sm-bg-hover);color:var(--p-text-color)}[_nghost-%COMP%] .settings-changelog__highlight-body a{color:var(--p-primary-color);text-decoration:underline}[_nghost-%COMP%] .settings-changelog__highlight-body strong{font-weight:600}.settings-changelog__packages[_ngcontent-%COMP%]{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem}.settings-changelog__package[_ngcontent-%COMP%]{font-family:var(--sm-font-mono);font-size:.7rem;padding:.1rem .4rem;border-radius:var(--sm-radius-sm);background:var(--sm-bg-hover);color:var(--sm-text-muted);border:1px solid var(--sm-border);line-height:1.4}"],changeDetection:0})};var Kt=`
|
|
2
2
|
.p-toggleswitch {
|
|
3
3
|
display: inline-block;
|
|
4
4
|
width: dt('toggleswitch.width');
|