@skill-map/cli 0.16.6 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cli/tutorial/sm-tutorial.md +8 -0
  2. package/dist/cli.js +8324 -5644
  3. package/dist/cli.js.map +1 -1
  4. package/dist/conformance/index.js +36 -14
  5. package/dist/conformance/index.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/index.js +540 -61
  8. package/dist/index.js.map +1 -1
  9. package/dist/kernel/index.d.ts +443 -87
  10. package/dist/kernel/index.js +540 -61
  11. package/dist/kernel/index.js.map +1 -1
  12. package/dist/migrations/002_sidecar_columns.sql +53 -0
  13. package/dist/migrations/003_drop_node_author.sql +20 -0
  14. package/dist/migrations/004_sidecar_root_json.sql +23 -0
  15. package/dist/migrations/005_node_favorites.sql +20 -0
  16. package/dist/ui/chunk-3R7E3HPC.js +7 -0
  17. package/dist/ui/chunk-JKJGGXCS.js +1025 -0
  18. package/dist/ui/chunk-SX2A3WBX.js +247 -0
  19. package/dist/ui/chunk-TWZHUCAT.js +237 -0
  20. package/dist/ui/chunk-UJOZYR5I.js +1 -0
  21. package/dist/ui/chunk-WTAL2RK4.js +1 -0
  22. package/dist/ui/chunk-Z3UJHHTC.js +3091 -0
  23. package/dist/ui/index.html +2 -2
  24. package/dist/ui/main-AAYGMON4.js +1 -0
  25. package/dist/ui/skill-map-mark-dark.svg +8 -0
  26. package/dist/ui/skill-map-mark-light.svg +8 -0
  27. package/dist/ui/{styles-TCK5JUQE.css → styles-CBPFNGXA.css} +1 -1
  28. package/migrations/002_sidecar_columns.sql +53 -0
  29. package/migrations/003_drop_node_author.sql +20 -0
  30. package/migrations/004_sidecar_root_json.sql +23 -0
  31. package/migrations/005_node_favorites.sql +20 -0
  32. package/package.json +6 -6
  33. package/dist/ui/chunk-7PFTODKS.js +0 -1031
  34. package/dist/ui/chunk-A4RBO3TD.js +0 -38
  35. package/dist/ui/chunk-KPEISNOV.js +0 -819
  36. package/dist/ui/chunk-NKC42FI7.js +0 -210
  37. package/dist/ui/chunk-S5C4U3I3.js +0 -2403
  38. package/dist/ui/chunk-TG6IWVEC.js +0 -54
  39. package/dist/ui/chunk-TGJQE3TH.js +0 -54
  40. package/dist/ui/chunk-UGEECDPV.js +0 -1
  41. package/dist/ui/main-XSGTD7FQ.js +0 -1
@@ -1,54 +0,0 @@
1
- import{Ac as ie,Ba as $,Bc as T,Cc as oe,D as h,Dc as re,Ea as q,Fa as d,Ga as G,Gc as ce,H as j,Ha as U,Hc as ae,I as a,Nc as v,O as x,P as z,R,Ra as J,S as w,Sc as se,T as m,W as _,_a as W,ca as c,da as f,ea as g,fa as K,ga as E,ha as B,ia as V,ib as A,ja as M,ka as S,l as F,m as L,mb as X,n as N,oa as u,ob as Y,p as b,pa as O,qa as C,qb as ee,r as p,ra as r,rb as te,s as l,sa as Q,t as I,ta as H,tc as ne,ua as Z,wa as P,x as k,xa as D}from"./chunk-7PFTODKS.js";var fe=["data-p-icon","times-circle"],pe=(()=>{class t extends se{pathId;onInit(){this.pathId="url(#"+ne()+")"}static \u0275fac=(()=>{let e;return function(i){return(e||(e=h(t)))(i||t)}})();static \u0275cmp=x({type:t,selectors:[["","data-p-icon","times-circle"]],features:[w],attrs:fe,decls:5,vars:2,consts:[["fill-rule","evenodd","clip-rule","evenodd","d","M7 14C5.61553 14 4.26215 13.5895 3.11101 12.8203C1.95987 12.0511 1.06266 10.9579 0.532846 9.67879C0.00303296 8.3997 -0.13559 6.99224 0.134506 5.63437C0.404603 4.2765 1.07129 3.02922 2.05026 2.05026C3.02922 1.07129 4.2765 0.404603 5.63437 0.134506C6.99224 -0.13559 8.3997 0.00303296 9.67879 0.532846C10.9579 1.06266 12.0511 1.95987 12.8203 3.11101C13.5895 4.26215 14 5.61553 14 7C14 8.85652 13.2625 10.637 11.9497 11.9497C10.637 13.2625 8.85652 14 7 14ZM7 1.16667C5.84628 1.16667 4.71846 1.50879 3.75918 2.14976C2.79989 2.79074 2.05222 3.70178 1.61071 4.76768C1.16919 5.83358 1.05367 7.00647 1.27876 8.13803C1.50384 9.26958 2.05941 10.309 2.87521 11.1248C3.69102 11.9406 4.73042 12.4962 5.86198 12.7212C6.99353 12.9463 8.16642 12.8308 9.23232 12.3893C10.2982 11.9478 11.2093 11.2001 11.8502 10.2408C12.4912 9.28154 12.8333 8.15373 12.8333 7C12.8333 5.45291 12.2188 3.96918 11.1248 2.87521C10.0308 1.78125 8.5471 1.16667 7 1.16667ZM4.66662 9.91668C4.58998 9.91704 4.51404 9.90209 4.44325 9.87271C4.37246 9.84333 4.30826 9.8001 4.2544 9.74557C4.14516 9.6362 4.0838 9.48793 4.0838 9.33335C4.0838 9.17876 4.14516 9.0305 4.2544 8.92113L6.17553 7L4.25443 5.07891C4.15139 4.96832 4.09529 4.82207 4.09796 4.67094C4.10063 4.51982 4.16185 4.37563 4.26872 4.26876C4.3756 4.16188 4.51979 4.10066 4.67091 4.09799C4.82204 4.09532 4.96829 4.15142 5.07887 4.25446L6.99997 6.17556L8.92106 4.25446C9.03164 4.15142 9.1779 4.09532 9.32903 4.09799C9.48015 4.10066 9.62434 4.16188 9.73121 4.26876C9.83809 4.37563 9.89931 4.51982 9.90198 4.67094C9.90464 4.82207 9.84855 4.96832 9.74551 5.07891L7.82441 7L9.74554 8.92113C9.85478 9.0305 9.91614 9.17876 9.91614 9.33335C9.91614 9.48793 9.85478 9.6362 9.74554 9.74557C9.69168 9.8001 9.62748 9.84333 9.55669 9.87271C9.4859 9.90209 9.40996 9.91704 9.33332 9.91668C9.25668 9.91704 9.18073 9.90209 9.10995 9.87271C9.03916 9.84333 8.97495 9.8001 8.9211 9.74557L6.99997 7.82444L5.07884 9.74557C5.02499 9.8001 4.96078 9.84333 4.88999 9.87271C4.81921 9.90209 4.74326 9.91704 4.66662 9.91668Z","fill","currentColor"],[3,"id"],["width","14","height","14","fill","white"]],template:function(n,i){n&1&&(I(),E(0,"g"),V(1,"path",0),B(),E(2,"defs")(3,"clipPath",1),V(4,"rect",2),B()()),n&2&&(_("clip-path",i.pathId),a(3),O("id",i.pathId))},encapsulation:2})}return t})();var le=`
2
- .p-chip {
3
- display: inline-flex;
4
- align-items: center;
5
- background: dt('chip.background');
6
- color: dt('chip.color');
7
- border-radius: dt('chip.border.radius');
8
- padding-block: dt('chip.padding.y');
9
- padding-inline: dt('chip.padding.x');
10
- gap: dt('chip.gap');
11
- }
12
-
13
- .p-chip-icon {
14
- color: dt('chip.icon.color');
15
- font-size: dt('chip.icon.size');
16
- width: dt('chip.icon.size');
17
- height: dt('chip.icon.size');
18
- }
19
-
20
- .p-chip-image {
21
- border-radius: 50%;
22
- width: dt('chip.image.width');
23
- height: dt('chip.image.height');
24
- margin-inline-start: calc(-1 * dt('chip.padding.y'));
25
- }
26
-
27
- .p-chip:has(.p-chip-remove-icon) {
28
- padding-inline-end: dt('chip.padding.y');
29
- }
30
-
31
- .p-chip:has(.p-chip-image) {
32
- padding-block-start: calc(dt('chip.padding.y') / 2);
33
- padding-block-end: calc(dt('chip.padding.y') / 2);
34
- }
35
-
36
- .p-chip-remove-icon {
37
- cursor: pointer;
38
- font-size: dt('chip.remove.icon.size');
39
- width: dt('chip.remove.icon.size');
40
- height: dt('chip.remove.icon.size');
41
- color: dt('chip.remove.icon.color');
42
- border-radius: 50%;
43
- transition:
44
- outline-color dt('chip.transition.duration'),
45
- box-shadow dt('chip.transition.duration');
46
- outline-color: transparent;
47
- }
48
-
49
- .p-chip-remove-icon:focus-visible {
50
- box-shadow: dt('chip.remove.icon.focus.ring.shadow');
51
- outline: dt('chip.remove.icon.focus.ring.width') dt('chip.remove.icon.focus.ring.style') dt('chip.remove.icon.focus.ring.color');
52
- outline-offset: dt('chip.remove.icon.focus.ring.offset');
53
- }
54
- `;var ge=["removeicon"],he=["*"];function ue(t,s){if(t&1){let e=u();f(0,"img",4),C("error",function(i){p(e);let o=r();return l(o.imageError(i))}),g()}if(t&2){let e=r();d(e.cx("image")),c("pBind",e.ptm("image"))("src",e.image,j)("alt",e.alt)}}function Ce(t,s){if(t&1&&K(0,"span",6),t&2){let e=r(2);d(e.icon),c("pBind",e.ptm("icon"))("ngClass",e.cx("icon"))}}function ve(t,s){if(t&1&&m(0,Ce,1,4,"span",5),t&2){let e=r();c("ngIf",e.icon)}}function ye(t,s){if(t&1&&(f(0,"div",7),G(1),g()),t&2){let e=r();d(e.cx("label")),c("pBind",e.ptm("label")),a(),U(e.label)}}function be(t,s){if(t&1){let e=u();f(0,"span",11),C("click",function(i){p(e);let o=r(3);return l(o.close(i))})("keydown",function(i){p(e);let o=r(3);return l(o.onKeydown(i))}),g()}if(t&2){let e=r(3);d(e.removeIcon),c("pBind",e.ptm("removeIcon"))("ngClass",e.cx("removeIcon")),_("tabindex",e.disabled?-1:0)("aria-label",e.removeAriaLabel)}}function Ie(t,s){if(t&1){let e=u();I(),f(0,"svg",12),C("click",function(i){p(e);let o=r(3);return l(o.close(i))})("keydown",function(i){p(e);let o=r(3);return l(o.onKeydown(i))}),g()}if(t&2){let e=r(3);d(e.cx("removeIcon")),c("pBind",e.ptm("removeIcon")),_("tabindex",e.disabled?-1:0)("aria-label",e.removeAriaLabel)}}function xe(t,s){if(t&1&&(M(0),m(1,be,1,6,"span",9)(2,Ie,1,5,"svg",10),S()),t&2){let e=r(2);a(),c("ngIf",e.removeIcon),a(),c("ngIf",!e.removeIcon)}}function we(t,s){}function Te(t,s){t&1&&m(0,we,0,0,"ng-template")}function ke(t,s){if(t&1){let e=u();f(0,"span",13),C("click",function(i){p(e);let o=r(2);return l(o.close(i))})("keydown",function(i){p(e);let o=r(2);return l(o.onKeydown(i))}),m(1,Te,1,0,null,14),g()}if(t&2){let e=r(2);d(e.cx("removeIcon")),c("pBind",e.ptm("removeIcon")),_("tabindex",e.disabled?-1:0)("aria-label",e.removeAriaLabel),a(),c("ngTemplateOutlet",e.removeIconTemplate||e._removeIconTemplate)}}function Ee(t,s){if(t&1&&(M(0),m(1,xe,3,2,"ng-container",3)(2,ke,2,6,"span",8),S()),t&2){let e=r();a(),c("ngIf",!e.removeIconTemplate&&!e._removeIconTemplate),a(),c("ngIf",e.removeIconTemplate||e._removeIconTemplate)}}var Be={root:({instance:t})=>({display:!t.visible&&"none"})},Ve={root:({instance:t})=>["p-chip p-component",{"p-disabled":t.disabled}],image:"p-chip-image",icon:"p-chip-icon",label:"p-chip-label",removeIcon:"p-chip-remove-icon"},de=(()=>{class t extends re{name="chip";style=le;classes=Ve;inlineStyles=Be;static \u0275fac=(()=>{let e;return function(i){return(e||(e=h(t)))(i||t)}})();static \u0275prov=F({token:t,factory:t.\u0275fac})}return t})();var me=new N("CHIP_INSTANCE"),Me=(()=>{class t extends ae{componentName="Chip";$pcChip=b(me,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=b(v,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}label;icon;image;alt;styleClass;disabled=!1;removable=!1;removeIcon;onRemove=new k;onImageError=new k;visible=!0;get removeAriaLabel(){return this.config.getTranslation(oe.ARIA).removeLabel}get chipProps(){return this._chipProps}set chipProps(e){this._chipProps=e,e&&typeof e=="object"&&Object.entries(e).forEach(([n,i])=>this[`_${n}`]!==i&&(this[`_${n}`]=i))}_chipProps;_componentStyle=b(de);removeIconTemplate;templates;_removeIconTemplate;onAfterContentInit(){this.templates.forEach(e=>{e.getType()==="removeicon"?this._removeIconTemplate=e.template:this._removeIconTemplate=e.template})}onChanges(e){if(e.chipProps&&e.chipProps.currentValue){let{currentValue:n}=e.chipProps;n.label!==void 0&&(this.label=n.label),n.icon!==void 0&&(this.icon=n.icon),n.image!==void 0&&(this.image=n.image),n.alt!==void 0&&(this.alt=n.alt),n.styleClass!==void 0&&(this.styleClass=n.styleClass),n.removable!==void 0&&(this.removable=n.removable),n.removeIcon!==void 0&&(this.removeIcon=n.removeIcon)}}close(e){this.visible=!1,this.onRemove.emit(e)}onKeydown(e){(e.key==="Enter"||e.key==="Backspace")&&this.close(e)}imageError(e){this.onImageError.emit(e)}get dataP(){return this.cn({removable:this.removable})}static \u0275fac=(()=>{let e;return function(i){return(e||(e=h(t)))(i||t)}})();static \u0275cmp=x({type:t,selectors:[["p-chip"]],contentQueries:function(n,i,o){if(n&1&&Z(o,ge,4)(o,ie,4),n&2){let y;P(y=D())&&(i.removeIconTemplate=y.first),P(y=D())&&(i.templates=y)}},hostVars:6,hostBindings:function(n,i){n&2&&(_("aria-label",i.label)("data-p",i.dataP),q(i.sx("root")),d(i.cn(i.cx("root"),i.styleClass)))},inputs:{label:"label",icon:"icon",image:"image",alt:"alt",styleClass:"styleClass",disabled:[2,"disabled","disabled",A],removable:[2,"removable","removable",A],removeIcon:"removeIcon",chipProps:"chipProps"},outputs:{onRemove:"onRemove",onImageError:"onImageError"},features:[J([de,{provide:me,useExisting:t},{provide:ce,useExisting:t}]),R([v]),w],ngContentSelectors:he,decls:6,vars:4,consts:[["iconTemplate",""],[3,"pBind","class","src","alt","error",4,"ngIf","ngIfElse"],[3,"pBind","class",4,"ngIf"],[4,"ngIf"],[3,"error","pBind","src","alt"],[3,"pBind","class","ngClass",4,"ngIf"],[3,"pBind","ngClass"],[3,"pBind"],["role","button",3,"pBind","class","click","keydown",4,"ngIf"],["role","button",3,"pBind","class","ngClass","click","keydown",4,"ngIf"],["data-p-icon","times-circle","role","button",3,"pBind","class","click","keydown",4,"ngIf"],["role","button",3,"click","keydown","pBind","ngClass"],["data-p-icon","times-circle","role","button",3,"click","keydown","pBind"],["role","button",3,"click","keydown","pBind"],[4,"ngTemplateOutlet"]],template:function(n,i){if(n&1&&(Q(),H(0),m(1,ue,1,5,"img",1)(2,ve,1,1,"ng-template",null,0,W)(4,ye,2,4,"div",2)(5,Ee,3,2,"ng-container",3)),n&2){let o=$(3);a(),c("ngIf",i.image)("ngIfElse",o),a(3),c("ngIf",i.label),a(),c("ngIf",i.removable)}},dependencies:[te,X,Y,ee,pe,T,v],encapsulation:2,changeDetection:0})}return t})(),et=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=z({type:t});static \u0275inj=L({imports:[Me,T,T]})}return t})();export{Me as a,et as b};
@@ -1,54 +0,0 @@
1
- import{Ac as q,Bc as u,D as m,Dc as G,Fa as c,Ga as F,Gc as H,Ha as j,Hc as $,I as i,Nc as s,O as I,P as k,R as x,Ra as z,S as B,T as r,W as M,ca as a,da as f,ea as y,fa as w,ib as P,ja as D,ka as N,l as b,m as h,mb as Q,n as C,ob as O,p as l,qb as R,ra as g,rb as V,sa as S,ta as E,ua as A,wa as v,xa as T}from"./chunk-7PFTODKS.js";var J=`
2
- .p-tag {
3
- display: inline-flex;
4
- align-items: center;
5
- justify-content: center;
6
- background: dt('tag.primary.background');
7
- color: dt('tag.primary.color');
8
- font-size: dt('tag.font.size');
9
- font-weight: dt('tag.font.weight');
10
- padding: dt('tag.padding');
11
- border-radius: dt('tag.border.radius');
12
- gap: dt('tag.gap');
13
- }
14
-
15
- .p-tag-icon {
16
- font-size: dt('tag.icon.size');
17
- width: dt('tag.icon.size');
18
- height: dt('tag.icon.size');
19
- }
20
-
21
- .p-tag-rounded {
22
- border-radius: dt('tag.rounded.border.radius');
23
- }
24
-
25
- .p-tag-success {
26
- background: dt('tag.success.background');
27
- color: dt('tag.success.color');
28
- }
29
-
30
- .p-tag-info {
31
- background: dt('tag.info.background');
32
- color: dt('tag.info.color');
33
- }
34
-
35
- .p-tag-warn {
36
- background: dt('tag.warn.background');
37
- color: dt('tag.warn.color');
38
- }
39
-
40
- .p-tag-danger {
41
- background: dt('tag.danger.background');
42
- color: dt('tag.danger.color');
43
- }
44
-
45
- .p-tag-secondary {
46
- background: dt('tag.secondary.background');
47
- color: dt('tag.secondary.color');
48
- }
49
-
50
- .p-tag-contrast {
51
- background: dt('tag.contrast.background');
52
- color: dt('tag.contrast.color');
53
- }
54
- `;var U=["icon"],W=["*"];function X(t,d){if(t&1&&w(0,"span",4),t&2){let e=g(2);c(e.cx("icon")),a("ngClass",e.icon)("pBind",e.ptm("icon"))}}function Y(t,d){if(t&1&&(D(0),r(1,X,1,4,"span",3),N()),t&2){let e=g();i(),a("ngIf",e.icon)}}function Z(t,d){}function tt(t,d){t&1&&r(0,Z,0,0,"ng-template")}function et(t,d){if(t&1&&(f(0,"span",2),r(1,tt,1,0,null,5),y()),t&2){let e=g();c(e.cx("icon")),a("pBind",e.ptm("icon")),i(),a("ngTemplateOutlet",e.iconTemplate||e._iconTemplate)}}var nt={root:({instance:t})=>["p-tag p-component",{"p-tag-info":t.severity==="info","p-tag-success":t.severity==="success","p-tag-warn":t.severity==="warn","p-tag-danger":t.severity==="danger","p-tag-secondary":t.severity==="secondary","p-tag-contrast":t.severity==="contrast","p-tag-rounded":t.rounded}],icon:"p-tag-icon",label:"p-tag-label"},K=(()=>{class t extends G{name="tag";style=J;classes=nt;static \u0275fac=(()=>{let e;return function(n){return(e||(e=m(t)))(n||t)}})();static \u0275prov=b({token:t,factory:t.\u0275fac})}return t})();var L=new C("TAG_INSTANCE"),ot=(()=>{class t extends ${componentName="Tag";$pcTag=l(L,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=l(s,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}styleClass;severity;value;icon;rounded;iconTemplate;templates;_iconTemplate;_componentStyle=l(K);onAfterContentInit(){this.templates?.forEach(e=>{e.getType()==="icon"&&(this._iconTemplate=e.template)})}get dataP(){return this.cn({rounded:this.rounded,[this.severity]:this.severity})}static \u0275fac=(()=>{let e;return function(n){return(e||(e=m(t)))(n||t)}})();static \u0275cmp=I({type:t,selectors:[["p-tag"]],contentQueries:function(o,n,_){if(o&1&&A(_,U,4)(_,q,4),o&2){let p;v(p=T())&&(n.iconTemplate=p.first),v(p=T())&&(n.templates=p)}},hostVars:3,hostBindings:function(o,n){o&2&&(M("data-p",n.dataP),c(n.cn(n.cx("root"),n.styleClass)))},inputs:{styleClass:"styleClass",severity:"severity",value:"value",icon:"icon",rounded:[2,"rounded","rounded",P]},features:[z([K,{provide:L,useExisting:t},{provide:H,useExisting:t}]),x([s]),B],ngContentSelectors:W,decls:5,vars:6,consts:[[4,"ngIf"],[3,"class","pBind",4,"ngIf"],[3,"pBind"],[3,"class","ngClass","pBind",4,"ngIf"],[3,"ngClass","pBind"],[4,"ngTemplateOutlet"]],template:function(o,n){o&1&&(S(),E(0),r(1,Y,2,1,"ng-container",0)(2,et,2,4,"span",1),f(3,"span",2),F(4),y()),o&2&&(i(),a("ngIf",!n.iconTemplate&&!n._iconTemplate),i(),a("ngIf",n.iconTemplate||n._iconTemplate),i(),c(n.cx("label")),a("pBind",n.ptm("label")),i(),j(n.value))},dependencies:[V,Q,O,R,u,s],encapsulation:2,changeDetection:0})}return t})(),It=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=k({type:t});static \u0275inj=h({imports:[ot,u,u]})}return t})();export{ot as a,It as b};
@@ -1 +0,0 @@
1
- import{A as a,ab as h,ed as u,l as r,p as c}from"./chunk-7PFTODKS.js";var K=["stable","experimental","deprecated"],f=class n{kindRegistry=c(u);searchText=a("");selectedKinds=a([]);selectedStabilities=a([]);hasIssuesOnly=a(!1);isActive=h(()=>this.searchText().trim().length>0||this.selectedKinds().length>0||this.selectedStabilities().length>0||this.hasIssuesOnly());setSearchText(e){this.searchText.set(e)}setKinds(e){this.selectedKinds.set([...e])}toggleKind(e){let t=this.selectedKinds(),d=this.kindRegistry.kinds().map(l=>l.name),s=t.length===0?new Set(d):new Set(t);s.has(e)?s.delete(e):s.add(e),s.size===d.length?this.selectedKinds.set([]):this.selectedKinds.set([...s])}isKindActive(e){let t=this.selectedKinds();return t.length===0?!0:t.includes(e)}setStabilities(e){this.selectedStabilities.set([...e])}setHasIssuesOnly(e){this.hasIssuesOnly.set(e)}reset(){this.searchText.set(""),this.selectedKinds.set([]),this.selectedStabilities.set([]),this.hasIssuesOnly.set(!1)}apply(e){let t=this.searchText().trim().toLowerCase(),d=this.selectedKinds(),s=this.selectedStabilities(),l=this.hasIssuesOnly();return e.filter(i=>{if(t&&![i.path,i.frontmatter.name??"",i.frontmatter.description??""].join(" ").toLowerCase().includes(t)||d.length>0&&!d.includes(i.kind))return!1;if(s.length>0){let o=i.frontmatter.metadata?.stability;if(!o||!s.includes(o))return!1}return!(l&&!y(i))})}static \u0275fac=function(t){return new(t||n)};static \u0275prov=r({token:n,factory:n.\u0275fac,providedIn:"root"})};function y(n){let e=n.frontmatter.metadata;return e?e.stability==="deprecated"||!!e.supersededBy:!1}export{K as a,f as b};
@@ -1 +0,0 @@
1
- import{a as xe,b as Me}from"./chunk-UGEECDPV.js";import{$c as Pe,A as M,Ab as fe,B as O,Bb as ye,Cb as ve,Db as Ie,Eb as be,Ec as Se,Fb as ke,Fc as _e,Ga as d,Gb as we,H as oe,Ha as m,I as l,Ia as F,O as W,V as se,Vc as j,W as ae,Wc as $,Z as le,_ as ce,_c as Ee,a as X,ab as I,b as Y,bd as Ae,c as D,ca as R,cd as p,da as a,dd as Te,ea as c,ed as b,f as V,fa as A,j as Z,l as v,n as q,o as L,oa as de,p as s,qa as N,r as ee,ra as G,s as te,tb as me,ub as pe,v as ne,vb as T,w as re,wb as ue,xb as he,z as ie,zb as ge}from"./chunk-7PFTODKS.js";import"./chunk-Q7L6LLAK.js";var Re=[{path:"",pathMatch:"full",redirectTo:"graph"},{path:"graph",loadComponent:()=>import("./chunk-NKC42FI7.js").then(n=>n.GraphView),data:{title:"Graph"}},{path:"list",loadComponent:()=>import("./chunk-S5C4U3I3.js").then(n=>n.ListView),data:{title:"List"}},{path:"inspector",loadComponent:()=>import("./chunk-A4RBO3TD.js").then(n=>n.InspectorView),data:{title:"Inspector"}},{path:"**",redirectTo:"graph"}];var f={errors:{unknownMode:n=>`SKILL_MAP_MODE: unknown value "${n}"`,restPrefix:n=>`BFF error [${n}]: `,malformedResponse:"BFF returned a malformed response",demoFetchFailed:(n,e)=>`Demo bundle fetch failed for "${n}": ${e}`,demoParseFailed:(n,e)=>`Demo bundle parse failed for "${n}": ${e}`,graphFormatNotInDemo:n=>`Graph format "${n}" is not bundled in demo mode (only "ascii").`}};function Ce(n){if(typeof n!="object"||n===null)return!1;let e=n;if(typeof e.type!="string"||e.type.length===0)return!1;let t=e.timestamp;return!(typeof t!="number"&&typeof t!="string"||!("data"in e))}var k=new q("SKILL_MAP_MODE");function De(){return typeof document>"u"?"live":document.querySelector('meta[name="skill-map-mode"]')?.content==="demo"?"demo":"live"}var u={connected:n=>`[ws] connected to ${n}`,closed:(n,e)=>`[ws] closed (code=${n}, reason="${e}")`,malformedFrame:n=>`[ws] malformed frame dropped: ${n}`,socketError:n=>`[ws] socket error: ${n}`,reconnectScheduled:(n,e)=>`[ws] reconnect attempt ${e} scheduled in ${n}ms`,reconnectGiveUp:n=>`[ws] giving up after ${n} failed reconnect attempts`};var Le=[1e3,2e3,4e3,8e3,16e3,3e4],J=10,Je=new Set([1e3,1001]);function Xe(){return typeof window>"u"||!window.location?"ws://127.0.0.1:4242/ws":`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/ws`}var w=class n{mode=s(k);destroyRef=s(re);subject=new Y;socket=null;reconnectTimer=null;reconnectAttempt=0;disposed=!1;socketFactory=e=>new WebSocket(e);url=Xe();events$;_setSocketFactory(e){this.socketFactory=e}_setUrl(e){this.url=e}constructor(){this.mode!=="live"?this.events$=D:this.events$=new X(e=>{!this.socket&&!this.disposed&&this.connect();let t=this.subject.subscribe(e);return()=>t.unsubscribe()}).pipe(Z({resetOnRefCountZero:!1})),this.destroyRef.onDestroy(()=>this.disconnect())}disconnect(){if(!this.disposed){if(this.disposed=!0,this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.socket){try{this.socket.close(1e3,"client disconnect")}catch{}this.socket=null}this.subject.complete()}}ngOnDestroy(){this.disconnect()}connect(){if(this.disposed)return;let e;try{e=this.socketFactory(this.url)}catch(t){let r=t instanceof Error?t.message:String(t);console.warn(u.socketError(r)),this.scheduleReconnect();return}this.socket=e,e.onopen=()=>{this.reconnectAttempt=0,console.info(u.connected(this.url))},e.onmessage=t=>{this.handleFrame(t.data)},e.onerror=t=>{let r=typeof t=="object"&&t!==null&&"message"in t?String(t.message??"unknown"):"unknown";console.warn(u.socketError(r))},e.onclose=t=>{console.info(u.closed(t.code,t.reason)),this.socket=null,!this.disposed&&(Je.has(t.code)||this.scheduleReconnect())}}handleFrame(e){if(typeof e!="string"){console.warn(u.malformedFrame("non-string frame"));return}let t;try{t=JSON.parse(e)}catch(r){let i=r instanceof Error?r.message:String(r);console.warn(u.malformedFrame(i));return}if(!Ce(t)){console.warn(u.malformedFrame("envelope shape"));return}this.subject.next(t)}scheduleReconnect(){if(this.disposed)return;if(this.reconnectAttempt>=J){console.warn(u.reconnectGiveUp(J)),this.subject.error(new Error(u.reconnectGiveUp(J)));return}let e=Math.min(this.reconnectAttempt,Le.length-1),t=Le[e];this.reconnectAttempt+=1,console.info(u.reconnectScheduled(t,this.reconnectAttempt)),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},t)}get _reconnectAttempt(){return this.reconnectAttempt}static \u0275fac=function(t){return new(t||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})};function Oe(n){let e=new TextEncoder().encode(n),t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}var y="/api",U=class n{http;ws;kindRegistry;constructor(e,t,r){this.http=e??s(T),this.ws=t??s(w),this.kindRegistry=r??s(b)}async health(){return this.getJson(`${y}/health`)}async loadScan(){let[e]=await Promise.all([this.getJson(`${y}/scan`),this.listNodes({limit:0}).catch(()=>null)]);return e}async listNodes(e={}){let t=Ze(e),r=await this.getJson(`${y}/nodes${t}`);return this.ingestRegistry(r.kindRegistry),r}async getNode(e,t={}){let r=Oe(e),i=t.includeBody?"?include=body":"";try{let o=await this.getJson(`${y}/nodes/${r}${i}`);return this.ingestRegistry(o.kindRegistry),o}catch(o){if(o instanceof p&&o.code==="not-found")return null;throw o}}async listLinks(e={}){let t=qe(e),r=await this.getJson(`${y}/links${t}`);return this.ingestRegistry(r.kindRegistry),r}async listIssues(e={}){let t=et(e),r=await this.getJson(`${y}/issues${t}`);return this.ingestRegistry(r.kindRegistry),r}async loadGraph(e="ascii"){let t=`${y}/graph?format=${encodeURIComponent(e)}`;try{return await V(this.http.get(t,{responseType:"text"}))}catch(r){throw this.translateError(r)}}async loadConfig(){let e=await this.getJson(`${y}/config`);return this.ingestRegistry(e.kindRegistry),e.value}async listPlugins(){let e=await this.getJson(`${y}/plugins`);return this.ingestRegistry(e.kindRegistry),e}ingestRegistry(e){e&&this.kindRegistry.ingest(e)}events(){return this.ws.events$}async getJson(e){try{return await V(this.http.get(e))}catch(t){throw this.translateError(t)}}translateError(e){if(e instanceof p)return e;if(e instanceof pe){let r=tt(e.error);return r?new p(r.error.code,r.error.message,r.error.details):new p("internal",e.message||f.errors.malformedResponse)}let t=e instanceof Error?e.message:String(e);return new p("internal",t)}static \u0275fac=function(t){return new(t||n)(L(T),L(w),L(b))};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})};function Ze(n){let e=new URLSearchParams;n.kind&&n.kind.length>0&&e.set("kind",n.kind.join(",")),n.hasIssues!==void 0&&e.set("hasIssues",String(n.hasIssues)),n.path&&e.set("path",n.path),n.limit!==void 0&&e.set("limit",String(n.limit)),n.offset!==void 0&&e.set("offset",String(n.offset));let t=e.toString();return t?`?${t}`:""}function qe(n){let e=new URLSearchParams;n.kind&&n.kind.length>0&&e.set("kind",n.kind.join(",")),n.from&&e.set("from",n.from),n.to&&e.set("to",n.to);let t=e.toString();return t?`?${t}`:""}function et(n){let e=new URLSearchParams;n.severity&&e.set("severity",n.severity),n.ruleId&&e.set("ruleId",n.ruleId),n.node&&e.set("node",n.node);let t=e.toString();return t?`?${t}`:""}function tt(n){if(typeof n!="object"||n===null)return null;let e=n;if(e.ok!==!1)return null;let t=e.error;if(typeof t!="object"||t===null)return null;let r=t;return typeof r.code!="string"||typeof r.message!="string"?null:{ok:!1,error:{code:r.code,message:r.message,details:r.details}}}var nt="data.json",rt="data.meta.json",K=class{constructor(e=globalThis.fetch.bind(globalThis),t){this.fetchImpl=e;this.kindRegistry=t??s(b)}metaPromise=null;dataPromise=null;kindRegistry;async health(){return(await this.loadMeta()).health}async loadScan(){let[e,t]=await Promise.all([this.loadData(),this.loadMeta()]);return this.kindRegistry.ingest(t.nodes.kindRegistry),e}async listNodes(e={}){let t=await this.loadMeta();if(it(e))return this.kindRegistry.ingest(t.nodes.kindRegistry),t.nodes;let r=await this.loadData(),i=r.issues,o=r.nodes;if(e.kind&&e.kind.length>0){let S=new Set(e.kind);o=o.filter(_=>S.has(_.kind))}if(e.path){let S=at(e.path);o=o.filter(_=>S.test(_.path))}if(e.hasIssues===!0){let S=We(i);o=o.filter(_=>S.has(_.path))}else if(e.hasIssues===!1){let S=We(i);o=o.filter(_=>!S.has(_.path))}let g=o.length,P=e.offset??0,x=e.limit??1e3,h=o.slice(P,P+x);return this.kindRegistry.ingest(t.nodes.kindRegistry),{schemaVersion:"1",kind:"nodes",items:h,filters:{kind:e.kind??null,hasIssues:e.hasIssues??null,path:e.path?[e.path]:null},counts:{total:g,returned:h.length,page:{offset:P,limit:x}},kindRegistry:t.nodes.kindRegistry}}async getNode(e,t={}){let[r,i]=await Promise.all([this.loadData(),this.loadMeta()]),o=r.nodes.find(h=>h.path===e);if(!o)return null;let g=r.links.filter(h=>h.target===e),P=r.links.filter(h=>h.source===e),x=r.issues.filter(h=>h.nodeIds.includes(e));return this.kindRegistry.ingest(i.nodes.kindRegistry),{schemaVersion:"1",kind:"node",item:o,links:{incoming:g,outgoing:P},issues:x,kindRegistry:i.nodes.kindRegistry}}async listLinks(e={}){let t=await this.loadMeta();if(ot(e))return this.kindRegistry.ingest(t.links.kindRegistry),t.links;let i=(await this.loadData()).links;if(e.kind&&e.kind.length>0){let o=new Set(e.kind);i=i.filter(g=>o.has(g.kind))}return e.from&&(i=i.filter(o=>o.source===e.from)),e.to&&(i=i.filter(o=>o.target===e.to)),this.kindRegistry.ingest(t.links.kindRegistry),{schemaVersion:"1",kind:"links",items:i,filters:{kind:e.kind??null,from:e.from??null,to:e.to??null},counts:{total:i.length,returned:i.length},kindRegistry:t.links.kindRegistry}}async listIssues(e={}){let t=await this.loadMeta();if(st(e))return this.kindRegistry.ingest(t.issues.kindRegistry),t.issues;let i=(await this.loadData()).issues;return e.severity&&(i=i.filter(o=>o.severity===e.severity)),e.ruleId&&(i=i.filter(o=>o.ruleId===e.ruleId)),e.node&&(i=i.filter(o=>o.nodeIds.includes(e.node))),this.kindRegistry.ingest(t.issues.kindRegistry),{schemaVersion:"1",kind:"issues",items:i,filters:{severity:e.severity??null,ruleId:e.ruleId??null,node:e.node??null},counts:{total:i.length,returned:i.length},kindRegistry:t.issues.kindRegistry}}async loadGraph(e="ascii"){if(e!=="ascii")throw new p("bad-query",f.errors.graphFormatNotInDemo(e));return(await this.loadMeta()).graph.ascii}async loadConfig(){let e=await this.loadMeta();return this.kindRegistry.ingest(e.config.kindRegistry),e.config.value}async listPlugins(){let e=await this.loadMeta();return this.kindRegistry.ingest(e.plugins.kindRegistry),e.plugins}events(){return D}loadMeta(){return this.metaPromise||(this.metaPromise=this.fetchJson(rt)),this.metaPromise}loadData(){return this.dataPromise||(this.dataPromise=this.fetchJson(nt)),this.dataPromise}async fetchJson(e){let t;try{t=await this.fetchImpl(e)}catch(r){let i=r instanceof Error?r.message:String(r);throw new p("internal",f.errors.demoFetchFailed(e,i))}if(!t.ok)throw new p("internal",f.errors.demoFetchFailed(e,`HTTP ${t.status}`));try{return await t.json()}catch(r){let i=r instanceof Error?r.message:String(r);throw new p("internal",f.errors.demoParseFailed(e,i))}}};function it(n){return!(n.kind&&n.kind.length>0||n.hasIssues!==void 0||n.path||n.offset!==void 0&&n.offset!==0||n.limit!==void 0)}function ot(n){return!(n.kind&&n.kind.length>0||n.from||n.to)}function st(n){return!(n.severity||n.ruleId||n.node)}function We(n){let e=new Set;for(let t of n)for(let r of t.nodeIds)e.add(r);return e}function at(n){let t=n.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*").replace(/\?/g,".");return new RegExp(`^${t}$`)}function Ne(){let n=s(k);if(n==="live")return new U(s(T),s(w));if(n==="demo")return new K;let e=n;throw new Error(f.errors.unknownMode(String(e)))}var Fe={providers:[ie(),ke(Re,we()),ue(he()),_e({}),se(async()=>{let n=s(Se),{default:e}=await import("./chunk-FWFBO7KA.js");n.setThemeConfig({theme:{preset:e,options:{darkModeSelector:".app-dark"}}})}),{provide:k,useFactory:De},{provide:Ae,useFactory:Ne}]};var je={brand:"skill-map",tag:"ui prototype \xB7 Step 3",nav:{graph:"Graph",list:"List",inspector:"Inspector"},actions:{},badge:{nodes:"nodes"},a11y:{viewSwitcher:"View switcher"},viewportWarning:{title:"Looks like you're on a small screen",subtitle:"skill-map is built for desktop",body:"The graph and inspector need room to breathe. Pop this open on a screen at least 768px wide \u2014 see you there."}};var E={toggleToAuto:"Switch to auto theme (follow system)",toggleToLight:"Switch to light theme",toggleToDark:"Switch to dark theme",currentAuto:"Auto theme (follows system)",currentLight:"Light theme",currentDark:"Dark theme"};var $e="search",Ue="kinds",Ke="stabilities",Be="hasIssues",B=class n{filters=s(Me);router=s(ve);activatedRoute=s(fe);kindRegistry=s(b);suppressUrlReadback=!1;constructor(){this.applyUrlToFilters(this.currentParams()),this.router.events.subscribe(e=>{if(e instanceof ge){if(this.suppressUrlReadback)return;this.applyUrlToFilters(this.currentParams())}}),O(()=>{let e=this.computeQueryParams();this.writeQueryParams(e)})}currentParams(){let e=this.router.parseUrl(this.router.url),t=new URLSearchParams;for(let[r,i]of Object.entries(e.queryParams))Array.isArray(i)?t.set(r,i.join(",")):i!=null&&t.set(r,String(i));return this.activatedRoute,t}applyUrlToFilters(e){let t=e.get($e)??"";t!==this.filters.searchText()&&this.filters.setSearchText(t);let r=lt(e.get(Ue),this.kindRegistry.kinds().map(g=>g.name));Qe(r,this.filters.selectedKinds())||this.filters.setKinds(r);let i=ct(e.get(Ke));Qe(i,this.filters.selectedStabilities())||this.filters.setStabilities(i);let o=e.get(Be)==="true";o!==this.filters.hasIssuesOnly()&&this.filters.setHasIssuesOnly(o)}computeQueryParams(){let e=this.filters.searchText().trim(),t=this.filters.selectedKinds(),r=this.filters.selectedStabilities(),i=this.filters.hasIssuesOnly();return{[$e]:e.length>0?e:null,[Ue]:t.length>0?t.join(","):null,[Ke]:r.length>0?r.join(","):null,[Be]:i?"true":null}}writeQueryParams(e){let t=this.currentParams(),r=new Map(Object.entries(e)),i=!1;for(let[o,g]of r)if((t.get(o)??null)!==g){i=!0;break}i&&(this.suppressUrlReadback=!0,this.router.navigate([],{relativeTo:this.activatedRoute,queryParams:e,queryParamsHandling:"merge",replaceUrl:!0}).finally(()=>{setTimeout(()=>{this.suppressUrlReadback=!1},0)}))}static \u0275fac=function(t){return new(t||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})};function lt(n,e){if(!n)return[];let t=new Set(e);return n.split(",").map(r=>r.trim()).filter(r=>t.has(r))}function ct(n){if(!n)return[];let e=new Set(xe);return n.split(",").map(t=>t.trim()).filter(t=>e.has(t))}function Qe(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!==e[t])return!1;return!0}var He="skill-map.ui.theme",dt="app-dark",mt="dark",ze="(prefers-color-scheme: dark)",Q=class n{doc=s(ne);mode=M(this.readInitial());systemPrefersDark=M(this.readSystemPref());resolved=I(()=>{let e=this.mode();return e==="auto"?this.systemPrefersDark()?"dark":"light":e});constructor(){this.subscribeToSystemPref(),O(()=>{let e=this.resolved()==="dark",t=this.doc.documentElement;t.classList.toggle(dt,e),t.classList.toggle(mt,e);try{this.doc.defaultView?.localStorage.setItem(He,this.mode())}catch{}})}toggle(){this.mode.update(e=>e==="auto"?"light":e==="light"?"dark":"auto")}set(e){this.mode.set(e)}readInitial(){try{let e=this.doc.defaultView?.localStorage.getItem(He);if(e==="auto"||e==="light"||e==="dark")return e}catch{}return"auto"}readSystemPref(){try{return this.doc.defaultView?.matchMedia(ze).matches??!1}catch{return!1}}subscribeToSystemPref(){let e=this.doc.defaultView;if(!e||typeof e.matchMedia!="function")return;e.matchMedia(ze).addEventListener("change",r=>{this.systemPrefersDark.set(r.matches)})}static \u0275fac=function(t){return new(t||n)};static \u0275prov=v({token:n,factory:n.\u0275fac,providedIn:"root"})};var Ve={body:"You are viewing a static demo of skill-map's UI. Install it:",installCommand:"npm i -g @skill-map/cli",homeCta:"\u2190 Back to skill-map.dev",homeHref:"/",dismissAria:"Dismiss demo banner"};function ht(n,e){if(n&1){let t=de();a(0,"div",0),A(1,"span",1),a(2,"p",2),d(3),a(4,"code",3),d(5),c()(),a(6,"a",4),d(7),c(),a(8,"p-button",5),N("onClick",function(){ee(t);let i=G();return te(i.dismiss())}),c()()}if(n&2){let t=G();l(3),F(" ",t.texts.body," "),l(2),m(t.texts.installCommand),l(),R("href",t.texts.homeHref,oe),l(),m(t.texts.homeCta),l(),R("ariaLabel",t.texts.dismissAria)("text",!0)("rounded",!0)}}var Ge="sm.demoBannerDismissed",H=class n{mode=s(k);texts=Ve;dismissed=M(this.readDismissed());visible=I(()=>this.mode==="demo"&&!this.dismissed());dismiss(){this.dismissed.set(!0);try{globalThis.localStorage?.setItem(Ge,"1")}catch{}}readDismissed(){if(this.mode!=="demo")return!0;try{return globalThis.localStorage?.getItem(Ge)==="1"}catch{return!1}}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=W({type:n,selectors:[["sm-demo-banner"]],decls:1,vars:1,consts:[["role","status","data-testid","demo-banner",1,"demo-banner"],["aria-hidden","true",1,"demo-banner__icon","pi","pi-info-circle"],[1,"demo-banner__body"],["data-testid","demo-banner-install",1,"demo-banner__cmd"],["data-testid","demo-banner-home",1,"demo-banner__home",3,"href"],["icon","pi pi-times","severity","secondary","size","small","data-testid","demo-banner-dismiss",3,"onClick","ariaLabel","text","rounded"]],template:function(t,r){t&1&&le(0,ht,9,7,"div",0),t&2&&ce(r.visible()?0:-1)},dependencies:[$,j],styles:["[_nghost-%COMP%]{display:block}.demo-banner[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;border-bottom:1px solid var(--p-content-border-color);background:var(--p-highlight-background);color:var(--p-text-color);font-size:.875rem}.demo-banner__icon[_ngcontent-%COMP%]{font-size:1.1rem;color:var(--p-primary-color)}.demo-banner__body[_ngcontent-%COMP%]{flex:1 1 auto;margin:0;line-height:1.4}.demo-banner__cmd[_ngcontent-%COMP%]{font-family:var(--font-family-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);background:var(--p-content-background);border:1px solid var(--p-content-border-color);border-radius:.25rem;padding:.05rem .4rem;font-size:.85em;margin-left:.25rem}.demo-banner__home[_ngcontent-%COMP%]{color:var(--p-primary-color);font-weight:500;text-decoration:none;white-space:nowrap}.demo-banner__home[_ngcontent-%COMP%]:hover, .demo-banner__home[_ngcontent-%COMP%]:focus-visible{text-decoration:underline}"],changeDetection:0})};var z=class n{loader=s(Te);theme=s(Q);_filterUrlSync=s(B);texts=je;count=this.loader.count;themeMode=this.theme.mode;themeIcon=I(()=>{switch(this.themeMode()){case"auto":return"pi pi-desktop";case"light":return"pi pi-sun";case"dark":return"pi pi-moon"}});themeLabel=I(()=>{switch(this.themeMode()){case"auto":return E.toggleToLight;case"light":return E.toggleToDark;case"dark":return E.toggleToAuto}});themeTooltip=I(()=>{switch(this.themeMode()){case"auto":return E.currentAuto;case"light":return E.currentLight;case"dark":return E.currentDark}});ngOnInit(){this.loader.load()}toggleTheme(){this.theme.toggle()}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=W({type:n,selectors:[["app-root"]],decls:35,vars:16,consts:[["role","alert","data-testid","viewport-warning",1,"viewport-warning"],[1,"viewport-warning__card"],["aria-hidden","true",1,"pi","pi-desktop","viewport-warning__icon"],[1,"viewport-warning__title"],[1,"viewport-warning__subtitle"],[1,"viewport-warning__body"],["data-testid","shell",1,"shell"],["data-testid","shell-topbar",1,"shell__topbar"],[1,"shell__brand"],[1,"shell__brand-mark"],[1,"shell__tag"],["data-testid","shell-nav",1,"shell__nav"],["routerLink","/graph","routerLinkActive","is-active","data-testid","nav-graph"],["routerLink","/list","routerLinkActive","is-active","data-testid","nav-list"],["routerLink","/inspector","routerLinkActive","is-active","data-testid","nav-inspector"],[1,"shell__actions"],["severity","secondary","size","small","data-testid","action-theme-toggle",3,"onClick","icon","ariaLabel","pTooltip","text","rounded"],["aria-live","polite","data-testid","shell-nodes-badge",1,"shell__badge"],[1,"shell__main"]],template:function(t,r){t&1&&(a(0,"div",0)(1,"div",1),A(2,"i",2),a(3,"h2",3),d(4),c(),a(5,"p",4),d(6),c(),a(7,"p",5),d(8),c()()(),a(9,"div",6),A(10,"sm-demo-banner"),a(11,"header",7)(12,"div",8)(13,"span",9),d(14,"sm"),c(),a(15,"div")(16,"h1"),d(17),c(),a(18,"p",10),d(19),c()()(),a(20,"nav",11)(21,"a",12),d(22),c(),a(23,"a",13),d(24),c(),a(25,"a",14),d(26),c()(),a(27,"div",15)(28,"p-button",16),N("onClick",function(){return r.toggleTheme()}),c(),a(29,"div",17)(30,"strong"),d(31),c(),d(32),c()()(),a(33,"main",18),A(34,"router-outlet"),c()()),t&2&&(l(4),m(r.texts.viewportWarning.title),l(2),m(r.texts.viewportWarning.subtitle),l(2),m(r.texts.viewportWarning.body),l(9),m(r.texts.brand),l(2),m(r.texts.tag),l(),ae("aria-label",r.texts.a11y.viewSwitcher),l(2),m(r.texts.nav.graph),l(2),m(r.texts.nav.list),l(2),m(r.texts.nav.inspector),l(2),R("icon",r.themeIcon())("ariaLabel",r.themeLabel())("pTooltip",r.themeTooltip())("text",!0)("rounded",!0),l(3),m(r.count()),l(),F(" ",r.texts.badge.nodes," "))},dependencies:[ye,Ie,be,$,j,Pe,Ee,H],styles:["[_nghost-%COMP%]{display:block;height:100dvh}.shell[_ngcontent-%COMP%]{display:flex;flex-direction:column;height:100dvh}.shell__topbar[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2rem;padding:.75rem 1.5rem;background:var(--sm-bg-content);border-bottom:1px solid var(--sm-border);box-shadow:var(--sm-shadow-topbar)}.shell__brand[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.shell__brand-mark[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:.5rem;background:var(--p-primary-color);color:var(--p-primary-contrast-color);font-weight:700;font-size:.85rem;letter-spacing:.04em}.shell__brand[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.01em}.shell__tag[_ngcontent-%COMP%]{margin:0;font-size:.72rem;color:var(--p-text-muted-color);letter-spacing:.02em;text-transform:uppercase}.shell__nav[_ngcontent-%COMP%]{display:flex;gap:.25rem;margin-left:auto}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:.5rem .9rem;border-radius:.5rem;font-size:.9rem;font-weight:500;color:var(--p-text-muted-color);transition:background .15s ease,color .15s ease}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{background:var(--sm-bg-hover);color:var(--p-text-color)}.shell__nav[_ngcontent-%COMP%] a.is-active[_ngcontent-%COMP%]{background:var(--sm-nav-active-bg);color:var(--p-primary-color)}.shell__actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.shell__badge[_ngcontent-%COMP%]{padding:.4rem .8rem;border-radius:999px;background:var(--sm-bg-hover);color:var(--p-text-muted-color);font-size:.85rem}.shell__badge[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{color:var(--p-text-color);margin-right:.25rem}.shell__main[_ngcontent-%COMP%]{flex:1;min-height:0;overflow-y:auto;padding:1.5rem;max-width:1400px;width:100%;margin:0 auto}@media(max-width:1280px){.shell__topbar[_ngcontent-%COMP%]{gap:1rem;padding:.5rem 1rem}.shell__tag[_ngcontent-%COMP%]{display:none}.shell__nav[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{padding:.4rem .7rem;font-size:.85rem}.shell__main[_ngcontent-%COMP%]{padding:1rem}}.viewport-warning[_ngcontent-%COMP%]{display:none}@media(max-width:767px){.viewport-warning[_ngcontent-%COMP%]{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--sm-bg-content)}.viewport-warning__card[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.85rem;max-width:22rem}.viewport-warning__icon[_ngcontent-%COMP%]{font-size:3rem;color:var(--p-primary-color);margin-bottom:.25rem}.viewport-warning__title[_ngcontent-%COMP%]{margin:0;font-size:1.35rem;font-weight:700;color:var(--p-text-color);line-height:1.25}.viewport-warning__subtitle[_ngcontent-%COMP%]{margin:0;font-size:1rem;font-weight:500;color:var(--p-primary-color);line-height:1.35}.viewport-warning__body[_ngcontent-%COMP%]{margin:0;color:var(--p-text-muted-color);line-height:1.5;font-size:.9rem}.shell[_ngcontent-%COMP%]{display:none}}"],changeDetection:0})};me(z,Fe).catch(n=>console.error(n));