@flowfuse/node-red-dashboard 1.31.0 → 1.31.1-0abe89c-202609211346.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/nodes/config/ui_base.js +15 -1
  2. package/nodes/store/clients.js +71 -0
  3. package/nodes/utils/index.js +8 -1
  4. package/nodes/widgets/locales/en-US/ui_control.json +2 -1
  5. package/nodes/widgets/ui_chart.js +7 -3
  6. package/nodes/widgets/ui_control.html +1 -1
  7. package/nodes/widgets/ui_control.js +28 -0
  8. package/package.json +4 -4
  9. package/dist/apple-touch-icon.png +0 -0
  10. package/dist/assets/abnfDiagram-N423BO3Z-BOzAedUe.js +0 -1
  11. package/dist/assets/architectureDiagram-T3A2C74G-zEM8gtfO.js +0 -36
  12. package/dist/assets/blockDiagram-VBNYF7ZC-eKuDT4u2.js +0 -132
  13. package/dist/assets/c4Diagram-5PPSVZJV-CRPvpwR2.js +0 -10
  14. package/dist/assets/chunk-2GRJ4B5K-BUP9p1Ar.js +0 -1
  15. package/dist/assets/chunk-2Q5K7J3B-DASHHxaC.js +0 -1
  16. package/dist/assets/chunk-5RXB4S5H-C76llYJF.js +0 -231
  17. package/dist/assets/chunk-5VM5RSS4-DnmzQEFn.js +0 -15
  18. package/dist/assets/chunk-6Q2QTUOP-DpGB6o5S.js +0 -88
  19. package/dist/assets/chunk-GF5L2VYU-Bhzwn3VL.js +0 -206
  20. package/dist/assets/chunk-JWPE2WC7-UNqcBwu_.js +0 -1
  21. package/dist/assets/chunk-KBJHAD2P-C38IW_UU.js +0 -1
  22. package/dist/assets/chunk-RYQCIY6F-COKxTTcO.js +0 -1
  23. package/dist/assets/chunk-XXDRQBXY-BS0ojEzX.js +0 -1
  24. package/dist/assets/classDiagram-JCYQIIEL-CxMqqBtQ.js +0 -1
  25. package/dist/assets/classDiagram-v2-OCEON4UE-CxMqqBtQ.js +0 -1
  26. package/dist/assets/cose-bilkent-JH36ORCC-9jRlXuji.js +0 -1
  27. package/dist/assets/cynefin-VYW2F7L2-BDPznSFQ.js +0 -178
  28. package/dist/assets/cynefinDiagram-MW4NZA55-lSqlEkCZ.js +0 -62
  29. package/dist/assets/cytoscape.esm-D_LviqZs.js +0 -331
  30. package/dist/assets/dagre-VZM6K2ZE-Dfoe_jp9.js +0 -4
  31. package/dist/assets/diagram-7IWD3JNH-Df2T__dV.js +0 -30
  32. package/dist/assets/diagram-B4RE2ZJO-DoGtC0h7.js +0 -3
  33. package/dist/assets/diagram-LBJQPF4R-cH8DVJ6C.js +0 -24
  34. package/dist/assets/diagram-Q27KOJAE-8JJAGHRF.js +0 -24
  35. package/dist/assets/diagram-UB23O5K3-BGCDqdpG.js +0 -41
  36. package/dist/assets/disconnected-BuxohaUu.png +0 -0
  37. package/dist/assets/ebnfDiagram-BXEA7PRR-r2bgA64b.js +0 -1
  38. package/dist/assets/echarts-BB8VCqSB.js +0 -73
  39. package/dist/assets/erDiagram-JOGREHBK-BExdsKTd.js +0 -85
  40. package/dist/assets/flowDiagram-UKHOOZJN-B8wwUqLz.js +0 -156
  41. package/dist/assets/ganttDiagram-PKOTCBZU-SViiTCQN.js +0 -292
  42. package/dist/assets/gitGraphDiagram-DS77QQ5N-CmktWysd.js +0 -106
  43. package/dist/assets/graph-C9eacEi8.js +0 -1
  44. package/dist/assets/index-CizlQbSv.css +0 -13
  45. package/dist/assets/index-CrLoQPpq.js +0 -124
  46. package/dist/assets/infoDiagram-6WML65LV-BwUFVmXD.js +0 -2
  47. package/dist/assets/ishikawaDiagram-WSZJBQD7-Df6P2A6T.js +0 -70
  48. package/dist/assets/journeyDiagram-NVQOT4AX-Cjk4fifu.js +0 -139
  49. package/dist/assets/kanban-definition-27J2QSJJ-BcoyAznM.js +0 -89
  50. package/dist/assets/katex-C5jXJg4s.js +0 -257
  51. package/dist/assets/layout-DEXfKzaS.js +0 -1
  52. package/dist/assets/logo-DIAzbBuw.png +0 -0
  53. package/dist/assets/map-Czzmt4hB.js +0 -1
  54. package/dist/assets/materialdesignicons-webfont-B7mPwVP_.ttf +0 -0
  55. package/dist/assets/materialdesignicons-webfont-CSr8KVlo.eot +0 -0
  56. package/dist/assets/materialdesignicons-webfont-Dp5v-WZN.woff2 +0 -0
  57. package/dist/assets/materialdesignicons-webfont-PXm3-2wK.woff +0 -0
  58. package/dist/assets/mermaid-CX4mRs5N.js +0 -314
  59. package/dist/assets/mindmap-definition-FAOFIHXS-D6njotiS.js +0 -96
  60. package/dist/assets/pegDiagram-VL7TDLO6-CaA_iXxT.js +0 -1
  61. package/dist/assets/pieDiagram-7S7Q4E2Y-aYh5694F.js +0 -39
  62. package/dist/assets/quadrantDiagram-CIZ2JOQS-CaWyb4Jw.js +0 -7
  63. package/dist/assets/railroadDiagram-AXF67PYL-Bd_vMLsE.js +0 -1
  64. package/dist/assets/requirementDiagram-LRYGKXZP-CMxISoyd.js +0 -84
  65. package/dist/assets/sankeyDiagram-W5VNT64P-DLbFAyXe.js +0 -40
  66. package/dist/assets/sequenceDiagram-SI44F4Z6-CzdhMpvP.js +0 -162
  67. package/dist/assets/sizeCapture-X5ZJPWSS-CnezfYZ6.js +0 -1
  68. package/dist/assets/stateDiagram-OKZ733FA-5R9RLDEM.js +0 -1
  69. package/dist/assets/stateDiagram-v2-UEYNNEHI-Ck4l-gcT.js +0 -1
  70. package/dist/assets/swimlanes-SLNWSIFB-CeEnGZwJ.js +0 -2
  71. package/dist/assets/swimlanesDiagram-ULZ7WXOC-DSebamlh.js +0 -8
  72. package/dist/assets/timeline-definition-Z64GVDOM-ZMWCENQJ.js +0 -120
  73. package/dist/assets/vennDiagram-T6HMQDX7-DVr1jz1I.js +0 -34
  74. package/dist/assets/vue-vendor-Bmy9n80X.js +0 -49
  75. package/dist/assets/wardleyDiagram-T6FBY63Y-DNp6yzs5.js +0 -78
  76. package/dist/assets/workbox-window.prod.es5-BIl4cyR9.js +0 -2
  77. package/dist/assets/xychartDiagram-ELKLHX3M-DC4NZzl1.js +0 -7
  78. package/dist/favicon.ico +0 -0
  79. package/dist/favicon.svg +0 -482
  80. package/dist/index.html +0 -24
  81. package/dist/logo-512x512.png +0 -0
  82. package/dist/logo.svg +0 -482
  83. package/dist/maskable-icon-512x512.png +0 -0
  84. package/dist/pwa-192x192.png +0 -0
  85. package/dist/pwa-512x512.png +0 -0
  86. package/dist/pwa-64x64.png +0 -0
  87. package/dist/sw.js +0 -2
@@ -1,62 +0,0 @@
1
- import{p as xt}from"./chunk-JWPE2WC7-UNqcBwu_.js";import{s as gt,g as $t,o as bt,n as Ct,a as wt,b as vt,_ as s,l as O,E as Dt,e as kt,p as Tt,B as U,z as K,C as At,K as ot}from"./mermaid-CX4mRs5N.js";import{p as Bt}from"./cynefin-VYW2F7L2-BDPznSFQ.js";var rt=s(()=>({domains:new Map,transitions:[]}),"createDefaultData"),H=rt(),St=s(()=>H.domains,"getDomains"),Mt=s(()=>H.transitions,"getTransitions"),zt=s(t=>{if(t)for(const e of t){const n=e.domain,a=(e.items??[]).map(c=>({label:c.label}));H.domains.set(n,{name:n,items:a})}},"setDomains"),Lt=s(t=>{t&&(H.transitions=t.filter(e=>e.from===e.to?(O.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=s(()=>U({...At.cynefin,...K().cynefin}),"getConfig"),Pt=s(()=>{Tt(),H=rt()},"clear"),Y={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:wt,setDiagramTitle:Ct,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},It=s(t=>{xt(t,Y),Y.setDomains(t.domains),Y.setTransitions(t.transitions)},"populate"),Wt={parse:s(async t=>{const e=await Bt("cynefin",t);O.debug(e),It(e)},"parse")};function V(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}s(V,"seededRandom");function st(t){let e=0;for(let n=0;n<t.length;n++){const a=t.charCodeAt(n);e=(e<<5)-e+a,e|=0}return e}s(st,"hashString");function it(t,e){return typeof t=="number"&&Number.isFinite(t)&&t!==0?t:st(e)}s(it,"resolveSeed");function ct(t,e,n,a){const c=t/2,m=a??t*.015,v=7,W=e/v,d=[];for(let o=0;o<=v;o++){const p=V(n+o*17)*m*2-m;d.push({x:c+p,y:o*W})}let D=`M${d[0].x},${d[0].y}`;for(let o=0;o<d.length-1;o++){const p=d[o],i=d[o+1],f=(p.y+i.y)/2,b=o%2===0?1:-1,h=m*1.5*b*V(n+o*31+7),R=p.x+h,_=f,E=i.x-h;D+=` C${R},${_} ${E},${f} ${i.x},${i.y}`}return D}s(ct,"generateFoldPath");function lt(t,e,n,a){const c=e/2,m=a??e*.015,v=7,W=t/v,d=[];for(let o=0;o<=v;o++){const p=V(n+o*23)*m*2-m;d.push({x:o*W,y:c+p})}let D=`M${d[0].x},${d[0].y}`;for(let o=0;o<d.length-1;o++){const p=d[o],i=d[o+1],f=(p.x+i.x)/2,b=o%2===0?1:-1,h=m*1.5*b*V(n+o*37+11),R=f,_=p.y+h,E=f,z=i.y-h;D+=` C${R},${_} ${E},${z} ${i.x},${i.y}`}return D}s(lt,"generateHorizontalBoundary");function dt(t,e){const n=t/2,a=e*.5,c=e,m=t*.03;return[`M${n},${a}`,`C${n+m},${a+(c-a)*.2}`,`${n-m*1.5},${a+(c-a)*.55}`,`${n+m*.5},${a+(c-a)*.75}`,`C${n-m},${a+(c-a)*.85}`,`${n+m*.3},${a+(c-a)*.95}`,`${n},${c}`].join(" ")}s(dt,"generateCliffPath");function ft(t,e,n,a){return[`M${t-n},${e}`,`A${n},${a} 0 1,1 ${t+n},${e}`,`A${n},${a} 0 1,1 ${t-n},${e}`,"Z"].join(" ")}s(ft,"generateConfusionPath");var at={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},Rt=s((t,e)=>{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:n*.7,y:a*.7,w:n*.6,h:a*.6}}},"getDomainLayouts"),_t=s(()=>{const t=ot(),e=K();return U(t,e.themeVariables).cynefin},"getCynefinDomainColors"),q=3,Et=s((t,e,n,a)=>{const c=a.db,m=c.getDomains(),v=c.getTransitions(),W=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),o=c.getConfig(),p=_t();O.debug("Rendering Cynefin diagram");const i=o.width,f=o.height,b=o.padding,h=o.showDomainDescriptions,R=o.boundaryAmplitude,_=i+b*2,E=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=Dt(e);kt(k,E,_,o.useMaxWidth??!0),k.attr("viewBox",`0 0 ${_} ${E}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);const T=k.append("g").attr("transform",`translate(${b}, ${b})`),F=Rt(i,f),Q=it(o.seed,e),mt=T.append("g").attr("class","cynefin-backgrounds"),X=["complex","complicated","chaotic","clear"];for(const l of X){const r=F[l];mt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=T.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(i,f,Q,R)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(i,f,Q+100,R)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",dt(i,f)).attr("fill","none");const pt=i*.15,yt=f*.15;T.append("path").attr("class","cynefinConfusion").attr("d",ft(i/2,f/2,pt,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const Z=T.append("g").attr("class","cynefin-labels");for(const l of X){const r=F[l];Z.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",h?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(Z.append("text").attr("class","cynefinDomainLabel").attr("x",i/2).attr("y",h?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),h){const l=T.append("g").attr("class","cynefin-subtitles");for(const r of X){const u=F[r],y=at[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",i/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(at.confusion.practice)}const J=T.append("g").attr("class","cynefin-items"),A=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=m.get(l);if(!r||r.items.length===0)continue;const u=F[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>q&&(N=r.items.length-q,L=r.items.slice(0,q));let B;if(y){const g=h?22:14;B=u.cy+g}else B=u.cy+(h?25:15);if([...L].forEach((g,S)=>{const C=B+S*(A+4),M=J.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const x=P.node();if(x&&typeof x.getBBox=="function"){const G=x.getBBox();G.width>0&&($=G.width)}const w=$+tt*2,I=u.cx-w/2;M.attr("transform",`translate(${I}, ${C})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",w).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",w/2).attr("y",A/2)}),N>0){const g=B+L.length*(A+4),S=`+${N} more`,C=J.append("g"),M=C.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",A/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const I=$.getBBox();I.width>0&&(P=I.width)}const x=P+tt*2,w=u.cx-x/2;C.attr("transform",`translate(${w}, ${g})`),C.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",x).attr("height",A).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",x/2).attr("y",A/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=T.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=F[y.from],N=F[y.to];if(!L||!N)return;if(y.from===y.to){O.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,C=N.cy,M=(B+S)/2,P=(g+C)/2,$=S-B,x=C-g,w=Math.sqrt($*$+x*x),I=w*.15,G=-x/w,ht=$/w,et=M+G*I,nt=P+ht*I;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${nt} ${S},${C}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",nt-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}W&&T.append("text").attr("class","cynefinTitle").attr("x",i/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(W)},"draw"),Ft={draw:Et},Vt=s(()=>{const t=ot(),e=K();return U(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=s(()=>{const t=Vt();return`
2
- .cynefinDomain {
3
- stroke: none;
4
- }
5
- .cynefinDomainLabel {
6
- font-size: ${t.domainFontSize}px;
7
- font-weight: bold;
8
- fill: ${t.labelColor};
9
- }
10
- .cynefinSubtitle {
11
- font-size: ${t.itemFontSize-1}px;
12
- fill: ${t.textColor};
13
- font-style: italic;
14
- }
15
- .cynefinItem {
16
- fill-opacity: 0.95;
17
- stroke: ${t.boundaryColor};
18
- stroke-width: 1;
19
- }
20
- .cynefinItemText {
21
- font-size: ${t.itemFontSize}px;
22
- fill: ${t.textColor};
23
- }
24
- .cynefinItemOverflow {
25
- fill-opacity: 0.6;
26
- stroke: ${t.boundaryColor};
27
- stroke-width: 1;
28
- stroke-dasharray: 3 2;
29
- }
30
- .cynefinBoundary {
31
- stroke: ${t.boundaryColor};
32
- stroke-width: ${t.boundaryWidth};
33
- stroke-dasharray: 6 3;
34
- }
35
- .cynefinCliff {
36
- stroke: ${t.cliffColor};
37
- stroke-width: ${t.cliffWidth};
38
- }
39
- .cynefinConfusion {
40
- stroke: ${t.boundaryColor};
41
- stroke-width: 1.5;
42
- stroke-dasharray: 4 2;
43
- }
44
- .cynefinArrowLine {
45
- stroke: ${t.arrowColor};
46
- stroke-width: ${t.arrowWidth};
47
- fill: none;
48
- }
49
- .cynefinArrowHead {
50
- fill: ${t.arrowColor};
51
- stroke: none;
52
- }
53
- .cynefinArrowLabel {
54
- font-size: ${t.itemFontSize-1}px;
55
- fill: ${t.textColor};
56
- }
57
- .cynefinTitle {
58
- font-size: ${t.domainFontSize+2}px;
59
- font-weight: bold;
60
- fill: ${t.labelColor};
61
- }
62
- `},"styles"),Gt=Ht,jt={parser:Wt,db:Y,renderer:Ft,styles:Gt};export{jt as diagram};