prreviewbuddy 0.18.0 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/server.js +41 -9
- package/package.json +1 -1
- package/static/chunk-B80S6zbH.js +4 -4
- package/static/chunk-B9H2wUlQ.js +1 -0
- package/static/reviews.js +1 -1
- package/static/shell.css +26 -6
- package/static/workspace.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.18.1
|
|
4
|
+
|
|
5
|
+
*The review ID, where you would look for it.*
|
|
6
|
+
|
|
7
|
+
**Every review page now offers its own ID.** The `...` menu in the workspace header copies the ID of
|
|
8
|
+
the review you are reading, which is the identifier `prreviewbuddy review --review <review>
|
|
9
|
+
--delete` takes. It was previously only on the reviews index, so the one page devoted to a single
|
|
10
|
+
review was the only place that could not tell you which review it was.
|
|
11
|
+
|
|
12
|
+
**A card that holds several reviews offers one too.** It used to offer none, on the grounds that
|
|
13
|
+
such a card stands for the branch rather than any one review. That is right about deleting and wrong
|
|
14
|
+
about copying: there is always a latest review, so there is always exactly one ID the card can mean,
|
|
15
|
+
and the item now says so. Older reviews keep their own IDs on their own rows.
|
|
16
|
+
|
|
17
|
+
**The `...` is always visible.** It was revealed on hover, copied from the pin beside it, and that
|
|
18
|
+
was fine while it was decorative. It holds copy and delete, so it is a control, and a control you
|
|
19
|
+
find by sweeping the mouse across a card is one most people never find.
|
|
20
|
+
|
|
21
|
+
|
|
3
22
|
## 0.18.0
|
|
4
23
|
|
|
5
24
|
*A pull request is compared against its own base, or not at all.*
|
package/dist/server.js
CHANGED
|
@@ -2603,11 +2603,36 @@ function renderHeader(view, freshness) {
|
|
|
2603
2603
|
return `<button type="button" class="prb-fresh-check" data-fresh-check data-state="${state}" aria-expanded="false" title="How this review stands against the branch as it is now">${escapeHtml(label)}</button>`;
|
|
2604
2604
|
})() : ""}
|
|
2605
2605
|
${view.token ? `<button type="button" class="prb-complete" data-complete aria-pressed="${view.complete === true}">${view.complete ? "Reviewed" : "Mark review complete"}</button>` : ""}
|
|
2606
|
+
${view.id ? renderIdMenu(view.id) : ""}
|
|
2606
2607
|
<button type="button" class="prb-ask-toggle" data-ask-toggle aria-expanded="false">Buddy AI</button>
|
|
2607
2608
|
</div>
|
|
2608
2609
|
</header>`;
|
|
2609
2610
|
}
|
|
2610
2611
|
/**
|
|
2612
|
+
* This review's ID, where somebody looking at this review would think to find it.
|
|
2613
|
+
*
|
|
2614
|
+
* In the header because the header answers "what am I looking at", and an ID is the most literal
|
|
2615
|
+
* possible answer to that: it is the name `prreviewbuddy review --review <review> --delete` takes.
|
|
2616
|
+
* It was on the index only, so the one page devoted to a single review was the only place that
|
|
2617
|
+
* could not tell you which review it was, and the help text's advice amounted to reading it out of
|
|
2618
|
+
* the address bar.
|
|
2619
|
+
*
|
|
2620
|
+
* The same `...` and the same menu markup as the index, deliberately. One gesture, in both places
|
|
2621
|
+
* it can be wanted, behaving identically. Copy alone and no delete: removing the review you are
|
|
2622
|
+
* currently reading is a different act needing somewhere to send you afterwards, and the list is
|
|
2623
|
+
* one click away in the rail.
|
|
2624
|
+
*/
|
|
2625
|
+
function renderIdMenu(id) {
|
|
2626
|
+
return `<div class="prb-menu" data-menu>
|
|
2627
|
+
<button type="button" class="prb-menu-trigger" data-menu-trigger aria-expanded="false" aria-haspopup="true" aria-label="Actions for this review">⋯</button>
|
|
2628
|
+
<div class="prb-menu-panel" data-menu-panel hidden>
|
|
2629
|
+
<div data-menu-items>
|
|
2630
|
+
<button type="button" class="prb-menu-item" data-copy-id="${escapeHtml(id)}">Copy review ID</button>
|
|
2631
|
+
</div>
|
|
2632
|
+
</div>
|
|
2633
|
+
</div>`;
|
|
2634
|
+
}
|
|
2635
|
+
/**
|
|
2611
2636
|
* Everything below the review: where else to go, and what to do to the server.
|
|
2612
2637
|
*
|
|
2613
2638
|
* These are in the rail rather than the header because they are not about this review. The header
|
|
@@ -3121,11 +3146,17 @@ function renderCard(group, now) {
|
|
|
3121
3146
|
/**
|
|
3122
3147
|
* The card's own menu, which acts on everything the card is showing.
|
|
3123
3148
|
*
|
|
3124
|
-
* A card is a lineage, and how many analyses are folded into it changes what
|
|
3125
|
-
* and the card is that review
|
|
3126
|
-
*
|
|
3127
|
-
*
|
|
3128
|
-
*
|
|
3149
|
+
* A card is a lineage, and how many analyses are folded into it changes what *deleting* it means.
|
|
3150
|
+
* One review and the card is that review. Several and the card is a history, so deleting means all
|
|
3151
|
+
* of them, with the count and the ref said out loud because somebody looking at cards for
|
|
3152
|
+
* `feat/foo` and `origin/feat/foo` has nothing else to tell them apart.
|
|
3153
|
+
*
|
|
3154
|
+
* Copying an ID is not scoped that way and used to be, which made it hard to find for no reason.
|
|
3155
|
+
* A card always has a latest review, so there is always exactly one ID a reader could mean, and the
|
|
3156
|
+
* label says which on a card that holds several. The old rule dropped the item entirely there, so
|
|
3157
|
+
* the identifier the delete command *requires* was reachable only by opening the history disclosure
|
|
3158
|
+
* and using a row menu, on precisely the cards with the most reviews to tell apart. That was the
|
|
3159
|
+
* delete scoping rule applied to an item that never needed it.
|
|
3129
3160
|
*
|
|
3130
3161
|
* The rows underneath carry the per-review menus, and they only exist once there is more than one.
|
|
3131
3162
|
*/
|
|
@@ -3137,7 +3168,7 @@ function renderCardMenu(group, followed) {
|
|
|
3137
3168
|
label: `Actions for ${followed}`,
|
|
3138
3169
|
action: "Delete review",
|
|
3139
3170
|
question: "Delete this review?",
|
|
3140
|
-
copy:
|
|
3171
|
+
copy: "Copy review ID"
|
|
3141
3172
|
});
|
|
3142
3173
|
const all = `all ${count} reviews following ${followed}`;
|
|
3143
3174
|
return renderMenu({
|
|
@@ -3146,7 +3177,7 @@ function renderCardMenu(group, followed) {
|
|
|
3146
3177
|
label: `Actions for ${followed}`,
|
|
3147
3178
|
action: `Delete ${all}`,
|
|
3148
3179
|
question: `Delete ${all}?`,
|
|
3149
|
-
copy:
|
|
3180
|
+
copy: "Copy latest review ID"
|
|
3150
3181
|
});
|
|
3151
3182
|
}
|
|
3152
3183
|
/**
|
|
@@ -3168,7 +3199,7 @@ function renderMenu(item) {
|
|
|
3168
3199
|
<button type="button" class="prb-menu-trigger" data-menu-trigger aria-expanded="false" aria-haspopup="true" aria-label="${escapeHtml(item.label)}">⋯</button>
|
|
3169
3200
|
<div class="prb-menu-panel" data-menu-panel hidden>
|
|
3170
3201
|
<div data-menu-items>
|
|
3171
|
-
|
|
3202
|
+
<button type="button" class="prb-menu-item" data-copy-id="${id}">${escapeHtml(item.copy)}</button>
|
|
3172
3203
|
<button type="button" class="prb-menu-item prb-menu-item-danger" data-delete="${id}" data-scope="${item.scope}">${escapeHtml(item.action)}</button>
|
|
3173
3204
|
</div>
|
|
3174
3205
|
<div class="prb-menu-confirm" data-menu-confirm hidden>
|
|
@@ -3229,7 +3260,7 @@ function renderHistoryRow(review, number, latest, now) {
|
|
|
3229
3260
|
label: `Actions for review ${number}`,
|
|
3230
3261
|
action: "Delete review",
|
|
3231
3262
|
question: `Delete review ${number}?`,
|
|
3232
|
-
copy:
|
|
3263
|
+
copy: "Copy review ID"
|
|
3233
3264
|
})}
|
|
3234
3265
|
<a href="${escapeHtml(href)}">
|
|
3235
3266
|
<span class="prb-card-history-name">Review ${number} ${latest ? "<span class=\"prb-card-history-latest\">Latest</span>" : "<span class=\"prb-card-history-previous\">Previous</span>"}</span>
|
|
@@ -4196,6 +4227,7 @@ async function sendHtml(res, workspace) {
|
|
|
4196
4227
|
changeSet: workspace.changeSet,
|
|
4197
4228
|
audit: workspace.audit,
|
|
4198
4229
|
apiBase: `/api/${workspace.id}`,
|
|
4230
|
+
id: workspace.id,
|
|
4199
4231
|
token: workspace.token,
|
|
4200
4232
|
editor: editorChoice(),
|
|
4201
4233
|
repoPath: workspace.repoPath,
|
package/package.json
CHANGED
package/static/chunk-B80S6zbH.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunk-BoTbRR8S.js","chunk-CQfKfv79.js","chunk-DsF7k-Jl.js","chunk-CeiETtR3.js","workspace.js","chunk-DqZGGQx6.js","chunk-CZus5tIC.js","chunk-LHD4D-55.js","chunk-DmHr41SG.js","chunk-oZJp8_Oh.js","chunk-Bd8oAEBF.js","chunk-Dy-Kn_BL.js","chunk-7inUl5Il.js","chunk-DEKSwylx.js","chunk-MLIlWKCY.js","chunk-fybaL0A-.js","chunk-BifhSqXX.js","chunk-DS17s2tU.js","chunk-BvO9qrHb.js","chunk-B0xoFuVi.js","chunk-pzXl7dPH.js","chunk-Bdvr7G0w.js","chunk-CGd-uY3x.js","chunk-CmOPaNov.js","chunk-Cp5EDur4.js","chunk-DfMSIask.js","chunk-C26MXXwi.js","chunk-DlMt7LBR.js","chunk-Bs98n_vr.js","chunk-BqFMUyVw.js","chunk-CiB0fz5M.js","chunk-Wi1hfKnY.js","chunk-CoIQ0XcM.js","chunk-DQT7Z75O.js","chunk-dQvmgBo8.js","chunk-CU_yc7c0.js","chunk-DHwB1DNv.js","chunk-C6X32c5Y.js","chunk-DxSMoRAg.js","chunk-B8V5WPf1.js","chunk-BHBwEv5G.js","chunk-BFoDCU3G.js","chunk-C-OQMol4.js","chunk-BSUrFSfn.js","chunk-D289T3W2.js","chunk-CQhDWCuO.js","chunk-Crk3W7xi.js","chunk-IOULrYuo.js","chunk-D5VxBvZv.js","chunk-lpcXIlNC.js","chunk-D3k4QmBl.js","chunk-Dh6xxjov.js","chunk-D87EWWOh.js","chunk-BmkZxg03.js","chunk-H9AITnpH.js","chunk-CqbP8tav.js","chunk-Dk6P4vVY.js","chunk-BVm3MgB2.js","chunk-oxFaA6rD.js","chunk-DBVuY2lB.js","chunk-CNXFALfL.js","chunk-BokiwdgS.js","chunk-DlPtUH2x.js","chunk-DfcNMhQb.js","chunk-DtQPBrIL.js","chunk-ChQTsUB2.js","chunk-BxpAJfRF.js","chunk-Dex9JiR1.js","chunk-IsizPYbz.js","chunk-CUsQ7lH1.js","chunk-9-3VOpWX.js","chunk-nKL3T2Rn.js","chunk-Bk4d_k6M.js","chunk-DHkjHDYG.js","chunk-BVDh-dl-.js","chunk-BOfOlrLQ.js","chunk-CqMjOmHM.js","chunk-CMKpUUG0.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{h as e,m as t,p as n}from"./chunk-CQfKfv79.js";import{t as r}from"./workspace.js";import{n as i}from"./chunk-DsF7k-Jl.js";import{$ as a,C as o,E as s,I as c,L as l,N as u,P as d,Q as f,S as p,T as m,V as h,W as g,X as _,Z as v,_ as y,b,c as x,g as S,l as C,m as w,n as T,p as E,q as D,r as O,s as k,t as A,u as j,x as M}from"./chunk-CeiETtR3.js";import{S as N,a as ee,d as P,f as F,g as I,h as L,i as R,o as te,v as ne,x as re,y as ie}from"./chunk-DqZGGQx6.js";import{r as ae}from"./chunk-LHD4D-55.js";import{i as oe}from"./chunk-DmHr41SG.js";import"./chunk-oZJp8_Oh.js";import{a as se}from"./chunk-Bd8oAEBF.js";import{i as ce,n as le,r as ue,t as de}from"./chunk-7inUl5Il.js";import{a as fe,c as pe,i as z,l as B,n as me,r as he,s as ge,t as _e}from"./chunk-DEKSwylx.js";import{t as ve}from"./chunk-DS17s2tU.js";import{n as ye,t as be}from"./chunk-B0xoFuVi.js";var xe=i(e=>{let{securityLevel:t}=M(),r=n(`body`);if(t===`sandbox`){let t=n(`#i${e}`).node()?.contentDocument??document;r=n(t.body)}return r.select(`#${e}`)},`selectSvgElement`);function Se(e){let t=e?.constructor;return e===(typeof t==`function`?t.prototype:Object.prototype)}function Ce(e){if(e==null)return!0;if(re(e))return typeof e.splice!=`function`&&typeof e!=`string`&&!N(e)&&!ne(e)&&!ie(e)?!1:e.length===0;if(typeof e==`object`||typeof e==`function`){if(e instanceof Map||e instanceof Set)return e.size===0;let t=Object.keys(e);return Se(e)?t.filter(e=>e!==`constructor`).length===0:t.length===0}return!0}var we={common:k,getConfig:b,insertCluster:ye,insertEdge:z,insertEdgeLabel:fe,insertMarkers:ge,insertNode:ue,interpolateToCurve:P,labelHelper:se,log:t,positionEdgeLabel:pe},Te={},Ee=i(e=>{for(let t of e)Te[t.name]=t},`registerLayoutLoaders`);i(()=>{Ee([{name:`dagre`,loader:i(async()=>await r(()=>import(`./chunk-BoTbRR8S.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19])),`loader`)},{name:`swimlane`,loader:i(async()=>await r(()=>import(`./chunk-pzXl7dPH.js`),__vite__mapDeps([20,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19])),`loader`)},{name:`cose-bilkent`,loader:i(async()=>await r(()=>import(`./chunk-Bdvr7G0w.js`),__vite__mapDeps([21,1,2,22])),`loader`)}])},`registerDefaultLayoutLoaders`)();var De=i(async(e,t)=>{if(!(e.layoutAlgorithm in Te))throw Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(let t of e.nodes){let n=t.domId||t.id;t.domId=`${e.diagramId}-${n}`}let n=Te[e.layoutAlgorithm],r=await n.loader(),{theme:i,themeVariables:a}=e.config,{useGradient:o,gradientStart:s,gradientStop:c}=a,l=t.attr(`id`);if(t.append(`defs`).append(`filter`).attr(`id`,`${l}-drop-shadow`).attr(`height`,`130%`).attr(`width`,`130%`).append(`feDropShadow`).attr(`dx`,`4`).attr(`dy`,`4`).attr(`stdDeviation`,0).attr(`flood-opacity`,`0.06`).attr(`flood-color`,`${i?.includes(`dark`)?`#FFFFFF`:`#000000`}`),t.append(`defs`).append(`filter`).attr(`id`,`${l}-drop-shadow-small`).attr(`height`,`150%`).attr(`width`,`150%`).append(`feDropShadow`).attr(`dx`,`2`).attr(`dy`,`2`).attr(`stdDeviation`,0).attr(`flood-opacity`,`0.06`).attr(`flood-color`,`${i?.includes(`dark`)?`#FFFFFF`:`#000000`}`),o){let e=t.append(`linearGradient`).attr(`id`,t.attr(`id`)+`-gradient`).attr(`gradientUnits`,`objectBoundingBox`).attr(`x1`,`0%`).attr(`y1`,`0%`).attr(`x2`,`100%`).attr(`y2`,`0%`);e.append(`svg:stop`).attr(`offset`,`0%`).attr(`stop-color`,s).attr(`stop-opacity`,1),e.append(`svg:stop`).attr(`offset`,`100%`).attr(`stop-color`,c).attr(`stop-opacity`,1)}return r.render(e,t,we,{algorithm:n.algorithm})},`render`),Oe=i((e=``,{fallback:n=`dagre`}={})=>{if(e in Te)return e;if(n in Te)return t.warn(`Layout algorithm ${e} is not registered. Using ${n} as fallback.`),n;throw Error(`Both layout algorithms ${e} and ${n} are not registered.`)},`getRegisteredLayoutAlgorithm`);function ke(e,{edgePathsClass:t=`edges edgePaths`}={}){let n=e.insert(`g`).attr(`class`,`root`);return{clusters:n.insert(`g`).attr(`class`,`clusters`),edgePaths:n.insert(`g`).attr(`class`,t),edgeLabels:n.insert(`g`).attr(`class`,`edgeLabels`),nodes:n.insert(`g`).attr(`class`,`nodes`),rootGroups:n}}i(ke,`createLayoutElementGroups`);async function Ae(e,t){if(t.label){let{shapeSvg:n,bbox:r}=await se(e,t);t.labelBBox={width:r.width,height:r.height},n.remove()}else t.labelBBox={width:0,height:0}}i(Ae,`measureGroupLabel`);async function je(e,t,n){let r=await ue(e,t,n),i=r.node()?.getBBox()??{width:0,height:0};return t.width=i.width,t.height=i.height,r}i(je,`insertMeasuredNode`);async function Me(e,t){let n=new ve({multigraph:!0,compound:!0}),i=[...t.edges],a=M(),o=ke(e),{edgeLabels:s,nodes:c}=o,l=new Map,u=e.node()!=null;await Promise.all(t.nodes.map(async e=>{if(e.isGroup)u&&await Ae(c,e),n.setNode(e.id,{...e});else{if(u){let t=await je(c,e,{config:a,dir:e.dir});l.set(e.id,t)}n.setNode(e.id,{...e})}}));for(let e of i)u&&he(e)&&await fe(s,e),n.setEdge(e.start,e.end,{...e},e.id),t.edges.some(t=>t.id===e.id)||t.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:n}=await r(async()=>{let{captureNodeSizes:e}=await import(`./chunk-CmOPaNov.js`);return{captureNodeSizes:e}},__vite__mapDeps([23,2]));n(e,t)}return{graph:n,groups:o,nodeElements:l}}i(Me,`createGraphWithElements`);var V=new Map,H=new Map,Ne=new Map,Pe=i(()=>{H.clear(),Ne.clear(),V.clear()},`clear`),Fe=i((e,n)=>{let r=H.get(n)||[];return t.trace(`In isDescendant`,n,` `,e,` = `,r.includes(e)),r.includes(e)},`isDescendant`),Ie=i((e,n)=>{let r=H.get(n)||[];return t.info(`Descendants of `,n,` is `,r),t.info(`Edge is `,e),e.v===n||e.w===n?!1:r?r.includes(e.v)||Fe(e.v,n)||Fe(e.w,n)||r.includes(e.w):(t.debug(`Tilt, `,n,`,not in descendants`),!1)},`edgeInCluster`),Le=i((e,n,r,i)=>{t.debug(`Copying children of `,e,`root`,i,`data`,n.node(e),i);let a=n.children(e)||[];e!==i&&a.push(e),t.debug(`Copying (nodes) clusterId`,e,`nodes`,a),a.forEach(a=>{if(n.children(a).length>0)Le(a,n,r,i);else{let o=n.node(a);t.info(`cp `,a,` to `,i,` with parent `,e),r.setNode(a,o),i!==n.parent(a)&&(t.debug(`Setting parent`,a,n.parent(a)),r.setParent(a,n.parent(a))),e!==i&&a!==e?(t.debug(`Setting parent`,a,e),r.setParent(a,e)):(t.info(`In copy `,e,`root`,i,`data`,n.node(e),i),t.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,e!==i,`node!==clusterId`,a!==e));let s=n.edges(a);t.debug(`Copying Edges`,s),s.forEach(a=>{t.info(`Edge`,a);let o=n.edge(a.v,a.w,a.name);t.info(`Edge data`,o,i);try{Ie(a,i)?(t.info(`Copying as `,a.v,a.w,o,a.name),r.setEdge(a.v,a.w,o,a.name),t.info(`newGraph edges `,r.edges(),r.edge(r.edges()[0]))):t.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,e)}catch(e){t.error(e)}})}t.debug(`Removing node`,a),n.removeNode(a)})},`copy`),Re=i((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)Ne.set(i,e),r=[...r,...Re(i,t)];return r},`extractDescendants`),ze=i((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),Be=i((e,n,r)=>{let i=n.children(e);if(t.trace(`Searching children of id `,e,i),i.length<1)return e;let a;for(let e of i){let t=Be(e,n,r),i=ze(n,r,t);if(t){if(i.length>0)a=t;else return t}}return a},`findNonClusterChild`),Ve=i(e=>!V.has(e)||!V.get(e).externalConnections?e:V.has(e)?V.get(e).id:e,`getAnchorId`),He=i((e,n)=>{if(!e||n>10){t.debug(`Opting out, no graph `);return}t.debug(`Opting in, graph `),e.nodes().forEach(function(n){e.children(n).length>0&&(t.debug(`Cluster identified`,n,` Replacement id in edges: `,Be(n,e,n)),H.set(n,Re(n,e)),V.set(n,{id:Be(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){let r=e.children(n),i=e.edges();r.length>0?(t.debug(`Cluster identified`,n,H),i.forEach(e=>{Fe(e.v,n)^Fe(e.w,n)&&(t.debug(`Edge: `,e,` leaves cluster `,n),t.debug(`Descendants of XXX `,n,`: `,H.get(n)),V.get(n).externalConnections=!0)})):t.debug(`Not a cluster `,n,H)});for(let t of V.keys()){let n=V.get(t).id,r=e.parent(n);r!==t&&V.has(r)&&!V.get(r).externalConnections&&(V.get(t).id=r);let i=e.edges().some(e=>e.v===t);if(n&&V.get(t)?.externalConnections&&i&&Ke(e,n,t)){let r=qe(e,t,e.parent(n));r&&(V.get(t).id=r)}}e.edges().forEach(function(n){let r=e.edge(n);t.debug(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(n)),t.debug(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(t.debug(`Fix XXX`,V,`ids:`,n.v,n.w,`Translating: `,V.get(n.v),` --- `,V.get(n.w)),V.get(n.v)||V.get(n.w)){if(t.debug(`Fixing and trying - removing XXX`,n.v,n.w,n.name),i=Ve(n.v),a=Ve(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){let t=e.parent(i);V.get(t).externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){let t=e.parent(a);V.get(t).externalConnections=!0,r.toCluster=n.w}t.debug(`Fix Replacing with XXX`,i,a,n.name),e.setEdge(i,a,r,n.name)}}),Ue(e,0),t.trace(V)},`adjustClustersAndEdges`),Ue=i((e,n)=>{if(n>10){t.error(`Bailing out`);return}let r=e.nodes(),i=!1;for(let t of r){let n=e.children(t);i||=n.length>0}if(!i){t.debug(`Done, no node has children`,e.nodes());return}t.debug(`Nodes = `,r,n);for(let i of r)if(t.debug(`Extracting node`,i,V,V.has(i)&&!V.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,n),!V.has(i))t.debug(`Not a cluster`,i,n);else if(!V.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){t.debug(`Cluster without external connections, without a parent and with children`,i,n);let r=e.graph().rankdir===`TB`?`LR`:`TB`;V.get(i)?.clusterData?.dir&&(r=V.get(i).clusterData.dir,t.debug(`Fixing dir`,V.get(i).clusterData.dir,r));let a=new ve({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Le(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:V.get(i).clusterData,label:V.get(i).label,graph:a})}else t.debug(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!V.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),n),t.debug(V);r=e.nodes(),t.debug(`New list of nodes`,r);for(let i of r){let r=e.node(i);t.debug(` Now next level`,i,r),r?.clusterNode&&Ue(r.graph,n+1)}},`extractor`),We=i((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=We(e,e.children(t));n=[...n,...r]}),n},`sorter`),Ge=i(e=>We(e,e.children()),`sortNodesByHierarchy`),Ke=i((e,t,n)=>{let r=e.parent(t);for(;r&&r!==n;){let t=V.get(r);if(t&&!t.externalConnections)return!0;r=e.parent(r)}return!1},`isNodeInExtractableCluster`),qe=i((e,t,n)=>{let r=e.children(t)??[];for(let i of r){if(i===n||Fe(i,n))continue;let r=Be(i,e,t);if(r&&!Ke(e,r,t))return r}return null},`findSafeAnchorNode`);function Je({prepareLayout:e,measureLayout:t,runLayoutCore:n,paintLayout:r,afterPaint:a,paintOptions:o}){let s=t??Xe;return i(async function(t,i,c,l){let u=i.select(`g`);(c?.insertMarkers??ge)(u,t.markers,t.type,t.diagramId),Ye();let d={element:u,helpers:c,options:l};d.preparedLayout=await e?.(t,d);let f=await s(t,d),p=await n(t,d),m={...d,measure:f};r?await r(t,m,p):await Ze(t,m,o),await a?.(t,m,p)},`render`)}i(Je,`createCommonLayoutRenderer`);function Ye(){de(),_e(),be(),Pe()}i(Ye,`clearLayoutRenderState`);async function Xe(e,{element:t}){return await Me(t,e)}i(Xe,`defaultMeasureLayout`);async function Ze(e,t,n={}){let{measure:r}=t,{groups:i}=r;for(let r of n.getNodes?.(e,t)??e.nodes)n.skipNode?.(r,t)||await Qe(i,r,t,n);let a=et(e.nodes);for(let r of e.edges)tt(r,n)||await nt(i,r,a,e,n,t)}i(Ze,`paintLayoutData`);async function Qe(e,t,n,r){t.clusterNode?ce(t):$e(t,n,r)?await ye(e.clusters,t):ce(t)}i(Qe,`paintLayoutNode`);function $e(e,t,n){return e.isGroup===!0&&(n.isCluster?.(e,t)??!0)}i($e,`shouldPaintAsCluster`);function et(e){let t=new Map;for(let n of e)n?.id&&t.set(n.id,n);return t}i(et,`buildNodeLookup`);function tt(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}i(tt,`shouldSkipPaintEdge`);async function nt(e,t,n,r,i,a){let o=z(e.edgePaths,{...t},i.clusterDb??new Map,r.type,rt(t.start,t,n,a,i),rt(t.end,t,n,a,i),r.diagramId,it(t,i));he(t)&&(me.has(t.id)||await fe(e.edgeLabels,t),at(t,o))}i(nt,`paintLayoutEdge`);function rt(e,t,n,r,i){return i.getEdgeNode?.(e,t,r)??(e?n.get(e)??{}:{})}i(rt,`getRenderedNode`);function it(e,t){return typeof t.skipIntersect==`function`?t.skipIntersect(e):t.skipIntersect??!1}i(it,`shouldSkipIntersect`);function at(e,n){let r=n?.updatedPath??n?.originalPath,i=b(),{subGraphTitleTotalMargin:a}=le({flowchart:i.flowchart??{}});if(e.label){let i=me.get(e.id),o=e.x,s=e.y;if(r){let i=I.calcLabelPosition(r);t.debug(`Moving label `+e.label+` from (`,o,`,`,s,`) to (`,i.x,`,`,i.y,`) abc88`),n?.updatedPath&&(o=i.x,s=i.y)}i.attr(`transform`,`translate(${o}, ${s+a/2})`)}if(e?.startLabelLeft){let t=B.get(e.id).startLeft,n=e?.x,i=e?.y;if(r){let t=I.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,r);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}if(e.startLabelRight){let t=B.get(e.id).startRight,n=e.x,i=e.y;if(r){let t=I.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,r);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}if(e.endLabelLeft){let t=B.get(e.id).endLeft,n=e.x,i=e.y;if(r){let t=I.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,r);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}if(e.endLabelRight){let t=B.get(e.id).endRight,n=e.x,i=e.y;if(r){let t=I.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,r);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}}i(at,`positionRenderedEdgeLabel`);function ot(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}i(ot,`getDefaultExportFromCjs`);var U={},st={},W={},ct;function G(){if(ct)return W;ct=1;function e(e){return e==null}i(e,`isNothing`);function t(e){return typeof e==`object`&&!!e}i(t,`isObject`);function n(t){return Array.isArray(t)?t:e(t)?[]:[t]}i(n,`toArray`);function r(e,t){if(t){let n=Object.keys(t);for(let r=0,i=n.length;r<i;r+=1){let i=n[r];e[i]=t[i]}}return e}i(r,`extend`);function a(e,t){let n=``;for(let r=0;r<t;r+=1)n+=e;return n}i(a,`repeat`);function o(e){return e===0&&1/e==-1/0}return i(o,`isNegativeZero`),W.isNothing=e,W.isObject=t,W.toArray=n,W.repeat=a,W.isNegativeZero=o,W.extend=r,W}i(G,`requireCommon`);var lt,ut;function dt(){if(ut)return lt;ut=1;function e(e,t){let n=``,r=e.reason||`(unknown reason)`;return e.mark?(e.mark.name&&(n+=`in "`+e.mark.name+`" `),n+=`(`+(e.mark.line+1)+`:`+(e.mark.column+1)+`)`,!t&&e.mark.snippet&&(n+=`
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunk-BoTbRR8S.js","chunk-CQfKfv79.js","chunk-DsF7k-Jl.js","chunk-CeiETtR3.js","workspace.js","chunk-B9H2wUlQ.js","chunk-DqZGGQx6.js","chunk-CZus5tIC.js","chunk-LHD4D-55.js","chunk-DmHr41SG.js","chunk-oZJp8_Oh.js","chunk-Bd8oAEBF.js","chunk-Dy-Kn_BL.js","chunk-7inUl5Il.js","chunk-DEKSwylx.js","chunk-MLIlWKCY.js","chunk-fybaL0A-.js","chunk-BifhSqXX.js","chunk-DS17s2tU.js","chunk-BvO9qrHb.js","chunk-B0xoFuVi.js","chunk-pzXl7dPH.js","chunk-Bdvr7G0w.js","chunk-CGd-uY3x.js","chunk-CmOPaNov.js","chunk-Cp5EDur4.js","chunk-DfMSIask.js","chunk-C26MXXwi.js","chunk-DlMt7LBR.js","chunk-Bs98n_vr.js","chunk-BqFMUyVw.js","chunk-CiB0fz5M.js","chunk-Wi1hfKnY.js","chunk-CoIQ0XcM.js","chunk-DQT7Z75O.js","chunk-dQvmgBo8.js","chunk-CU_yc7c0.js","chunk-DHwB1DNv.js","chunk-C6X32c5Y.js","chunk-DxSMoRAg.js","chunk-B8V5WPf1.js","chunk-BHBwEv5G.js","chunk-BFoDCU3G.js","chunk-C-OQMol4.js","chunk-BSUrFSfn.js","chunk-D289T3W2.js","chunk-CQhDWCuO.js","chunk-Crk3W7xi.js","chunk-IOULrYuo.js","chunk-D5VxBvZv.js","chunk-lpcXIlNC.js","chunk-D3k4QmBl.js","chunk-Dh6xxjov.js","chunk-D87EWWOh.js","chunk-BmkZxg03.js","chunk-H9AITnpH.js","chunk-CqbP8tav.js","chunk-Dk6P4vVY.js","chunk-BVm3MgB2.js","chunk-oxFaA6rD.js","chunk-DBVuY2lB.js","chunk-CNXFALfL.js","chunk-BokiwdgS.js","chunk-DlPtUH2x.js","chunk-DfcNMhQb.js","chunk-DtQPBrIL.js","chunk-ChQTsUB2.js","chunk-BxpAJfRF.js","chunk-Dex9JiR1.js","chunk-IsizPYbz.js","chunk-CUsQ7lH1.js","chunk-9-3VOpWX.js","chunk-nKL3T2Rn.js","chunk-Bk4d_k6M.js","chunk-DHkjHDYG.js","chunk-BVDh-dl-.js","chunk-BOfOlrLQ.js","chunk-CqMjOmHM.js","chunk-CMKpUUG0.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{h as e,m as t,p as n}from"./chunk-CQfKfv79.js";import{t as r}from"./workspace.js";import{n as i}from"./chunk-DsF7k-Jl.js";import{$ as a,C as o,E as s,I as c,L as l,N as u,P as d,Q as f,S as p,T as m,V as h,W as g,X as _,Z as v,_ as y,b,c as x,g as S,l as C,m as w,n as T,p as E,q as D,r as O,s as k,t as A,u as j,x as M}from"./chunk-CeiETtR3.js";import{S as N,a as ee,d as P,f as F,g as I,h as L,i as R,o as te,v as ne,x as re,y as ie}from"./chunk-DqZGGQx6.js";import{r as ae}from"./chunk-LHD4D-55.js";import{i as oe}from"./chunk-DmHr41SG.js";import"./chunk-oZJp8_Oh.js";import{a as se}from"./chunk-Bd8oAEBF.js";import{i as ce,n as le,r as ue,t as de}from"./chunk-7inUl5Il.js";import{a as fe,c as pe,i as z,l as B,n as me,r as he,s as ge,t as _e}from"./chunk-DEKSwylx.js";import{t as ve}from"./chunk-DS17s2tU.js";import{n as ye,t as be}from"./chunk-B0xoFuVi.js";var xe=i(e=>{let{securityLevel:t}=M(),r=n(`body`);if(t===`sandbox`){let t=n(`#i${e}`).node()?.contentDocument??document;r=n(t.body)}return r.select(`#${e}`)},`selectSvgElement`);function Se(e){let t=e?.constructor;return e===(typeof t==`function`?t.prototype:Object.prototype)}function Ce(e){if(e==null)return!0;if(re(e))return typeof e.splice!=`function`&&typeof e!=`string`&&!N(e)&&!ne(e)&&!ie(e)?!1:e.length===0;if(typeof e==`object`||typeof e==`function`){if(e instanceof Map||e instanceof Set)return e.size===0;let t=Object.keys(e);return Se(e)?t.filter(e=>e!==`constructor`).length===0:t.length===0}return!0}var we={common:k,getConfig:b,insertCluster:ye,insertEdge:z,insertEdgeLabel:fe,insertMarkers:ge,insertNode:ue,interpolateToCurve:P,labelHelper:se,log:t,positionEdgeLabel:pe},Te={},Ee=i(e=>{for(let t of e)Te[t.name]=t},`registerLayoutLoaders`);i(()=>{Ee([{name:`dagre`,loader:i(async()=>await r(()=>import(`./chunk-BoTbRR8S.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])),`loader`)},{name:`swimlane`,loader:i(async()=>await r(()=>import(`./chunk-pzXl7dPH.js`),__vite__mapDeps([21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20])),`loader`)},{name:`cose-bilkent`,loader:i(async()=>await r(()=>import(`./chunk-Bdvr7G0w.js`),__vite__mapDeps([22,1,2,23])),`loader`)}])},`registerDefaultLayoutLoaders`)();var De=i(async(e,t)=>{if(!(e.layoutAlgorithm in Te))throw Error(`Unknown layout algorithm: ${e.layoutAlgorithm}`);if(e.diagramId)for(let t of e.nodes){let n=t.domId||t.id;t.domId=`${e.diagramId}-${n}`}let n=Te[e.layoutAlgorithm],r=await n.loader(),{theme:i,themeVariables:a}=e.config,{useGradient:o,gradientStart:s,gradientStop:c}=a,l=t.attr(`id`);if(t.append(`defs`).append(`filter`).attr(`id`,`${l}-drop-shadow`).attr(`height`,`130%`).attr(`width`,`130%`).append(`feDropShadow`).attr(`dx`,`4`).attr(`dy`,`4`).attr(`stdDeviation`,0).attr(`flood-opacity`,`0.06`).attr(`flood-color`,`${i?.includes(`dark`)?`#FFFFFF`:`#000000`}`),t.append(`defs`).append(`filter`).attr(`id`,`${l}-drop-shadow-small`).attr(`height`,`150%`).attr(`width`,`150%`).append(`feDropShadow`).attr(`dx`,`2`).attr(`dy`,`2`).attr(`stdDeviation`,0).attr(`flood-opacity`,`0.06`).attr(`flood-color`,`${i?.includes(`dark`)?`#FFFFFF`:`#000000`}`),o){let e=t.append(`linearGradient`).attr(`id`,t.attr(`id`)+`-gradient`).attr(`gradientUnits`,`objectBoundingBox`).attr(`x1`,`0%`).attr(`y1`,`0%`).attr(`x2`,`100%`).attr(`y2`,`0%`);e.append(`svg:stop`).attr(`offset`,`0%`).attr(`stop-color`,s).attr(`stop-opacity`,1),e.append(`svg:stop`).attr(`offset`,`100%`).attr(`stop-color`,c).attr(`stop-opacity`,1)}return r.render(e,t,we,{algorithm:n.algorithm})},`render`),Oe=i((e=``,{fallback:n=`dagre`}={})=>{if(e in Te)return e;if(n in Te)return t.warn(`Layout algorithm ${e} is not registered. Using ${n} as fallback.`),n;throw Error(`Both layout algorithms ${e} and ${n} are not registered.`)},`getRegisteredLayoutAlgorithm`);function ke(e,{edgePathsClass:t=`edges edgePaths`}={}){let n=e.insert(`g`).attr(`class`,`root`);return{clusters:n.insert(`g`).attr(`class`,`clusters`),edgePaths:n.insert(`g`).attr(`class`,t),edgeLabels:n.insert(`g`).attr(`class`,`edgeLabels`),nodes:n.insert(`g`).attr(`class`,`nodes`),rootGroups:n}}i(ke,`createLayoutElementGroups`);async function Ae(e,t){if(t.label){let{shapeSvg:n,bbox:r}=await se(e,t);t.labelBBox={width:r.width,height:r.height},n.remove()}else t.labelBBox={width:0,height:0}}i(Ae,`measureGroupLabel`);async function je(e,t,n){let r=await ue(e,t,n),i=r.node()?.getBBox()??{width:0,height:0};return t.width=i.width,t.height=i.height,r}i(je,`insertMeasuredNode`);async function Me(e,t){let n=new ve({multigraph:!0,compound:!0}),i=[...t.edges],a=M(),o=ke(e),{edgeLabels:s,nodes:c}=o,l=new Map,u=e.node()!=null;await Promise.all(t.nodes.map(async e=>{if(e.isGroup)u&&await Ae(c,e),n.setNode(e.id,{...e});else{if(u){let t=await je(c,e,{config:a,dir:e.dir});l.set(e.id,t)}n.setNode(e.id,{...e})}}));for(let e of i)u&&he(e)&&await fe(s,e),n.setEdge(e.start,e.end,{...e},e.id),t.edges.some(t=>t.id===e.id)||t.edges.push(e);if(globalThis.mermaidCaptureSizes){let{captureNodeSizes:n}=await r(async()=>{let{captureNodeSizes:e}=await import(`./chunk-CmOPaNov.js`);return{captureNodeSizes:e}},__vite__mapDeps([24,2]));n(e,t)}return{graph:n,groups:o,nodeElements:l}}i(Me,`createGraphWithElements`);var V=new Map,H=new Map,Ne=new Map,Pe=i(()=>{H.clear(),Ne.clear(),V.clear()},`clear`),Fe=i((e,n)=>{let r=H.get(n)||[];return t.trace(`In isDescendant`,n,` `,e,` = `,r.includes(e)),r.includes(e)},`isDescendant`),Ie=i((e,n)=>{let r=H.get(n)||[];return t.info(`Descendants of `,n,` is `,r),t.info(`Edge is `,e),e.v===n||e.w===n?!1:r?r.includes(e.v)||Fe(e.v,n)||Fe(e.w,n)||r.includes(e.w):(t.debug(`Tilt, `,n,`,not in descendants`),!1)},`edgeInCluster`),Le=i((e,n,r,i)=>{t.debug(`Copying children of `,e,`root`,i,`data`,n.node(e),i);let a=n.children(e)||[];e!==i&&a.push(e),t.debug(`Copying (nodes) clusterId`,e,`nodes`,a),a.forEach(a=>{if(n.children(a).length>0)Le(a,n,r,i);else{let o=n.node(a);t.info(`cp `,a,` to `,i,` with parent `,e),r.setNode(a,o),i!==n.parent(a)&&(t.debug(`Setting parent`,a,n.parent(a)),r.setParent(a,n.parent(a))),e!==i&&a!==e?(t.debug(`Setting parent`,a,e),r.setParent(a,e)):(t.info(`In copy `,e,`root`,i,`data`,n.node(e),i),t.debug(`Not Setting parent for node=`,a,`cluster!==rootId`,e!==i,`node!==clusterId`,a!==e));let s=n.edges(a);t.debug(`Copying Edges`,s),s.forEach(a=>{t.info(`Edge`,a);let o=n.edge(a.v,a.w,a.name);t.info(`Edge data`,o,i);try{Ie(a,i)?(t.info(`Copying as `,a.v,a.w,o,a.name),r.setEdge(a.v,a.w,o,a.name),t.info(`newGraph edges `,r.edges(),r.edge(r.edges()[0]))):t.info(`Skipping copy of edge `,a.v,`-->`,a.w,` rootId: `,i,` clusterId:`,e)}catch(e){t.error(e)}})}t.debug(`Removing node`,a),n.removeNode(a)})},`copy`),Re=i((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)Ne.set(i,e),r=[...r,...Re(i,t)];return r},`extractDescendants`),ze=i((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),o=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>o.some(t=>e.v===t.v&&e.w===t.w))},`findCommonEdges`),Be=i((e,n,r)=>{let i=n.children(e);if(t.trace(`Searching children of id `,e,i),i.length<1)return e;let a;for(let e of i){let t=Be(e,n,r),i=ze(n,r,t);if(t){if(i.length>0)a=t;else return t}}return a},`findNonClusterChild`),Ve=i(e=>!V.has(e)||!V.get(e).externalConnections?e:V.has(e)?V.get(e).id:e,`getAnchorId`),He=i((e,n)=>{if(!e||n>10){t.debug(`Opting out, no graph `);return}t.debug(`Opting in, graph `),e.nodes().forEach(function(n){e.children(n).length>0&&(t.debug(`Cluster identified`,n,` Replacement id in edges: `,Be(n,e,n)),H.set(n,Re(n,e)),V.set(n,{id:Be(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){let r=e.children(n),i=e.edges();r.length>0?(t.debug(`Cluster identified`,n,H),i.forEach(e=>{Fe(e.v,n)^Fe(e.w,n)&&(t.debug(`Edge: `,e,` leaves cluster `,n),t.debug(`Descendants of XXX `,n,`: `,H.get(n)),V.get(n).externalConnections=!0)})):t.debug(`Not a cluster `,n,H)});for(let t of V.keys()){let n=V.get(t).id,r=e.parent(n);r!==t&&V.has(r)&&!V.get(r).externalConnections&&(V.get(t).id=r);let i=e.edges().some(e=>e.v===t);if(n&&V.get(t)?.externalConnections&&i&&Ke(e,n,t)){let r=qe(e,t,e.parent(n));r&&(V.get(t).id=r)}}e.edges().forEach(function(n){let r=e.edge(n);t.debug(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(n)),t.debug(`Edge `+n.v+` -> `+n.w+`: `+JSON.stringify(e.edge(n)));let i=n.v,a=n.w;if(t.debug(`Fix XXX`,V,`ids:`,n.v,n.w,`Translating: `,V.get(n.v),` --- `,V.get(n.w)),V.get(n.v)||V.get(n.w)){if(t.debug(`Fixing and trying - removing XXX`,n.v,n.w,n.name),i=Ve(n.v),a=Ve(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){let t=e.parent(i);V.get(t).externalConnections=!0,r.fromCluster=n.v}if(a!==n.w){let t=e.parent(a);V.get(t).externalConnections=!0,r.toCluster=n.w}t.debug(`Fix Replacing with XXX`,i,a,n.name),e.setEdge(i,a,r,n.name)}}),Ue(e,0),t.trace(V)},`adjustClustersAndEdges`),Ue=i((e,n)=>{if(n>10){t.error(`Bailing out`);return}let r=e.nodes(),i=!1;for(let t of r){let n=e.children(t);i||=n.length>0}if(!i){t.debug(`Done, no node has children`,e.nodes());return}t.debug(`Nodes = `,r,n);for(let i of r)if(t.debug(`Extracting node`,i,V,V.has(i)&&!V.get(i).externalConnections,!e.parent(i),e.node(i),e.children(`D`),` Depth `,n),!V.has(i))t.debug(`Not a cluster`,i,n);else if(!V.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){t.debug(`Cluster without external connections, without a parent and with children`,i,n);let r=e.graph().rankdir===`TB`?`LR`:`TB`;V.get(i)?.clusterData?.dir&&(r=V.get(i).clusterData.dir,t.debug(`Fixing dir`,V.get(i).clusterData.dir,r));let a=new ve({multigraph:!0,compound:!0}).setGraph({rankdir:r,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});Le(i,e,a,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:V.get(i).clusterData,label:V.get(i).label,graph:a})}else t.debug(`Cluster ** `,i,` **not meeting the criteria !externalConnections:`,!V.get(i).externalConnections,` no parent: `,!e.parent(i),` children `,e.children(i)&&e.children(i).length>0,e.children(`D`),n),t.debug(V);r=e.nodes(),t.debug(`New list of nodes`,r);for(let i of r){let r=e.node(i);t.debug(` Now next level`,i,r),r?.clusterNode&&Ue(r.graph,n+1)}},`extractor`),We=i((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=We(e,e.children(t));n=[...n,...r]}),n},`sorter`),Ge=i(e=>We(e,e.children()),`sortNodesByHierarchy`),Ke=i((e,t,n)=>{let r=e.parent(t);for(;r&&r!==n;){let t=V.get(r);if(t&&!t.externalConnections)return!0;r=e.parent(r)}return!1},`isNodeInExtractableCluster`),qe=i((e,t,n)=>{let r=e.children(t)??[];for(let i of r){if(i===n||Fe(i,n))continue;let r=Be(i,e,t);if(r&&!Ke(e,r,t))return r}return null},`findSafeAnchorNode`);function Je({prepareLayout:e,measureLayout:t,runLayoutCore:n,paintLayout:r,afterPaint:a,paintOptions:o}){let s=t??Xe;return i(async function(t,i,c,l){let u=i.select(`g`);(c?.insertMarkers??ge)(u,t.markers,t.type,t.diagramId),Ye();let d={element:u,helpers:c,options:l};d.preparedLayout=await e?.(t,d);let f=await s(t,d),p=await n(t,d),m={...d,measure:f};r?await r(t,m,p):await Ze(t,m,o),await a?.(t,m,p)},`render`)}i(Je,`createCommonLayoutRenderer`);function Ye(){de(),_e(),be(),Pe()}i(Ye,`clearLayoutRenderState`);async function Xe(e,{element:t}){return await Me(t,e)}i(Xe,`defaultMeasureLayout`);async function Ze(e,t,n={}){let{measure:r}=t,{groups:i}=r;for(let r of n.getNodes?.(e,t)??e.nodes)n.skipNode?.(r,t)||await Qe(i,r,t,n);let a=et(e.nodes);for(let r of e.edges)tt(r,n)||await nt(i,r,a,e,n,t)}i(Ze,`paintLayoutData`);async function Qe(e,t,n,r){t.clusterNode?ce(t):$e(t,n,r)?await ye(e.clusters,t):ce(t)}i(Qe,`paintLayoutNode`);function $e(e,t,n){return e.isGroup===!0&&(n.isCluster?.(e,t)??!0)}i($e,`shouldPaintAsCluster`);function et(e){let t=new Map;for(let n of e)n?.id&&t.set(n.id,n);return t}i(et,`buildNodeLookup`);function tt(e,t){return e.isLayoutOnly||!!t.skipEdge?.(e)}i(tt,`shouldSkipPaintEdge`);async function nt(e,t,n,r,i,a){let o=z(e.edgePaths,{...t},i.clusterDb??new Map,r.type,rt(t.start,t,n,a,i),rt(t.end,t,n,a,i),r.diagramId,it(t,i));he(t)&&(me.has(t.id)||await fe(e.edgeLabels,t),at(t,o))}i(nt,`paintLayoutEdge`);function rt(e,t,n,r,i){return i.getEdgeNode?.(e,t,r)??(e?n.get(e)??{}:{})}i(rt,`getRenderedNode`);function it(e,t){return typeof t.skipIntersect==`function`?t.skipIntersect(e):t.skipIntersect??!1}i(it,`shouldSkipIntersect`);function at(e,n){let r=n?.updatedPath??n?.originalPath,i=b(),{subGraphTitleTotalMargin:a}=le({flowchart:i.flowchart??{}});if(e.label){let i=me.get(e.id),o=e.x,s=e.y;if(r){let i=I.calcLabelPosition(r);t.debug(`Moving label `+e.label+` from (`,o,`,`,s,`) to (`,i.x,`,`,i.y,`) abc88`),n?.updatedPath&&(o=i.x,s=i.y)}i.attr(`transform`,`translate(${o}, ${s+a/2})`)}if(e?.startLabelLeft){let t=B.get(e.id).startLeft,n=e?.x,i=e?.y;if(r){let t=I.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_left`,r);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}if(e.startLabelRight){let t=B.get(e.id).startRight,n=e.x,i=e.y;if(r){let t=I.calcTerminalLabelPosition(e.arrowTypeStart?10:0,`start_right`,r);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}if(e.endLabelLeft){let t=B.get(e.id).endLeft,n=e.x,i=e.y;if(r){let t=I.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_left`,r);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}if(e.endLabelRight){let t=B.get(e.id).endRight,n=e.x,i=e.y;if(r){let t=I.calcTerminalLabelPosition(e.arrowTypeEnd?10:0,`end_right`,r);n=t.x,i=t.y}t.attr(`transform`,`translate(${n}, ${i})`)}}i(at,`positionRenderedEdgeLabel`);function ot(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,`default`)?e.default:e}i(ot,`getDefaultExportFromCjs`);var U={},st={},W={},ct;function G(){if(ct)return W;ct=1;function e(e){return e==null}i(e,`isNothing`);function t(e){return typeof e==`object`&&!!e}i(t,`isObject`);function n(t){return Array.isArray(t)?t:e(t)?[]:[t]}i(n,`toArray`);function r(e,t){if(t){let n=Object.keys(t);for(let r=0,i=n.length;r<i;r+=1){let i=n[r];e[i]=t[i]}}return e}i(r,`extend`);function a(e,t){let n=``;for(let r=0;r<t;r+=1)n+=e;return n}i(a,`repeat`);function o(e){return e===0&&1/e==-1/0}return i(o,`isNegativeZero`),W.isNothing=e,W.isObject=t,W.toArray=n,W.repeat=a,W.isNegativeZero=o,W.extend=r,W}i(G,`requireCommon`);var lt,ut;function dt(){if(ut)return lt;ut=1;function e(e,t){let n=``,r=e.reason||`(unknown reason)`;return e.mark?(e.mark.name&&(n+=`in "`+e.mark.name+`" `),n+=`(`+(e.mark.line+1)+`:`+(e.mark.column+1)+`)`,!t&&e.mark.snippet&&(n+=`
|
|
3
3
|
|
|
4
4
|
`+e.mark.snippet),r+` `+n):r}i(e,`formatError`);function t(t,n){Error.call(this),this.name=`YAMLException`,this.reason=t,this.mark=n,this.message=e(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=Error().stack||``}return i(t,`YAMLException2`),t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t.prototype.toString=i(function(t){return this.name+`: `+e(this,t)},`toString`),lt=t,lt}i(dt,`requireException`);var ft,pt;function mt(){if(pt)return ft;pt=1;let e=G();function t(e,t,n,r,i){let a=``,o=``,s=Math.floor(i/2)-1;return r-t>s&&(a=` ... `,t=r-s+a.length),n-r>s&&(o=` ...`,n=r+s-o.length),{str:a+e.slice(t,n).replace(/\t/g,`→`)+o,pos:r-t+a.length}}i(t,`getLine`);function n(t,n){return e.repeat(` `,n-t.length)+t}i(n,`padStart`);function r(r,i){if(i=Object.create(i||null),!r.buffer)return null;i.maxLength||(i.maxLength=79),typeof i.indent!=`number`&&(i.indent=1),typeof i.linesBefore!=`number`&&(i.linesBefore=3),typeof i.linesAfter!=`number`&&(i.linesAfter=2);let a=/\r?\n|\r|\0/g,o=[0],s=[],c,l=-1;for(;c=a.exec(r.buffer);)s.push(c.index),o.push(c.index+c[0].length),r.position<=c.index&&l<0&&(l=o.length-2);l<0&&(l=o.length-1);let u=``,d=Math.min(r.line+i.linesAfter,s.length).toString().length,f=i.maxLength-(i.indent+d+3);for(let a=1;a<=i.linesBefore&&!(l-a<0);a++){let c=t(r.buffer,o[l-a],s[l-a],r.position-(o[l]-o[l-a]),f);u=e.repeat(` `,i.indent)+n((r.line-a+1).toString(),d)+` | `+c.str+`
|
|
5
5
|
`+u}let p=t(r.buffer,o[l],s[l],r.position,f);u+=e.repeat(` `,i.indent)+n((r.line+1).toString(),d)+` | `+p.str+`
|
|
@@ -32,8 +32,8 @@ import{h as e,m as t,p as n}from"./chunk-CQfKfv79.js";import{t as r}from"./works
|
|
|
32
32
|
`+e.slice(i,a),i=a+1),o=s;return c+=`
|
|
33
33
|
`,e.length-i>t&&o>i?c+=e.slice(i,o)+`
|
|
34
34
|
`+e.slice(o+1):c+=e.slice(i),c.slice(1)}i(k,`foldLine`);function A(e){let t=``,n=0;for(let r=0;r<e.length;n>=65536?r+=2:r++){n=S(e,r);let i=s[n];!i&&_(n)?(t+=e[r],n>=65536&&(t+=e[r+1])):t+=i||d(n)}return t}i(A,`escapeString`);function j(e,t,n){let r=``,i=e.tag;for(let i=0,a=n.length;i<a;i+=1){let a=n[i];e.replacer&&(a=e.replacer.call(n,String(i),a)),(F(e,t,a,!1,!1)||a===void 0&&F(e,t,null,!1,!1))&&(r!==``&&(r+=`,`+(e.condenseFlow?``:` `)),r+=e.dump)}e.tag=i,e.dump=`[`+r+`]`}i(j,`writeFlowSequence`);function M(e,t,n,r){let i=``,a=e.tag;for(let a=0,o=n.length;a<o;a+=1){let o=n[a];e.replacer&&(o=e.replacer.call(n,String(a),o)),(F(e,t+1,o,!0,!0,!1,!0)||o===void 0&&F(e,t+1,null,!0,!0,!1,!0))&&((!r||i!==``)&&(i+=m(e,t)),e.dump&&e.dump.charCodeAt(0)===10?i+=`-`:i+=`- `,i+=e.dump)}e.tag=a,e.dump=i||`[]`}i(M,`writeBlockSequence`);function N(e,t,n){let r=``,i=e.tag,a=Object.keys(n);for(let i=0,o=a.length;i<o;i+=1){let o=``;r!==``&&(o+=`, `),e.condenseFlow&&(o+=`"`);let s=a[i],c=n[s];e.replacer&&(c=e.replacer.call(n,s,c)),F(e,t,s,!1,!1)&&(e.dump.length>1024&&(o+=`? `),o+=e.dump+(e.condenseFlow?`"`:``)+`:`+(e.condenseFlow?``:` `),F(e,t,c,!1,!1)&&(o+=e.dump,r+=o))}e.tag=i,e.dump=`{`+r+`}`}i(N,`writeFlowMapping`);function ee(e,n,r,i){let a=``,o=e.tag,s=Object.keys(r);if(e.sortKeys===!0)s.sort();else if(typeof e.sortKeys==`function`)s.sort(e.sortKeys);else if(e.sortKeys)throw new t(`sortKeys must be a boolean or a function`);for(let t=0,o=s.length;t<o;t+=1){let o=``;(!i||a!==``)&&(o+=m(e,n));let c=s[t],l=r[c];if(e.replacer&&(l=e.replacer.call(r,c,l)),!F(e,n+1,c,!0,!0,!0))continue;let u=e.tag!==null&&e.tag!==`?`||e.dump&&e.dump.length>1024;u&&(e.dump&&e.dump.charCodeAt(0)===10?o+=`?`:o+=`? `),o+=e.dump,u&&(o+=m(e,n)),F(e,n+1,l,!0,u)&&(e.dump&&e.dump.charCodeAt(0)===10?o+=`:`:o+=`: `,o+=e.dump,a+=o)}e.tag=o,e.dump=a||`{}`}i(ee,`writeBlockMapping`);function P(e,n,i){let o=i?e.explicitTypes:e.implicitTypes;for(let s=0,c=o.length;s<c;s+=1){let c=o[s];if((c.instanceOf||c.predicate)&&(!c.instanceOf||typeof n==`object`&&n instanceof c.instanceOf)&&(!c.predicate||c.predicate(n))){if(e.tag=i?c.multi&&c.representName?c.representName(n):c.tag:`?`,c.represent){let i=e.styleMap[c.tag]||c.defaultStyle,o;if(r.call(c.represent)===`[object Function]`)o=c.represent(n,i);else if(a.call(c.represent,i))o=c.represent[i](n,i);else throw new t(`!<`+c.tag+`> tag resolver accepts not "`+i+`" style`);e.dump=o}return!0}}return!1}i(P,`detectType`);function F(e,n,i,a,o,s,c){e.tag=null,e.dump=i,P(e,i,!1)||P(e,i,!0);let l=r.call(e.dump),u=a;a&&=e.flowLevel<0||e.flowLevel>n;let d=l===`[object Object]`||l===`[object Array]`,f,p;if(d&&(f=e.duplicates.indexOf(i),p=f!==-1),(e.tag!==null&&e.tag!==`?`||p||e.indent!==2&&n>0)&&(o=!1),p&&e.usedDuplicates[f])e.dump=`*ref_`+f;else{if(d&&p&&!e.usedDuplicates[f]&&(e.usedDuplicates[f]=!0),l===`[object Object]`)a&&Object.keys(e.dump).length!==0?(ee(e,n,e.dump,o),p&&(e.dump=`&ref_`+f+e.dump)):(N(e,n,e.dump),p&&(e.dump=`&ref_`+f+` `+e.dump));else if(l===`[object Array]`)a&&e.dump.length!==0?(e.noArrayIndent&&!c&&n>0?M(e,n-1,e.dump,o):M(e,n,e.dump,o),p&&(e.dump=`&ref_`+f+e.dump)):(j(e,n,e.dump),p&&(e.dump=`&ref_`+f+` `+e.dump));else if(l===`[object String]`)e.tag!==`?`&&T(e,e.dump,n,s,u);else if(l===`[object Undefined]`)return!1;else{if(e.skipInvalid)return!1;throw new t(`unacceptable kind of an object to dump `+l)}if(e.tag!==null&&e.tag!==`?`){let t=encodeURI(e.tag[0]===`!`?e.tag.slice(1):e.tag).replace(/!/g,`%21`);t=e.tag[0]===`!`?`!`+t:t.slice(0,18)===`tag:yaml.org,2002:`?`!!`+t.slice(18):`!<`+t+`>`,e.dump=t+` `+e.dump}}return!0}i(F,`writeNode`);function I(e,t){let n=[],r=[];L(e,n,r);let i=r.length;for(let e=0;e<i;e+=1)t.duplicates.push(n[r[e]]);t.usedDuplicates=Array(i)}i(I,`getDuplicateReferences`);function L(e,t,n){if(typeof e==`object`&&e){let r=t.indexOf(e);if(r!==-1)n.indexOf(r)===-1&&n.push(r);else if(t.push(e),Array.isArray(e))for(let r=0,i=e.length;r<i;r+=1)L(e[r],t,n);else{let r=Object.keys(e);for(let i=0,a=r.length;i<a;i+=1)L(e[r[i]],t,n)}}}i(L,`inspectNode`);function R(e,t){t||={};let n=new f(t);n.noRefs||I(e,n);let r=e;return n.replacer&&(r=n.replacer.call({"":r},``,r)),F(n,0,r,!0,!0)?n.dump+`
|
|
35
|
-
`:``}return i(R,`dump2`),bn.dump=R,bn}i(Sn,`requireDumper`);var Cn;function wn(){if(Cn)return U;Cn=1;let e=yn(),t=Sn();function n(e,t){return function(){throw Error(`Function yaml.`+e+` is removed in js-yaml 4. Use yaml.`+t+` instead, which is now safe by default.`)}}return i(n,`renamed`),U.Type=K(),U.Schema=yt(),U.FAILSAFE_SCHEMA=jt(),U.JSON_SCHEMA=Kt(),U.CORE_SCHEMA=Yt(),U.DEFAULT_SCHEMA=_n(),U.load=e.load,U.loadAll=e.loadAll,U.dump=t.dump,U.YAMLException=dt(),U.types={binary:an(),float:Ut(),map:Ot(),null:Pt(),pairs:dn(),set:mn(),timestamp:Qt(),bool:Lt(),int:Bt(),merge:tn(),omap:cn(),seq:Tt(),str:St()},U.safeLoad=n(`safeLoad`,`load`),U.safeLoadAll=n(`safeLoadAll`,`loadAll`),U.safeDump=n(`safeDump`,`dump`),U}i(wn,`requireJsYaml`);var{Type:Tn,Schema:En,FAILSAFE_SCHEMA:Dn,JSON_SCHEMA:On,CORE_SCHEMA:kn,DEFAULT_SCHEMA:An,load:jn,loadAll:Mn,dump:Nn,YAMLException:Pn,types:Fn,safeLoad:In,safeLoadAll:Ln,safeDump:Rn}=ot(wn()),zn=`comm`,Bn=`rule`,Vn=`decl`,Hn=`@import`,Un=`@namespace`,Wn=`@keyframes`,Gn=`@layer`,Kn=Math.abs,qn=String.fromCharCode;function Jn(e){return e.trim()}function Yn(e,t,n){return e.replace(t,n)}function Xn(e,t){return e.charCodeAt(t)|0}function Zn(e,t,n){return e.slice(t,n)}function q(e){return e.length}function Qn(e){return e.length}function $n(e,t){return t.push(e),e}var er=1,tr=1,nr=0,J=0,Y=0,rr=``;function ir(e,t,n,r,i,a,o,s){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:er,column:tr,length:o,return:``,siblings:s}}function ar(){return Y}function or(){return Y=J>0?Xn(rr,--J):0,tr--,Y===10&&(tr=1,er--),Y}function X(){return Y=J<nr?Xn(rr,J++):0,tr++,Y===10&&(tr=1,er++),Y}function Z(){return Xn(rr,J)}function sr(){return J}function cr(e,t){return Zn(rr,e,t)}function lr(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ur(e){return er=tr=1,nr=q(rr=e),J=0,[]}function dr(e){return rr=``,e}function fr(e){return Jn(cr(J-1,hr(e===91?e+2:e===40?e+1:e)))}function pr(e){for(;(Y=Z())&&Y<33;)X();return lr(e)>2||lr(Y)>3?``:` `}function mr(e,t){for(;--t&&X()&&!(Y<48||Y>102||Y>57&&Y<65||Y>70&&Y<97););return cr(e,sr()+(t<6&&Z()==32&&X()==32))}function hr(e){for(;X();)switch(Y){case e:return J;case 34:case 39:e!==34&&e!==39&&hr(Y);break;case 40:e===41&&hr(e);break;case 92:X()}return J}function gr(e,t){for(;X()&&e+Y!==57&&(e+Y!==84||Z()!==47););return`/*`+cr(t,J-1)+`*`+qn(e===47?e:X())}function _r(e){for(;!lr(Z());)X();return cr(e,J)}function vr(e){return dr(yr(``,null,null,null,[``],e=ur(e),0,[0],e))}function yr(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,y=0,b=``,x=i,S=a,C=r,w=b;g;)switch(m=y,y=X()){case 40:m!=108&&Xn(w,d-1)==58?(v++,w+=`(`):w+=fr(y);break;case 41:v--,w+=`)`;break;case 34:case 39:case 91:w+=fr(y);break;case 9:case 10:case 13:case 32:if(v>0){w+=qn(y);break}w+=pr(m);break;case 92:w+=mr(sr()-1,7);continue;case 47:switch(Z()){case 42:case 47:$n(xr(gr(X(),sr()),t,n,c),c),(lr(m||1)==5||lr(Z()||1)==5)&&q(w)&&Zn(w,-1,void 0)!==` `&&(w+=` `);break;default:w+=`/`}break;case 123*h:s[l++]=q(w)*_;case 125*h:case 59:case 0:if(v>0&&y){w+=qn(y);break}switch(y){case 0:case 125:g=0;case 59+u:_==-1&&(w=Yn(w,/\f/g,``)),p>0&&(q(w)-d||h===0)&&$n(p>32?Sr(w+`;`,r,n,d-1,c):Sr(Yn(w,` `,``)+`;`,r,n,d-2,c),c);break;case 59:w+=`;`;default:if($n(C=br(w,t,n,l,u,i,s,b,x=[],S=[],d,a),a),y===123){if(u===0)yr(w,t,C,C,x,a,d,s,S);else{switch(f){case 99:if(Xn(w,3)===110)break;case 108:if(Xn(w,2)===97)break;default:u=0;case 100:case 109:case 115:}u?yr(e,C,C,r&&$n(br(e,C,C,0,0,i,s,b,i,x=[],d,S),S),i,S,d,s,r?x:S):yr(w,C,C,C,[``],S,0,s,S)}}}l=u=p=0,h=_=1,b=w=``,d=o;break;case 58:d=1+q(w),p=m;default:if(h<1){if(y==123)--h;else if(y==125&&h++==0&&or()==125)continue}switch(w+=qn(y),y*h){case 38:_=u>0?1:(w+=`\f`,-1);break;case 44:if(v>0)break;s[l++]=(q(w)-1)*_,_=1;break;case 64:Z()===45&&(w+=fr(X())),f=Z(),u=d=q(b=w+=_r(sr())),y++;break;case 45:m===45&&q(w)==2&&(h=0)}}return a}function br(e,t,n,r,i,a,o,s,c,l,u,d){for(var f=i-1,p=i===0?a:[``],m=Qn(p),h=0,g=0,_=0;h<r;++h)for(var v=0,y=Zn(e,f+1,f=Kn(g=o[h])),b=e;v<m;++v)(b=Jn(g>0?p[v]+` `+y:Yn(y,/&\f/g,p[v])))&&(c[_++]=b);return ir(e,t,n,i===0?Bn:s,c,l,u,d)}function xr(e,t,n,r){return ir(e,t,n,zn,qn(ar()),Zn(e,2,-2),0,r)}function Sr(e,t,n,r,i){return ir(e,t,n,Vn,Zn(e,0,r),Zn(e,r+1,-1),r,i)}function Cr(e,t){for(var n=``,r=0;r<e.length;r++)n+=t(e[r],r,e,t)||``;return n}function wr(e,t,n,r){switch(e.type){case Gn:if(e.children.length)break;case Hn:case Un:case Vn:return e.return=e.return||e.value;case zn:return``;case Wn:return e.return=e.value+`{`+Cr(e.children,r)+`}`;case Bn:if(!q(e.value=e.props.join(`,`)))return``}return q(n=Cr(e.children,r))?e.return=e.value+`{`+n+`}`:``}function Tr(e){var t=Qn(e);return function(n,r,i,a){for(var o=``,s=0;s<t;s++)o+=e[s](n,r,i,a)||``;return o}}var Er=`c4`,Dr={id:Er,detector:i(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-Cp5EDur4.js`);return{diagram:e}},__vite__mapDeps([24,1,2,3,4,5,6,7,8,9,10,11,25]));return{id:Er,diagram:e}},`loader`)},Or=`flowchart`,kr={id:Or,detector:i((e,t)=>t?.flowchart?.defaultRenderer===`dagre-wrapper`||t?.flowchart?.defaultRenderer===`elk`?!1:/^\s*graph/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-C26MXXwi.js`);return{diagram:e}},__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,25,27,28,19,29,30,31]));return{id:Or,diagram:e}},`loader`)},Ar=`flowchart-v2`,jr={id:Ar,detector:i((e,t)=>t?.flowchart?.defaultRenderer!==`dagre-d3`&&(t?.flowchart?.defaultRenderer===`elk`&&(t.layout=`elk`),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer===`dagre-wrapper`?!0:/^\s*flowchart/.test(e)),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-C26MXXwi.js`);return{diagram:e}},__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,25,27,28,19,29,30,31]));return{id:Ar,diagram:e}},`loader`)},Mr=`swimlane`,Nr={id:Mr,detector:i(e=>/^\s*swimlane-beta\b/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-CoIQ0XcM.js`);return{diagram:e}},__vite__mapDeps([32,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,25,27,28,19,29,30,31]));return{id:Mr,diagram:e}},`loader`)},Pr=`er`,Fr={id:Pr,detector:i(e=>/^\s*erDiagram/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-DQT7Z75O.js`);return{diagram:e}},__vite__mapDeps([33,1,2,3,4,30,5,6,7,8,9,10,11,12,13,14,15,16,27,28,19]));return{id:Pr,diagram:e}},`loader`)},Ir=`gitGraph`,Lr={id:Ir,detector:i(e=>/^\s*gitGraph/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-dQvmgBo8.js`);return{diagram:e}},__vite__mapDeps([34,1,2,35,4,36,3,5,6,37,38]));return{id:Ir,diagram:e}},`loader`)},Rr=`gantt`,zr={id:Rr,detector:i(e=>/^\s*gantt/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-B8V5WPf1.js`);return{diagram:e}},__vite__mapDeps([39,1,2,3,4,40,41,42,6,5]));return{id:Rr,diagram:e}},`loader`)},Br=`info`,Vr={id:Br,detector:i(e=>/^\s*info/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-BSUrFSfn.js`);return{diagram:e}},__vite__mapDeps([43,1,2,35,4,36,3]));return{id:Br,diagram:e}},`loader`)},Hr=`pie`,Ur={id:Hr,detector:i(e=>/^\s*pie/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-D289T3W2.js`);return{diagram:e}},__vite__mapDeps([44,1,2,35,4,36,3,45,42,15,6,46,16,5,37]));return{id:Hr,diagram:e}},`loader`)},Wr=`quadrantChart`,Gr={id:Wr,detector:i(e=>/^\s*quadrantChart/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-IOULrYuo.js`);return{diagram:e}},__vite__mapDeps([47,1,2,3,4,40,41,42]));return{id:Wr,diagram:e}},`loader`)},Kr=`xychart`,qr={id:Kr,detector:i(e=>/^\s*xychart(-beta)?/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-D5VxBvZv.js`);return{diagram:e}},__vite__mapDeps([48,1,2,3,4,40,41,42,45,5,6,14,15,16,7,8]));return{id:Kr,diagram:e}},`loader`)},Jr=`requirement`,Yr={id:Jr,detector:i(e=>/^\s*requirement(Diagram)?/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-lpcXIlNC.js`);return{diagram:e}},__vite__mapDeps([49,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,27,28,19]));return{id:Jr,diagram:e}},`loader`)},Xr=`sequence`,Zr={id:Xr,detector:i(e=>/^\s*sequenceDiagram/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-D3k4QmBl.js`);return{diagram:e}},__vite__mapDeps([50,1,2,3,4,6,5,25,38]));return{id:Xr,diagram:e}},`loader`)},Qr=`class`,$r={id:Qr,detector:i((e,t)=>t?.class?.defaultRenderer!==`dagre-wrapper`&&/^\s*classDiagram/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-Dh6xxjov.js`);return{diagram:e}},__vite__mapDeps([51,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,25,27,28,19,52,31]));return{id:Qr,diagram:e}},`loader`)},ei=`classDiagram`,ti={id:ei,detector:i((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer===`dagre-wrapper`?!0:/^\s*classDiagram-v2/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-BmkZxg03.js`);return{diagram:e}},__vite__mapDeps([53,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,25,27,28,19,52,31]));return{id:ei,diagram:e}},`loader`)},ni=`state`,ri={id:ni,detector:i((e,t)=>t?.state?.defaultRenderer!==`dagre-wrapper`&&/^\s*stateDiagram/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-H9AITnpH.js`);return{diagram:e}},__vite__mapDeps([54,1,2,3,4,5,6,14,15,16,7,8,9,10,11,12,13,17,18,25,27,28,19,55]));return{id:ni,diagram:e}},`loader`)},ii=`stateDiagram`,ai={id:ii,detector:i((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer===`dagre-wrapper`),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-Dk6P4vVY.js`);return{diagram:e}},__vite__mapDeps([56,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,25,27,28,19,55]));return{id:ii,diagram:e}},`loader`)},oi=`journey`,si={id:oi,detector:i(e=>/^\s*journey/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-BVm3MgB2.js`);return{diagram:e}},__vite__mapDeps([57,1,2,3,4,46,15,6,31,25]));return{id:oi,diagram:e}},`loader`)},ci={draw:i((e,n,r)=>{t.debug(`rendering svg for syntax error
|
|
36
|
-
`);let i=xe(n),a=i.append(`g`);i.attr(`viewBox`,`0 0 2412 512`),x(i,100,512,!0),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z`),a.append(`text`).attr(`class`,`error-text`).attr(`x`,1440).attr(`y`,250).attr(`font-size`,`150px`).style(`text-anchor`,`middle`).text(`Syntax error in text`),a.append(`text`).attr(`class`,`error-text`).attr(`x`,1250).attr(`y`,400).attr(`font-size`,`100px`).style(`text-anchor`,`middle`).text(`mermaid version ${r}`)},`draw`)},li=ci,ui={db:{},renderer:ci,parser:{parse:i(()=>{},`parse`)}},di=`flowchart-elk`,fi={id:di,detector:i((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer===`elk`?(t.layout=`elk`,!0):!1,`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-C26MXXwi.js`);return{diagram:e}},__vite__mapDeps([
|
|
35
|
+
`:``}return i(R,`dump2`),bn.dump=R,bn}i(Sn,`requireDumper`);var Cn;function wn(){if(Cn)return U;Cn=1;let e=yn(),t=Sn();function n(e,t){return function(){throw Error(`Function yaml.`+e+` is removed in js-yaml 4. Use yaml.`+t+` instead, which is now safe by default.`)}}return i(n,`renamed`),U.Type=K(),U.Schema=yt(),U.FAILSAFE_SCHEMA=jt(),U.JSON_SCHEMA=Kt(),U.CORE_SCHEMA=Yt(),U.DEFAULT_SCHEMA=_n(),U.load=e.load,U.loadAll=e.loadAll,U.dump=t.dump,U.YAMLException=dt(),U.types={binary:an(),float:Ut(),map:Ot(),null:Pt(),pairs:dn(),set:mn(),timestamp:Qt(),bool:Lt(),int:Bt(),merge:tn(),omap:cn(),seq:Tt(),str:St()},U.safeLoad=n(`safeLoad`,`load`),U.safeLoadAll=n(`safeLoadAll`,`loadAll`),U.safeDump=n(`safeDump`,`dump`),U}i(wn,`requireJsYaml`);var{Type:Tn,Schema:En,FAILSAFE_SCHEMA:Dn,JSON_SCHEMA:On,CORE_SCHEMA:kn,DEFAULT_SCHEMA:An,load:jn,loadAll:Mn,dump:Nn,YAMLException:Pn,types:Fn,safeLoad:In,safeLoadAll:Ln,safeDump:Rn}=ot(wn()),zn=`comm`,Bn=`rule`,Vn=`decl`,Hn=`@import`,Un=`@namespace`,Wn=`@keyframes`,Gn=`@layer`,Kn=Math.abs,qn=String.fromCharCode;function Jn(e){return e.trim()}function Yn(e,t,n){return e.replace(t,n)}function Xn(e,t){return e.charCodeAt(t)|0}function Zn(e,t,n){return e.slice(t,n)}function q(e){return e.length}function Qn(e){return e.length}function $n(e,t){return t.push(e),e}var er=1,tr=1,nr=0,J=0,Y=0,rr=``;function ir(e,t,n,r,i,a,o,s){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:er,column:tr,length:o,return:``,siblings:s}}function ar(){return Y}function or(){return Y=J>0?Xn(rr,--J):0,tr--,Y===10&&(tr=1,er--),Y}function X(){return Y=J<nr?Xn(rr,J++):0,tr++,Y===10&&(tr=1,er++),Y}function Z(){return Xn(rr,J)}function sr(){return J}function cr(e,t){return Zn(rr,e,t)}function lr(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ur(e){return er=tr=1,nr=q(rr=e),J=0,[]}function dr(e){return rr=``,e}function fr(e){return Jn(cr(J-1,hr(e===91?e+2:e===40?e+1:e)))}function pr(e){for(;(Y=Z())&&Y<33;)X();return lr(e)>2||lr(Y)>3?``:` `}function mr(e,t){for(;--t&&X()&&!(Y<48||Y>102||Y>57&&Y<65||Y>70&&Y<97););return cr(e,sr()+(t<6&&Z()==32&&X()==32))}function hr(e){for(;X();)switch(Y){case e:return J;case 34:case 39:e!==34&&e!==39&&hr(Y);break;case 40:e===41&&hr(e);break;case 92:X()}return J}function gr(e,t){for(;X()&&e+Y!==57&&(e+Y!==84||Z()!==47););return`/*`+cr(t,J-1)+`*`+qn(e===47?e:X())}function _r(e){for(;!lr(Z());)X();return cr(e,J)}function vr(e){return dr(yr(``,null,null,null,[``],e=ur(e),0,[0],e))}function yr(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,y=0,b=``,x=i,S=a,C=r,w=b;g;)switch(m=y,y=X()){case 40:m!=108&&Xn(w,d-1)==58?(v++,w+=`(`):w+=fr(y);break;case 41:v--,w+=`)`;break;case 34:case 39:case 91:w+=fr(y);break;case 9:case 10:case 13:case 32:if(v>0){w+=qn(y);break}w+=pr(m);break;case 92:w+=mr(sr()-1,7);continue;case 47:switch(Z()){case 42:case 47:$n(xr(gr(X(),sr()),t,n,c),c),(lr(m||1)==5||lr(Z()||1)==5)&&q(w)&&Zn(w,-1,void 0)!==` `&&(w+=` `);break;default:w+=`/`}break;case 123*h:s[l++]=q(w)*_;case 125*h:case 59:case 0:if(v>0&&y){w+=qn(y);break}switch(y){case 0:case 125:g=0;case 59+u:_==-1&&(w=Yn(w,/\f/g,``)),p>0&&(q(w)-d||h===0)&&$n(p>32?Sr(w+`;`,r,n,d-1,c):Sr(Yn(w,` `,``)+`;`,r,n,d-2,c),c);break;case 59:w+=`;`;default:if($n(C=br(w,t,n,l,u,i,s,b,x=[],S=[],d,a),a),y===123){if(u===0)yr(w,t,C,C,x,a,d,s,S);else{switch(f){case 99:if(Xn(w,3)===110)break;case 108:if(Xn(w,2)===97)break;default:u=0;case 100:case 109:case 115:}u?yr(e,C,C,r&&$n(br(e,C,C,0,0,i,s,b,i,x=[],d,S),S),i,S,d,s,r?x:S):yr(w,C,C,C,[``],S,0,s,S)}}}l=u=p=0,h=_=1,b=w=``,d=o;break;case 58:d=1+q(w),p=m;default:if(h<1){if(y==123)--h;else if(y==125&&h++==0&&or()==125)continue}switch(w+=qn(y),y*h){case 38:_=u>0?1:(w+=`\f`,-1);break;case 44:if(v>0)break;s[l++]=(q(w)-1)*_,_=1;break;case 64:Z()===45&&(w+=fr(X())),f=Z(),u=d=q(b=w+=_r(sr())),y++;break;case 45:m===45&&q(w)==2&&(h=0)}}return a}function br(e,t,n,r,i,a,o,s,c,l,u,d){for(var f=i-1,p=i===0?a:[``],m=Qn(p),h=0,g=0,_=0;h<r;++h)for(var v=0,y=Zn(e,f+1,f=Kn(g=o[h])),b=e;v<m;++v)(b=Jn(g>0?p[v]+` `+y:Yn(y,/&\f/g,p[v])))&&(c[_++]=b);return ir(e,t,n,i===0?Bn:s,c,l,u,d)}function xr(e,t,n,r){return ir(e,t,n,zn,qn(ar()),Zn(e,2,-2),0,r)}function Sr(e,t,n,r,i){return ir(e,t,n,Vn,Zn(e,0,r),Zn(e,r+1,-1),r,i)}function Cr(e,t){for(var n=``,r=0;r<e.length;r++)n+=t(e[r],r,e,t)||``;return n}function wr(e,t,n,r){switch(e.type){case Gn:if(e.children.length)break;case Hn:case Un:case Vn:return e.return=e.return||e.value;case zn:return``;case Wn:return e.return=e.value+`{`+Cr(e.children,r)+`}`;case Bn:if(!q(e.value=e.props.join(`,`)))return``}return q(n=Cr(e.children,r))?e.return=e.value+`{`+n+`}`:``}function Tr(e){var t=Qn(e);return function(n,r,i,a){for(var o=``,s=0;s<t;s++)o+=e[s](n,r,i,a)||``;return o}}var Er=`c4`,Dr={id:Er,detector:i(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-Cp5EDur4.js`);return{diagram:e}},__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,10,11,12,26]));return{id:Er,diagram:e}},`loader`)},Or=`flowchart`,kr={id:Or,detector:i((e,t)=>t?.flowchart?.defaultRenderer===`dagre-wrapper`||t?.flowchart?.defaultRenderer===`elk`?!1:/^\s*graph/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-C26MXXwi.js`);return{diagram:e}},__vite__mapDeps([27,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,26,28,29,20,30,31,32]));return{id:Or,diagram:e}},`loader`)},Ar=`flowchart-v2`,jr={id:Ar,detector:i((e,t)=>t?.flowchart?.defaultRenderer!==`dagre-d3`&&(t?.flowchart?.defaultRenderer===`elk`&&(t.layout=`elk`),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer===`dagre-wrapper`?!0:/^\s*flowchart/.test(e)),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-C26MXXwi.js`);return{diagram:e}},__vite__mapDeps([27,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,26,28,29,20,30,31,32]));return{id:Ar,diagram:e}},`loader`)},Mr=`swimlane`,Nr={id:Mr,detector:i(e=>/^\s*swimlane-beta\b/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-CoIQ0XcM.js`);return{diagram:e}},__vite__mapDeps([33,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,26,28,29,20,30,31,32]));return{id:Mr,diagram:e}},`loader`)},Pr=`er`,Fr={id:Pr,detector:i(e=>/^\s*erDiagram/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-DQT7Z75O.js`);return{diagram:e}},__vite__mapDeps([34,1,2,3,4,5,31,6,7,8,9,10,11,12,13,14,15,16,17,28,29,20]));return{id:Pr,diagram:e}},`loader`)},Ir=`gitGraph`,Lr={id:Ir,detector:i(e=>/^\s*gitGraph/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-dQvmgBo8.js`);return{diagram:e}},__vite__mapDeps([35,1,2,36,4,5,37,3,6,7,38,39]));return{id:Ir,diagram:e}},`loader`)},Rr=`gantt`,zr={id:Rr,detector:i(e=>/^\s*gantt/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-B8V5WPf1.js`);return{diagram:e}},__vite__mapDeps([40,1,2,3,4,5,41,42,43,7,6]));return{id:Rr,diagram:e}},`loader`)},Br=`info`,Vr={id:Br,detector:i(e=>/^\s*info/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-BSUrFSfn.js`);return{diagram:e}},__vite__mapDeps([44,1,2,36,4,5,37,3]));return{id:Br,diagram:e}},`loader`)},Hr=`pie`,Ur={id:Hr,detector:i(e=>/^\s*pie/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-D289T3W2.js`);return{diagram:e}},__vite__mapDeps([45,1,2,36,4,5,37,3,46,43,16,7,47,17,6,38]));return{id:Hr,diagram:e}},`loader`)},Wr=`quadrantChart`,Gr={id:Wr,detector:i(e=>/^\s*quadrantChart/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-IOULrYuo.js`);return{diagram:e}},__vite__mapDeps([48,1,2,3,4,5,41,42,43]));return{id:Wr,diagram:e}},`loader`)},Kr=`xychart`,qr={id:Kr,detector:i(e=>/^\s*xychart(-beta)?/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-D5VxBvZv.js`);return{diagram:e}},__vite__mapDeps([49,1,2,3,4,5,41,42,43,46,6,7,15,16,17,8,9]));return{id:Kr,diagram:e}},`loader`)},Jr=`requirement`,Yr={id:Jr,detector:i(e=>/^\s*requirement(Diagram)?/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-lpcXIlNC.js`);return{diagram:e}},__vite__mapDeps([50,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,28,29,20]));return{id:Jr,diagram:e}},`loader`)},Xr=`sequence`,Zr={id:Xr,detector:i(e=>/^\s*sequenceDiagram/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-D3k4QmBl.js`);return{diagram:e}},__vite__mapDeps([51,1,2,3,4,5,7,6,26,39]));return{id:Xr,diagram:e}},`loader`)},Qr=`class`,$r={id:Qr,detector:i((e,t)=>t?.class?.defaultRenderer!==`dagre-wrapper`&&/^\s*classDiagram/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-Dh6xxjov.js`);return{diagram:e}},__vite__mapDeps([52,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,26,28,29,20,53,32]));return{id:Qr,diagram:e}},`loader`)},ei=`classDiagram`,ti={id:ei,detector:i((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer===`dagre-wrapper`?!0:/^\s*classDiagram-v2/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-BmkZxg03.js`);return{diagram:e}},__vite__mapDeps([54,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,26,28,29,20,53,32]));return{id:ei,diagram:e}},`loader`)},ni=`state`,ri={id:ni,detector:i((e,t)=>t?.state?.defaultRenderer!==`dagre-wrapper`&&/^\s*stateDiagram/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-H9AITnpH.js`);return{diagram:e}},__vite__mapDeps([55,1,2,3,4,5,6,7,15,16,17,8,9,10,11,12,13,14,18,19,26,28,29,20,56]));return{id:ni,diagram:e}},`loader`)},ii=`stateDiagram`,ai={id:ii,detector:i((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer===`dagre-wrapper`),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-Dk6P4vVY.js`);return{diagram:e}},__vite__mapDeps([57,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,26,28,29,20,56]));return{id:ii,diagram:e}},`loader`)},oi=`journey`,si={id:oi,detector:i(e=>/^\s*journey/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-BVm3MgB2.js`);return{diagram:e}},__vite__mapDeps([58,1,2,3,4,5,47,16,7,32,26]));return{id:oi,diagram:e}},`loader`)},ci={draw:i((e,n,r)=>{t.debug(`rendering svg for syntax error
|
|
36
|
+
`);let i=xe(n),a=i.append(`g`);i.attr(`viewBox`,`0 0 2412 512`),x(i,100,512,!0),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z`),a.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z`),a.append(`text`).attr(`class`,`error-text`).attr(`x`,1440).attr(`y`,250).attr(`font-size`,`150px`).style(`text-anchor`,`middle`).text(`Syntax error in text`),a.append(`text`).attr(`class`,`error-text`).attr(`x`,1250).attr(`y`,400).attr(`font-size`,`100px`).style(`text-anchor`,`middle`).text(`mermaid version ${r}`)},`draw`)},li=ci,ui={db:{},renderer:ci,parser:{parse:i(()=>{},`parse`)}},di=`flowchart-elk`,fi={id:di,detector:i((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer===`elk`?(t.layout=`elk`,!0):!1,`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-C26MXXwi.js`);return{diagram:e}},__vite__mapDeps([27,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,26,28,29,20,30,31,32]));return{id:di,diagram:e}},`loader`)},pi=`timeline`,mi={id:pi,detector:i(e=>/^\s*timeline/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-oxFaA6rD.js`);return{diagram:e}},__vite__mapDeps([59,1,2,3,4,5,47,16,7,6]));return{id:pi,diagram:e}},`loader`)},hi=`mindmap`,gi={id:hi,detector:i(e=>/^\s*mindmap/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-DBVuY2lB.js`);return{diagram:e}},__vite__mapDeps([60,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,28,29,20]));return{id:hi,diagram:e}},`loader`)},_i=`kanban`,vi={id:_i,detector:i(e=>/^\s*kanban/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-CNXFALfL.js`);return{diagram:e}},__vite__mapDeps([61,1,2,3,4,5,6,7,8,9,32,10,11,12,13,20]));return{id:_i,diagram:e}},`loader`)},yi=`sankey`,bi={id:yi,detector:i(e=>/^\s*sankey(-beta)?/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-BokiwdgS.js`);return{diagram:e}},__vite__mapDeps([62,1,2,3,4,5,46,43]));return{id:yi,diagram:e}},`loader`)},xi=`packet`,Si={id:xi,detector:i(e=>/^\s*packet(-beta)?/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-DlPtUH2x.js`);return{diagram:e}},__vite__mapDeps([63,1,2,36,4,5,37,3,6,7,38]));return{id:xi,diagram:e}},`loader`)},Ci=`radar`,wi={id:Ci,detector:i(e=>/^\s*radar-beta/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-DfcNMhQb.js`);return{diagram:e}},__vite__mapDeps([64,1,2,36,4,5,37,3,6,7,38]));return{id:Ci,diagram:e}},`loader`)},Ti=`block`,Ei={id:Ti,detector:i(e=>/^\s*block(-beta)?/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-DtQPBrIL.js`);return{diagram:e}},__vite__mapDeps([65,1,2,3,4,5,31,6,7,8,9,32,10,11,12,13,14,15,16,17,18]));return{id:Ti,diagram:e}},`loader`)},Di=`treeView`,Oi={id:Di,detector:i(e=>/^\s*treeView-beta/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-ChQTsUB2.js`);return{diagram:e}},__vite__mapDeps([66,1,2,36,4,5,37,3,6,7,38,8,39]));return{id:Di,diagram:e}},`loader`)},ki=`architecture`,Ai={id:ki,detector:i(e=>/^\s*architecture/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-BxpAJfRF.js`);return{diagram:e}},__vite__mapDeps([67,1,2,36,4,5,37,3,6,7,38,8,9,23]));return{id:ki,diagram:e}},`loader`)},ji=`eventmodeling`,Mi={id:ji,detector:i(e=>/^\s*eventmodeling/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-Dex9JiR1.js`);return{diagram:e}},__vite__mapDeps([68,1,2,37,36,4,5,3,6,7,38]));return{id:ji,diagram:e}},`loader`)},Ni=`ishikawa`,Pi={id:Ni,detector:i(e=>/^\s*ishikawa(-beta)?\b/i.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-IsizPYbz.js`);return{diagram:e}},__vite__mapDeps([69,1,2,3,4,5,6,7,12]));return{id:Ni,diagram:e}},`loader`)},Fi=`venn`,Ii={id:Fi,detector:i(e=>/^\s*venn-beta/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-CUsQ7lH1.js`);return{diagram:e}},__vite__mapDeps([70,1,2,3,4,5,6,7,12]));return{id:Fi,diagram:e}},`loader`)},Li=`treemap`,Ri={id:Li,detector:i(e=>/^\s*treemap/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-9-3VOpWX.js`);return{diagram:e}},__vite__mapDeps([71,1,2,36,4,5,37,3,46,43,42,6,7,38,10,29]));return{id:Li,diagram:e}},`loader`)},zi=`wardley`,Bi={id:zi,detector:i(e=>/^\s*wardley-beta/i.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-nKL3T2Rn.js`);return{diagram:e}},__vite__mapDeps([72,1,2,36,4,5,37,3,6,7,38]));return{id:zi,diagram:e}},`loader`)},Vi=`cynefin`,Hi={id:Vi,detector:i(e=>/^\s*cynefin-beta(?:[\s:]|$)/.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-Bk4d_k6M.js`);return{diagram:e}},__vite__mapDeps([73,1,2,36,4,5,37,3,6,7,38]));return{id:Vi,diagram:e}},`loader`)},Ui=`railroad`,Wi={id:Ui,detector:i(e=>/^\s*railroad-beta/i.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-DHkjHDYG.js`);return{diagram:e}},__vite__mapDeps([74,1,2,36,4,5,37,3,75,38]));return{id:Ui,diagram:e}},`loader`)},Gi=`railroadEbnf`,Ki={id:Gi,detector:i(e=>/^\s*railroad-ebnf-beta/i.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-BOfOlrLQ.js`);return{diagram:e}},__vite__mapDeps([76,1,2,36,4,5,37,3,75,38]));return{id:Gi,diagram:e}},`loader`)},qi=`railroadAbnf`,Ji={id:qi,detector:i(e=>/^\s*railroad-abnf-beta/i.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-CqMjOmHM.js`);return{diagram:e}},__vite__mapDeps([77,1,2,36,4,5,37,3,75,38]));return{id:qi,diagram:e}},`loader`)},Yi=`railroadPeg`,Xi={id:Yi,detector:i(e=>/^\s*railroad-peg-beta/i.test(e),`detector`),loader:i(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./chunk-CMKpUUG0.js`);return{diagram:e}},__vite__mapDeps([78,1,2,36,4,5,37,3,75,38]));return{id:Yi,diagram:e}},`loader`)},Zi=!1,Qi=i(()=>{Zi||(Zi=!0,u(`error`,ui,e=>e.toLowerCase().trim()===`error`),u(`---`,{db:{clear:i(()=>{},`clear`)},styles:{},renderer:{draw:i(()=>{},`draw`)},parser:{parse:i(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},`parse`)},init:i(()=>null,`init`)},e=>e.toLowerCase().trimStart().startsWith(`---`)),d(fi,gi,Ai),d(Dr,vi,ti,$r,Fr,zr,Vr,Ur,Yr,Zr,Nr,jr,kr,mi,Lr,ai,ri,si,Gr,bi,Si,qr,Ei,Mi,Oi,wi,Pi,Ri,Wi,Ki,Ji,Xi,Ii,Bi,Hi))},`addDiagrams`),$i=i(async()=>{t.debug(`Loading registered diagrams`);let e=(await Promise.allSettled(Object.entries(w).map(async([e,{detector:n,loader:r}])=>{if(r)try{p(e)}catch{try{let{diagram:e,id:t}=await r();u(t,e,n)}catch(n){throw t.error(`Failed to load external diagram with key ${e}. Removing from detectors.`),delete w[e],n}}}))).filter(e=>e.status===`rejected`);if(e.length>0){t.error(`Failed to load ${e.length} external diagrams`);for(let n of e)t.error(n);throw Error(`Failed to load ${e.length} external diagrams`)}},`loadRegisteredDiagrams`),ea=`graphics-document document`;function ta(e,t){e.attr(`role`,ea),t!==``&&e.attr(`aria-roledescription`,t)}i(ta,`setA11yDiagramInfo`);function na(e,t,n,r){if(e.insert!==void 0){if(n){let t=`chart-desc-${r}`;e.attr(`aria-describedby`,t),e.insert(`desc`,`:first-child`).attr(`id`,t).text(n)}if(t){let n=`chart-title-${r}`;e.attr(`aria-labelledby`,n),e.insert(`title`,`:first-child`).attr(`id`,n).text(t)}}}i(na,`addSVGa11yTitleDescription`);var ra=class e{constructor(e,t,n,r,i){this.type=e,this.text=t,this.db=n,this.parser=r,this.renderer=i}static{i(this,`Diagram`)}static async fromText(t,n={}){let r=b(),i=E(t,r);t=te(t)+`
|
|
37
37
|
`;try{p(i)}catch{let e=o(i);if(!e)throw new A(`Diagram ${i} not found.`);let{id:t,diagram:n}=await e();u(t,n)}let{db:a,parser:s,renderer:c,init:l}=p(i);return s.parser&&(s.parser.yy=a),a.clear?.(),l?.(r),n.title&&a.setDiagramTitle?.(n.title),await s.parse(t),new e(i,t,a,s,c)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},ia=[],aa=i(()=>{ia.forEach(e=>{e()}),ia=[]},`attachFunctions`),oa=i(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,``).trimStart(),`cleanupComments`);function sa(e){let t=e.match(y);if(!t)return{text:e,metadata:{}};let n=t[1],r=jn(n?t[2].split(`
|
|
38
38
|
`).map(e=>e.startsWith(n)?e.slice(n.length):e).join(`
|
|
39
39
|
`):t[2],{schema:On})??{};r=typeof r==`object`&&!Array.isArray(r)?r:{};let i={};return r.displayMode&&(i.displayMode=r.displayMode.toString()),r.title&&(i.title=r.title.toString()),r.config&&(i.config=r.config),{text:e.slice(t[0].length),metadata:i}}i(sa,`extractFrontMatter`);var ca=i(e=>e.replace(/\r\n?/g,`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
async function e(e,t){try{await navigator.clipboard.writeText(t);let n=e.textContent;e.textContent=`Copied`,window.setTimeout(()=>{e.textContent=n},1200)}catch{let n=document.createElement(`input`);n.type=`text`,n.readOnly=!0,n.value=t,n.className=`prb-menu-id`,n.setAttribute(`data-id-field`,``),e.after(n),n.select()}}export{e as t};
|
package/static/reviews.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
import{t as e}from"./chunk-B9H2wUlQ.js";var t=[...document.querySelectorAll(`[data-card]`)],n=document.querySelector(`[data-search]`),r=document.querySelector(`[data-no-matches]`),i=`all`;function a(){let e=(n?.value??``).trim().toLowerCase(),a=0;for(let n of t){let t=i===`all`||n.dataset.status===i,r=!e||(n.dataset.searchText??``).includes(e),o=t&&r;n.hidden=!o,o&&(a+=1)}r&&(r.hidden=a>0||t.length===0)}n?.addEventListener(`input`,a),n?.addEventListener(`keydown`,e=>{e.key===`Escape`&&n.value!==``&&(e.preventDefault(),n.value=``,a())});for(let e of document.querySelectorAll(`[data-filter]`))e.addEventListener(`click`,()=>{i=e.dataset.filter??`all`;for(let t of document.querySelectorAll(`[data-filter]`))t.setAttribute(`aria-pressed`,String(t===e));a()});document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-pin]`);if(!t?.dataset.pin)return;e.preventDefault(),e.stopPropagation();let n=t.getAttribute(`aria-pressed`)!==`true`;t.setAttribute(`aria-pressed`,String(n)),t.innerHTML=n?`★`:`☆`,t.setAttribute(`aria-label`,`${n?`Unpin`:`Pin`} this review`),t.title=n?`Unpin`:`Pin to the top`;let r=t.closest(`[data-card]`);r&&(r.dataset.pinned=String(n)),fetch(`/pin`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({id:t.dataset.pin,pinned:n})}).catch(()=>{})}),document.addEventListener(`click`,e=>{let t=e.target.closest(`[data-history-toggle]`);if(!t)return;e.preventDefault(),e.stopPropagation();let n=t.parentElement?.querySelector(`[data-history-list]`);if(!n)return;let r=n.hidden;n.hidden=!r,t.setAttribute(`aria-expanded`,String(r))}),a();function o(e){for(let t of document.querySelectorAll(`[data-menu]`)){if(t===e)continue;let n=t.querySelector(`[data-menu-panel]`),r=t.querySelector(`[data-menu-trigger]`);n&&(n.hidden=!0),r?.setAttribute(`aria-expanded`,`false`),s(t)}}function s(e){let t=e.querySelector(`[data-menu-items]`),n=e.querySelector(`[data-menu-confirm]`);t&&(t.hidden=!1),n&&(n.hidden=!0),e.querySelector(`[data-menu-error]`)?.remove(),e.querySelector(`[data-id-field]`)?.remove()}document.addEventListener(`keydown`,e=>{e.key===`Escape`&&o()}),document.addEventListener(`click`,t=>{let n=t.target,r=n.closest(`[data-menu]`);if(!r)return void o();let i=n.closest(`[data-menu-trigger]`);if(i){t.preventDefault(),t.stopPropagation();let e=r.querySelector(`[data-menu-panel]`);if(!e)return;let n=e.hidden;o(r),s(r),e.hidden=!n,i.setAttribute(`aria-expanded`,String(n));return}let a=n.closest(`[data-copy-id]`);if(a?.dataset.copyId){t.preventDefault(),t.stopPropagation(),e(a,a.dataset.copyId);return}if(n.closest(`[data-delete]`)){t.preventDefault(),t.stopPropagation();let e=r.querySelector(`[data-menu-items]`),n=r.querySelector(`[data-menu-confirm]`);e&&(e.hidden=!0),n&&(n.hidden=!1);return}if(n.closest(`[data-cancel-delete]`)){t.preventDefault(),t.stopPropagation(),s(r);return}if(n.closest(`[data-confirm-delete]`)){t.preventDefault(),t.stopPropagation(),c(r);return}t.preventDefault(),t.stopPropagation()});async function c(e){let t=e.querySelector(`[data-delete]`),n=t?.dataset.delete;if(!n)return;let r=e.querySelector(`[data-menu-confirm]`),i=e.querySelector(`[data-confirm-delete]`);i&&(i.disabled=!0,i.textContent=`Deleting`);try{let r=await fetch(`/delete`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify({id:n,scope:t?.dataset.scope??`review`})});if(r.ok)return void window.location.reload();l(e,(await r.json().catch(()=>null))?.error??`That could not be deleted.`)}catch{l(e,`The workspace server did not answer. It may have stopped.`)}i&&(i.disabled=!1,i.textContent=`Delete`),r&&(r.hidden=!0);let a=e.querySelector(`[data-menu-items]`);a&&(a.hidden=!1)}function l(e,t){e.querySelector(`[data-menu-error]`)?.remove();let n=document.createElement(`p`);n.className=`prb-menu-error`,n.setAttribute(`data-menu-error`,``),n.textContent=t,e.querySelector(`[data-menu-panel]`)?.append(n)}
|
package/static/shell.css
CHANGED
|
@@ -2166,15 +2166,35 @@ a.prb-rail-item { text-decoration: none; }
|
|
|
2166
2166
|
font-size: 15px;
|
|
2167
2167
|
line-height: 1;
|
|
2168
2168
|
cursor: pointer;
|
|
2169
|
-
opacity: 0;
|
|
2170
2169
|
}
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
.
|
|
2170
|
+
/*
|
|
2171
|
+
* Always visible, unlike the pin beside it.
|
|
2172
|
+
*
|
|
2173
|
+
* It was hover-revealed, copied from the pin, and that was wrong the moment it stopped being
|
|
2174
|
+
* decorative. The pin is a state you can see the result of without the control: a pinned card looks
|
|
2175
|
+
* pinned. This menu is the only route to a review's ID, which `--delete` requires, so hiding it
|
|
2176
|
+
* made a required identifier undiscoverable to anybody who did not already know to sweep the mouse
|
|
2177
|
+
* across a card. A control you have to find by accident is not an affordance.
|
|
2178
|
+
*/
|
|
2179
|
+
.prb-menu-trigger:hover,
|
|
2180
|
+
.prb-menu-trigger[aria-expanded="true"] { background: var(--surface-2); color: var(--text-primary); }
|
|
2176
2181
|
.prb-menu-trigger:focus-visible { outline: 2px solid var(--brand-hover); outline-offset: -2px; }
|
|
2177
2182
|
|
|
2183
|
+
/*
|
|
2184
|
+
* In the workspace header the menu is one control in a row of them, not an overlay in a corner.
|
|
2185
|
+
*
|
|
2186
|
+
* The base rule pins it to a card's top-right, which is the only place it lived until the review
|
|
2187
|
+
* page got one. Dropped into a flex header it kept those offsets and landed on top of the Buddy AI
|
|
2188
|
+
* button: present in the DOM, clickable in a test, and invisible to a person. Position it as the
|
|
2189
|
+
* flex child it is here and let the panel hang off it.
|
|
2190
|
+
*/
|
|
2191
|
+
.prb-header .prb-menu {
|
|
2192
|
+
position: relative;
|
|
2193
|
+
top: auto;
|
|
2194
|
+
right: auto;
|
|
2195
|
+
display: inline-flex;
|
|
2196
|
+
}
|
|
2197
|
+
|
|
2178
2198
|
/* The history rows are their own menus, and they sit inside a narrower box than the card. */
|
|
2179
2199
|
.prb-card-history-row { position: relative; }
|
|
2180
2200
|
.prb-card-history-row .prb-menu { top: 3px; right: 4px; }
|
package/static/workspace.js
CHANGED
|
Binary file
|