@skill-map/cli 0.28.0 → 0.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/tutorial/sm-tutorial.md +94 -20
- package/dist/cli.js +1561 -1214
- package/dist/cli.js.map +1 -1
- package/dist/index.js +116 -99
- package/dist/index.js.map +1 -1
- package/dist/kernel/index.d.ts +903 -1004
- package/dist/kernel/index.js +116 -99
- package/dist/kernel/index.js.map +1 -1
- package/dist/ui/chunk-3SI3TVER.js +7 -0
- package/dist/ui/{chunk-4GTCV7V4.js → chunk-47OZB7LR.js} +1 -1
- package/dist/ui/{chunk-JMP2LDMI.js → chunk-5JBW2LUN.js} +1 -1
- package/dist/ui/{chunk-Y7MXGXU3.js → chunk-DZBSELHN.js} +1 -1
- package/dist/ui/{chunk-Z2667C3S.js → chunk-FEPH4VNB.js} +1 -1
- package/dist/ui/{chunk-PY2R7LHN.js → chunk-FQOZBFJ5.js} +1 -1
- package/dist/ui/chunk-HOJFYUH4.js +123 -0
- package/dist/ui/{chunk-WOLLYGGL.js → chunk-KJQEO6P3.js} +1 -1
- package/dist/ui/chunk-LNRQ7VKE.js +1 -0
- package/dist/ui/{chunk-VO6NF24F.js → chunk-LS2NXZQZ.js} +1 -1
- package/dist/ui/{chunk-J3YWUNFO.js → chunk-LTQTJU54.js} +1 -1
- package/dist/ui/{chunk-6BG7PBUN.js → chunk-NGIFGXW7.js} +1 -1
- package/dist/ui/{chunk-5W6J6H76.js → chunk-SBCO7ZSP.js} +1 -1
- package/dist/ui/chunk-VB56BUGO.js +1 -0
- package/dist/ui/{chunk-UXCAEDR6.js → chunk-VDQLDTTR.js} +1 -1
- package/dist/ui/{chunk-AD7RBRD3.js → chunk-WJLIYGWJ.js} +5 -5
- package/dist/ui/chunk-YQIWQVJ6.js +317 -0
- package/dist/ui/favicon-matrix.svg +15 -0
- package/dist/ui/index.html +12 -2
- package/dist/ui/main-X5YGJFU6.js +2 -0
- package/dist/ui/{styles-IKG3B6AM.css → styles-2WO3KNOY.css} +1 -1
- package/package.json +10 -7
- package/dist/ui/chunk-BGDH7CDV.js +0 -1
- package/dist/ui/chunk-H2J55DNK.js +0 -7
- package/dist/ui/chunk-Q7L6LLAK.js +0 -1
- package/dist/ui/chunk-VH5GRUT7.js +0 -255
- package/dist/ui/chunk-XCUOAV77.js +0 -123
- package/dist/ui/main-TZL26MZU.js +0 -2
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import{b as Nt,c as w,d as Vt,e as Ie}from"./chunk-LNRQ7VKE.js";import{a as wt,b as kt,c as Se,d as Pe,e as Mt}from"./chunk-WJLIYGWJ.js";import{a as Te,b as Me,c as It,d as Ot,e as Ft,f as Dt,g as At,h as jt,i as re,j as ae}from"./chunk-VDQLDTTR.js";import{e as St,f as Ee,h as ne,i as ie,j as oe,l as Pt,m as Et,n as Tt}from"./chunk-LS2NXZQZ.js";import{$ as nt,Aa as at,Ba as Y,Bc as ee,Hb as Z,I as Ye,Ic as Ce,J as Je,Jb as ut,Jc as we,K as Ze,Ka as p,Lc as xt,M as et,Na as _,O as T,Oa as f,Oc as vt,Pa as st,Qa as Q,Qb as mt,Ra as O,S as tt,Sa as F,T as k,Ta as h,Tb as y,U as S,Ua as l,Uc as yt,Va as s,Vc as me,Wa as M,Wb as ye,Wc as Ct,Xa as b,Xb as V,Ya as x,Yb as ht,Za as J,ab as lt,bd as ke,cc as ze,cd as te,da as v,db as I,dc as _t,ea as N,eb as X,fb as C,ga as Re,hb as a,id as G,jd as z,ka as it,kb as dt,la as pe,lb as ct,mb as be,nb as xe,oa as r,oc as ft,pb as gt,pc as bt,qb as pt,sb as Be,tb as $,ub as ve,vb as ue,wa as A,wb as d,xa as ot,xb as u,yb as m,za as rt,zb as R}from"./chunk-LTQTJU54.js";import"./chunk-3SI3TVER.js";import{a as q,b as W}from"./chunk-VB56BUGO.js";function dn(t,n){if(t&1&&(b(0,"p",6),d(1),x()),t&2){let e=a();r(),R(" ",e.texts.aboutErrorPrefix," ",e.loadError()," ")}}var Oe=class t{dataSource=T(G);updateCheck=T(Nt);theme=T(Ie);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);cwd=y(()=>this.health()?.cwd??this.texts.aboutLoading);dbDisplay=y(()=>{let n=this.health();return n?this.texts.aboutDbValue(n.db,cn(n.dbPath,n.cwd)):this.texts.aboutLoading});constructor(){N(()=>{this.visible()&&this.health()===null&&this.load()})}async load(){this.loadError.set(null);try{let n=await this.dataSource.health();this.health.set(n)}catch(n){let e=n instanceof z||n instanceof Error?n.message:String(n);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:57,vars:25,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-cwd",1,"settings-about__value"],["data-testid","settings-about-db",1,"settings-about__value"]],template:function(e,i){e&1&&(b(0,"section",0)(1,"header",1),J(2,"img",2),b(3,"div",3)(4,"h2",4),d(5),x(),b(6,"p",5),d(7),x()()(),_(8,dn,2,2,"p",6),b(9,"a",7),J(10,"i",8),b(11,"span",9)(12,"span",10),d(13),x(),b(14,"span",11),d(15),x()(),b(16,"span",12),J(17,"i",13),d(18),x()(),b(19,"dl",14)(20,"div",15)(21,"dt",16),d(22),x(),b(23,"dd",17)(24,"a",18),d(25),x()()(),b(26,"div",15)(27,"dt",16),d(28),x(),b(29,"dd",17)(30,"a",19),d(31),x()()(),b(32,"div",15)(33,"dt",16),d(34),x(),b(35,"dd",20),d(36),x()(),b(37,"div",15)(38,"dt",16),d(39),x(),b(40,"dd",21),d(41),x()(),b(42,"div",15)(43,"dt",16),d(44),x(),b(45,"dd",22),d(46),x()(),b(47,"div",15)(48,"dt",16),d(49),x(),b(50,"dd",23),d(51),x()(),b(52,"div",15)(53,"dt",16),d(54),x(),b(55,"dd",24),d(56),x()()()()),e&2&&(r(2),X("src",i.markSrc(),pe),r(3),m(" ",i.texts.aboutHeading," "),r(2),u(i.texts.aboutIntro),r(),f(i.loadError()?8:-1),r(),X("href",i.texts.aboutGithubUrl,pe),p("aria-label",i.texts.aboutStarA11y),r(4),u(i.texts.aboutStarHeading),r(2),u(i.texts.aboutStarBody),r(3),m(" ",i.texts.aboutStarCta," "),r(4),u(i.texts.aboutWebsiteLabel),r(2),X("href",i.texts.aboutWebsiteUrl,pe),r(),u(i.texts.aboutWebsiteUrl),r(3),u(i.texts.aboutGithubLabel),r(2),X("href",i.texts.aboutGithubUrl,pe),r(),u(i.texts.aboutGithubUrl),r(3),u(i.texts.aboutCliLabel),r(2),m(" ",i.cliVersion()," "),r(3),u(i.texts.aboutSpecLabel),r(2),m(" ",i.specVersion()," "),r(3),u(i.texts.aboutSchemaLabel),r(2),m(" ",i.schemaVersion()," "),r(3),u(i.texts.aboutFolderLabel),r(2),m(" ",i.cwd()," "),r(3),u(i.texts.aboutDbLabel),r(2),m(" ",i.dbDisplay()," "))},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 cn(t,n){if(!t||!n)return t;let e=n.replace(/[/\\]+$/,"");return t.startsWith(e)?t.slice(e.length).replace(/^[/\\]+/,""):t}var Lt={schemaVersion:1,entries:[{version:"0.30.0",date:"2026-05-16",kind:"user-facing",highlights:[{body:"When `@foo` or `/foo` fails to resolve and a file `foo.md` exists nearby without `name:` in its frontmatter, broken-ref now suggests adding `name: foo` to that file. The hint appears in `sm check`, `sm show`, and the inspector panel.",packages:["@skill-map/cli"]},{body:"**Cleaner scans on prose with file paths and `@file` refs.** `/Volumes/foo` no longer emits a broken-ref, `@file.md` lands as a `references` link (was `mentions`), and tokens inside code blocks are skipped. Re-run `sm scan` to refresh counts.",packages:["@skill-map/cli"]}]},{version:"0.29.0",date:"2026-05-16",kind:"user-facing",highlights:[{body:"The graph view now lets you pick the layout algorithm (**Balanced**, **Stretched** or **Organic**), direction (top/bottom/left/right) and spacing (compact / normal / spacious) from new buttons in the bottom toolbar. The matching section in Settings \u2192 General was removed.",packages:["@skill-map/cli"]},{body:"**Plugin manifests are smaller.** `plugin.json` drops `id`; every extension declares only `version` + `description` plus kind-specific fields. View contributions move to `ui:`. Provider kinds live under `kinds/<kindName>/`. Run `sm plugins doctor` after upgrading.",packages:["@skill-map/cli","@skill-map/spec","@skill-map/testkit"]},{body:"`.skillmapignore` is now created with mode `0o644` (was `0o600`), so other users on multi-user hosts can read it without `chmod`. Existing files keep their current mode; re-run `sm init --force` if you want the new default.",packages:["@skill-map/cli"]},{body:"**Plugin layout changed.** Extensions now live at `<kind>s/<name>/index.js` (e.g. `extractors/keyword-counter/index.js`); `plugin.json` no longer lists `extensions[]` and requires `granularity`. Run `sm plugins doctor` after migrating, or use `sm plugins create` for new plugins.",packages:["@skill-map/cli","@skill-map/spec","@skill-map/testkit"]}]},{version:"0.28.0",date:"2026-05-15",kind:"user-facing",highlights:[{body:"A new **Matrix** theme is now available in Settings \u2192 General \u2192 Theme. Once enabled it overrides the topbar dark/light toggle; click that toggle to exit Matrix and return to your previous dark/light mode in one step.",packages:["@skill-map/cli"]},{body:"`sm plugins show core` (and the same verb against any user plugin) now groups extensions by kind in pipeline order, **provider, extractor, analyzer, action, formatter, hook**, with each group sorted by id. The JSON output is unchanged.",packages:["@skill-map/cli"]},{body:'The `Update available` banner now leads with a **down arrow** (`\u2B07`) instead of the previous up arrow, reading as "an update is coming in" rather than "upgrade outward".',packages:["@skill-map/cli"]}]},{version:"0.26.2",date:"2026-05-15",kind:"user-facing",highlights:[{body:"`sm plugins show <bundle>/<ext>` now shows the requested extension's own detail (Kind, Version, Stability, Description, Preconditions, Entry) instead of dumping the parent bundle. `--json` returns just that extension. Bare bundle ids (`sm plugins show core`) are unchanged.",packages:["@skill-map/cli"]}]},{version:"0.26.0",date:"2026-05-15",kind:"user-facing",highlights:[{body:"**Bidirectional `.sm` relations no longer double-count.** A relation declared from both sides (e.g. `supersedes` + `supersededBy`) now tallies as `1` in the `linksIn` / `linksOut` chips and the graph. Before, the count was inflated on cold start and dropped on the next save.",packages:["@skill-map/cli"]},{body:"The `.sm` annotation catalog shrinks from 13 to 10 fields. `requires`, `related`, and `conflictsWith` were dropped, their edges all rendered as plain `references` and added no extra meaning. Existing sidecars keep working; the three keys are now flagged by `unknown-field`.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**Broken frontmatter now lights up on the graph.** Vendor agent/skill nodes missing `name` or `description` show a red alert badge and a matching footer chip, same chassis as broken references. Trigger-style links (`/cmd`, `@handle`) now also tally into the target's `linksIn`.",packages:["@skill-map/cli"]}]},{version:"0.25.0",date:"2026-05-14",kind:"user-facing",highlights:[{body:"**`sm list` and `sm show` now report tokens, not bytes.** The `BYTES` column on `sm list` is now `TOKENS` (cl100k_base, frontmatter + body), and `sm show` lists `Tokens:` instead of `Bytes:`. Sort with `--sort-by tokens_total`. `--json` is unchanged.",packages:["@skill-map/cli","@skill-map/spec"]},{body:"**`sm tutorial master`** materializes the advanced tester walkthrough (`sm-master.md`) in your cwd. Trigger it from Claude Code with `ejecut\xE1 @sm-master.md`. Bare `sm tutorial` keeps its previous behaviour and writes `sm-tutorial.md`.",packages:["@skill-map/cli","@skill-map/spec"]}]},{version:"0.24.5",date:"2026-05-14",kind:"internal",highlights:[]},{version:"0.24.4",date:"2026-05-13",kind:"internal",highlights:[]},{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 Rt=Lt;var pn=(t,n)=>n.version;function un(t,n){if(t&1&&(b(0,"p",3),d(1),x()),t&2){let e=a();r(),m(" ",e.texts.changelogEmpty," ")}}function mn(t,n){if(t&1&&(b(0,"p",10),d(1),x()),t&2){let e=a(3);r(),m(" ",e.texts.changelogInternalRelease," ")}}function hn(t,n){if(t&1&&(b(0,"li",15),d(1),x()),t&2){let e=n.$implicit;r(),u(e)}}function _n(t,n){if(t&1&&(b(0,"ul",14),O(1,hn,2,1,"li",15,Q),x()),t&2){let e=a().$implicit,i=a(4);p("aria-label",i.texts.changelogAffectedPackages),r(),F(e.packages)}}function fn(t,n){if(t&1&&(b(0,"li",12),J(1,"div",13),_(2,_n,3,1,"ul",14),x()),t&2){let e=n.$implicit;r(),X("innerHTML",e.bodyHtml,it),r(),f(e.packages.length?2:-1)}}function bn(t,n){if(t&1&&(b(0,"ul",11),O(1,fn,3,2,"li",12,st),x()),t&2){let e=a().$implicit;r(),F(e.highlights)}}function xn(t,n){if(t&1&&(b(0,"li",6)(1,"header",7)(2,"span",8),d(3),x(),b(4,"span",9),d(5),x()(),_(6,mn,2,1,"p",10)(7,bn,3,0,"ul",11),x()),t&2){let e=n.$implicit;$("settings-changelog__entry--internal",e.kind==="internal"),p("data-testid","settings-changelog-entry-"+e.version),r(3),m("v",e.version),r(2),u(e.date),r(),f(e.kind==="internal"?6:7)}}function vn(t,n){if(t&1&&(b(0,"ol",4),O(1,xn,8,6,"li",5,pn),x()),t&2){let e=a();r(),F(e.entries())}}var Fe=class t{markdown=T(Mt);texts=w;entries=v([]);hasEntries=y(()=>this.entries().length>0);ngOnInit(){this.renderAll()}async renderAll(){let n=[];for(let e of Rt.entries){let i=[];for(let o of e.highlights)i.push({bodyHtml:await this.markdown.render(o.body),packages:o.packages});n.push({version:e.version,date:this.formatDate(e.date),kind:e.kind,highlights:i})}this.entries.set(n)}formatDate(n){let e=new Date(n+"T00:00:00Z");return Number.isNaN(e.getTime())?n: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,i){e&1&&(b(0,"section",0)(1,"h2",1),d(2),x(),b(3,"p",2),d(4),x(),_(5,un,2,1,"p",3)(6,vn,3,0,"ol",4),x()),e&2&&(p("aria-labelledby","settings-changelog-heading"),r(2),m(" ",i.texts.changelogHeading," "),r(2),u(i.texts.changelogIntro),r(),f(i.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 Bt=`
|
|
2
|
+
.p-toggleswitch {
|
|
3
|
+
display: inline-block;
|
|
4
|
+
width: dt('toggleswitch.width');
|
|
5
|
+
height: dt('toggleswitch.height');
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.p-toggleswitch-input {
|
|
9
|
+
cursor: pointer;
|
|
10
|
+
appearance: none;
|
|
11
|
+
position: absolute;
|
|
12
|
+
top: 0;
|
|
13
|
+
inset-inline-start: 0;
|
|
14
|
+
width: 100%;
|
|
15
|
+
height: 100%;
|
|
16
|
+
padding: 0;
|
|
17
|
+
margin: 0;
|
|
18
|
+
opacity: 0;
|
|
19
|
+
z-index: 1;
|
|
20
|
+
outline: 0 none;
|
|
21
|
+
border-radius: dt('toggleswitch.border.radius');
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
.p-toggleswitch-slider {
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
width: 100%;
|
|
27
|
+
height: 100%;
|
|
28
|
+
border-width: dt('toggleswitch.border.width');
|
|
29
|
+
border-style: solid;
|
|
30
|
+
border-color: dt('toggleswitch.border.color');
|
|
31
|
+
background: dt('toggleswitch.background');
|
|
32
|
+
transition:
|
|
33
|
+
background dt('toggleswitch.transition.duration'),
|
|
34
|
+
color dt('toggleswitch.transition.duration'),
|
|
35
|
+
border-color dt('toggleswitch.transition.duration'),
|
|
36
|
+
outline-color dt('toggleswitch.transition.duration'),
|
|
37
|
+
box-shadow dt('toggleswitch.transition.duration');
|
|
38
|
+
border-radius: dt('toggleswitch.border.radius');
|
|
39
|
+
outline-color: transparent;
|
|
40
|
+
box-shadow: dt('toggleswitch.shadow');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.p-toggleswitch-handle {
|
|
44
|
+
position: absolute;
|
|
45
|
+
top: 50%;
|
|
46
|
+
display: flex;
|
|
47
|
+
justify-content: center;
|
|
48
|
+
align-items: center;
|
|
49
|
+
background: dt('toggleswitch.handle.background');
|
|
50
|
+
color: dt('toggleswitch.handle.color');
|
|
51
|
+
width: dt('toggleswitch.handle.size');
|
|
52
|
+
height: dt('toggleswitch.handle.size');
|
|
53
|
+
inset-inline-start: dt('toggleswitch.gap');
|
|
54
|
+
margin-block-start: calc(-1 * calc(dt('toggleswitch.handle.size') / 2));
|
|
55
|
+
border-radius: dt('toggleswitch.handle.border.radius');
|
|
56
|
+
transition:
|
|
57
|
+
background dt('toggleswitch.transition.duration'),
|
|
58
|
+
color dt('toggleswitch.transition.duration'),
|
|
59
|
+
inset-inline-start dt('toggleswitch.slide.duration'),
|
|
60
|
+
box-shadow dt('toggleswitch.slide.duration');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {
|
|
64
|
+
background: dt('toggleswitch.checked.background');
|
|
65
|
+
border-color: dt('toggleswitch.checked.border.color');
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {
|
|
69
|
+
background: dt('toggleswitch.handle.checked.background');
|
|
70
|
+
color: dt('toggleswitch.handle.checked.color');
|
|
71
|
+
inset-inline-start: calc(dt('toggleswitch.width') - calc(dt('toggleswitch.handle.size') + dt('toggleswitch.gap')));
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {
|
|
75
|
+
background: dt('toggleswitch.hover.background');
|
|
76
|
+
border-color: dt('toggleswitch.hover.border.color');
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-handle {
|
|
80
|
+
background: dt('toggleswitch.handle.hover.background');
|
|
81
|
+
color: dt('toggleswitch.handle.hover.color');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {
|
|
85
|
+
background: dt('toggleswitch.checked.hover.background');
|
|
86
|
+
border-color: dt('toggleswitch.checked.hover.border.color');
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-handle {
|
|
90
|
+
background: dt('toggleswitch.handle.checked.hover.background');
|
|
91
|
+
color: dt('toggleswitch.handle.checked.hover.color');
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {
|
|
95
|
+
box-shadow: dt('toggleswitch.focus.ring.shadow');
|
|
96
|
+
outline: dt('toggleswitch.focus.ring.width') dt('toggleswitch.focus.ring.style') dt('toggleswitch.focus.ring.color');
|
|
97
|
+
outline-offset: dt('toggleswitch.focus.ring.offset');
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.p-toggleswitch.p-invalid > .p-toggleswitch-slider {
|
|
101
|
+
border-color: dt('toggleswitch.invalid.border.color');
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.p-toggleswitch.p-disabled {
|
|
105
|
+
opacity: 1;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.p-toggleswitch.p-disabled .p-toggleswitch-slider {
|
|
109
|
+
background: dt('toggleswitch.disabled.background');
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.p-toggleswitch.p-disabled .p-toggleswitch-handle {
|
|
113
|
+
background: dt('toggleswitch.handle.disabled.background');
|
|
114
|
+
}
|
|
115
|
+
`;var yn=["handle"],Cn=["input"],wn=t=>({checked:t});function kn(t,n){t&1&<(0)}function Sn(t,n){if(t&1&&Y(0,kn,1,0,"ng-container",3),t&2){let e=a();h("ngTemplateOutlet",e.handleTemplate||e._handleTemplate)("ngTemplateOutletContext",ut(2,wn,e.checked()))}}var Pn=`
|
|
116
|
+
${Bt}
|
|
117
|
+
|
|
118
|
+
p-toggleswitch.ng-invalid.ng-dirty > .p-toggleswitch-slider {
|
|
119
|
+
border-color: dt('toggleswitch.invalid.border.color');
|
|
120
|
+
}
|
|
121
|
+
`,En={root:{position:"relative"}},Tn={root:({instance:t})=>["p-toggleswitch p-component",{"p-toggleswitch p-component":!0,"p-toggleswitch-checked":t.checked(),"p-disabled":t.$disabled(),"p-invalid":t.invalid()}],input:"p-toggleswitch-input",slider:"p-toggleswitch-slider",handle:"p-toggleswitch-handle"},zt=(()=>{class t extends xt{name="toggleswitch";style=Pn;classes=Tn;inlineStyles=En;static \u0275fac=(()=>{let e;return function(o){return(e||(e=Re(t)))(o||t)}})();static \u0275prov=Je({token:t,factory:t.\u0275fac})}return t})();var Kt=new et("TOGGLESWITCH_INSTANCE"),Mn={provide:St,useExisting:Ye(()=>le),multi:!0},le=(()=>{class t extends Pt{componentName="ToggleSwitch";$pcToggleSwitch=T(Kt,{optional:!0,skipSelf:!0})??void 0;bindDirectiveInstance=T(me,{self:!0});onAfterViewChecked(){this.bindDirectiveInstance.setAttrs(this.ptms(["host","root"]))}styleClass;tabindex;inputId;readonly;trueValue=!0;falseValue=!1;ariaLabel;size=V();ariaLabelledBy;autofocus;onChange=new nt;input;handleTemplate;_handleTemplate;focused=!1;_componentStyle=T(zt);templates;onHostClick(e){this.onClick(e)}onAfterContentInit(){this.templates.forEach(e=>{e.getType()==="handle"?this._handleTemplate=e.template:this._handleTemplate=e.template})}onClick(e){!this.$disabled()&&!this.readonly&&(this.writeModelValue(this.checked()?this.falseValue:this.trueValue),this.onModelChange(this.modelValue()),this.onChange.emit({originalEvent:e,checked:this.modelValue()}),this.input.nativeElement.focus())}onFocus(){this.focused=!0}onBlur(){this.focused=!1,this.onModelTouched()}checked(){return this.modelValue()===this.trueValue}writeControlValue(e,i){i(e),this.cd.markForCheck()}get dataP(){return this.cn({checked:this.checked(),disabled:this.$disabled(),invalid:this.invalid()})}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Re(t)))(o||t)}})();static \u0275cmp=A({type:t,selectors:[["p-toggleswitch"],["p-toggleSwitch"],["p-toggle-switch"]],contentQueries:function(i,o,c){if(i&1&&dt(c,yn,4)(c,Ce,4),i&2){let g;be(g=xe())&&(o.handleTemplate=g.first),be(g=xe())&&(o.templates=g)}},viewQuery:function(i,o){if(i&1&&ct(Cn,5),i&2){let c;be(c=xe())&&(o.input=c.first)}},hostVars:7,hostBindings:function(i,o){i&1&&C("click",function(g){return o.onHostClick(g)}),i&2&&(p("data-p-checked",o.checked())("data-p-disabled",o.$disabled())("data-p",o.dataP),ve(o.sx("root")),ue(o.cn(o.cx("root"),o.styleClass)))},inputs:{styleClass:"styleClass",tabindex:[2,"tabindex","tabindex",_t],inputId:"inputId",readonly:[2,"readonly","readonly",ze],trueValue:"trueValue",falseValue:"falseValue",ariaLabel:"ariaLabel",size:[1,"size"],ariaLabelledBy:"ariaLabelledBy",autofocus:[2,"autofocus","autofocus",ze]},outputs:{onChange:"onChange"},features:[Z([Mn,zt,{provide:Kt,useExisting:t},{provide:vt,useExisting:t}]),rt([me]),at],decls:5,vars:22,consts:[["input",""],["type","checkbox","role","switch",3,"focus","blur","checked","pAutoFocus","pBind"],[3,"pBind"],[4,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(i,o){i&1&&(l(0,"input",1,0),C("focus",function(){return o.onFocus()})("blur",function(){return o.onBlur()}),s(),l(2,"div",2)(3,"div",2),_(4,Sn,1,4,"ng-container"),s()()),i&2&&(ue(o.cx("input")),h("checked",o.checked())("pAutoFocus",o.autofocus)("pBind",o.ptm("input")),p("id",o.inputId)("required",o.required()?"":void 0)("disabled",o.$disabled()?"":void 0)("aria-checked",o.checked())("aria-labelledby",o.ariaLabelledBy)("aria-label",o.ariaLabel)("name",o.name())("tabindex",o.tabindex),r(2),ue(o.cx("slider")),h("pBind",o.ptm("slider")),p("data-p",o.dataP),r(),ue(o.cx("handle")),h("pBind",o.ptm("handle")),p("data-p",o.dataP),r(),f(o.handleTemplate||o._handleTemplate?4:-1))},dependencies:[bt,ft,yt,we,Ct,me],encapsulation:2,changeDetection:0})}return t})(),De=(()=>{class t{static \u0275fac=function(i){return new(i||t)};static \u0275mod=ot({type:t});static \u0275inj=Ze({imports:[le,we,we]})}return t})();var In=(t,n)=>n.key;function On(t,n){if(t&1&&(l(0,"p-message",3),d(1),s()),t&2){let e=a();h("closable",!1),r(),R(" ",e.texts.general.loadErrorPrefix," ",n," ")}}function Fn(t,n){if(t&1&&(l(0,"p-message",4),d(1),s()),t&2){let e=a();h("closable",!1),r(),R(" ",e.texts.general.saveErrorPrefix," ",n," ")}}function Dn(t,n){if(t&1){let e=I();l(0,"li",6)(1,"div",9)(2,"div",10),d(3),s(),l(4,"div",11),d(5),s()(),l(6,"p-toggleswitch",14),C("ngModelChange",function(o){let c=k(e).$implicit,g=a();return S(g.onToggle(c,o))}),s()()}if(t&2){let e=n.$implicit,i=a();p("data-testid","settings-general-row-"+e.key),r(3),u(i.toggleLabel(e.key)),r(2),m(" ",i.toggleDescription(e.key)," "),r(),h("ngModel",i.valueOf(e))("disabled",i.loading()||i.isPending(e.key)||i.preferences()===null),p("data-testid","settings-general-toggle-"+e.key)}}function An(t,n){if(t&1&&(l(0,"span",15),d(1),s()),t&2){let e=n.$implicit,i=a();r(),m(" ",i.extraThemeLabel(e.labelKey)," ")}}var jn=[{key:"updateCheck.enabled",read:t=>t.updateCheck.enabled,patch:t=>({updateCheck:{enabled:t}})}],Nn=[{value:"none",labelKey:"none"},{value:"matrix",labelKey:"matrix"}];function Vn(t){return t==="matrix"?"matrix":"none"}function Ln(t){return t==="matrix"?"matrix":null}var Ae=class t{dataSource=T(G);themeService=T(Ie);visible=V.required();texts=w;toggles=jn;extraThemeOptions=Nn;extraThemeWire=y(()=>Vn(this.themeService.extraTheme()));loading=v(!1);loadError=v(null);saveError=v(null);preferences=v(null);pending=v(new Set);constructor(){N(()=>{this.visible()&&this.refresh()})}toggleLabel(n){return w.general.toggles[n].label}toggleDescription(n){return w.general.toggles[n].description}valueOf(n){let e=this.preferences();return e?n.read(e):!1}isPending(n){return this.pending().has(n)}onToggle(n,e){this.runToggle(n,e)}onExtraThemeChange(n){this.themeService.setExtraTheme(Ln(n??"none"))}extraThemeLabel(n){return w.general.extraTheme.options[n].label}async refresh(){this.loading.set(!0),this.loadError.set(null),this.saveError.set(null);try{let n=await this.dataSource.getPreferences();this.preferences.set(n)}catch(n){this.loadError.set(Gt(n)),this.preferences.set(null)}finally{this.loading.set(!1)}}async runToggle(n,e){if(this.pending().has(n.key))return;let i=new Set(this.pending());i.add(n.key),this.pending.set(i),this.saveError.set(null);try{let o=await this.dataSource.setPreferences(n.patch(e));this.preferences.set(o)}catch(o){this.saveError.set(Gt(o))}finally{let o=new Set(this.pending());o.delete(n.key),this.pending.set(o)}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,selectors:[["sm-settings-general"]],inputs:{visible:[1,"visible"]},decls:23,vars:12,consts:[["data-testid","settings-general",1,"settings-general"],["id","settings-general-heading",1,"settings-general__title"],[1,"settings-general__intro"],["severity","error","data-testid","settings-general-load-error",3,"closable"],["severity","error","data-testid","settings-general-save-error",3,"closable"],["role","list",1,"settings-general__list"],[1,"settings-general__row"],[1,"settings-general__subheading"],["data-testid","settings-general-row-extra-theme",1,"settings-general__row","settings-general__row--stacked"],[1,"settings-general__row-text"],[1,"settings-general__row-label"],[1,"settings-general__row-description"],["optionLabel","labelKey","optionValue","value","data-testid","settings-general-extra-theme",3,"ngModelChange","options","ngModel","allowEmpty"],["pTemplate","item"],[3,"ngModelChange","ngModel","disabled"],["data-testid","settings-general-extra-theme-option"]],template:function(e,i){if(e&1&&(l(0,"section",0)(1,"h2",1),d(2),s(),l(3,"p",2),d(4),s(),_(5,On,2,3,"p-message",3),_(6,Fn,2,3,"p-message",4),l(7,"ul",5),O(8,Dn,7,6,"li",6,In),s(),l(10,"h3",7),d(11),s(),l(12,"p",2),d(13),s(),l(14,"ul",5)(15,"li",8)(16,"div",9)(17,"div",10),d(18),s(),l(19,"div",11),d(20),s()(),l(21,"p-selectbutton",12),C("ngModelChange",function(c){return i.onExtraThemeChange(c)}),Y(22,An,2,1,"ng-template",13),s()()()()),e&2){let o,c;p("aria-labelledby","settings-general-heading"),r(2),m(" ",i.texts.general.heading," "),r(2),u(i.texts.general.intro),r(),f((o=i.loadError())?5:-1,o),r(),f((c=i.saveError())?6:-1,c),r(2),F(i.toggles),r(3),m(" ",i.texts.general.localPreferences.heading," "),r(2),m(" ",i.texts.general.localPreferences.intro," "),r(5),m(" ",i.texts.general.extraTheme.label," "),r(2),m(" ",i.texts.general.extraTheme.description," "),r(),h("options",i.extraThemeOptions)("ngModel",i.extraThemeWire())("allowEmpty",!1)}},dependencies:[oe,ne,ie,ae,re,Ce,jt,At,De,le],styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-general__title[_ngcontent-%COMP%]{margin:0 0 .25rem;font-size:1.05rem;font-weight:600;color:var(--p-text-color)}.settings-general__intro[_ngcontent-%COMP%]{margin:0 0 1.25rem;font-size:.85rem;color:var(--sm-text-muted);line-height:1.5}.settings-general__list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.settings-general__row[_ngcontent-%COMP%]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--p-content-border-color);border-radius:.5rem;background:var(--p-content-background)}.settings-general__row-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;flex:1 1 auto;min-width:0}.settings-general__row-label[_ngcontent-%COMP%]{font-size:.9rem;font-weight:600;color:var(--p-text-color)}.settings-general__row-description[_ngcontent-%COMP%]{font-size:.8rem;color:var(--sm-text-muted);line-height:1.45}.settings-general__subheading[_ngcontent-%COMP%]{margin:1.75rem 0 .25rem;font-size:.95rem;font-weight:600;color:var(--p-text-color)}.settings-general__row--stacked[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch;gap:.65rem}"],changeDetection:0})};function Gt(t){return t instanceof z||t instanceof Error?t.message:String(t)}var Ke={provider:"#7C3AED",extractor:"#A78BFA",analyzer:"#5FD17C",action:"#00C853",formatter:"#5BC0EB",hook:"#FFB627"};function qt(t){let n=t.toLowerCase();return Ke[n]??"currentColor"}var Ve=["all",...Object.keys(Ke)],je=["claude","gemini","agent-skills","core"],Ne=["provider","extractor","analyzer","action","formatter","hook"];function de(t,n){return`${t}/${n}`}function $e(t){let n=new Map;for(let e of t)if(!ce(e.status)){if(e.granularity==="bundle"){n.set(e.id,e.status==="enabled");continue}if(e.granularity==="extension"&&e.extensions)for(let i of e.extensions)n.set(de(e.id,i.id),i.enabled)}return n}function Ge(t){let n=t.target;return!n||typeof n.closest!="function"?!1:n.closest('label, button, input, [role="switch"], p-toggleswitch')!==null}function Wt(t,n){if(Rn(t,n))return[t];if(t.granularity!=="extension"||!t.extensions)return[];let e=t.extensions.filter(i=>Bn(i,n));return e.length===0?[]:[W(q({},t),{extensions:e})]}function Qt(t,n){if(t.granularity==="bundle")return t.kinds.some(i=>i.toLowerCase()===n)?[t]:[];if(!t.extensions)return[];let e=t.extensions.filter(i=>i.kind.toLowerCase()===n);return e.length===0?[]:[W(q({},t),{extensions:e})]}function Xt(t){if(t.locked)return[];if(t.granularity!=="extension"||!t.extensions)return[t];let n=t.extensions.filter(e=>!e.locked);return n.length===0?[]:[W(q({},t),{extensions:n})]}function Yt(t){return t.slice().sort((e,i)=>{let o=je.indexOf(e.id),c=je.indexOf(i.id),g=o>=0?o:je.length,P=c>=0?c:je.length;return g!==P?g-P:e.id.localeCompare(i.id)}).map(e=>{if(e.granularity!=="extension"||!e.extensions)return e;let i=e.extensions.slice().sort((o,c)=>{let g=Ne.indexOf(o.kind.toLowerCase()),P=Ne.indexOf(c.kind.toLowerCase()),K=g>=0?g:Ne.length,L=P>=0?P:Ne.length;return K!==L?K-L:o.id.localeCompare(c.id)});return W(q({},e),{extensions:i})})}function Rn(t,n){return!!(t.id.toLowerCase().includes(n)||t.description&&t.description.toLowerCase().includes(n))}function Bn(t,n){return!!(t.id.toLowerCase().includes(n)||t.description&&t.description.toLowerCase().includes(n))}function ce(t){return t==="incompatible-spec"||t==="invalid-manifest"||t==="load-error"||t==="id-collision"}function He(t){return t instanceof z||t instanceof Error?t.message:String(t)}function Jt(t,n){return ce(t.status)?n.statusFailure[t.status]??t.status:t.status==="enabled"?n.enabledLabel:n.disabledLabel}function Zt(t,n){switch(t){case"built-in":return n.sourceBuiltIn;case"project":return n.sourceProject}}var Ue="sm.settings.plugins.collapsed",qe="sm.settings.plugins.kind-filter";function en(){let t=null;try{t=localStorage.getItem(Ue)}catch{return new Set}if(!t)return new Set;let n;try{n=JSON.parse(t)}catch{return new Set}if(!Array.isArray(n))return new Set;let e=new Set;for(let i of n)typeof i=="string"&&i.length>0&&e.add(i);return e}function tn(t){try{if(t.size===0){localStorage.removeItem(Ue);return}localStorage.setItem(Ue,JSON.stringify([...t]))}catch{}}function nn(){let t=null;try{t=localStorage.getItem(qe)}catch{return"all"}return t&&Ve.includes(t)?t:"all"}function on(t){try{if(t==="all"){localStorage.removeItem(qe);return}localStorage.setItem(qe,t)}catch{}}function We(){tt(We);let t=v(en());N(()=>tn(t()));let n=i=>{let o=new Set(t());o.has(i)?o.delete(i):o.add(i),t.set(o)},e=i=>!t().has(i);return{collapsed:t.asReadonly(),toggleExpanded:n,isExpanded:e}}function rn(t){let n=v(""),e=y(()=>n().trim().length>0),i=v(nn()),o=y(()=>i()!=="all");N(()=>on(i()));let c=y(()=>Yt(t.plugins().flatMap(Xt))),g=y(()=>{let L=n().trim().toLowerCase(),_e=i(),H=c();return _e!=="all"&&(H=H.flatMap(fe=>Qt(fe,_e))),L.length>0&&(H=H.flatMap(fe=>Wt(fe,L))),H});return{searchText:n,searchActive:e,kindFilter:i,setKindFilter:L=>{i.set(L)},isKindFilterActive:L=>i()===L,kindFilterActive:o,kindFilterOptions:Ve,visiblePlugins:c,filteredPlugins:g}}function an(t){let n=v(!1),e=v(null),i=v(null),o=v([]),c=v(new Map),g=v(new Map),P=v(!1),K=y(()=>{let E=c(),D=g(),B=new Set;for(let[U,j]of D)E.get(U)!==j&&B.add(U);return B}),L=y(()=>K().size>0),_e=y(()=>o().some(E=>ce(E.status))),H=y(()=>{let E=g();for(let D of o())if(D.startsAsDisabled===!0&&E.get(D.id)===!0)return!0;return!1});return{plugins:o,loading:n,loadError:e,toggleError:i,applying:P,hasFailureRows:_e,originalState:c,pendingState:g,dirtyIds:K,hasPendingChanges:L,restartRecommended:H,pendingEnabled:E=>g().get(E)??!1,isDirty:E=>K().has(E),refresh:async()=>{n.set(!0),e.set(null),i.set(null);try{let E=await t.dataSource.listPlugins();o.set([...E.items]);let D=$e(E.items);c.set(D),g.set(new Map(D))}catch(E){e.set(He(E)),o.set([]),c.set(new Map),g.set(new Map)}finally{n.set(!1)}},onBundleToggle:(E,D)=>{if(P())return;let B=new Map(g());B.set(E.id,D),g.set(B)},onExtensionToggle:(E,D,B)=>{if(P())return;let U=de(E,D.id),j=new Map(g());j.set(U,B),g.set(j)},applyChanges:async()=>{if(P())return{ok:!1};let E=K();if(E.size===0)return{ok:!1};let D=[],B=g();for(let j of E)D.push({id:j,enabled:B.get(j)??!1});P.set(!0),i.set(null);let U=!1;try{let j=await t.dataSource.applyPluginChanges(D);o.set([...j.items]);let Xe=$e(j.items);c.set(Xe),g.set(new Map(Xe)),t.scanTrigger.run(),U=!0}catch(j){i.set(He(j))}finally{P.set(!1)}return{ok:U}},discardChanges:()=>{g.set(new Map(c())),i.set(null)}}}var sn=(t,n)=>n.id;function $n(t,n){if(t&1&&d(0),t&2){let e=a().$implicit,i=a();m(" ",e==="all"?i.texts.pluginsKindFilterAll:e," ")}}function Gn(t,n){if(t&1){let e=I();l(0,"p-togglebutton",16),C("ngModelChange",function(){let o=k(e).$implicit,c=a();return S(c.setKindFilter(o))}),Y(1,$n,1,1,"ng-template",null,0,mt),s()}if(t&2){let e=n.$implicit,i=a();Be("--kind-color",e==="all"?null:i.kindTint(e)),h("ngModel",i.isKindFilterActive(e))("styleClass","settings-plugins__kind-chip"+(e==="all"?" is-all":""))("ariaLabel",i.texts.pluginsKindFilterOptionA11y(e,!i.isKindFilterActive(e))),p("data-testid","settings-plugins-kind-chip-"+e)}}function Hn(t,n){if(t&1&&(l(0,"p-message",11),d(1),s()),t&2){let e=a();h("closable",!1),r(),m(" ",e.texts.unsavedChangesMessage(e.dirtyIds().size)," ")}}function Un(t,n){if(t&1&&(l(0,"p",12),M(1,"i",17),d(2),s()),t&2){let e=a();r(2),m(" ",e.texts.loading," ")}}function qn(t,n){if(t&1&&(l(0,"p-message",13),d(1),s()),t&2){let e=a();h("closable",!1),r(),R(" ",e.texts.errorPrefix," ",e.loadError()," ")}}function Wn(t,n){if(t&1&&(l(0,"p",14),d(1),s()),t&2){let e=a();r(),m(" ",e.texts.empty," ")}}function Qn(t,n){if(t&1){let e=I();l(0,"p-message",22),C("onClose",function(){k(e);let o=a(2);return S(o.toggleError.set(null))}),d(1),s()}if(t&2){let e=a(2);h("closable",!0),r(),R(" ",e.texts.toggleErrorPrefix," ",e.toggleError()," ")}}function Xn(t,n){if(t&1&&(l(0,"p",19),M(1,"i",23),d(2),s()),t&2){let e=a(2);r(2),m(" ",e.texts.pluginsSearchEmpty(e.searchText())," ")}}function Yn(t,n){if(t&1){let e=I();l(0,"button",41),C("click",function(o){k(e);let c=a().$implicit;return a(2).toggleExpanded(c.id),S(o.stopPropagation())}),M(1,"i",42),s()}if(t&2){let e=a().$implicit,i=a(2);p("aria-expanded",i.isExpanded(e.id))("aria-label",i.isExpanded(e.id)?i.texts.collapseLabel:i.texts.expandLabel)("data-testid","settings-bundle-expand-"+e.id),r(),$("fa-chevron-down",i.isExpanded(e.id))("fa-chevron-right",!i.isExpanded(e.id))}}function Jn(t,n){t&1&&M(0,"span",27)}function Zn(t,n){if(t&1&&M(0,"span",30),t&2){let e=a().$implicit;p("data-testid","settings-row-dirty-"+e.id)}}function ei(t,n){if(t&1&&(l(0,"span",33),d(1),s()),t&2){let e=a().$implicit;r(),m("v",e.version)}}function ti(t,n){if(t&1&&(l(0,"span",34),M(1,"i",43),d(2),s()),t&2){let e=a().$implicit,i=a(2);h("title",i.texts.lockedTooltip),p("data-testid","settings-row-locked-"+e.id),r(2),m(" ",i.texts.lockedLabel," ")}}function ni(t,n){if(t&1&&(l(0,"span",35),d(1),s()),t&2){let e=a().$implicit,i=a(2);r(),u(i.statusLabel(e))}}function ii(t,n){if(t&1&&(l(0,"p",36),d(1),s()),t&2){let e=a().$implicit;r(),u(e.description)}}function oi(t,n){if(t&1&&(l(0,"span",37),d(1),s()),t&2){let e=a().$implicit;r(),u(e.reason)}}function ri(t,n){if(t&1&&(l(0,"p",38),M(1,"i",44),d(2),s()),t&2){let e=a().$implicit,i=a(2);p("data-testid","settings-row-starts-disabled-"+e.id),r(2),m(" ",i.texts.startsAsDisabledRowHint," ")}}function ai(t,n){if(t&1){let e=I();l(0,"p-toggleswitch",45),C("ngModelChange",function(o){k(e);let c=a().$implicit,g=a(2);return S(g.onBundleToggle(c,o))}),s()}if(t&2){let e=a().$implicit,i=a(2);h("ngModel",i.pendingEnabled(e.id))("disabled",i.applying()||!!e.locked)("ariaLabel",i.texts.a11y.pluginToggle(e.id,!i.pendingEnabled(e.id))),p("data-testid","settings-toggle-"+e.id)}}function si(t,n){if(t&1&&M(0,"span",30),t&2){let e=a().$implicit,i=a(2).$implicit;p("data-testid","settings-extrow-dirty-"+i.id+"-"+e.id)}}function li(t,n){if(t&1&&(l(0,"span",34),M(1,"i",43),d(2),s()),t&2){let e=a().$implicit,i=a(2).$implicit,o=a(2);h("title",o.texts.lockedTooltip),p("data-testid","settings-extrow-locked-"+i.id+"-"+e.id),r(2),m(" ",o.texts.lockedLabel," ")}}function di(t,n){if(t&1&&(l(0,"p",53),d(1),s()),t&2){let e=a().$implicit;r(),u(e.description)}}function ci(t,n){if(t&1){let e=I();l(0,"li",47),C("click",function(o){let c=k(e).$implicit,g=a(2).$implicit,P=a(2);return S(P.onSubrowClick(g.id,c,o))})("keydown.enter",function(o){let c=k(e).$implicit,g=a(2).$implicit,P=a(2);return S(P.onSubrowClick(g.id,c,o))})("keydown.space",function(o){let c=k(e).$implicit,g=a(2).$implicit,P=a(2);return o.preventDefault(),S(P.onSubrowClick(g.id,c,o))}),l(1,"div",48)(2,"div",49),_(3,si,1,1,"span",30),l(4,"span",50),d(5),s(),l(6,"span",51),d(7),s(),l(8,"span",52),d(9),s(),_(10,li,3,3,"span",34),s(),_(11,di,2,1,"p",53),s(),l(12,"p-toggleswitch",45),C("ngModelChange",function(o){let c=k(e).$implicit,g=a(2).$implicit,P=a(2);return S(P.onExtensionToggle(g.id,c,o))}),s()()}if(t&2){let e=n.$implicit,i=a(2).$implicit,o=a(2);$("is-clickable",o.extensionToggleInteractive(e))("is-dirty",o.isDirty(o.qualifiedExt(i.id,e.id))),p("aria-label",o.texts.a11y.extensionRow(o.qualifiedExt(i.id,e.id)))("data-testid","settings-extrow-"+i.id+"-"+e.id),r(3),f(o.isDirty(o.qualifiedExt(i.id,e.id))?3:-1),r(2),u(e.id),r(),Be("--kind-color",o.kindTint(e.kind)),r(),u(e.kind),r(2),m("v",e.version),r(),f(e.locked?10:-1),r(),f(e.description?11:-1),r(),h("ngModel",o.pendingEnabled(o.qualifiedExt(i.id,e.id)))("disabled",o.applying()||!!e.locked)("ariaLabel",o.texts.a11y.extensionToggle(o.qualifiedExt(i.id,e.id),!o.pendingEnabled(o.qualifiedExt(i.id,e.id)))),p("data-testid","settings-ext-toggle-"+i.id+"-"+e.id)}}function gi(t,n){if(t&1&&(l(0,"ul",40),O(1,ci,13,18,"li",46,sn),s()),t&2){let e=a().$implicit;p("data-testid","settings-extensions-"+e.id),r(),F(e.extensions)}}function pi(t,n){if(t&1){let e=I();l(0,"li",24)(1,"div",25),C("click",function(o){let c=k(e).$implicit,g=a(2);return S(g.onRowClick(c,o))})("keydown.enter",function(o){let c=k(e).$implicit,g=a(2);return S(g.onRowClick(c,o))})("keydown.space",function(o){let c=k(e).$implicit,g=a(2);return o.preventDefault(),S(g.onRowClick(c,o))}),_(2,Yn,2,7,"button",26)(3,Jn,1,0,"span",27),l(4,"div",28)(5,"div",29),_(6,Zn,1,1,"span",30),l(7,"span",31),d(8),s(),l(9,"span",32),d(10),s(),_(11,ei,2,1,"span",33),_(12,ti,3,3,"span",34),_(13,ni,2,1,"span",35),s(),_(14,ii,2,1,"p",36),_(15,oi,2,1,"span",37),_(16,ri,3,2,"p",38),s(),_(17,ai,1,4,"p-toggleswitch",39),s(),_(18,gi,3,1,"ul",40),s()}if(t&2){let e=n.$implicit,i=a(2);$("is-extension-bundle",e.granularity==="extension")("is-failed",!i.canToggleBundle(e)&&e.granularity==="bundle")("is-clickable",i.rowIsClickable(e))("is-dirty",e.granularity==="bundle"&&i.isDirty(e.id)),p("data-testid","settings-row-"+e.id),r(),p("aria-label",i.texts.a11y.pluginRow(e.id)),r(),f(e.granularity==="extension"&&(e.extensions!=null&&e.extensions.length)?2:3),r(4),f(e.granularity==="bundle"&&i.isDirty(e.id)?6:-1),r(2),u(e.id),r(2),u(i.sourceLabel(e.source)),r(),f(e.version?11:-1),r(),f(e.locked?12:-1),r(),f(!i.canToggleBundle(e)&&e.granularity==="bundle"?13:-1),r(),f(e.description?14:-1),r(),f(e.reason?15:-1),r(),f(i.showStartsAsDisabledHint(e)?16:-1),r(),f(i.canToggleBundle(e)?17:-1),r(),f(e.granularity==="extension"&&(e.extensions!=null&&e.extensions.length)&&i.isExpanded(e.id)?18:-1)}}function ui(t,n){if(t&1&&(_(0,Qn,2,3,"p-message",18),_(1,Xn,3,1,"p",19),l(2,"ul",20),O(3,pi,19,22,"li",21,sn),s()),t&2){let e=a();f(e.toggleError()?0:-1),r(),f(e.searchActive()&&e.filteredPlugins().length===0?1:-1),r(2),F(e.filteredPlugins())}}function mi(t,n){if(t&1&&(l(0,"em",54),d(1),s()),t&2){let e=a(2);r(),m(" ",e.texts.startsAsDisabledFooterHint," ")}}function hi(t,n){if(t&1){let e=I();l(0,"footer",15),_(1,mi,2,1,"em",54),l(2,"p-button",55),C("onClick",function(){k(e);let o=a();return S(o.discardChanges())}),s(),l(3,"p-button",56),C("onClick",function(){k(e);let o=a();return S(o.applyChanges())}),s()()}if(t&2){let e=a();r(),f(e.restartRecommended()?1:-1),r(),h("text",!0)("label",e.texts.discardChanges)("ariaLabel",e.texts.discardA11y)("disabled",e.applying()),r(),h("label",e.texts.applyAndClose)("ariaLabel",e.texts.applyA11y)("disabled",e.applying())("loading",e.applying())}}var ge=class t{dataSource=T(G);scanTrigger=T(Vt);visible=V.required();applied=ye();texts=w;pluginState=an({dataSource:this.dataSource,scanTrigger:this.scanTrigger});plugins=this.pluginState.plugins;loading=this.pluginState.loading;loadError=this.pluginState.loadError;toggleError=this.pluginState.toggleError;applying=this.pluginState.applying;hasFailureRows=this.pluginState.hasFailureRows;originalState=this.pluginState.originalState;pendingState=this.pluginState.pendingState;dirtyIds=this.pluginState.dirtyIds;hasPendingChanges=this.pluginState.hasPendingChanges;restartRecommended=this.pluginState.restartRecommended;pluginCollapse=We();collapsed=this.pluginCollapse.collapsed;pluginFilter=rn({plugins:this.plugins});searchText=this.pluginFilter.searchText;searchActive=this.pluginFilter.searchActive;kindFilter=this.pluginFilter.kindFilter;kindFilterActive=this.pluginFilter.kindFilterActive;kindFilterOptions=this.pluginFilter.kindFilterOptions;visiblePlugins=this.pluginFilter.visiblePlugins;filteredPlugins=this.pluginFilter.filteredPlugins;constructor(){N(()=>{this.visible()&&this.pluginState.refresh()})}setKindFilter(n){this.pluginFilter.setKindFilter(n)}isKindFilterActive(n){return this.pluginFilter.isKindFilterActive(n)}toggleExpanded(n){this.pluginCollapse.toggleExpanded(n)}isExpanded(n){return this.pluginCollapse.isExpanded(n)}pendingEnabled(n){return this.pluginState.pendingEnabled(n)}isDirty(n){return this.pluginState.isDirty(n)}showStartsAsDisabledHint(n){return n.startsAsDisabled?this.pendingEnabled(n.id):!1}onBundleToggle(n,e){this.pluginState.onBundleToggle(n,e)}onExtensionToggle(n,e,i){this.pluginState.onExtensionToggle(n,e,i)}async applyChanges(){(await this.pluginState.applyChanges()).ok&&this.applied.emit()}discardChanges(){this.pluginState.discardChanges()}canToggleBundle(n){return n.granularity==="extension"?!1:!ce(n.status)}bundleToggleInteractive(n){return this.canToggleBundle(n)&&!n.locked}extensionToggleInteractive(n){return!n.locked}rowIsClickable(n){return!!(this.bundleToggleInteractive(n)||n.granularity==="extension"&&(n.extensions?.length??0)>0)}onRowClick(n,e){if(!Ge(e)){if(this.bundleToggleInteractive(n)){this.onBundleToggle(n,!this.pendingEnabled(n.id));return}n.granularity==="extension"&&(n.extensions?.length??0)>0&&this.toggleExpanded(n.id)}}onSubrowClick(n,e,i){if(Ge(i)||!this.extensionToggleInteractive(e))return;let o=de(n,e.id);this.onExtensionToggle(n,e,!this.pendingEnabled(o))}statusLabel(n){return Jt(n,this.texts)}sourceLabel(n){return Zt(n,this.texts)}qualifiedExt(n,e){return de(n,e)}kindTint(n){return qt(n)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,selectors:[["sm-settings-plugins"]],inputs:{visible:[1,"visible"]},outputs:{applied:"applied"},decls:19,vars:9,consts:[["content",""],["aria-labelledby","settings-plugins-heading",1,"settings-plugins"],[1,"settings-plugins__scroll"],[1,"settings-plugins__header"],["id","settings-plugins-heading",1,"settings-plugins__title"],[1,"settings-plugins__intro"],["iconPosition","left",1,"settings-plugins__search"],["styleClass","fa-solid fa-magnifying-glass"],["pInputText","","type","text","data-testid","settings-plugins-search",3,"ngModelChange","placeholder","ngModel"],["role","group","data-testid","settings-plugins-kind-filter",1,"settings-plugins__kind-filter"],[3,"ngModel","styleClass","--kind-color","ariaLabel"],["severity","warn","styleClass","settings-plugins__banner","data-testid","settings-banner-unsaved",3,"closable"],["data-testid","settings-loading",1,"settings-plugins__hint"],["severity","error","data-testid","settings-error",3,"closable"],["data-testid","settings-empty",1,"settings-plugins__hint"],["data-testid","settings-plugins-footer",1,"settings-plugins__footer"],[3,"ngModelChange","ngModel","styleClass","ariaLabel"],["aria-hidden","true",1,"fa-solid","fa-spinner","fa-spin"],["severity","error","data-testid","settings-toggle-error",3,"closable"],["data-testid","settings-search-empty",1,"settings-plugins__hint"],["role","list",1,"settings-plugins__list"],[1,"settings-plugins__row",3,"is-extension-bundle","is-failed","is-clickable","is-dirty"],["severity","error","data-testid","settings-toggle-error",3,"onClose","closable"],["aria-hidden","true",1,"fa-solid","fa-magnifying-glass"],[1,"settings-plugins__row"],["role","button","tabindex","0",1,"settings-plugins__row-main",3,"click","keydown.enter","keydown.space"],["type","button",1,"settings-plugins__expand"],["aria-hidden","true",1,"settings-plugins__expand-spacer"],[1,"settings-plugins__row-text"],[1,"settings-plugins__row-headline"],["aria-hidden","true",1,"settings-plugins__dirty-dot"],[1,"settings-plugins__row-id"],[1,"settings-plugins__row-source"],[1,"settings-plugins__row-version"],[1,"settings-plugins__row-locked",3,"title"],[1,"settings-plugins__row-status"],[1,"settings-plugins__row-description"],[1,"settings-plugins__row-reason"],[1,"settings-plugins__row-hint"],[3,"ngModel","disabled","ariaLabel"],["role","list",1,"settings-plugins__sublist"],["type","button",1,"settings-plugins__expand",3,"click"],["aria-hidden","true",1,"fa-solid"],["aria-hidden","true",1,"fa-solid","fa-lock"],["aria-hidden","true",1,"fa-solid","fa-triangle-exclamation"],[3,"ngModelChange","ngModel","disabled","ariaLabel"],["role","button","tabindex","0",1,"settings-plugins__subrow",3,"is-clickable","is-dirty"],["role","button","tabindex","0",1,"settings-plugins__subrow",3,"click","keydown.enter","keydown.space"],[1,"settings-plugins__subrow-text"],[1,"settings-plugins__subrow-headline"],[1,"settings-plugins__subrow-id"],[1,"settings-plugins__subrow-kind"],[1,"settings-plugins__subrow-version"],[1,"settings-plugins__subrow-description"],["data-testid","settings-plugins-restart-hint",1,"settings-plugins__footer-hint"],["severity","secondary","data-testid","settings-plugins-discard",3,"onClick","text","label","ariaLabel","disabled"],["data-testid","settings-plugins-apply",3,"onClick","label","ariaLabel","disabled","loading"]],template:function(e,i){e&1&&(l(0,"section",1)(1,"div",2)(2,"header",3)(3,"h2",4),d(4),s(),l(5,"p",5),d(6),s()(),l(7,"p-iconfield",6),M(8,"p-inputicon",7),l(9,"input",8),C("ngModelChange",function(c){return i.searchText.set(c)}),s()(),l(10,"div",9),O(11,Gn,3,6,"p-togglebutton",10,Q),s(),_(13,Hn,2,2,"p-message",11),_(14,Un,3,1,"p",12)(15,qn,2,3,"p-message",13)(16,Wn,2,1,"p",14)(17,ui,5,2),s(),_(18,hi,4,9,"footer",15),s()),e&2&&(r(4),m(" ",i.texts.pluginsHeading," "),r(2),u(i.texts.pluginsIntro),r(3),h("placeholder",i.texts.pluginsSearchPlaceholder)("ngModel",i.searchText()),p("aria-label",i.texts.pluginsSearchA11y),r(),p("aria-label",i.texts.pluginsKindFilterA11y),r(),F(i.kindFilterOptions),r(2),f(i.hasPendingChanges()?13:-1),r(),f(i.loading()?14:i.loadError()?15:i.plugins().length===0?16:17),r(4),f(i.hasPendingChanges()?18:-1))},dependencies:[oe,Ee,ne,ie,te,ke,Ot,It,Dt,Ft,Me,Te,ae,re,Tt,Et,De,le],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;height:100%;overflow:hidden}.settings-plugins[_ngcontent-%COMP%]{display:flex;flex-direction:column;flex:1;min-height:0}.settings-plugins__scroll[_ngcontent-%COMP%]{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;min-height:0}.settings-plugins__header[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem}.settings-plugins__title[_ngcontent-%COMP%]{font-size:1.15rem;font-weight:600;margin:0}.settings-plugins__intro[_ngcontent-%COMP%]{margin:0;color:var(--p-text-muted-color);font-size:.875rem}.settings-plugins__search[_ngcontent-%COMP%]{display:block;width:100%}.settings-plugins__search[_ngcontent-%COMP%] :where(input[_ngcontent-%COMP%]){width:100%}.settings-plugins__kind-filter[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.375rem}.settings-plugins__kind-chip[_ngcontent-%COMP%]{--chip-accent: var(--kind-color, var(--p-text-color));--p-togglebutton-padding: .25rem .625rem;--p-togglebutton-content-padding: 0;--p-togglebutton-content-checked-background: transparent;--p-togglebutton-content-checked-shadow: none;--p-togglebutton-border-radius: var(--sm-radius-pill);--p-togglebutton-background: color-mix(in oklab, var(--chip-accent) 8%, transparent);--p-togglebutton-hover-background: color-mix(in oklab, var(--chip-accent) 18%, transparent);--p-togglebutton-checked-background: color-mix(in oklab, var(--chip-accent) 80%, transparent);--p-togglebutton-border-color: color-mix(in oklab, var(--chip-accent) 35%, transparent);--p-togglebutton-hover-border-color: color-mix(in oklab, var(--chip-accent) 55%, transparent);--p-togglebutton-checked-border-color: var(--chip-accent);--p-togglebutton-color: color-mix(in oklab, var(--chip-accent) 70%, var(--p-text-color));--p-togglebutton-hover-color: color-mix(in oklab, var(--chip-accent) 70%, var(--p-text-color));--p-togglebutton-checked-color: var(--p-surface-50);font-size:.75rem;font-weight:500;letter-spacing:.02em;text-transform:lowercase}.app-dark[_nghost-%COMP%] .settings-plugins__kind-chip[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-plugins__kind-chip[_ngcontent-%COMP%]{--p-togglebutton-background: color-mix(in oklab, var(--chip-accent) 14%, transparent);--p-togglebutton-hover-background: color-mix(in oklab, var(--chip-accent) 26%, transparent);--p-togglebutton-checked-background: color-mix(in oklab, var(--chip-accent) 70%, transparent);--p-togglebutton-border-color: color-mix(in oklab, var(--chip-accent) 50%, transparent);--p-togglebutton-hover-border-color: color-mix(in oklab, var(--chip-accent) 70%, transparent);--p-togglebutton-color: color-mix(in oklab, var(--chip-accent) 80%, var(--p-text-color));--p-togglebutton-hover-color: color-mix(in oklab, var(--chip-accent) 80%, var(--p-text-color));--p-togglebutton-checked-color: var(--p-surface-900)}.settings-plugins__banner[_ngcontent-%COMP%]{display:block}.settings-plugins__banner-body[_ngcontent-%COMP%]{font-weight:400}.settings-plugins__hint[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.5rem;margin:0;padding:1rem 0;color:var(--p-text-muted-color);font-size:.875rem}.settings-plugins__list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.settings-plugins__row[_ngcontent-%COMP%]{border:1px solid var(--p-content-border-color);border-radius:var(--p-border-radius);background:var(--p-content-background);padding:.75rem .875rem;display:flex;flex-direction:column;gap:.5rem}.settings-plugins__row.is-clickable[_ngcontent-%COMP%]{cursor:pointer;transition:background .12s ease}.settings-plugins__row.is-clickable[_ngcontent-%COMP%]:hover{background:var(--p-content-hover-background)}.settings-plugins__row.is-failed[_ngcontent-%COMP%]{border-color:var(--p-message-error-border-color);background:var(--p-message-error-background)}.settings-plugins__row.is-extension-bundle[_ngcontent-%COMP%]{background:var(--p-content-background)}.settings-plugins__row-main[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.settings-plugins__expand[_ngcontent-%COMP%], .settings-plugins__expand-spacer[_ngcontent-%COMP%]{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.settings-plugins__expand[_ngcontent-%COMP%]{border:none;background:transparent;cursor:pointer;color:var(--p-text-muted-color);border-radius:var(--p-border-radius)}.settings-plugins__expand[_ngcontent-%COMP%]:hover{color:var(--p-text-color);background:var(--p-content-hover-background)}.settings-plugins__row-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.settings-plugins__row-headline[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.settings-plugins__row-id[_ngcontent-%COMP%]{font-weight:600;font-family:var(--p-monospace-font-family)}.settings-plugins__row-source[_ngcontent-%COMP%], .settings-plugins__row-version[_ngcontent-%COMP%], .settings-plugins__subrow-kind[_ngcontent-%COMP%], .settings-plugins__subrow-version[_ngcontent-%COMP%]{display:inline-flex;align-items:center;font-size:.7rem;font-weight:500;letter-spacing:.02em;padding:.125rem .5rem;border-radius:var(--sm-radius-pill);white-space:nowrap}.settings-plugins__row-version[_ngcontent-%COMP%], .settings-plugins__subrow-version[_ngcontent-%COMP%]{font-family:var(--p-monospace-font-family)}.settings-plugins__row-source[_ngcontent-%COMP%], .settings-plugins__row-version[_ngcontent-%COMP%], .settings-plugins__subrow-version[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--p-text-color) 8%,transparent);border:1px solid color-mix(in oklab,var(--p-text-color) 18%,transparent);color:var(--p-text-color)}.app-dark[_nghost-%COMP%] .settings-plugins__row-source[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-plugins__row-source[_ngcontent-%COMP%], .app-dark[_nghost-%COMP%] .settings-plugins__row-version[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-plugins__row-version[_ngcontent-%COMP%], .app-dark[_nghost-%COMP%] .settings-plugins__subrow-version[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-plugins__subrow-version[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--p-text-color) 14%,transparent);border-color:color-mix(in oklab,var(--p-text-color) 28%,transparent)}.settings-plugins__subrow-kind[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--kind-color, var(--p-text-color)) 14%,transparent);border:1px solid color-mix(in oklab,var(--kind-color, var(--p-text-color)) 38%,transparent);color:color-mix(in oklab,var(--kind-color, var(--p-text-color)) 70%,var(--p-surface-900))}.app-dark[_nghost-%COMP%] .settings-plugins__subrow-kind[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-plugins__subrow-kind[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--kind-color, var(--p-text-color)) 22%,transparent);border-color:color-mix(in oklab,var(--kind-color, var(--p-text-color)) 55%,transparent);color:color-mix(in oklab,var(--kind-color, var(--p-text-color)) 80%,var(--p-surface-50))}.settings-plugins__row-status[_ngcontent-%COMP%]{font-weight:500}.settings-plugins__row-locked[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:500;letter-spacing:.02em;padding:.125rem .5rem;border-radius:var(--sm-radius-pill);white-space:nowrap;background:color-mix(in oklab,var(--p-message-warn-color) 14%,transparent);border:1px solid color-mix(in oklab,var(--p-message-warn-color) 35%,transparent);color:color-mix(in oklab,var(--p-message-warn-color) 70%,var(--p-surface-900))}.settings-plugins__row-locked[_ngcontent-%COMP%] > .pi[_ngcontent-%COMP%]{font-size:.7rem}.app-dark[_nghost-%COMP%] .settings-plugins__row-locked[_ngcontent-%COMP%], .app-dark [_nghost-%COMP%] .settings-plugins__row-locked[_ngcontent-%COMP%]{background:color-mix(in oklab,var(--p-message-warn-color) 22%,transparent);border-color:color-mix(in oklab,var(--p-message-warn-color) 55%,transparent);color:color-mix(in oklab,var(--p-message-warn-color) 85%,var(--p-surface-50))}.settings-plugins__row-description[_ngcontent-%COMP%]{margin:.25rem 0 0;font-size:.8125rem;line-height:1.4;color:var(--p-text-muted-color)}.settings-plugins__row-reason[_ngcontent-%COMP%]{font-size:.8125rem;color:var(--p-message-error-color);font-family:var(--p-monospace-font-family);margin-top:.25rem}.settings-plugins__sublist[_ngcontent-%COMP%]{list-style:none;margin:0;padding:.5rem 0 0 1.75rem;display:flex;flex-direction:column;gap:.25rem;border-top:1px dashed var(--p-content-border-color)}.settings-plugins__subrow[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.375rem .5rem;border-radius:var(--p-border-radius)}.settings-plugins__subrow.is-clickable[_ngcontent-%COMP%]{cursor:pointer;transition:background .12s ease}.settings-plugins__subrow.is-clickable[_ngcontent-%COMP%]:hover{background:var(--p-content-hover-background)}.settings-plugins__subrow-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.125rem;flex:1;min-width:0}.settings-plugins__subrow-headline[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem}.settings-plugins__subrow-id[_ngcontent-%COMP%]{font-family:var(--p-monospace-font-family);font-size:.875rem}.settings-plugins__subrow-description[_ngcontent-%COMP%]{margin:.25rem 0 0;font-size:.75rem;line-height:1.4;color:var(--p-text-muted-color)}.settings-plugins__dirty-dot[_ngcontent-%COMP%]{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--p-warn-color);flex-shrink:0}.settings-plugins__row-hint[_ngcontent-%COMP%]{display:flex;align-items:flex-start;gap:.5rem;margin:.25rem 0 0;font-size:.75rem;line-height:1.4;color:var(--p-warn-color)}.settings-plugins__row-hint[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-top:.125rem}.settings-plugins__footer[_ngcontent-%COMP%]{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-top:1px solid var(--p-content-border-color);background:var(--p-content-background)}.settings-plugins__footer-hint[_ngcontent-%COMP%]{font-style:italic;font-size:.75rem;line-height:1.4;color:var(--p-warn-color);margin-right:auto}"],changeDetection:0})};function fi(t,n){if(t&1&&(l(0,"p-message",3),d(1),s()),t&2){let e=a();h("closable",!1),r(),R(" ",e.texts.project.loadErrorPrefix," ",n," ")}}function bi(t,n){if(t&1&&(l(0,"p-message",4),d(1),s()),t&2){let e=a();h("closable",!1),r(),R(" ",e.texts.project.saveErrorPrefix," ",n," ")}}function xi(t,n){if(t&1){let e=I();l(0,"li",10)(1,"span",17),d(2),s(),l(3,"p-button",18),C("onClick",function(){let o=k(e).$implicit,c=a();return S(c.onExtraFolderRemove(o))}),s()()}if(t&2){let e=n.$implicit,i=a();r(2),u(e),r(),h("label",i.texts.project.removePathLabel)("outlined",!0)("disabled",i.isPending("scan.extraFolders")),p("data-testid","settings-project-extra-folders-remove")}}function vi(t,n){if(t&1){let e=I();l(0,"li",10)(1,"span",17),d(2),s(),l(3,"p-button",18),C("onClick",function(){let o=k(e).$implicit,c=a();return S(c.onReferencePathRemove(o))}),s()()}if(t&2){let e=n.$implicit,i=a();r(2),u(e),r(),h("label",i.texts.project.removePathLabel)("outlined",!0)("disabled",i.isPending("scan.referencePaths")),p("data-testid","settings-project-reference-paths-remove")}}var Le=class t{dataSource=T(G);confirmation=T(ee);visible=V.required();texts=w;loading=v(!1);loadError=v(null);saveError=v(null);preferences=v(null);pending=v(new Set);newExtraFolder=v("");newReferencePath=v("");extraFolders=y(()=>this.preferences()?.scan.extraFolders??[]);referencePaths=y(()=>this.preferences()?.scan.referencePaths??[]);constructor(){N(()=>{this.visible()&&this.refresh()})}isPending(n){return this.pending().has(n)}onExtraFolderAdd(){let n=this.newExtraFolder().trim();if(n.length===0)return;let e=[...this.extraFolders(),n];this.runPatch("scan.extraFolders",{scan:{extraFolders:e}}).then(()=>{this.newExtraFolder.set("")})}onExtraFolderRemove(n){let e=this.extraFolders().filter(i=>i!==n);this.runPatch("scan.extraFolders",{scan:{extraFolders:[...e]}})}onReferencePathAdd(){let n=this.newReferencePath().trim();if(n.length===0)return;let e=[...this.referencePaths(),n];this.runPatch("scan.referencePaths",{scan:{referencePaths:e}}).then(()=>{this.newReferencePath.set("")})}onReferencePathRemove(n){let e=this.referencePaths().filter(i=>i!==n);this.runPatch("scan.referencePaths",{scan:{referencePaths:[...e]}})}async refresh(){this.loading.set(!0),this.loadError.set(null),this.saveError.set(null);try{let n=await this.dataSource.getProjectPreferences();this.preferences.set(n)}catch(n){this.loadError.set(Qe(n)),this.preferences.set(null)}finally{this.loading.set(!1)}}async runPatch(n,e){if(this.pending().has(n))return;let i=new Set(this.pending());i.add(n),this.pending.set(i),this.saveError.set(null);try{let o=await this.dataSource.setProjectPreferences(e);this.preferences.set(o)}catch(o){if(o instanceof z&&o.code==="confirm-required"){let c=o.paths??[];this.confirmDialog(c,async()=>{try{let g=await this.dataSource.setProjectPreferences(W(q({},e),{confirm:!0}));this.preferences.set(g)}catch(g){this.saveError.set(Qe(g))}})}else this.saveError.set(Qe(o))}finally{let o=new Set(this.pending());o.delete(n),this.pending.set(o)}}confirmDialog(n,e){this.confirmation.confirm({header:w.project.confirmDialogHeader,message:w.project.confirmDialogIntro+`
|
|
122
|
+
`+n.map(i=>`\u2022 ${i}`).join(`
|
|
123
|
+
`),acceptLabel:w.project.confirmDialogAccept,rejectLabel:w.project.confirmDialogReject,acceptButtonProps:{severity:"primary"},rejectButtonProps:{severity:"secondary"},accept:()=>{e()}})}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,selectors:[["sm-settings-project"]],inputs:{visible:[1,"visible"]},features:[Z([ee])],decls:32,vars:19,consts:[["data-testid","settings-project",1,"settings-project"],["id","settings-project-heading",1,"settings-project__title"],[1,"settings-project__intro"],["severity","error","data-testid","settings-project-load-error",3,"closable"],["severity","error","data-testid","settings-project-save-error",3,"closable"],["data-testid","settings-project-extra-folders-row",1,"settings-project__list-row"],[1,"settings-project__row-text"],[1,"settings-project__row-label"],[1,"settings-project__row-description"],["role","list",1,"settings-project__path-list"],[1,"settings-project__path-item"],[1,"settings-project__add-row"],["type","text","pInputText","","data-testid","settings-project-extra-folders-input",3,"ngModelChange","ngModel","placeholder","disabled"],["severity","primary","size","small","data-testid","settings-project-extra-folders-add",3,"onClick","label","disabled"],["data-testid","settings-project-reference-paths-row",1,"settings-project__list-row"],["type","text","pInputText","","data-testid","settings-project-reference-paths-input",3,"ngModelChange","ngModel","placeholder","disabled"],["severity","primary","size","small","data-testid","settings-project-reference-paths-add",3,"onClick","label","disabled"],[1,"settings-project__path-text"],["severity","secondary","size","small",3,"onClick","label","outlined","disabled"]],template:function(e,i){if(e&1&&(l(0,"section",0)(1,"h2",1),d(2),s(),l(3,"p",2),d(4),s(),_(5,fi,2,3,"p-message",3),_(6,bi,2,3,"p-message",4),l(7,"div",5)(8,"div",6)(9,"div",7),d(10),s(),l(11,"div",8),d(12),s()(),l(13,"ul",9),O(14,xi,4,5,"li",10,Q),s(),l(16,"div",11)(17,"input",12),C("ngModelChange",function(c){return i.newExtraFolder.set(c)}),s(),l(18,"p-button",13),C("onClick",function(){return i.onExtraFolderAdd()}),s()()(),l(19,"div",14)(20,"div",6)(21,"div",7),d(22),s(),l(23,"div",8),d(24),s()(),l(25,"ul",9),O(26,vi,4,5,"li",10,Q),s(),l(28,"div",11)(29,"input",15),C("ngModelChange",function(c){return i.newReferencePath.set(c)}),s(),l(30,"p-button",16),C("onClick",function(){return i.onReferencePathAdd()}),s()()(),M(31,"p-confirmdialog"),s()),e&2){let o,c;p("aria-labelledby","settings-project-heading"),r(2),m(" ",i.texts.project.heading," "),r(2),u(i.texts.project.intro),r(),f((o=i.loadError())?5:-1,o),r(),f((c=i.saveError())?6:-1,c),r(4),u(i.texts.project.extraFoldersLabel),r(2),m(" ",i.texts.project.extraFoldersDescription," "),r(2),F(i.extraFolders()),r(3),h("ngModel",i.newExtraFolder())("placeholder",i.texts.project.extraFoldersPlaceholder)("disabled",i.isPending("scan.extraFolders")),r(),h("label",i.texts.project.addPathLabel)("disabled",i.isPending("scan.extraFolders")||i.newExtraFolder().trim().length===0),r(4),u(i.texts.project.referencePathsLabel),r(2),m(" ",i.texts.project.referencePathsDescription," "),r(2),F(i.referencePaths()),r(3),h("ngModel",i.newReferencePath())("placeholder",i.texts.project.referencePathsPlaceholder)("disabled",i.isPending("scan.referencePaths")),r(),h("label",i.texts.project.addPathLabel)("disabled",i.isPending("scan.referencePaths")||i.newReferencePath().trim().length===0)}},dependencies:[oe,Ee,ne,ie,te,ke,Pe,Se,Me,Te,ae,re],styles:["[_nghost-%COMP%]{display:block;height:100%;overflow-y:auto;padding:1.25rem 1.5rem}.settings-project__title[_ngcontent-%COMP%]{margin:0 0 .25rem;font-size:1.05rem;font-weight:600;color:var(--p-text-color)}.settings-project__intro[_ngcontent-%COMP%]{margin:0 0 1.25rem;font-size:.85rem;color:var(--sm-text-muted);line-height:1.5}.settings-project__row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid var(--p-content-border-color);border-radius:.5rem;background:var(--p-content-background);margin-bottom:1rem}.settings-project__row[_ngcontent-%COMP%] > p-toggleswitch[_ngcontent-%COMP%]{flex:0 0 auto;align-self:center}.settings-project__list-row[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem;padding:.85rem 1rem;border:1px solid var(--p-content-border-color);border-radius:.5rem;background:var(--p-content-background);margin-bottom:1rem}.settings-project__row-text[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.25rem;flex:1 1 auto;min-width:0}.settings-project__row-label[_ngcontent-%COMP%]{font-size:.9rem;font-weight:600;color:var(--p-text-color)}.settings-project__row-description[_ngcontent-%COMP%]{font-size:.8rem;color:var(--sm-text-muted);line-height:1.45}.settings-project__path-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.settings-project__path-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .6rem;border-radius:.35rem;background:var(--p-content-hover-background)}.settings-project__path-text[_ngcontent-%COMP%]{font-family:var(--p-font-family-mono);font-size:.8rem;word-break:break-all;flex:1 1 auto}.settings-project__add-row[_ngcontent-%COMP%]{display:flex;gap:.5rem;align-items:center}.settings-project__add-row[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1 1 auto;font-family:var(--p-font-family-mono);font-size:.8rem}"],changeDetection:0})};function Qe(t){return t instanceof z||t instanceof Error?t.message:String(t)}var yi=(t,n)=>n.id;function Ci(t,n){if(t&1){let e=I();l(0,"li")(1,"button",6),C("click",function(){let o=k(e).$implicit,c=a();return S(c.selectSection(o.id))}),l(2,"span",7),d(3),s()()()}if(t&2){let e=n.$implicit,i=a();r(),$("is-active",i.activeSection()===e.id),p("aria-current",i.activeSection()===e.id?"page":null)("data-testid","settings-nav-"+e.id),r(2),u(e.label)}}function wi(t,n){if(t&1){let e=I();l(0,"sm-settings-plugins",8),C("applied",function(){k(e);let o=a();return S(o.onPluginsApplied())}),s()}if(t&2){let e=a();h("visible",e.pluginsVisible())}}function ki(t,n){if(t&1&&M(0,"sm-settings-general",5),t&2){let e=a();h("visible",e.generalVisible())}}function Si(t,n){if(t&1&&M(0,"sm-settings-project",5),t&2){let e=a();h("visible",e.projectVisible())}}function Pi(t,n){if(t&1&&M(0,"sm-settings-about",5),t&2){let e=a();h("visible",e.aboutVisible())}}function Ei(t,n){t&1&&M(0,"sm-settings-changelog")}var Ti=[{id:"general",label:w.sections.general},{id:"project",label:w.sections.project},{id:"plugins",label:w.sections.plugins},{id:"changelog",label:w.sections.changelog},{id:"about",label:w.sections.about}],ln=class t{visible=V.required();visibleChange=ye();confirmation=T(ee);pluginsPanel=ht(ge);texts=w;sections=Ti;activeSection=v("plugins");dialogStyle={width:"1024px",height:"720px",maxWidth:"92vw",maxHeight:"90vh"};pluginsVisible=y(()=>this.visible()&&this.activeSection()==="plugins");generalVisible=y(()=>this.visible()&&this.activeSection()==="general");projectVisible=y(()=>this.visible()&&this.activeSection()==="project");aboutVisible=y(()=>this.visible()&&this.activeSection()==="about");onVisibleChange(n){if(n){this.visibleChange.emit(!0);return}let e=this.pluginsPanel(),i=e?.dirtyIds().size??0;if(i===0){this.visibleChange.emit(!1);return}this.confirmation.confirm({header:this.texts.confirmCloseTitle,message:this.texts.confirmCloseBody(i),acceptLabel:this.texts.applyAndClose,rejectLabel:this.texts.discardChanges,acceptButtonProps:{severity:"primary"},rejectButtonProps:{severity:"secondary"},accept:()=>{e?.applyChanges()},reject:()=>{e?.discardChanges(),this.visibleChange.emit(!1)}})}selectSection(n){this.activeSection.set(n)}onPluginsApplied(){this.visibleChange.emit(!1)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=A({type:t,selectors:[["sm-settings-modal"]],viewQuery:function(e,i){e&1&>(i.pluginsPanel,ge,5),e&2&&pt()},inputs:{visible:[1,"visible"]},outputs:{visibleChange:"visibleChange"},features:[Z([ee])],decls:13,vars:12,consts:[["contentStyleClass","settings-modal__content","data-testid","settings-modal",3,"visibleChange","visible","modal","draggable","resizable","closable","closeOnEscape","dismissableMask","header"],[1,"settings-modal__layout"],["data-testid","settings-modal-sidebar",1,"settings-modal__sidebar"],["role","list",1,"settings-modal__sidebar-list"],["data-testid","settings-modal-main",1,"settings-modal__main"],[3,"visible"],["type","button",1,"settings-modal__sidebar-item",3,"click"],[1,"settings-modal__sidebar-label"],[3,"applied","visible"]],template:function(e,i){if(e&1&&(l(0,"p-dialog",0),C("visibleChange",function(c){return i.onVisibleChange(c)}),l(1,"div",1)(2,"nav",2)(3,"ul",3),O(4,Ci,4,5,"li",null,yi),s()(),l(6,"div",4),_(7,wi,1,1,"sm-settings-plugins",5)(8,ki,1,1,"sm-settings-general",5)(9,Si,1,1,"sm-settings-project",5)(10,Pi,1,1,"sm-settings-about",5)(11,Ei,1,0,"sm-settings-changelog"),s()(),M(12,"p-confirmdialog"),s()),e&2){let o;ve(i.dialogStyle),h("visible",i.visible())("modal",!0)("draggable",!1)("resizable",!1)("closable",!0)("closeOnEscape",!0)("dismissableMask",!0)("header",i.texts.modalTitle),r(2),p("aria-label",i.texts.modalTitle),r(2),F(i.sections),r(3),f((o=i.activeSection())==="plugins"?7:o==="general"?8:o==="project"?9:o==="about"?10:o==="changelog"?11:-1)}},dependencies:[te,Pe,Se,kt,wt,Oe,Fe,Ae,ge,Le],styles:["[_nghost-%COMP%]{display:contents}[_nghost-%COMP%] .settings-modal__content{padding:0;height:100%;display:flex;flex-direction:column;overflow:hidden}.settings-modal__layout[_ngcontent-%COMP%]{flex:1;display:grid;grid-template-columns:200px 1fr;min-height:0}.settings-modal__sidebar[_ngcontent-%COMP%]{border-right:1px solid var(--p-content-border-color);background:var(--p-content-background);padding:.5rem;overflow-y:auto}.settings-modal__sidebar-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.125rem}.settings-modal__sidebar-item[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.5rem .75rem;border:none;border-radius:var(--p-border-radius);background:transparent;color:var(--p-text-color);font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease}.settings-modal__sidebar-item[_ngcontent-%COMP%]:hover{background:var(--p-content-hover-background)}.settings-modal__sidebar-item.is-active[_ngcontent-%COMP%]{background:var(--p-highlight-background);color:var(--p-highlight-color)}.settings-modal__sidebar-label[_ngcontent-%COMP%]{flex:1;font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-modal__main[_ngcontent-%COMP%]{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.settings-modal__main[_ngcontent-%COMP%] > *[_ngcontent-%COMP%]{flex:1;min-height:0}"],changeDetection:0})};export{ln as SettingsModal};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as xe,j as T,k as w}from"./chunk-PY2R7LHN.js";import{Ba as ue,Ib as be,J as V,Jb as Ce,Ka as g,M as le,Na as p,O as R,Oa as m,Pa as ge,Ra as x,Sa as I,T as ce,Ta as C,Tb as r,U as pe,Ua as f,Va as v,Wa as F,Xa as s,Xb as y,Ya as l,Za as $,ab as ye,da as j,db as fe,ea as me,gb as ve,hb as a,kc as he,oa as i,sb as _e,tb as E,vb as oe,wa as _,wb as d,xb as c,yb as z}from"./chunk-J3YWUNFO.js";import{c as se}from"./chunk-Q7L6LLAK.js";var q="sm-debug-slots",Ee="debug-slots",Se="is-debug-slots",K=class n{visible=j(!1);constructor(){this.visible.set(this.resolveInitial()),me(()=>{let e=this.visible();document.documentElement.classList.toggle(Se,e)})}toggle(){let e=!this.visible();this.visible.set(e);try{localStorage.setItem(q,e?"1":"0")}catch{}}resolveInitial(){let t=new URLSearchParams(window.location.search).get(Ee);if(t==="1"||t==="true"){try{localStorage.setItem(q,"1")}catch{}return!0}if(t==="0"||t==="false"){try{localStorage.setItem(q,"0")}catch{}return!1}try{return localStorage.getItem(q)==="1"}catch{return!1}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=V({token:n,factory:n.\u0275fac,providedIn:"root"})};var H=class n{registry=j({});setRegistry(e){e&&this.registry.set(e)}get(e){return this.registry()[e]}all(){return this.registry()}static \u0275fac=function(t){return new(t||n)};static \u0275prov=V({token:n,factory:n.\u0275fac,providedIn:"root"})};function k(n){return typeof n=="object"&&n!==null}function O(n,e){return k(n)&&Array.isArray(n[e])}function U(n,e){return k(n)&&typeof n[e]=="string"}var h={panelHeader:"Plugin contributions",panelCount:n=>`${n} contribution${n===1?"":"s"}`,emptyDefault:"No contributions for this node.",rendererInvalid:"Contribution data failed schema validation.",rendererUnknownSlot:n=>`Unknown slot: ${n}. Update the UI to a newer catalog version.`,overflowBadge:n=>`+${n}`,overflowTooltip:n=>`Hidden: ${n}`,recordsCell:{boolTrue:"yes",boolFalse:"no"}};var De=(n,e)=>e.label;function Pe(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function Oe(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function Re(n,e){if(n&1&&(s(0,"li",4)(1,"span",5),d(2),l(),s(3,"span",6),$(4,"span",7),l(),s(5,"span",8),d(6),l()()),n&2){let t=e.$implicit,o=a(2);g("title",t.tooltip??""),i(2),c(t.label),i(2),_e("width",o.percent(t.value),"%"),i(2),c(t.value)}}function Fe(n,e){if(n&1&&(s(0,"ul",3),x(1,Re,7,5,"li",4,De),l()),n&2){let t=a();i(),I(t.entries())}}var W=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?O(e,"entries")?e:{entries:[]}:{entries:[]}});entries=r(()=>this.typed().entries??[]);label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);maxValue=r(()=>this.entries().reduce((t,o)=>o.value>t?o.value:t,0));percent(e){let t=this.maxValue();return t===0?0:Math.round(e/t*100)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-breakdown"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-breakdown"],[1,"vc-breakdown__header"],[1,"vc-breakdown__empty"],[1,"vc-breakdown__rows"],[1,"vc-breakdown__row"],[1,"vc-breakdown__label"],[1,"vc-breakdown__bar-track"],["aria-hidden","true",1,"vc-breakdown__bar"],[1,"vc-breakdown__value"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,Pe,2,1,"h5",1),p(2,Oe,2,1,"p",2)(3,Fe,3,0,"ul",3),l()),t&2&&(g("data-testid","renderer-node-breakdown"),i(),m(o.label()?1:-1),i(),m(o.entries().length===0?2:3))},styles:[".vc-breakdown__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-breakdown__rows[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.vc-breakdown__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(4rem,.4fr) 1fr 3rem;align-items:center;gap:.5rem;font-size:.85rem}.vc-breakdown__label[_ngcontent-%COMP%]{color:var(--p-surface-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vc-breakdown__bar-track[_ngcontent-%COMP%]{background:var(--p-surface-100);border-radius:var(--sm-radius-md);height:.625rem;overflow:hidden}.vc-breakdown__bar[_ngcontent-%COMP%]{display:block;height:100%;background:var(--p-primary-500)}.vc-breakdown__value[_ngcontent-%COMP%]{text-align:right;color:var(--p-surface-600)}.vc-breakdown__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};function $e(n,e){if(n&1&&(s(0,"span",1),d(1),l()),n&2){let t=a(),o=a();oe(o.hostClass()),i(),c(t.text)}}function Le(n,e){if(n&1&&$(0,"i",1),n&2){let t=a(),o=a();oe(o.hostClass()+" "+t.cls)}}function Ae(n,e){n&1&&p(0,$e,2,3,"span",0)(1,Le,1,2,"i",0),n&2&&m(e.kind==="emoji"?0:1)}function Ve(n){if(!n)return null;let e=n.trim();if(e.length===0)return null;let t=e.codePointAt(0)??0;if(!(t>=65&&t<=90||t>=97&&t<=122))return{kind:"emoji",text:e};if(/^pi pi-[a-z0-9-]+$/.test(e))return{kind:"pi",cls:e};if(/^pi-[a-z0-9-]+$/.test(e))return{kind:"pi",cls:`pi ${e}`};if(/^fa-(?:solid|regular|brands) fa-[a-z0-9-]+$/.test(e))return{kind:"fa",cls:e};if(/^fa-[a-z0-9-]+$/.test(e)){let u=e.slice(3);return u==="solid"||u==="regular"||u==="brands"||u.includes("fa-")?null:{kind:"fa",cls:`fa-solid ${e}`}}return null}var P=class n{icon=y(void 0);hostClass=y("");resolved=r(()=>{let e=this.icon(),t=Ve(e);return e&&!t&&console.warn(`[sm-icon] Invalid icon string "${e}". Expected emoji, pi-foo, pi pi-foo, fa-{solid|regular|brands} fa-foo, or fa-foo.`),t});static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-icon"]],inputs:{icon:[1,"icon"],hostClass:[1,"hostClass"]},decls:1,vars:1,consts:[["aria-hidden","true",3,"class"],["aria-hidden","true"]],template:function(t,o){if(t&1&&p(0,Ae,2,1),t&2){let u;m((u=o.resolved())?0:-1,u)}},styles:["[_nghost-%COMP%] i[_ngcontent-%COMP%], [_nghost-%COMP%] span[_ngcontent-%COMP%]{font-size:inherit;line-height:inherit}[_nghost-%COMP%] i[_ngcontent-%COMP%]{transform:translateY(1px)}"],changeDetection:0})};function Be(n,e){if(n&1&&(f(0,"span",3),d(1),v()),n&2){let t=a();g("aria-label",t.ariaLabel()),i(),c(t.value())}}var L=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{value:0}:e});value=r(()=>this.typed().value);icon=r(()=>this.inputs().icon);severity=r(()=>this.typed().severity);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");ariaLabel=r(()=>this.inputs().label??"");static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-counter"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:12,consts:[[1,"vc-counter",3,"pTooltip"],[1,"vc-counter__icon"],[3,"icon"],[1,"vc-counter__value"]],template:function(t,o){t&1&&(f(0,"span",0)(1,"span",1),F(2,"sm-icon",2),v(),p(3,Be,2,2,"span",3),v()),t&2&&(E("vc-counter--info",o.severity()==="info")("vc-counter--warn",o.severity()==="warn")("vc-counter--success",o.severity()==="success")("vc-counter--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("data-testid","renderer-node-counter"),i(2),C("icon",o.icon()),i(),m(o.value()>0?3:-1))},dependencies:[w,T,P],styles:[".vc-counter[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.3rem;line-height:1}.vc-counter__icon[_ngcontent-%COMP%]{font-size:.6rem;line-height:1;display:block}.vc-counter__value[_ngcontent-%COMP%]{font-weight:600;color:var(--p-text-color);line-height:1;display:block}.vc-counter--info[_ngcontent-%COMP%], .vc-counter--info[_ngcontent-%COMP%] .vc-counter__value[_ngcontent-%COMP%]{color:var(--sm-severity-info)}.vc-counter--warn[_ngcontent-%COMP%], .vc-counter--warn[_ngcontent-%COMP%] .vc-counter__value[_ngcontent-%COMP%]{color:var(--sm-severity-warn)}.vc-counter--success[_ngcontent-%COMP%], .vc-counter--success[_ngcontent-%COMP%] .vc-counter__value[_ngcontent-%COMP%]{color:var(--sm-severity-success)}.vc-counter--danger[_ngcontent-%COMP%], .vc-counter--danger[_ngcontent-%COMP%] .vc-counter__value[_ngcontent-%COMP%]{color:var(--sm-severity-error)}"],changeDetection:0})};var je=(n,e)=>e.key;function ze(n,e){if(n&1&&(f(0,"h5",1),d(1),v()),n&2){let t=a();i(),c(t.label())}}function qe(n,e){if(n&1&&(f(0,"p",2),d(1),v()),n&2){let t=a();i(),c(t.emptyText())}}function Ke(n,e){if(n&1&&(f(0,"dt",4),d(1),v(),f(2,"dd"),d(3),v()),n&2){let t=e.$implicit,o=a(2);C("pTooltip",t.tooltip??""),i(),c(t.key),i(2),c(o.formatValue(t.value))}}function He(n,e){if(n&1&&(f(0,"dl",3),x(1,Ke,4,3,null,null,je),v()),n&2){let t=a();i(),I(t.entries())}}var X=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?O(e,"entries")?e:{entries:[]}:{entries:[]}});entries=r(()=>this.typed().entries??[]);label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);formatValue(e){return e==null?"\u2014":typeof e=="boolean"?e?"true":"false":String(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-key-values"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-kv"],[1,"vc-kv__header"],[1,"vc-kv__empty"],[1,"vc-kv__list"],[3,"pTooltip"]],template:function(t,o){t&1&&(f(0,"section",0),p(1,ze,2,1,"h5",1),p(2,qe,2,1,"p",2)(3,He,3,0,"dl",3),v()),t&2&&(g("data-testid","renderer-node-key-values"),i(),m(o.label()?1:-1),i(),m(o.entries().length===0?2:3))},dependencies:[w,T],styles:[".vc-kv__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-kv__list[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(6rem,max-content) 1fr;gap:.25rem .75rem;margin:0;font-size:.85rem}.vc-kv__list[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{color:var(--p-surface-600);font-weight:500}.vc-kv__list[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{color:var(--p-surface-800);margin:0;word-break:break-word}.vc-kv__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};var ie=class n{router=R(xe);open(e){this.router.navigate(["/graph"],{queryParams:{path:e}})}static \u0275fac=function(t){return new(t||n)};static \u0275prov=V({token:n,factory:n.\u0275fac,providedIn:"root"})},Ie=new le("NODE_OPEN_INTENT",{providedIn:"root",factory:()=>R(ie)});var Ue=(n,e)=>e.path;function We(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function Xe(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function Ye(n,e){if(n&1&&(s(0,"span",5),d(1),l()),n&2){let t=a().$implicit;i(),c(t.kind)}}function Ge(n,e){if(n&1){let t=fe();s(0,"li")(1,"button",4),ve("click",function(){let u=ce(t).$implicit,b=a(2);return pe(b.onOpenPath(u.path))}),p(2,Ye,2,1,"span",5),s(3,"span",6),d(4),l()()()}if(n&2){let t=e.$implicit;i(2),m(t.kind?2:-1),i(2),c(t.label??t.path)}}function Qe(n,e){if(n&1&&(s(0,"ul",3),x(1,Ge,5,2,"li",null,Ue),l()),n&2){let t=a();i(),I(t.entries())}}var Y=class n{openIntent=R(Ie);inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?O(e,"entries")?e:{entries:[]}:{entries:[]}});entries=r(()=>this.typed().entries??[]);label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);onOpenPath(e){this.openIntent.open(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-link-list"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-links"],[1,"vc-links__header"],[1,"vc-links__empty"],[1,"vc-links__list"],["type","button",1,"vc-links__btn",3,"click"],[1,"vc-links__kind"],[1,"vc-links__label"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,We,2,1,"h5",1),p(2,Xe,2,1,"p",2)(3,Qe,3,0,"ul",3),l()),t&2&&(g("data-testid","renderer-node-link-list"),i(),m(o.label()?1:-1),i(),m(o.entries().length===0?2:3))},styles:[".vc-links__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-links__list[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.125rem;font-size:.85rem}.vc-links__btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:0;padding:.25rem .5rem;border-radius:var(--sm-radius-md);color:var(--p-primary-600);cursor:pointer;text-align:left;width:100%}.vc-links__btn[_ngcontent-%COMP%]:hover{background:var(--p-surface-100)}.vc-links__kind[_ngcontent-%COMP%]{color:var(--p-surface-500);font-family:var(--p-font-family-mono);font-size:.75rem}.vc-links__label[_ngcontent-%COMP%]{word-break:break-all}.vc-links__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};var Ne=(n,e)=>e.key;function Je(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function Ze(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function et(n,e){if(n&1&&(s(0,"th"),d(1),l()),n&2){let t=e.$implicit;i(),c(t.label)}}function tt(n,e){if(n&1&&$(0,"i",4),n&2){let t=a(4);g("aria-label",t.texts.boolTrue)}}function nt(n,e){if(n&1&&$(0,"i",5),n&2){let t=a(4);g("aria-label",t.texts.boolFalse)}}function ot(n,e){}function it(n,e){if(n&1&&d(0),n&2){let t=a().$implicit,o=a().$implicit,u=a(2);z(" ",u.cellText(o[t.key])," ")}}function rt(n,e){if(n&1&&(s(0,"td"),p(1,tt,1,1,"i",4)(2,nt,1,1,"i",5)(3,ot,0,0)(4,it,1,1),l()),n&2){let t,o=e.$implicit,u=a().$implicit,b=a(2);i(),m((t=b.cellKind(u[o.key]))==="bool-true"?1:t==="bool-false"?2:t==="empty"?3:4)}}function at(n,e){if(n&1&&(s(0,"tr"),x(1,rt,5,1,"td",null,Ne),l()),n&2){let t=a(2);i(),I(t.columns())}}function dt(n,e){if(n&1&&(s(0,"table",3)(1,"thead")(2,"tr"),x(3,et,2,1,"th",null,Ne),l()(),s(5,"tbody"),x(6,at,3,0,"tr",null,ge),l()()),n&2){let t=a();i(3),I(t.columns()),i(3),I(t.rows())}}var G=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?!O(e,"columns")||!O(e,"rows")?{columns:[],rows:[]}:e:{columns:[],rows:[]}});columns=r(()=>this.typed().columns??[]);rows=r(()=>this.typed().rows??[]);label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);texts=h.recordsCell;cellKind(e){return e==null?"empty":typeof e=="boolean"?e?"bool-true":"bool-false":"text"}cellText(e){return e==null?"":String(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-records"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-records"],[1,"vc-records__header"],[1,"vc-records__empty"],[1,"vc-records__table"],["role","img",1,"pi","pi-check","vc-records__bool","vc-records__bool--true"],["role","img",1,"pi","pi-minus","vc-records__bool","vc-records__bool--false"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,Je,2,1,"h5",1),p(2,Ze,2,1,"p",2)(3,dt,8,0,"table",3),l()),t&2&&(g("data-testid","renderer-node-records"),i(),m(o.label()?1:-1),i(),m(o.rows().length===0?2:3))},styles:[".vc-records__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-records__table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;font-size:.85rem}.vc-records__table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{text-align:left;padding:.25rem .5rem;border-bottom:1px solid var(--p-surface-200);color:var(--p-surface-700);font-weight:600}.vc-records__table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:.25rem .5rem;border-bottom:1px solid var(--p-surface-100);color:var(--p-surface-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16rem}.vc-records__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}.vc-records__bool[_ngcontent-%COMP%]{font-size:.9rem;line-height:1}.vc-records__bool--true[_ngcontent-%COMP%]{color:var(--p-primary-color)}.vc-records__bool--false[_ngcontent-%COMP%]{color:var(--p-text-muted-color)}"],changeDetection:0})};function st(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function lt(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function ct(n,e){if(n&1&&(s(0,"pre",3),d(1),l()),n&2){let t=a();i(),c(t.markdown())}}var Q=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?U(e,"markdown")?e:{markdown:""}:{markdown:""}});markdown=r(()=>this.typed().markdown??"");label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-markdown"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-markdown"],[1,"vc-markdown__header"],[1,"vc-markdown__empty"],[1,"vc-markdown__body"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,st,2,1,"h5",1),p(2,lt,2,1,"p",2)(3,ct,2,1,"pre",3),l()),t&2&&(g("data-testid","renderer-node-markdown"),i(),m(o.label()?1:-1),i(),m(o.markdown()?3:2))},styles:[".vc-markdown__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-markdown__body[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-800);background:var(--p-surface-50);padding:.5rem;border-radius:var(--sm-radius-md);white-space:pre-wrap;word-break:break-word;margin:0;max-height:12rem;overflow:auto}.vc-markdown__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};function pt(n,e){if(n&1&&(f(0,"span",1),d(1),v()),n&2){let t=a();i(),c(t.icon())}}var J=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{label:""}:e});label=r(()=>this.typed().label||"");icon=r(()=>this.inputs().icon);severity=r(()=>this.typed().severity);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-tag"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:12,consts:[[1,"vc-tag",3,"pTooltip"],["aria-hidden","true",1,"vc-tag__icon"],[1,"vc-tag__label"]],template:function(t,o){t&1&&(f(0,"span",0),p(1,pt,2,1,"span",1),f(2,"span",2),d(3),v()()),t&2&&(E("vc-tag--info",o.severity()==="info")("vc-tag--warn",o.severity()==="warn")("vc-tag--success",o.severity()==="success")("vc-tag--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("data-testid","renderer-node-tag"),i(),m(o.icon()?1:-1),i(2),c(o.label()))},dependencies:[w,T],styles:[".vc-tag[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.3rem;line-height:1}.vc-tag__icon[_ngcontent-%COMP%]{font-size:.85em;line-height:1;display:block}.vc-tag__label[_ngcontent-%COMP%]{font-weight:500;line-height:1;display:block}.vc-tag--info[_ngcontent-%COMP%]{background:var(--sm-severity-info-bg);color:var(--sm-severity-info);padding:.1rem .4rem;border-radius:var(--sm-radius-sm)}.vc-tag--warn[_ngcontent-%COMP%]{background:var(--sm-severity-warn-bg);color:var(--sm-severity-warn);padding:.1rem .4rem;border-radius:var(--sm-radius-sm)}.vc-tag--success[_ngcontent-%COMP%]{background:var(--sm-severity-success-bg);color:var(--sm-severity-success);padding:.1rem .4rem;border-radius:var(--sm-radius-sm)}.vc-tag--danger[_ngcontent-%COMP%]{background:var(--sm-severity-error-bg);color:var(--sm-severity-error);padding:.1rem .4rem;border-radius:var(--sm-radius-sm)}"],changeDetection:0})};var mt=()=>[],Te=(n,e)=>e.label;function ut(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function gt(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function yt(n,e){if(n&1&&(s(0,"span",5),d(1),l()),n&2){let t=a().$implicit;i(),c(t.marker)}}function ft(n,e){if(n&1&&(s(0,"span",5),d(1),l()),n&2){let t=a().$implicit;i(),c(t.marker)}}function vt(n,e){if(n&1&&(s(0,"li",4),p(1,ft,2,1,"span",5),s(2,"span",6),d(3),l()()),n&2){let t=e.$implicit;g("title",t.tooltip??""),i(),m(t.marker?1:-1),i(2),c(t.label)}}function _t(n,e){if(n&1&&(s(0,"ul",7),x(1,vt,4,3,"li",4,Te),l()),n&2){let t=a().$implicit;i(),I(t.children)}}function bt(n,e){if(n&1&&(s(0,"li",4),p(1,yt,2,1,"span",5),s(2,"span",6),d(3),l(),p(4,_t,3,0,"ul",7),l()),n&2){let t=e.$implicit;g("title",t.tooltip??""),i(),m(t.marker?1:-1),i(2),c(t.label),i(),m(t.children&&t.children.length>0?4:-1)}}function Ct(n,e){if(n&1&&(s(0,"ul",3),x(1,bt,5,4,"li",4,Te),l()),n&2){let t=a();i(),I(t.root().children??be(0,mt))}}var Z=class n{inputs=y.required();root=r(()=>{let e=this.inputs().payload;return k(e)?U(e,"label")?e.children!==void 0&&!Array.isArray(e.children)?{label:""}:e:{label:""}:{label:""}});rootIsEmpty=r(()=>{let e=this.root();return!e.children||e.children.length===0});label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-tree"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-tree"],[1,"vc-tree__header"],[1,"vc-tree__empty"],["role","tree",1,"vc-tree__list"],["role","treeitem"],["aria-hidden","true",1,"vc-tree__marker"],[1,"vc-tree__label"],["role","group",1,"vc-tree__list"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,ut,2,1,"h5",1),p(2,gt,2,1,"p",2)(3,Ct,3,1,"ul",3),l()),t&2&&(g("data-testid","renderer-node-tree"),i(),m(o.label()?1:-1),i(),m(o.rootIsEmpty()?2:3))},styles:[".vc-tree__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-tree__list[_ngcontent-%COMP%]{list-style:none;padding-left:1rem;margin:0;font-size:.85rem}.vc-tree__list[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{padding:.125rem 0}.vc-tree__marker[_ngcontent-%COMP%]{margin-right:.25rem;opacity:.7}.vc-tree__label[_ngcontent-%COMP%]{color:var(--p-surface-800)}.vc-tree__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};function ht(n,e){if(n&1&&(f(0,"span",2),d(1),v()),n&2){let t=a();i(),c(t.formattedCount())}}var ee=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{}:e});icon=r(()=>this.typed().icon??this.inputs().icon);severity=r(()=>this.typed().severity);count=r(()=>this.typed().count??null);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");formattedCount=r(()=>{let e=this.count();return e===null?"":e>=99?"99+":String(e)});static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-alert"]],inputs:{inputs:[1,"inputs"]},decls:3,vars:12,consts:[[1,"vc-alert",3,"pTooltip"],["hostClass","vc-alert__icon",3,"icon"],[1,"vc-alert__count"]],template:function(t,o){t&1&&(f(0,"span",0),F(1,"sm-icon",1),p(2,ht,2,1,"span",2),v()),t&2&&(E("vc-alert--info",o.severity()==="info")("vc-alert--warn",o.severity()==="warn")("vc-alert--success",o.severity()==="success")("vc-alert--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("data-testid","renderer-node-alert"),i(),C("icon",o.icon()),i(),m(o.count()!==null?2:-1))},dependencies:[w,T,P],styles:[".vc-alert[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;gap:.125rem;min-width:1.1rem;min-height:1.1rem;font-size:.85rem;color:var(--p-surface-700)}.vc-alert--info[_ngcontent-%COMP%]{color:var(--sm-severity-info)}.vc-alert--warn[_ngcontent-%COMP%]{color:var(--sm-severity-warn)}.vc-alert--success[_ngcontent-%COMP%]{color:var(--sm-severity-success)}.vc-alert--danger[_ngcontent-%COMP%]{color:var(--sm-severity-error)}"],changeDetection:0})};var te=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{}:e});icon=r(()=>this.typed().icon??this.inputs().icon);severity=r(()=>this.typed().severity);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");ariaLabel=r(()=>this.inputs().label??"");static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-icon"]],inputs:{inputs:[1,"inputs"]},decls:2,vars:12,consts:[[1,"vc-icon",3,"pTooltip"],["hostClass","vc-icon__glyph",3,"icon"]],template:function(t,o){t&1&&(f(0,"span",0),F(1,"sm-icon",1),v()),t&2&&(E("vc-icon--info",o.severity()==="info")("vc-icon--warn",o.severity()==="warn")("vc-icon--success",o.severity()==="success")("vc-icon--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("aria-label",o.ariaLabel())("data-testid","renderer-node-icon"),i(),C("icon",o.icon()))},dependencies:[w,T,P],styles:[".vc-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;line-height:1;width:22px;height:22px}.vc-icon__glyph[_ngcontent-%COMP%]{font-size:.7rem;line-height:1;display:block}.vc-icon--info[_ngcontent-%COMP%]{color:var(--sm-severity-info)}.vc-icon--warn[_ngcontent-%COMP%]{color:var(--sm-severity-warn)}.vc-icon--success[_ngcontent-%COMP%]{color:var(--sm-severity-success)}.vc-icon--danger[_ngcontent-%COMP%]{color:var(--sm-severity-error)}"],changeDetection:0})};function xt(n,e){if(n&1&&(f(0,"span",3),d(1),v()),n&2){let t=a();i(),c(t.label())}}var ne=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{value:""}:e});value=r(()=>String(this.typed().value??""));label=r(()=>this.typed().label??this.inputs().label);icon=r(()=>this.inputs().icon);severity=r(()=>this.typed().severity);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-scope-stat"]],inputs:{inputs:[1,"inputs"]},decls:5,vars:13,consts:[[1,"vc-stat",3,"pTooltip"],["hostClass","vc-stat__icon",3,"icon"],[1,"vc-stat__value"],[1,"vc-stat__label"]],template:function(t,o){t&1&&(f(0,"span",0),F(1,"sm-icon",1),f(2,"span",2),d(3),v(),p(4,xt,2,1,"span",3),v()),t&2&&(E("vc-stat--info",o.severity()==="info")("vc-stat--warn",o.severity()==="warn")("vc-stat--success",o.severity()==="success")("vc-stat--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("data-testid","renderer-scope-stat"),i(),C("icon",o.icon()),i(2),c(o.value()),i(),m(o.label()?4:-1))},dependencies:[w,T,P],styles:[".vc-stat[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:.75rem;font-size:.85rem;background:var(--p-surface-100);color:var(--p-surface-800)}.vc-stat__label[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.8rem}.vc-stat--info[_ngcontent-%COMP%]{background:var(--p-blue-100);color:var(--p-blue-700)}.vc-stat--warn[_ngcontent-%COMP%]{background:var(--p-yellow-100);color:var(--p-yellow-800)}.vc-stat--success[_ngcontent-%COMP%]{background:var(--p-green-100);color:var(--p-green-700)}.vc-stat--danger[_ngcontent-%COMP%]{background:var(--p-red-100);color:var(--p-red-700)}"],changeDetection:0})};var re={"card.title.right":te,"card.subtitle.left":L,"card.footer.left":L,"card.footer.right":L,"graph.node.alert":ee,"inspector.header.badge.counter":L,"inspector.header.badge.tag":J,"inspector.body.panel.breakdown":W,"inspector.body.panel.records":G,"inspector.body.panel.tree":Z,"inspector.body.panel.key-values":X,"inspector.body.panel.link-list":Y,"inspector.body.panel.markdown":Q,"topbar.nav.start":ne};function we(n){return n in re}var A={"topbar.nav.start":{id:"topbar.nav.start",cardinality:"multi",maxItems:3,order:"alphabetical",strategy:"append"},"inspector.header.badge.counter":{id:"inspector.header.badge.counter",cardinality:"multi",maxItems:4,order:"alphabetical",strategy:"append"},"inspector.header.badge.tag":{id:"inspector.header.badge.tag",cardinality:"multi",maxItems:4,order:"alphabetical",strategy:"append"},"inspector.body.panel.breakdown":{id:"inspector.body.panel.breakdown",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.records":{id:"inspector.body.panel.records",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.tree":{id:"inspector.body.panel.tree",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.key-values":{id:"inspector.body.panel.key-values",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.link-list":{id:"inspector.body.panel.link-list",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.markdown":{id:"inspector.body.panel.markdown",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"card.footer.left":{id:"card.footer.left",cardinality:"multi",maxItems:5,order:"priority",strategy:"append",respectSeverity:!0},"card.footer.right":{id:"card.footer.right",cardinality:"multi",maxItems:5,order:"priority",strategy:"append",respectSeverity:!0},"card.subtitle.left":{id:"card.subtitle.left",cardinality:"multi",maxItems:3,order:"priority",strategy:"append",respectSeverity:!0},"card.title.right":{id:"card.title.right",cardinality:"multi",maxItems:2,order:"priority",strategy:"append",respectSeverity:!0},"graph.node.alert":{id:"graph.node.alert",cardinality:"multi",maxItems:1,order:"severity",strategy:"append",showOverflowBadge:!1}};var It=n=>({inputs:n}),Nt=(n,e)=>e.qualifiedId;function Tt(n,e){n&1&&ye(0)}function wt(n,e){if(n&1&&(f(0,"span",1),ue(1,Tt,1,0,"ng-container",3),v()),n&2){let t=e.$implicit,o=a(2);g("data-testid","contribution-"+t.qualifiedId.replaceAll("/","-")),i(),C("ngComponentOutlet",o.rendererFor(t.slot))("ngComponentOutletInputs",Ce(3,It,t.rendererInputs))}}function kt(n,e){if(n&1&&(f(0,"span",2),d(1),v()),n&2){let t=a(2);C("pTooltip",t.overflowTooltip()),i(),z(" ",t.overflowBadge()," ")}}function Mt(n,e){if(n&1&&(f(0,"span",0),x(1,wt,2,5,"span",1,Nt),p(3,kt,2,2,"span",2),v()),n&2){let t=a();g("data-testid","view-contributions-host-"+t.testidSuffix()),i(),I(t.visible()),i(2),m(t.overflowCount()>0&&t.showOverflowBadge()?3:-1)}}var ke=class n{slot=y.required();node=y(null);debugSlots=R(K);debugVisible=this.debugSlots.visible;testidSuffix=r(()=>this.slot().replaceAll(".","-"));registry=R(H);dispatched=r(()=>{let e=this.node();if(!e)return[];let t=e.contributions??[];if(t.length===0)return[];let o=this.slot(),u=t.filter(b=>b.slot===o).filter(b=>we(b.slot));return this.sortBySlotOrder(u,o).map(b=>({qualifiedId:`${b.pluginId}/${b.extensionId}/${b.contributionId}`,slot:b.slot,rendererInputs:this.buildInputs(b,o)}))});visible=r(()=>{let e=this.dispatched(),t=A[this.slot()].maxItems;return e.slice(0,t)});overflowCount=r(()=>{let e=this.dispatched(),t=A[this.slot()].maxItems;return Math.max(0,e.length-t)});showOverflowBadge=r(()=>A[this.slot()].showOverflowBadge!==!1);overflowBadge=r(()=>h.overflowBadge(this.overflowCount()));overflowTooltip=r(()=>{let e=this.dispatched(),t=A[this.slot()].maxItems,o=e.slice(t).map(u=>u.qualifiedId).join(", ");return h.overflowTooltip(o)});rendererFor(e){return re[e]}buildInputs(e,t){let o=`${e.pluginId}/${e.extensionId}/${e.contributionId}`,u=this.registry.get(o),b=A[t].respectSeverity!==!1,M=e.payload;if(!b&&typeof M=="object"&&M!==null&&"severity"in M){let de=M,{severity:Et}=de;M=se(de,["severity"])}let D={pluginId:e.pluginId,extensionId:e.extensionId,contributionId:e.contributionId,payload:M};return u?.label&&(D.label=u.label),u?.tooltip&&(D.tooltip=u.tooltip),u?.icon&&(D.icon=u.icon),u?.emptyText&&(D.emptyText=u.emptyText),D}sortBySlotOrder(e,t){let o=A[t].order;return o==="fifo"?e.slice():o==="priority"?e.slice().sort((u,b)=>{let M=this.priorityFor(u),D=this.priorityFor(b);return M!==D?M-D:ae(u,b)}):o==="severity"?e.slice().sort((u,b)=>{let M=Me(u),D=Me(b);return M!==D?D-M:ae(u,b)}):e.slice().sort(ae)}priorityFor(e){let t=`${e.pluginId}/${e.extensionId}/${e.contributionId}`;return this.registry.get(t)?.priority??100}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-view-contributions-host"]],hostVars:3,hostBindings:function(t,o){t&2&&(g("data-debug-slot",o.debugVisible()?o.slot():null),E("sm-debug-slot",o.debugVisible()))},inputs:{slot:[1,"slot"],node:[1,"node"]},decls:1,vars:1,consts:[[1,"vch"],[1,"vch__slot"],["data-testid","view-contributions-host-overflow",1,"vch__overflow",3,"pTooltip"],[4,"ngComponentOutlet","ngComponentOutletInputs"]],template:function(t,o){t&1&&p(0,Mt,4,2,"span",0),t&2&&m(o.visible().length>0||o.overflowCount()>0?0:-1)},dependencies:[he,w,T],styles:[".vch[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.7rem;flex-wrap:wrap}.vch__slot[_ngcontent-%COMP%]{display:inline-flex}.vch__overflow[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:.75rem;background:var(--p-surface-100);color:var(--p-surface-600);font-size:.8rem;cursor:default}"],changeDetection:0})};function ae(n,e){let t=`${n.pluginId}/${n.extensionId}/${n.contributionId}`,o=`${e.pluginId}/${e.extensionId}/${e.contributionId}`;return t<o?-1:t>o?1:0}function Me(n){let e=n.payload;if(typeof e!="object"||e===null)return 0;switch(e.severity){case"danger":return 4;case"warn":return 3;case"info":return 2;case"success":return 1;default:return 0}}export{K as a,H as b,ke as c};
|
|
1
|
+
import{e as xe,j as T,k as w}from"./chunk-FQOZBFJ5.js";import{Ba as ue,Ib as be,J as V,Jb as Ce,Ka as g,M as le,Na as p,O as R,Oa as m,Pa as ge,Ra as x,Sa as I,T as ce,Ta as C,Tb as r,U as pe,Ua as f,Va as v,Wa as F,Xa as s,Xb as y,Ya as l,Za as $,ab as ye,da as j,db as fe,ea as me,gb as ve,hb as a,kc as he,oa as i,sb as _e,tb as E,vb as oe,wa as _,wb as d,xb as c,yb as z}from"./chunk-LTQTJU54.js";import{d as se}from"./chunk-VB56BUGO.js";var q="sm-debug-slots",Ee="debug-slots",Se="is-debug-slots",K=class n{visible=j(!1);constructor(){this.visible.set(this.resolveInitial()),me(()=>{let e=this.visible();document.documentElement.classList.toggle(Se,e)})}toggle(){let e=!this.visible();this.visible.set(e);try{localStorage.setItem(q,e?"1":"0")}catch{}}resolveInitial(){let t=new URLSearchParams(window.location.search).get(Ee);if(t==="1"||t==="true"){try{localStorage.setItem(q,"1")}catch{}return!0}if(t==="0"||t==="false"){try{localStorage.setItem(q,"0")}catch{}return!1}try{return localStorage.getItem(q)==="1"}catch{return!1}}static \u0275fac=function(t){return new(t||n)};static \u0275prov=V({token:n,factory:n.\u0275fac,providedIn:"root"})};var H=class n{registry=j({});setRegistry(e){e&&this.registry.set(e)}get(e){return this.registry()[e]}all(){return this.registry()}static \u0275fac=function(t){return new(t||n)};static \u0275prov=V({token:n,factory:n.\u0275fac,providedIn:"root"})};function k(n){return typeof n=="object"&&n!==null}function O(n,e){return k(n)&&Array.isArray(n[e])}function U(n,e){return k(n)&&typeof n[e]=="string"}var h={panelHeader:"Plugin contributions",panelCount:n=>`${n} contribution${n===1?"":"s"}`,emptyDefault:"No contributions for this node.",rendererInvalid:"Contribution data failed schema validation.",rendererUnknownSlot:n=>`Unknown slot: ${n}. Update the UI to a newer catalog version.`,overflowBadge:n=>`+${n}`,overflowTooltip:n=>`Hidden: ${n}`,recordsCell:{boolTrue:"yes",boolFalse:"no"}};var De=(n,e)=>e.label;function Pe(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function Oe(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function Re(n,e){if(n&1&&(s(0,"li",4)(1,"span",5),d(2),l(),s(3,"span",6),$(4,"span",7),l(),s(5,"span",8),d(6),l()()),n&2){let t=e.$implicit,o=a(2);g("title",t.tooltip??""),i(2),c(t.label),i(2),_e("width",o.percent(t.value),"%"),i(2),c(t.value)}}function Fe(n,e){if(n&1&&(s(0,"ul",3),x(1,Re,7,5,"li",4,De),l()),n&2){let t=a();i(),I(t.entries())}}var W=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?O(e,"entries")?e:{entries:[]}:{entries:[]}});entries=r(()=>this.typed().entries??[]);label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);maxValue=r(()=>this.entries().reduce((t,o)=>o.value>t?o.value:t,0));percent(e){let t=this.maxValue();return t===0?0:Math.round(e/t*100)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-breakdown"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-breakdown"],[1,"vc-breakdown__header"],[1,"vc-breakdown__empty"],[1,"vc-breakdown__rows"],[1,"vc-breakdown__row"],[1,"vc-breakdown__label"],[1,"vc-breakdown__bar-track"],["aria-hidden","true",1,"vc-breakdown__bar"],[1,"vc-breakdown__value"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,Pe,2,1,"h5",1),p(2,Oe,2,1,"p",2)(3,Fe,3,0,"ul",3),l()),t&2&&(g("data-testid","renderer-node-breakdown"),i(),m(o.label()?1:-1),i(),m(o.entries().length===0?2:3))},styles:[".vc-breakdown__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-breakdown__rows[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.25rem}.vc-breakdown__row[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(4rem,.4fr) 1fr 3rem;align-items:center;gap:.5rem;font-size:.85rem}.vc-breakdown__label[_ngcontent-%COMP%]{color:var(--p-surface-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vc-breakdown__bar-track[_ngcontent-%COMP%]{background:var(--p-surface-100);border-radius:var(--sm-radius-md);height:.625rem;overflow:hidden}.vc-breakdown__bar[_ngcontent-%COMP%]{display:block;height:100%;background:var(--p-primary-500)}.vc-breakdown__value[_ngcontent-%COMP%]{text-align:right;color:var(--p-surface-600)}.vc-breakdown__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};function $e(n,e){if(n&1&&(s(0,"span",1),d(1),l()),n&2){let t=a(),o=a();oe(o.hostClass()),i(),c(t.text)}}function Le(n,e){if(n&1&&$(0,"i",1),n&2){let t=a(),o=a();oe(o.hostClass()+" "+t.cls)}}function Ae(n,e){n&1&&p(0,$e,2,3,"span",0)(1,Le,1,2,"i",0),n&2&&m(e.kind==="emoji"?0:1)}function Ve(n){if(!n)return null;let e=n.trim();if(e.length===0)return null;let t=e.codePointAt(0)??0;if(!(t>=65&&t<=90||t>=97&&t<=122))return{kind:"emoji",text:e};if(/^pi pi-[a-z0-9-]+$/.test(e))return{kind:"pi",cls:e};if(/^pi-[a-z0-9-]+$/.test(e))return{kind:"pi",cls:`pi ${e}`};if(/^fa-(?:solid|regular|brands) fa-[a-z0-9-]+$/.test(e))return{kind:"fa",cls:e};if(/^fa-[a-z0-9-]+$/.test(e)){let u=e.slice(3);return u==="solid"||u==="regular"||u==="brands"||u.includes("fa-")?null:{kind:"fa",cls:`fa-solid ${e}`}}return null}var P=class n{icon=y(void 0);hostClass=y("");resolved=r(()=>{let e=this.icon(),t=Ve(e);return e&&!t&&console.warn(`[sm-icon] Invalid icon string "${e}". Expected emoji, pi-foo, pi pi-foo, fa-{solid|regular|brands} fa-foo, or fa-foo.`),t});static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-icon"]],inputs:{icon:[1,"icon"],hostClass:[1,"hostClass"]},decls:1,vars:1,consts:[["aria-hidden","true",3,"class"],["aria-hidden","true"]],template:function(t,o){if(t&1&&p(0,Ae,2,1),t&2){let u;m((u=o.resolved())?0:-1,u)}},styles:["[_nghost-%COMP%] i[_ngcontent-%COMP%], [_nghost-%COMP%] span[_ngcontent-%COMP%]{font-size:inherit;line-height:inherit}[_nghost-%COMP%] i[_ngcontent-%COMP%]{transform:translateY(1px)}"],changeDetection:0})};function Be(n,e){if(n&1&&(f(0,"span",3),d(1),v()),n&2){let t=a();g("aria-label",t.ariaLabel()),i(),c(t.value())}}var L=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{value:0}:e});value=r(()=>this.typed().value);icon=r(()=>this.inputs().icon);severity=r(()=>this.typed().severity);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");ariaLabel=r(()=>this.inputs().label??"");static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-counter"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:12,consts:[[1,"vc-counter",3,"pTooltip"],[1,"vc-counter__icon"],[3,"icon"],[1,"vc-counter__value"]],template:function(t,o){t&1&&(f(0,"span",0)(1,"span",1),F(2,"sm-icon",2),v(),p(3,Be,2,2,"span",3),v()),t&2&&(E("vc-counter--info",o.severity()==="info")("vc-counter--warn",o.severity()==="warn")("vc-counter--success",o.severity()==="success")("vc-counter--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("data-testid","renderer-node-counter"),i(2),C("icon",o.icon()),i(),m(o.value()>0?3:-1))},dependencies:[w,T,P],styles:[".vc-counter[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.3rem;line-height:1}.vc-counter__icon[_ngcontent-%COMP%]{font-size:.6rem;line-height:1;display:block}.vc-counter__value[_ngcontent-%COMP%]{font-weight:600;color:var(--p-text-color);line-height:1;display:block}.vc-counter--info[_ngcontent-%COMP%], .vc-counter--info[_ngcontent-%COMP%] .vc-counter__value[_ngcontent-%COMP%]{color:var(--sm-severity-info)}.vc-counter--warn[_ngcontent-%COMP%], .vc-counter--warn[_ngcontent-%COMP%] .vc-counter__value[_ngcontent-%COMP%]{color:var(--sm-severity-warn)}.vc-counter--success[_ngcontent-%COMP%], .vc-counter--success[_ngcontent-%COMP%] .vc-counter__value[_ngcontent-%COMP%]{color:var(--sm-severity-success)}.vc-counter--danger[_ngcontent-%COMP%], .vc-counter--danger[_ngcontent-%COMP%] .vc-counter__value[_ngcontent-%COMP%]{color:var(--sm-severity-error)}"],changeDetection:0})};var je=(n,e)=>e.key;function ze(n,e){if(n&1&&(f(0,"h5",1),d(1),v()),n&2){let t=a();i(),c(t.label())}}function qe(n,e){if(n&1&&(f(0,"p",2),d(1),v()),n&2){let t=a();i(),c(t.emptyText())}}function Ke(n,e){if(n&1&&(f(0,"dt",4),d(1),v(),f(2,"dd"),d(3),v()),n&2){let t=e.$implicit,o=a(2);C("pTooltip",t.tooltip??""),i(),c(t.key),i(2),c(o.formatValue(t.value))}}function He(n,e){if(n&1&&(f(0,"dl",3),x(1,Ke,4,3,null,null,je),v()),n&2){let t=a();i(),I(t.entries())}}var X=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?O(e,"entries")?e:{entries:[]}:{entries:[]}});entries=r(()=>this.typed().entries??[]);label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);formatValue(e){return e==null?"\u2014":typeof e=="boolean"?e?"true":"false":String(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-key-values"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-kv"],[1,"vc-kv__header"],[1,"vc-kv__empty"],[1,"vc-kv__list"],[3,"pTooltip"]],template:function(t,o){t&1&&(f(0,"section",0),p(1,ze,2,1,"h5",1),p(2,qe,2,1,"p",2)(3,He,3,0,"dl",3),v()),t&2&&(g("data-testid","renderer-node-key-values"),i(),m(o.label()?1:-1),i(),m(o.entries().length===0?2:3))},dependencies:[w,T],styles:[".vc-kv__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-kv__list[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(6rem,max-content) 1fr;gap:.25rem .75rem;margin:0;font-size:.85rem}.vc-kv__list[_ngcontent-%COMP%] dt[_ngcontent-%COMP%]{color:var(--p-surface-600);font-weight:500}.vc-kv__list[_ngcontent-%COMP%] dd[_ngcontent-%COMP%]{color:var(--p-surface-800);margin:0;word-break:break-word}.vc-kv__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};var ie=class n{router=R(xe);open(e){this.router.navigate(["/graph"],{queryParams:{path:e}})}static \u0275fac=function(t){return new(t||n)};static \u0275prov=V({token:n,factory:n.\u0275fac,providedIn:"root"})},Ie=new le("NODE_OPEN_INTENT",{providedIn:"root",factory:()=>R(ie)});var Ue=(n,e)=>e.path;function We(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function Xe(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function Ye(n,e){if(n&1&&(s(0,"span",5),d(1),l()),n&2){let t=a().$implicit;i(),c(t.kind)}}function Ge(n,e){if(n&1){let t=fe();s(0,"li")(1,"button",4),ve("click",function(){let u=ce(t).$implicit,b=a(2);return pe(b.onOpenPath(u.path))}),p(2,Ye,2,1,"span",5),s(3,"span",6),d(4),l()()()}if(n&2){let t=e.$implicit;i(2),m(t.kind?2:-1),i(2),c(t.label??t.path)}}function Qe(n,e){if(n&1&&(s(0,"ul",3),x(1,Ge,5,2,"li",null,Ue),l()),n&2){let t=a();i(),I(t.entries())}}var Y=class n{openIntent=R(Ie);inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?O(e,"entries")?e:{entries:[]}:{entries:[]}});entries=r(()=>this.typed().entries??[]);label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);onOpenPath(e){this.openIntent.open(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-link-list"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-links"],[1,"vc-links__header"],[1,"vc-links__empty"],[1,"vc-links__list"],["type","button",1,"vc-links__btn",3,"click"],[1,"vc-links__kind"],[1,"vc-links__label"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,We,2,1,"h5",1),p(2,Xe,2,1,"p",2)(3,Qe,3,0,"ul",3),l()),t&2&&(g("data-testid","renderer-node-link-list"),i(),m(o.label()?1:-1),i(),m(o.entries().length===0?2:3))},styles:[".vc-links__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-links__list[_ngcontent-%COMP%]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.125rem;font-size:.85rem}.vc-links__btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.5rem;background:transparent;border:0;padding:.25rem .5rem;border-radius:var(--sm-radius-md);color:var(--p-primary-600);cursor:pointer;text-align:left;width:100%}.vc-links__btn[_ngcontent-%COMP%]:hover{background:var(--p-surface-100)}.vc-links__kind[_ngcontent-%COMP%]{color:var(--p-surface-500);font-family:var(--p-font-family-mono);font-size:.75rem}.vc-links__label[_ngcontent-%COMP%]{word-break:break-all}.vc-links__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};var Ne=(n,e)=>e.key;function Je(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function Ze(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function et(n,e){if(n&1&&(s(0,"th"),d(1),l()),n&2){let t=e.$implicit;i(),c(t.label)}}function tt(n,e){if(n&1&&$(0,"i",4),n&2){let t=a(4);g("aria-label",t.texts.boolTrue)}}function nt(n,e){if(n&1&&$(0,"i",5),n&2){let t=a(4);g("aria-label",t.texts.boolFalse)}}function ot(n,e){}function it(n,e){if(n&1&&d(0),n&2){let t=a().$implicit,o=a().$implicit,u=a(2);z(" ",u.cellText(o[t.key])," ")}}function rt(n,e){if(n&1&&(s(0,"td"),p(1,tt,1,1,"i",4)(2,nt,1,1,"i",5)(3,ot,0,0)(4,it,1,1),l()),n&2){let t,o=e.$implicit,u=a().$implicit,b=a(2);i(),m((t=b.cellKind(u[o.key]))==="bool-true"?1:t==="bool-false"?2:t==="empty"?3:4)}}function at(n,e){if(n&1&&(s(0,"tr"),x(1,rt,5,1,"td",null,Ne),l()),n&2){let t=a(2);i(),I(t.columns())}}function dt(n,e){if(n&1&&(s(0,"table",3)(1,"thead")(2,"tr"),x(3,et,2,1,"th",null,Ne),l()(),s(5,"tbody"),x(6,at,3,0,"tr",null,ge),l()()),n&2){let t=a();i(3),I(t.columns()),i(3),I(t.rows())}}var G=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?!O(e,"columns")||!O(e,"rows")?{columns:[],rows:[]}:e:{columns:[],rows:[]}});columns=r(()=>this.typed().columns??[]);rows=r(()=>this.typed().rows??[]);label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);texts=h.recordsCell;cellKind(e){return e==null?"empty":typeof e=="boolean"?e?"bool-true":"bool-false":"text"}cellText(e){return e==null?"":String(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-records"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-records"],[1,"vc-records__header"],[1,"vc-records__empty"],[1,"vc-records__table"],["role","img",1,"pi","pi-check","vc-records__bool","vc-records__bool--true"],["role","img",1,"pi","pi-minus","vc-records__bool","vc-records__bool--false"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,Je,2,1,"h5",1),p(2,Ze,2,1,"p",2)(3,dt,8,0,"table",3),l()),t&2&&(g("data-testid","renderer-node-records"),i(),m(o.label()?1:-1),i(),m(o.rows().length===0?2:3))},styles:[".vc-records__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-records__table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse;font-size:.85rem}.vc-records__table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{text-align:left;padding:.25rem .5rem;border-bottom:1px solid var(--p-surface-200);color:var(--p-surface-700);font-weight:600}.vc-records__table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{padding:.25rem .5rem;border-bottom:1px solid var(--p-surface-100);color:var(--p-surface-800);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16rem}.vc-records__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}.vc-records__bool[_ngcontent-%COMP%]{font-size:.9rem;line-height:1}.vc-records__bool--true[_ngcontent-%COMP%]{color:var(--p-primary-color)}.vc-records__bool--false[_ngcontent-%COMP%]{color:var(--p-text-muted-color)}"],changeDetection:0})};function st(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function lt(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function ct(n,e){if(n&1&&(s(0,"pre",3),d(1),l()),n&2){let t=a();i(),c(t.markdown())}}var Q=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return k(e)?U(e,"markdown")?e:{markdown:""}:{markdown:""}});markdown=r(()=>this.typed().markdown??"");label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-markdown"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-markdown"],[1,"vc-markdown__header"],[1,"vc-markdown__empty"],[1,"vc-markdown__body"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,st,2,1,"h5",1),p(2,lt,2,1,"p",2)(3,ct,2,1,"pre",3),l()),t&2&&(g("data-testid","renderer-node-markdown"),i(),m(o.label()?1:-1),i(),m(o.markdown()?3:2))},styles:[".vc-markdown__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-markdown__body[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-800);background:var(--p-surface-50);padding:.5rem;border-radius:var(--sm-radius-md);white-space:pre-wrap;word-break:break-word;margin:0;max-height:12rem;overflow:auto}.vc-markdown__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};function pt(n,e){if(n&1&&(f(0,"span",1),d(1),v()),n&2){let t=a();i(),c(t.icon())}}var J=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{label:""}:e});label=r(()=>this.typed().label||"");icon=r(()=>this.inputs().icon);severity=r(()=>this.typed().severity);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-tag"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:12,consts:[[1,"vc-tag",3,"pTooltip"],["aria-hidden","true",1,"vc-tag__icon"],[1,"vc-tag__label"]],template:function(t,o){t&1&&(f(0,"span",0),p(1,pt,2,1,"span",1),f(2,"span",2),d(3),v()()),t&2&&(E("vc-tag--info",o.severity()==="info")("vc-tag--warn",o.severity()==="warn")("vc-tag--success",o.severity()==="success")("vc-tag--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("data-testid","renderer-node-tag"),i(),m(o.icon()?1:-1),i(2),c(o.label()))},dependencies:[w,T],styles:[".vc-tag[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.3rem;line-height:1}.vc-tag__icon[_ngcontent-%COMP%]{font-size:.85em;line-height:1;display:block}.vc-tag__label[_ngcontent-%COMP%]{font-weight:500;line-height:1;display:block}.vc-tag--info[_ngcontent-%COMP%]{background:var(--sm-severity-info-bg);color:var(--sm-severity-info);padding:.1rem .4rem;border-radius:var(--sm-radius-sm)}.vc-tag--warn[_ngcontent-%COMP%]{background:var(--sm-severity-warn-bg);color:var(--sm-severity-warn);padding:.1rem .4rem;border-radius:var(--sm-radius-sm)}.vc-tag--success[_ngcontent-%COMP%]{background:var(--sm-severity-success-bg);color:var(--sm-severity-success);padding:.1rem .4rem;border-radius:var(--sm-radius-sm)}.vc-tag--danger[_ngcontent-%COMP%]{background:var(--sm-severity-error-bg);color:var(--sm-severity-error);padding:.1rem .4rem;border-radius:var(--sm-radius-sm)}"],changeDetection:0})};var mt=()=>[],Te=(n,e)=>e.label;function ut(n,e){if(n&1&&(s(0,"h5",1),d(1),l()),n&2){let t=a();i(),c(t.label())}}function gt(n,e){if(n&1&&(s(0,"p",2),d(1),l()),n&2){let t=a();i(),c(t.emptyText())}}function yt(n,e){if(n&1&&(s(0,"span",5),d(1),l()),n&2){let t=a().$implicit;i(),c(t.marker)}}function ft(n,e){if(n&1&&(s(0,"span",5),d(1),l()),n&2){let t=a().$implicit;i(),c(t.marker)}}function vt(n,e){if(n&1&&(s(0,"li",4),p(1,ft,2,1,"span",5),s(2,"span",6),d(3),l()()),n&2){let t=e.$implicit;g("title",t.tooltip??""),i(),m(t.marker?1:-1),i(2),c(t.label)}}function _t(n,e){if(n&1&&(s(0,"ul",7),x(1,vt,4,3,"li",4,Te),l()),n&2){let t=a().$implicit;i(),I(t.children)}}function bt(n,e){if(n&1&&(s(0,"li",4),p(1,yt,2,1,"span",5),s(2,"span",6),d(3),l(),p(4,_t,3,0,"ul",7),l()),n&2){let t=e.$implicit;g("title",t.tooltip??""),i(),m(t.marker?1:-1),i(2),c(t.label),i(),m(t.children&&t.children.length>0?4:-1)}}function Ct(n,e){if(n&1&&(s(0,"ul",3),x(1,bt,5,4,"li",4,Te),l()),n&2){let t=a();i(),I(t.root().children??be(0,mt))}}var Z=class n{inputs=y.required();root=r(()=>{let e=this.inputs().payload;return k(e)?U(e,"label")?e.children!==void 0&&!Array.isArray(e.children)?{label:""}:e:{label:""}:{label:""}});rootIsEmpty=r(()=>{let e=this.root();return!e.children||e.children.length===0});label=r(()=>this.inputs().label);emptyText=r(()=>this.inputs().emptyText??h.emptyDefault);static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-tree"]],inputs:{inputs:[1,"inputs"]},decls:4,vars:3,consts:[[1,"vc-tree"],[1,"vc-tree__header"],[1,"vc-tree__empty"],["role","tree",1,"vc-tree__list"],["role","treeitem"],["aria-hidden","true",1,"vc-tree__marker"],[1,"vc-tree__label"],["role","group",1,"vc-tree__list"]],template:function(t,o){t&1&&(s(0,"section",0),p(1,ut,2,1,"h5",1),p(2,gt,2,1,"p",2)(3,Ct,3,1,"ul",3),l()),t&2&&(g("data-testid","renderer-node-tree"),i(),m(o.label()?1:-1),i(),m(o.rootIsEmpty()?2:3))},styles:[".vc-tree__header[_ngcontent-%COMP%]{font-size:.85rem;color:var(--p-surface-700);margin:0 0 .5rem}.vc-tree__list[_ngcontent-%COMP%]{list-style:none;padding-left:1rem;margin:0;font-size:.85rem}.vc-tree__list[_ngcontent-%COMP%] > li[_ngcontent-%COMP%]{padding:.125rem 0}.vc-tree__marker[_ngcontent-%COMP%]{margin-right:.25rem;opacity:.7}.vc-tree__label[_ngcontent-%COMP%]{color:var(--p-surface-800)}.vc-tree__empty[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.85rem;margin:0}"],changeDetection:0})};function ht(n,e){if(n&1&&(f(0,"span",2),d(1),v()),n&2){let t=a();i(),c(t.formattedCount())}}var ee=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{}:e});icon=r(()=>this.typed().icon??this.inputs().icon);severity=r(()=>this.typed().severity);count=r(()=>this.typed().count??null);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");formattedCount=r(()=>{let e=this.count();return e===null?"":e>=99?"99+":String(e)});static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-alert"]],inputs:{inputs:[1,"inputs"]},decls:3,vars:12,consts:[[1,"vc-alert",3,"pTooltip"],["hostClass","vc-alert__icon",3,"icon"],[1,"vc-alert__count"]],template:function(t,o){t&1&&(f(0,"span",0),F(1,"sm-icon",1),p(2,ht,2,1,"span",2),v()),t&2&&(E("vc-alert--info",o.severity()==="info")("vc-alert--warn",o.severity()==="warn")("vc-alert--success",o.severity()==="success")("vc-alert--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("data-testid","renderer-node-alert"),i(),C("icon",o.icon()),i(),m(o.count()!==null?2:-1))},dependencies:[w,T,P],styles:[".vc-alert[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;gap:.125rem;min-width:1.1rem;min-height:1.1rem;font-size:.85rem;color:var(--p-surface-700)}.vc-alert--info[_ngcontent-%COMP%]{color:var(--sm-severity-info)}.vc-alert--warn[_ngcontent-%COMP%]{color:var(--sm-severity-warn)}.vc-alert--success[_ngcontent-%COMP%]{color:var(--sm-severity-success)}.vc-alert--danger[_ngcontent-%COMP%]{color:var(--sm-severity-error)}"],changeDetection:0})};var te=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{}:e});icon=r(()=>this.typed().icon??this.inputs().icon);severity=r(()=>this.typed().severity);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");ariaLabel=r(()=>this.inputs().label??"");static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-node-icon"]],inputs:{inputs:[1,"inputs"]},decls:2,vars:12,consts:[[1,"vc-icon",3,"pTooltip"],["hostClass","vc-icon__glyph",3,"icon"]],template:function(t,o){t&1&&(f(0,"span",0),F(1,"sm-icon",1),v()),t&2&&(E("vc-icon--info",o.severity()==="info")("vc-icon--warn",o.severity()==="warn")("vc-icon--success",o.severity()==="success")("vc-icon--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("aria-label",o.ariaLabel())("data-testid","renderer-node-icon"),i(),C("icon",o.icon()))},dependencies:[w,T,P],styles:[".vc-icon[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;line-height:1;width:22px;height:22px}.vc-icon__glyph[_ngcontent-%COMP%]{font-size:.7rem;line-height:1;display:block}.vc-icon--info[_ngcontent-%COMP%]{color:var(--sm-severity-info)}.vc-icon--warn[_ngcontent-%COMP%]{color:var(--sm-severity-warn)}.vc-icon--success[_ngcontent-%COMP%]{color:var(--sm-severity-success)}.vc-icon--danger[_ngcontent-%COMP%]{color:var(--sm-severity-error)}"],changeDetection:0})};function xt(n,e){if(n&1&&(f(0,"span",3),d(1),v()),n&2){let t=a();i(),c(t.label())}}var ne=class n{inputs=y.required();typed=r(()=>{let e=this.inputs().payload;return typeof e!="object"||e===null?{value:""}:e});value=r(()=>String(this.typed().value??""));label=r(()=>this.typed().label??this.inputs().label);icon=r(()=>this.inputs().icon);severity=r(()=>this.typed().severity);resolvedTooltip=r(()=>this.typed().tooltip??this.inputs().tooltip??"");static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-scope-stat"]],inputs:{inputs:[1,"inputs"]},decls:5,vars:13,consts:[[1,"vc-stat",3,"pTooltip"],["hostClass","vc-stat__icon",3,"icon"],[1,"vc-stat__value"],[1,"vc-stat__label"]],template:function(t,o){t&1&&(f(0,"span",0),F(1,"sm-icon",1),f(2,"span",2),d(3),v(),p(4,xt,2,1,"span",3),v()),t&2&&(E("vc-stat--info",o.severity()==="info")("vc-stat--warn",o.severity()==="warn")("vc-stat--success",o.severity()==="success")("vc-stat--danger",o.severity()==="danger"),C("pTooltip",o.resolvedTooltip()),g("data-testid","renderer-scope-stat"),i(),C("icon",o.icon()),i(2),c(o.value()),i(),m(o.label()?4:-1))},dependencies:[w,T,P],styles:[".vc-stat[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:.75rem;font-size:.85rem;background:var(--p-surface-100);color:var(--p-surface-800)}.vc-stat__label[_ngcontent-%COMP%]{color:var(--p-surface-500);font-size:.8rem}.vc-stat--info[_ngcontent-%COMP%]{background:var(--p-blue-100);color:var(--p-blue-700)}.vc-stat--warn[_ngcontent-%COMP%]{background:var(--p-yellow-100);color:var(--p-yellow-800)}.vc-stat--success[_ngcontent-%COMP%]{background:var(--p-green-100);color:var(--p-green-700)}.vc-stat--danger[_ngcontent-%COMP%]{background:var(--p-red-100);color:var(--p-red-700)}"],changeDetection:0})};var re={"card.title.right":te,"card.subtitle.left":L,"card.footer.left":L,"card.footer.right":L,"graph.node.alert":ee,"inspector.header.badge.counter":L,"inspector.header.badge.tag":J,"inspector.body.panel.breakdown":W,"inspector.body.panel.records":G,"inspector.body.panel.tree":Z,"inspector.body.panel.key-values":X,"inspector.body.panel.link-list":Y,"inspector.body.panel.markdown":Q,"topbar.nav.start":ne};function we(n){return n in re}var A={"topbar.nav.start":{id:"topbar.nav.start",cardinality:"multi",maxItems:3,order:"alphabetical",strategy:"append"},"inspector.header.badge.counter":{id:"inspector.header.badge.counter",cardinality:"multi",maxItems:4,order:"alphabetical",strategy:"append"},"inspector.header.badge.tag":{id:"inspector.header.badge.tag",cardinality:"multi",maxItems:4,order:"alphabetical",strategy:"append"},"inspector.body.panel.breakdown":{id:"inspector.body.panel.breakdown",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.records":{id:"inspector.body.panel.records",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.tree":{id:"inspector.body.panel.tree",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.key-values":{id:"inspector.body.panel.key-values",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.link-list":{id:"inspector.body.panel.link-list",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"inspector.body.panel.markdown":{id:"inspector.body.panel.markdown",cardinality:"multi",maxItems:50,order:"alphabetical",strategy:"append"},"card.footer.left":{id:"card.footer.left",cardinality:"multi",maxItems:5,order:"priority",strategy:"append",respectSeverity:!0},"card.footer.right":{id:"card.footer.right",cardinality:"multi",maxItems:5,order:"priority",strategy:"append",respectSeverity:!0},"card.subtitle.left":{id:"card.subtitle.left",cardinality:"multi",maxItems:3,order:"priority",strategy:"append",respectSeverity:!0},"card.title.right":{id:"card.title.right",cardinality:"multi",maxItems:2,order:"priority",strategy:"append",respectSeverity:!0},"graph.node.alert":{id:"graph.node.alert",cardinality:"multi",maxItems:1,order:"severity",strategy:"append",showOverflowBadge:!1}};var It=n=>({inputs:n}),Nt=(n,e)=>e.qualifiedId;function Tt(n,e){n&1&&ye(0)}function wt(n,e){if(n&1&&(f(0,"span",1),ue(1,Tt,1,0,"ng-container",3),v()),n&2){let t=e.$implicit,o=a(2);g("data-testid","contribution-"+t.qualifiedId.replaceAll("/","-")),i(),C("ngComponentOutlet",o.rendererFor(t.slot))("ngComponentOutletInputs",Ce(3,It,t.rendererInputs))}}function kt(n,e){if(n&1&&(f(0,"span",2),d(1),v()),n&2){let t=a(2);C("pTooltip",t.overflowTooltip()),i(),z(" ",t.overflowBadge()," ")}}function Mt(n,e){if(n&1&&(f(0,"span",0),x(1,wt,2,5,"span",1,Nt),p(3,kt,2,2,"span",2),v()),n&2){let t=a();g("data-testid","view-contributions-host-"+t.testidSuffix()),i(),I(t.visible()),i(2),m(t.overflowCount()>0&&t.showOverflowBadge()?3:-1)}}var ke=class n{slot=y.required();node=y(null);debugSlots=R(K);debugVisible=this.debugSlots.visible;testidSuffix=r(()=>this.slot().replaceAll(".","-"));registry=R(H);dispatched=r(()=>{let e=this.node();if(!e)return[];let t=e.contributions??[];if(t.length===0)return[];let o=this.slot(),u=t.filter(b=>b.slot===o).filter(b=>we(b.slot));return this.sortBySlotOrder(u,o).map(b=>({qualifiedId:`${b.pluginId}/${b.extensionId}/${b.contributionId}`,slot:b.slot,rendererInputs:this.buildInputs(b,o)}))});visible=r(()=>{let e=this.dispatched(),t=A[this.slot()].maxItems;return e.slice(0,t)});overflowCount=r(()=>{let e=this.dispatched(),t=A[this.slot()].maxItems;return Math.max(0,e.length-t)});showOverflowBadge=r(()=>A[this.slot()].showOverflowBadge!==!1);overflowBadge=r(()=>h.overflowBadge(this.overflowCount()));overflowTooltip=r(()=>{let e=this.dispatched(),t=A[this.slot()].maxItems,o=e.slice(t).map(u=>u.qualifiedId).join(", ");return h.overflowTooltip(o)});rendererFor(e){return re[e]}buildInputs(e,t){let o=`${e.pluginId}/${e.extensionId}/${e.contributionId}`,u=this.registry.get(o),b=A[t].respectSeverity!==!1,M=e.payload;if(!b&&typeof M=="object"&&M!==null&&"severity"in M){let de=M,{severity:Et}=de;M=se(de,["severity"])}let D={pluginId:e.pluginId,extensionId:e.extensionId,contributionId:e.contributionId,payload:M};return u?.label&&(D.label=u.label),u?.tooltip&&(D.tooltip=u.tooltip),u?.icon&&(D.icon=u.icon),u?.emptyText&&(D.emptyText=u.emptyText),D}sortBySlotOrder(e,t){let o=A[t].order;return o==="fifo"?e.slice():o==="priority"?e.slice().sort((u,b)=>{let M=this.priorityFor(u),D=this.priorityFor(b);return M!==D?M-D:ae(u,b)}):o==="severity"?e.slice().sort((u,b)=>{let M=Me(u),D=Me(b);return M!==D?D-M:ae(u,b)}):e.slice().sort(ae)}priorityFor(e){let t=`${e.pluginId}/${e.extensionId}/${e.contributionId}`;return this.registry.get(t)?.priority??100}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=_({type:n,selectors:[["sm-view-contributions-host"]],hostVars:3,hostBindings:function(t,o){t&2&&(g("data-debug-slot",o.debugVisible()?o.slot():null),E("sm-debug-slot",o.debugVisible()))},inputs:{slot:[1,"slot"],node:[1,"node"]},decls:1,vars:1,consts:[[1,"vch"],[1,"vch__slot"],["data-testid","view-contributions-host-overflow",1,"vch__overflow",3,"pTooltip"],[4,"ngComponentOutlet","ngComponentOutletInputs"]],template:function(t,o){t&1&&p(0,Mt,4,2,"span",0),t&2&&m(o.visible().length>0||o.overflowCount()>0?0:-1)},dependencies:[he,w,T],styles:[".vch[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.7rem;flex-wrap:wrap}.vch__slot[_ngcontent-%COMP%]{display:inline-flex}.vch__overflow[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:.75rem;background:var(--p-surface-100);color:var(--p-surface-600);font-size:.8rem;cursor:default}"],changeDetection:0})};function ae(n,e){let t=`${n.pluginId}/${n.extensionId}/${n.contributionId}`,o=`${e.pluginId}/${e.extensionId}/${e.contributionId}`;return t<o?-1:t>o?1:0}function Me(n){let e=n.payload;if(typeof e!="object"||e===null)return 0;switch(e.severity){case"danger":return 4;case"warn":return 3;case"info":return 2;case"success":return 1;default:return 0}}export{K as a,H as b,ke as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as s,O as o,Tb as i,Y as h,Z as p,da as r,ea as u,id as c,jd as m,nd as f}from"./chunk-LTQTJU54.js";var w={triggerLabel:"Settings",triggerTooltip:"Settings",modalTitle:"Settings",closeLabel:"Close",sections:{plugins:"Plugins",general:"General",project:"Project",changelog:"Changelog",about:"About"},general:{heading:"General",intro:"Per-machine preferences. The update-check toggle is the only setting that lives outside the project; it persists at `~/.skill-map/settings.json` and follows you across projects.",loadErrorPrefix:"Could not load preferences:",saveErrorPrefix:"Could not save preferences:",toggles:{"updateCheck.enabled":{label:"Check for updates",description:"Check npm for newer @skill-map/cli releases."}},localPreferences:{heading:"This browser",intro:"Visual preferences saved in this browser only. They won't sync to another machine."},extraTheme:{label:"Theme",description:"Pick a specialty theme. Overrides the topbar dark/light toggle while active; click that toggle to exit.",options:{none:{label:"None",description:"Use the topbar dark/light toggle."},matrix:{label:"Matrix",description:"Cyber-green retint on the dark palette."}}}},project:{heading:"Project",intro:"These settings apply only to this project and are saved in its `.skill-map/settings.local.json` file.",loadErrorPrefix:"Could not load project settings:",saveErrorPrefix:"Could not save project settings:",extraFoldersLabel:"Extra folders to scan",extraFoldersDescription:"Additional folders included in the scan. Their files show up in the graph next to this project. Use ~/ for paths inside your home folder. This is the only way to extend the scan beyond this project.",extraFoldersPlaceholder:"~/.claude/agents, /path/to/another/folder",referencePathsLabel:"Folders for link validation",referencePathsDescription:'Folders checked only to validate links. Files here are not indexed and do not appear in the graph, they just stop "broken link" warnings when a link points to a real file outside this project.',referencePathsPlaceholder:"~/Documents/research, ~/.claude",addPathLabel:"Add path",removePathLabel:"Remove",confirmDialogHeader:"Allow access to folders outside this project?",confirmDialogIntro:"This change lets the scan read files in:",confirmDialogAccept:"Allow access",confirmDialogReject:"Cancel"},changelogHeading:"Changelog",changelogIntro:"What's new in skill-map. Each entry covers a release of @skill-map/cli (the CLI + bundled UI) and lists the user-facing changes plus the workspace(s) each one affects.",changelogEmpty:"No release notes yet. Future releases will populate this list automatically from the changesets shipped in each PR.",changelogInternalRelease:"Internal release. Focus on stability, infra, and refactors. No user-facing changes this time.",changelogAffectedPackages:"Affected packages",aboutHeading:"About",aboutIntro:"Version information for the running CLI / server.",aboutCliLabel:"skill-map CLI",aboutSpecLabel:"Spec version",aboutSchemaLabel:"Schema version",aboutFolderLabel:"Project folder",aboutDbLabel:"Project DB",aboutDbValue:(t,e)=>t==="present"?e:`${t} \xB7 ${e}`,aboutLoading:"Loading\u2026",aboutUnknown:"\u2014",aboutErrorPrefix:"Could not read health endpoint:",aboutLinksHeading:"Links",aboutWebsiteLabel:"Website",aboutGithubLabel:"GitHub",aboutWebsiteUrl:"https://skill-map.dev/",aboutGithubUrl:"https://github.com/crystian/skill-map",aboutStarHeading:"Enjoying skill-map?",aboutStarBody:"If it's useful to you, drop us a star on GitHub, it helps a lot and keeps the project alive.",aboutStarCta:"Star on GitHub",aboutStarA11y:"Open the skill-map repository on GitHub to give it a star",pluginsHeading:"Plugins",pluginsIntro:"Enable or disable installed plugins.",pluginsSearchPlaceholder:"Filter by name\u2026",pluginsSearchA11y:"Filter plugins by name",pluginsSearchEmpty:t=>`No plugins match "${t}".`,pluginsKindFilterAll:"All",pluginsKindFilterA11y:"Filter plugins by kind",pluginsKindFilterOptionA11y:(t,e)=>e?`Show only ${t} extensions`:"Show all kinds",unsavedChangesMessage:t=>t===1?'1 unsaved change. Click "Apply" to persist it.':`${t} unsaved changes. Click "Apply" to persist them.`,startsAsDisabledRowHint:"This plugin started disabled and is not loaded in memory. Restart `sm serve` for the change to take effect.",startsAsDisabledFooterHint:"Some plugins were disabled when the server started. Consider restarting `sm serve` so they take effect.",discardChanges:"Discard",applyAndClose:"Apply",discardA11y:"Discard pending plugin changes",applyA11y:"Apply pending plugin changes and refresh the graph",confirmCloseTitle:"Apply pending changes?",confirmCloseBody:t=>t===1?"You have 1 unsaved change.":`You have ${t} unsaved changes.`,keepEditing:"Keep editing",sourceBuiltIn:"Built-in",sourceProject:"Project",enabledLabel:"Enabled",disabledLabel:"Disabled",lockedLabel:"Locked",lockedTooltip:"Locked by the host (cannot be toggled).",expandLabel:"Show extensions",collapseLabel:"Hide extensions",statusFailure:{"incompatible-spec":"Incompatible spec version","invalid-manifest":"Invalid manifest","load-error":"Failed to load","id-collision":"Plugin id collision"},loading:"Loading plugins\u2026",empty:"No plugins installed.",errorPrefix:"Could not load plugins:",toggleErrorPrefix:"Toggle failed:",a11y:{triggerLabel:"Open settings",pluginToggle:(t,e)=>e?`Enable plugin ${t}`:`Disable plugin ${t}`,extensionToggle:(t,e)=>e?`Enable ${t}`:`Disable ${t}`,pluginRow:t=>`Plugin ${t} row`,extensionRow:t=>`Extension ${t} row`}};var b={available:"Update available",tooltip:t=>`v${t} is available. Run \`npm i -g @skill-map/cli@latest\` to update.`,a11yLabel:t=>`Update available: version ${t}`,versionLabel:t=>`v${t}`,versionTooltip:t=>`skill-map CLI v${t}`,versionA11yLabel:t=>`Running version ${t}`,fetchFailed:t=>`UpdateCheckService: fetch failed (${t})`};var y=class t{dataSource=o(c);status=r(null);isOutdated=i(()=>this.status()?.isOutdated===!0);latest=i(()=>this.status()?.latest??null);current=i(()=>this.status()?.current??null);async load(){try{let e=await this.dataSource.getUpdateStatus();this.status.set(e)}catch(e){let a=e instanceof Error?e.message:String(e);console.warn(b.fetchFailed(a))}}static \u0275fac=function(a){return new(a||t)};static \u0275prov=s({token:t,factory:t.\u0275fac,providedIn:"root"})};var T={scanFailed:t=>`scan-trigger failed: ${t}`};var k=class t{dataSource=o(c);loader=o(f);scanning=r(!1);scanError=r(null);async run(){if(!this.scanning()){this.scanning.set(!0),this.scanError.set(null);try{await this.dataSource.runScan(),await this.loader.load()}catch(e){let a=e instanceof m||e instanceof Error?e.message:String(e);this.scanError.set(a),console.warn(T.scanFailed(a))}finally{this.scanning.set(!1)}}}static \u0275fac=function(a){return new(a||t)};static \u0275prov=s({token:t,factory:t.\u0275fac,providedIn:"root"})};var S="skill-map.ui.theme",g="skill-map.ui.extra-theme",A="app-dark",D="dark",C="app-matrix",E="(prefers-color-scheme: dark)",L="favicon.svg",I="favicon-matrix.svg",P='link[rel="icon"][type="image/svg+xml"]',x=class t{doc=o(h);destroyRef=o(p);mode=r(this.readInitialMode());extraTheme=r(this.readInitialExtra());systemPrefersDark=r(this.readSystemPref());resolved=i(()=>{let e=this.mode();return e==="auto"?this.systemPrefersDark()?"dark":"light":e});constructor(){this.subscribeToSystemPref(),u(()=>{let e=this.extraTheme(),n=this.resolved()==="dark"||e==="matrix",l=this.doc.documentElement;l.classList.toggle(A,n),l.classList.toggle(D,n),l.classList.toggle(C,e==="matrix"),this.applyFavicon(e==="matrix"?I:L);try{let d=this.doc.defaultView?.localStorage;d?.setItem(S,this.mode()),e===null?d?.removeItem(g):d?.setItem(g,e)}catch{}})}toggle(){this.extraTheme()!==null&&this.extraTheme.set(null),this.mode.update(e=>e==="auto"?"light":e==="light"?"dark":"auto")}set(e){this.mode.set(e)}setExtraTheme(e){this.extraTheme.set(e)}readInitialMode(){try{let e=this.doc.defaultView?.localStorage.getItem(S);if(e==="auto"||e==="light"||e==="dark")return e}catch{}return"auto"}readInitialExtra(){try{let e=this.doc.defaultView?.localStorage.getItem(g);if(e==="matrix")return e}catch{}return null}readSystemPref(){try{return this.doc.defaultView?.matchMedia(E).matches??!1}catch{return!1}}applyFavicon(e){let a=this.doc.querySelector(P);a&&a.getAttribute("href")!==e&&a.setAttribute("href",e)}subscribeToSystemPref(){let e=this.doc.defaultView;if(!e||typeof e.matchMedia!="function")return;let a=e.matchMedia(E),n=l=>{this.systemPrefersDark.set(l.matches)};a.addEventListener("change",n),this.destroyRef.onDestroy(()=>a.removeEventListener("change",n))}static \u0275fac=function(a){return new(a||t)};static \u0275prov=s({token:t,factory:t.\u0275fac,providedIn:"root"})};export{b as a,y as b,w as c,k as d,x as e};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{$ as L,Aa as c,Ba as Fe,Ea as nt,Hb as S,I as $,Ic as vt,J as U,Jb as Se,Jc as he,K as O,Ka as re,Lc as fe,M as b,Na as P,O as M,Oa as R,Oc as z,Pc as Z,Sb as A,Ta as j,Tb as D,Ua as we,V as et,Va as Ie,Vc as I,Wa as it,Wb as u,Wc as ge,Xb as s,Za as ot,_c as yt,ab as Ne,ad as _t,bc as ct,cc as w,d as Ke,da as V,dc as ht,ea as ie,ec as Oe,fa as tt,fb as se,ga as v,gc as xe,h as Ye,hb as q,ia as Ae,ib as rt,jb as st,kb as at,mb as ae,n as Xe,nb as le,oa as W,oc as ft,pc as de,ra as Ee,sa as y,t as Je,tb as lt,vb as T,wa as B,wb as dt,xa as x,xb as ut,ya as C,za as oe}from"./chunk-
|
|
1
|
+
import{$ as L,Aa as c,Ba as Fe,Ea as nt,Hb as S,I as $,Ic as vt,J as U,Jb as Se,Jc as he,K as O,Ka as re,Lc as fe,M as b,Na as P,O as M,Oa as R,Oc as z,Pc as Z,Sb as A,Ta as j,Tb as D,Ua as we,V as et,Va as Ie,Vc as I,Wa as it,Wb as u,Wc as ge,Xb as s,Za as ot,_c as yt,ab as Ne,ad as _t,bc as ct,cc as w,d as Ke,da as V,dc as ht,ea as ie,ec as Oe,fa as tt,fb as se,ga as v,gc as xe,h as Ye,hb as q,ia as Ae,ib as rt,jb as st,kb as at,mb as ae,n as Xe,nb as le,oa as W,oc as ft,pc as de,ra as Ee,sa as y,t as Je,tb as lt,vb as T,wa as B,wb as dt,xa as x,xb as ut,ya as C,za as oe}from"./chunk-LTQTJU54.js";import{J as pt,L as ce,Q as ke,U as mt,b as ue,d as Te,g as gt,ga as Le}from"./chunk-3SI3TVER.js";import{a as p,b as F}from"./chunk-VB56BUGO.js";var Xt=["data-p-icon","times"],si=(()=>{class t extends yt{static \u0275fac=(()=>{let e;return function(o){return(e||(e=v(t)))(o||t)}})();static \u0275cmp=B({type:t,selectors:[["","data-p-icon","times"]],features:[c],attrs:Xt,decls:1,vars:0,consts:[["d","M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z","fill","currentColor"]],template:function(i,o){i&1&&(et(),ot(0,"path",0))},encapsulation:2})}return t})();var Jt=Object.defineProperty,Ct=Object.getOwnPropertySymbols,en=Object.prototype.hasOwnProperty,tn=Object.prototype.propertyIsEnumerable,bt=(t,n,e)=>n in t?Jt(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e,Dt=(t,n)=>{for(var e in n||(n={}))en.call(n,e)&&bt(t,e,n[e]);if(Ct)for(var e of Ct(n))tn.call(n,e)&&bt(t,e,n[e]);return t},nn=(t,n,e)=>new Promise((i,o)=>{var r=l=>{try{g(e.next(l))}catch(h){o(h)}},a=l=>{try{g(e.throw(l))}catch(h){o(h)}},g=l=>l.done?i(l.value):Promise.resolve(l.value).then(r,a);g((e=e.apply(t,n)).next())}),pe="animation",K="transition";function on(t){return t?t.disabled||!!(t.safe&&pt()):!1}function rn(t,n){return t?Dt(Dt({},t),Object.entries(n).reduce((e,[i,o])=>{var r;return e[i]=(r=t[i])!=null?r:o,e},{})):n}function sn(t){let{name:n,enterClass:e,leaveClass:i}=t||{};return{enter:{from:e?.from||`${n}-enter-from`,to:e?.to||`${n}-enter-to`,active:e?.active||`${n}-enter-active`},leave:{from:i?.from||`${n}-leave-from`,to:i?.to||`${n}-leave-to`,active:i?.active||`${n}-leave-active`}}}function an(t){return{enter:{onBefore:t?.onBeforeEnter,onStart:t?.onEnter,onAfter:t?.onAfterEnter,onCancelled:t?.onEnterCancelled},leave:{onBefore:t?.onBeforeLeave,onStart:t?.onLeave,onAfter:t?.onAfterLeave,onCancelled:t?.onLeaveCancelled}}}function ln(t,n){let e=window.getComputedStyle(t),i=m=>{let N=e[`${m}Delay`],E=e[`${m}Duration`];return[N.split(", ").map(Le),E.split(", ").map(Le)]},[o,r]=i(K),[a,g]=i(pe),l=Math.max(...r.map((m,N)=>m+o[N])),h=Math.max(...g.map((m,N)=>m+a[N])),d,f=0,_=0;return n===K?l>0&&(d=K,f=l,_=r.length):n===pe?h>0&&(d=pe,f=h,_=g.length):(f=Math.max(l,h),d=f>0?l>h?K:pe:void 0,_=d?d===K?r.length:g.length:0),{type:d,timeout:f,count:_}}function me(t,n){return typeof t=="number"?t:typeof t=="object"&&t[n]!=null?t[n]:null}function dn(t,n=!0,e=!1){if(!n&&!e)return;let i=gt(t);n&&ke(t,"--pui-motion-height",i.height+"px"),e&&ke(t,"--pui-motion-width",i.width+"px")}var un={name:"p",safe:!0,disabled:!1,enter:!0,leave:!0,autoHeight:!0,autoWidth:!1};function Be(t,n){if(!t)throw new Error("Element is required.");let e={},i=!1,o={},r=null,a={},g=d=>{if(Object.assign(e,rn(d,un)),!e.enter&&!e.leave)throw new Error("Enter or leave must be true.");a=an(e),i=on(e),o=sn(e),r=null},l=d=>nn(null,null,function*(){r?.();let{onBefore:f,onStart:_,onAfter:m,onCancelled:N}=a[d]||{},E={element:t};if(i){f?.(E),_?.(E),m?.(E);return}let{from:We,active:qe,to:ze}=o[d]||{};return dn(t,e.autoHeight,e.autoWidth),f?.(E),ue(t,We),ue(t,qe),t.offsetHeight,Te(t,We),ue(t,ze),_?.(E),new Promise(Ze=>{let Kt=me(e.duration,d),Qe=()=>{Te(t,[ze,qe]),r=null},Yt=()=>{Qe(),m?.(E),Ze()};r=()=>{Qe(),N?.(E),Ze()},hn(t,e.type,Kt,Yt)})});g(n);let h={enter:()=>e.enter?l("enter"):Promise.resolve(),leave:()=>e.leave?l("leave"):Promise.resolve(),cancel:()=>{r?.(),r=null},update:(d,f)=>{if(!d)throw new Error("Element is required.");t=d,h.cancel(),g(f)}};return e.appear&&h.enter(),h}var cn=0;function hn(t,n,e,i){let o=t._motionEndId=++cn,r=()=>{o===t._motionEndId&&i()};if(e!=null)return setTimeout(r,e);let{type:a,timeout:g,count:l}=ln(t,n);if(!a){i();return}let h=a+"end",d=0,f=()=>{t.removeEventListener(h,_,!0),r()},_=m=>{m.target===t&&++d>=l&&f()};t.addEventListener(h,_,{capture:!0,once:!0}),setTimeout(()=>{d<l&&f()},g+1)}var gn=["*"];function pn(t,n){t&1&&st(0)}var ve=new WeakMap;function Y(t,n){if(t)switch(ve.has(t)||ve.set(t,{display:t.style.display,visibility:t.style.visibility,maxHeight:t.style.maxHeight,overflow:t.style.overflow}),n){case"display":t.style.display="none";break;case"visibility":t.style.visibility="hidden",t.style.maxHeight="0",t.style.overflow="hidden";break}}function ye(t,n){if(!t)return;let e=ve.get(t)??t.style;switch(n){case"display":t.style.display=e?.display||"";break;case"visibility":t.style.visibility=e?.visibility||"",t.style.maxHeight=e?.maxHeight||"",t.style.overflow=e?.overflow||"";break}ve.delete(t)}var mn=`
|
|
2
2
|
.p-motion {
|
|
3
3
|
display: block;
|
|
4
4
|
}
|