@rkmodules/rules 0.0.26 → 0.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -20,7 +20,7 @@
20
20
  }
21
21
 
22
22
  .Label_wBwWA {
23
- border-bottom: 1px solid var(--node-line);
23
+ border-bottom: 1px solid var(--ln);
24
24
  padding: 4px 8px;
25
25
  text-align: center;
26
26
  font-weight: bold;
@@ -43,7 +43,7 @@
43
43
 
44
44
  .DefaultNode_R2P6c input,
45
45
  .DefaultNode_R2P6c select {
46
- border: 1px solid var(--node-line);
46
+ border: 1px solid var(--ln);
47
47
  border-radius: 4px;
48
48
  width: 100%;
49
49
  box-sizing: border-box;
@@ -60,6 +60,35 @@
60
60
  --xy-handle-background-color: var(--type-color);
61
61
  }
62
62
 
63
+
64
+ .PreviewHead_oFT4K {
65
+ margin-top: 16px;
66
+ text-align: center;
67
+ padding: 2px;
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ gap: 8px;
72
+ color: #666;
73
+ text-shadow: -1px -1px 0px white;
74
+ }
75
+ .PreviewHead_oFT4K::before, .PreviewHead_oFT4K::after {
76
+ content: '🠻';
77
+ }
78
+ .PreviewHead_oFT4K.expanded_3vnbi::before, .PreviewHead_oFT4K.expanded_3vnbi::after {
79
+ content: '🠹';
80
+ }
81
+
82
+ .Preview_HbkZ6 {
83
+ background-color: rgba(0,0,0,0.1);
84
+ border-top: 1px solid var(--ln);
85
+ padding: 4px;
86
+ max-height: 300px;
87
+ overflow: auto;
88
+ }
89
+
90
+
91
+
63
92
  .Table_aZyRT {
64
93
  margin: 2px;
65
94
  max-height: 400px;
@@ -67,7 +96,42 @@
67
96
  }
68
97
  .Table_aZyRT th,
69
98
  .Table_aZyRT td {
70
- border: 1px solid var(--node-line);
99
+ border: 1px solid var(--ln);
100
+ }
101
+
102
+
103
+ .GroupHead_QJhST {
104
+ display: flex;
105
+ align-items: center;
106
+ height: 22px;;
107
+ }
108
+ .GroupHead_QJhST::before {
109
+ content: '🢒';
110
+ display: flex;
111
+ width: 22px;
112
+ height: 22px;
113
+ align-items: center;
114
+ justify-content: center;
115
+ text-align: center;
116
+ font-size: 1.8em;
117
+ color: var(--type-color);
118
+ transform: rotate(90deg);
119
+ }
120
+ .GroupHead_QJhST span {
121
+ opacity: 0.7;
122
+ font-style: italic;
123
+ }
124
+
125
+ .GroupChildren_NKx-B {
126
+ margin-left: 10px;
127
+ border-left: 1px solid var(--ln);
128
+ }
129
+
130
+ .GroupLeaf_eliT8 {
131
+ margin-left: 10px;
132
+ height: 22px;
133
+ display: flex;
134
+ align-items: center;
71
135
  }
72
136
 
73
137
  @font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format("woff2"),url(fonts/KaTeX_AMS-Regular.woff) format("woff"),url(fonts/KaTeX_AMS-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Bold.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"),url(fonts/KaTeX_Caligraphic-Regular.woff) format("woff"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Bold.woff) format("woff"),url(fonts/KaTeX_Fraktur-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"),url(fonts/KaTeX_Fraktur-Regular.woff) format("woff"),url(fonts/KaTeX_Fraktur-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format("woff2"),url(fonts/KaTeX_Main-Bold.woff) format("woff"),url(fonts/KaTeX_Main-Bold.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Main-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Main-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format("woff2"),url(fonts/KaTeX_Main-Italic.woff) format("woff"),url(fonts/KaTeX_Main-Italic.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format("woff2"),url(fonts/KaTeX_Main-Regular.woff) format("woff"),url(fonts/KaTeX_Main-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"),url(fonts/KaTeX_Math-BoldItalic.woff) format("woff"),url(fonts/KaTeX_Math-BoldItalic.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format("woff2"),url(fonts/KaTeX_Math-Italic.woff) format("woff"),url(fonts/KaTeX_Math-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Bold.woff) format("woff"),url(fonts/KaTeX_SansSerif-Bold.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Italic.woff) format("woff"),url(fonts/KaTeX_SansSerif-Italic.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"),url(fonts/KaTeX_SansSerif-Regular.woff) format("woff"),url(fonts/KaTeX_SansSerif-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format("woff2"),url(fonts/KaTeX_Script-Regular.woff) format("woff"),url(fonts/KaTeX_Script-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size1-Regular.woff) format("woff"),url(fonts/KaTeX_Size1-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size2-Regular.woff) format("woff"),url(fonts/KaTeX_Size2-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size3-Regular.woff) format("woff"),url(fonts/KaTeX_Size3-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format("woff2"),url(fonts/KaTeX_Size4-Regular.woff) format("woff"),url(fonts/KaTeX_Size4-Regular.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"),url(fonts/KaTeX_Typewriter-Regular.woff) format("woff"),url(fonts/KaTeX_Typewriter-Regular.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.22"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
package/dist/index.js CHANGED
@@ -569,25 +569,25 @@ var value = {
569
569
  value = params.value;
570
570
  switch (params.type) {
571
571
  case "number":
572
- return [2 /*return*/, { value: Number(value) }];
572
+ return [2 /*return*/, { value: broadCast(Number(value)) }];
573
573
  case "boolean":
574
- return [2 /*return*/, { value: Boolean(value) }];
574
+ return [2 /*return*/, { value: broadCast(Boolean(value)) }];
575
575
  case "string":
576
- return [2 /*return*/, { value: String(value) }];
576
+ return [2 /*return*/, { value: broadCast(String(value)) }];
577
577
  default:
578
578
  // return as is
579
- return [2 /*return*/, { value: value }];
579
+ return [2 /*return*/, { value: broadCast(value) }];
580
580
  }
581
581
  });
582
582
  }); },
583
583
  };
584
584
 
585
- var _a$4;
586
- var primitives$5 = (_a$4 = {},
587
- _a$4[getValue.name] = getValue,
588
- _a$4[log.name] = log,
589
- _a$4[value.name] = value,
590
- _a$4);
585
+ var _a$5;
586
+ var primitives$6 = (_a$5 = {},
587
+ _a$5[getValue.name] = getValue,
588
+ _a$5[log.name] = log,
589
+ _a$5[value.name] = value,
590
+ _a$5);
591
591
 
592
592
  var math$1 = mathjs.create(mathjs.all, {});
593
593
  function evaluate(expression, scope) {
@@ -765,10 +765,10 @@ var greaterThan = {
765
765
  return [2 /*return*/, {
766
766
  gt: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
767
767
  return itemA > itemB;
768
- }),
768
+ }, true),
769
769
  gte: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
770
770
  return itemA >= itemB;
771
- }),
771
+ }, true),
772
772
  }];
773
773
  });
774
774
  }); },
@@ -791,21 +791,21 @@ var lessThan = {
791
791
  return [2 /*return*/, {
792
792
  lt: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
793
793
  return itemA < itemB;
794
- }),
794
+ }, true),
795
795
  lte: binaryOnTree(inputs.a, inputs.b, function (itemA, itemB) {
796
796
  return itemA <= itemB;
797
- }),
797
+ }, true),
798
798
  }];
799
799
  });
800
800
  }); },
801
801
  };
802
802
 
803
- var _a$3;
804
- var primitives$4 = (_a$3 = {},
805
- _a$3[calc.name] = calc,
806
- _a$3[lessThan.name] = lessThan,
807
- _a$3[greaterThan.name] = greaterThan,
808
- _a$3);
803
+ var _a$4;
804
+ var primitives$5 = (_a$4 = {},
805
+ _a$4[calc.name] = calc,
806
+ _a$4[lessThan.name] = lessThan,
807
+ _a$4[greaterThan.name] = greaterThan,
808
+ _a$4);
809
809
 
810
810
  var filterList = {
811
811
  name: "filterList",
@@ -821,7 +821,7 @@ var filterList = {
821
821
  impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
822
822
  return __generator(this, function (_a) {
823
823
  return [2 /*return*/, {
824
- list: binaryOnTreeBranch(inputs.list, inputs.keep, function (branchA, branchB) {
824
+ list: binaryOnTreeBranch(inputs.list || {}, inputs.keep || {}, function (branchA, branchB) {
825
825
  return branchA.filter(function (item, index) {
826
826
  return (branchB[Math.min(index, branchB.length - 1)] ===
827
827
  true);
@@ -930,14 +930,14 @@ var trimTree = {
930
930
  }); },
931
931
  };
932
932
 
933
- var _a$2;
934
- var primitives$3 = (_a$2 = {},
935
- _a$2[graftTree.name] = graftTree,
936
- _a$2[trimTree.name] = trimTree,
937
- _a$2[listItem.name] = listItem,
938
- _a$2[listLength.name] = listLength,
939
- _a$2[filterList.name] = filterList,
940
- _a$2);
933
+ var _a$3;
934
+ var primitives$4 = (_a$3 = {},
935
+ _a$3[graftTree.name] = graftTree,
936
+ _a$3[trimTree.name] = trimTree,
937
+ _a$3[listItem.name] = listItem,
938
+ _a$3[listLength.name] = listLength,
939
+ _a$3[filterList.name] = filterList,
940
+ _a$3);
941
941
 
942
942
  var series = {
943
943
  name: "series",
@@ -971,10 +971,10 @@ var series = {
971
971
  }); },
972
972
  };
973
973
 
974
- var _a$1;
975
- var primitives$2 = (_a$1 = {},
976
- _a$1[series.name] = series,
977
- _a$1);
974
+ var _a$2;
975
+ var primitives$3 = (_a$2 = {},
976
+ _a$2[series.name] = series,
977
+ _a$2);
978
978
 
979
979
  var mergeTree = {
980
980
  name: "mergeTree",
@@ -1005,12 +1005,60 @@ var mergeTree = {
1005
1005
  }); },
1006
1006
  };
1007
1007
 
1008
+ var _a$1;
1009
+ var primitives$2 = (_a$1 = {},
1010
+ _a$1[mergeTree.name] = mergeTree,
1011
+ _a$1);
1012
+
1013
+ var groupAnd = {
1014
+ name: "groupAnd",
1015
+ label: "Group and",
1016
+ description: "Returns true if all of the items in a group are true",
1017
+ inputs: {
1018
+ tree: "boolean",
1019
+ },
1020
+ outputs: {
1021
+ result: "boolean",
1022
+ },
1023
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1024
+ return __generator(this, function (_a) {
1025
+ return [2 /*return*/, {
1026
+ result: mapTreeBranch(inputs.tree, function (branch) {
1027
+ return [branch.reduce(function (acc, val) { return acc && val; }, true)];
1028
+ }),
1029
+ }];
1030
+ });
1031
+ }); },
1032
+ };
1033
+
1034
+ var groupOr = {
1035
+ name: "groupOr",
1036
+ label: "Group or",
1037
+ description: "Returns true if any of the items in a group are true",
1038
+ inputs: {
1039
+ tree: "boolean",
1040
+ },
1041
+ outputs: {
1042
+ result: "boolean",
1043
+ },
1044
+ impl: function (inputs) { return __awaiter(void 0, void 0, void 0, function () {
1045
+ return __generator(this, function (_a) {
1046
+ return [2 /*return*/, {
1047
+ result: mapTreeBranch(inputs.tree, function (branch) {
1048
+ return [branch.reduce(function (acc, val) { return acc || val; }, false)];
1049
+ }),
1050
+ }];
1051
+ });
1052
+ }); },
1053
+ };
1054
+
1008
1055
  var _a;
1009
1056
  var primitives$1 = (_a = {},
1010
- _a[mergeTree.name] = mergeTree,
1057
+ _a[groupAnd.name] = groupAnd,
1058
+ _a[groupOr.name] = groupOr,
1011
1059
  _a);
1012
1060
 
1013
- var primitives = __assign(__assign(__assign(__assign(__assign({}, primitives$5), primitives$4), primitives$3), primitives$2), primitives$1);
1061
+ var primitives = __assign(__assign(__assign(__assign(__assign(__assign({}, primitives$6), primitives$5), primitives$4), primitives$3), primitives$2), primitives$1);
1014
1062
 
1015
1063
  function isPrimitive(node) {
1016
1064
  return node.impl !== undefined;
@@ -1168,11 +1216,11 @@ var Engine = /** @class */ (function () {
1168
1216
  params: params_1,
1169
1217
  executionId: executionId,
1170
1218
  context: context,
1219
+ result: result_1,
1171
1220
  startTime: startTime_1,
1172
1221
  endTime: endTime_1,
1173
1222
  duration: endTime_1 - startTime_1,
1174
1223
  });
1175
- console.log("functionReult", name_1, inputs_1, params_1, result_1);
1176
1224
  _e.label = 4;
1177
1225
  case 4:
1178
1226
  _i++;
@@ -1187,11 +1235,12 @@ var Engine = /** @class */ (function () {
1187
1235
  params: params,
1188
1236
  executionId: executionId,
1189
1237
  context: context,
1238
+ result: result,
1190
1239
  startTime: startTime,
1191
1240
  endTime: endTime,
1192
1241
  duration: endTime - startTime,
1193
1242
  });
1194
- console.log("graph run done", result, context, endTime - startTime);
1243
+ // console.log("graph run done", result, context, endTime - startTime);
1195
1244
  return [2 /*return*/, result];
1196
1245
  }
1197
1246
  });
@@ -1431,11 +1480,11 @@ function Control(_a) {
1431
1480
  }
1432
1481
  }
1433
1482
 
1434
- var styles = {"DefaultNode":"DefaultNode_R2P6c","selected":"selected_VmB-F","active":"active_zjUzx","Log":"Log_dsq5e","Label":"Label_wBwWA","Input":"Input_Yhvzf","Output":"Output_e4yF-","Table":"Table_aZyRT"};
1483
+ var styles = {"DefaultNode":"DefaultNode_R2P6c","selected":"selected_VmB-F","active":"active_zjUzx","Log":"Log_dsq5e","Label":"Label_wBwWA","Input":"Input_Yhvzf","Output":"Output_e4yF-","PreviewHead":"PreviewHead_oFT4K","expanded":"expanded_3vnbi","Preview":"Preview_HbkZ6","Table":"Table_aZyRT","GroupHead":"GroupHead_QJhST","GroupChildren":"GroupChildren_NKx-B","GroupLeaf":"GroupLeaf_eliT8"};
1435
1484
 
1436
1485
  var Input = function (_a) {
1437
1486
  var _b;
1438
- var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data;
1487
+ var name = _a.name, varDef = _a.varDef, id = _a.id, data = _a.data, onClick = _a.onClick;
1439
1488
  var normalized = normalizeVarDef(varDef);
1440
1489
  var value = (_b = data.inputs) === null || _b === void 0 ? void 0 : _b[name];
1441
1490
  var isRef = isReference(value);
@@ -1447,16 +1496,16 @@ var Input = function (_a) {
1447
1496
  }; };
1448
1497
  return (React.createElement("tr", { key: name, className: classNames(styles.Input, styles["type-".concat(normalized.type)]), style: {
1449
1498
  "--type-color": "var(--color-".concat(normalized.type, ")"),
1450
- } },
1499
+ }, onClick: onClick },
1451
1500
  React.createElement("td", null,
1452
- varDef.label || name,
1501
+ normalized.label || name,
1453
1502
  React.createElement(react.Handle, { type: "target", position: react.Position.Left, id: "".concat(id, "-").concat(name) })),
1454
1503
  React.createElement("td", null, !isRef && (React.createElement(Control, { type: normalized.type, value: value, onChange: handleInputChange(name) })))));
1455
1504
  };
1456
1505
 
1457
1506
  var Param = function (_a) {
1458
1507
  var _b;
1459
- _a.id; var name = _a.name, varDef = _a.varDef, data = _a.data;
1508
+ _a.id; var name = _a.name, varDef = _a.varDef, data = _a.data, onClick = _a.onClick;
1460
1509
  var normalized = normalizeVarDef(varDef);
1461
1510
  var value = (_b = data.params) === null || _b === void 0 ? void 0 : _b[name];
1462
1511
  var isRef = isReference(value);
@@ -1468,19 +1517,20 @@ var Param = function (_a) {
1468
1517
  }; };
1469
1518
  return (React.createElement("tr", { key: name, className: classNames(styles.Input, styles["type-".concat(normalized.type)]), style: {
1470
1519
  "--type-color": "var(--color-".concat(normalized.type, ")"),
1471
- } },
1472
- React.createElement("td", null, varDef.label || name),
1520
+ }, onClick: onClick },
1521
+ React.createElement("td", null, normalized.label || name),
1473
1522
  React.createElement("td", null, !isRef && (React.createElement(Control, { type: normalized.type, options: normalized.options, value: value, onChange: handleParamChange(name) })))));
1474
1523
  };
1475
1524
 
1476
1525
  var Output = function (_a) {
1477
- var name = _a.name, varDef = _a.varDef, id = _a.id;
1526
+ var name = _a.name, varDef = _a.varDef, id = _a.id, onClick = _a.onClick, focus = _a.focus;
1478
1527
  var normalized = normalizeVarDef(varDef);
1479
1528
  return (React.createElement("tr", { key: name, className: classNames(styles.Output, styles["type-".concat(normalized.type)]), style: {
1480
1529
  "--type-color": "var(--color-".concat(normalized.type, ")"),
1481
- } },
1530
+ }, onClick: onClick },
1482
1531
  React.createElement("td", { colSpan: 2 },
1483
- varDef.label || name,
1532
+ focus && "👁 ",
1533
+ normalized.label || name,
1484
1534
  React.createElement(react.Handle, { type: "source", position: react.Position.Right, id: "".concat(id, "-").concat(name) }))));
1485
1535
  };
1486
1536
 
@@ -1523,24 +1573,110 @@ function NodeContainer(_a) {
1523
1573
  children));
1524
1574
  }
1525
1575
 
1576
+ function createTreeStructure(tree) {
1577
+ var keys = Object.keys(tree);
1578
+ var structure = [];
1579
+ keys.forEach(function (key) {
1580
+ var path = key.split(";");
1581
+ var parent = structure;
1582
+ for (var i = 0; i < path.length; i++) {
1583
+ var part = parseInt(path[i], 10);
1584
+ if (!parent[part]) {
1585
+ parent[part] = [];
1586
+ }
1587
+ parent = parent[part];
1588
+ }
1589
+ parent.push({ items: tree[key] });
1590
+ });
1591
+ return structure;
1592
+ }
1593
+ function TreeBranchView(_a) {
1594
+ var branch = _a.branch, name = _a.name;
1595
+ return (React.createElement("div", null,
1596
+ React.createElement("div", { className: styles.GroupHead },
1597
+ React.createElement("span", null,
1598
+ "group ",
1599
+ name)),
1600
+ React.createElement("div", { className: styles.GroupChildren }, branch.map(function (item, index) {
1601
+ // sub branch
1602
+ if (Array.isArray(item)) {
1603
+ return (React.createElement(TreeBranchView, { key: index, branch: item, name: "".concat(name, ";").concat(index) }));
1604
+ }
1605
+ // items
1606
+ return (React.createElement("div", { key: index }, item.items.map(function (it, i) {
1607
+ var _a;
1608
+ var label = (_a = it === null || it === void 0 ? void 0 : it.toString) === null || _a === void 0 ? void 0 : _a.call(it);
1609
+ if (label === "[object Object]") {
1610
+ label = "{...}";
1611
+ }
1612
+ return (React.createElement("div", { key: i, className: styles.GroupLeaf, title: JSON.stringify(it, null, 2) }, label));
1613
+ })));
1614
+ }))));
1615
+ }
1616
+ function TreeView(_a) {
1617
+ var value = _a.value;
1618
+ var structure = createTreeStructure(value || {});
1619
+ return (React.createElement("div", null, structure.map(function (branch, index) { return (React.createElement(TreeBranchView, { branch: branch, name: index })); })));
1620
+ }
1621
+ var Log = React.memo(function (_a) {
1622
+ var id = _a.id, data = _a.data, selected = _a.selected;
1623
+ var engine = useEngine();
1624
+ var _b = __read(React.useState(null), 2), value = _b[0], setValue = _b[1];
1625
+ React.useEffect(function () {
1626
+ return engine.subscribe("functionResult", function (event) {
1627
+ var _a;
1628
+ if (event.name === id) {
1629
+ setValue(((_a = event.context.scope[id]) === null || _a === void 0 ? void 0 : _a.data) || null);
1630
+ }
1631
+ });
1632
+ }, []);
1633
+ return (React.createElement(NodeContainer, { id: id, label: data.name, selected: selected, className: styles.Log },
1634
+ React.createElement(TreeView, { value: value }),
1635
+ React.createElement(react.Handle, { type: "target", position: react.Position.Left, id: "".concat(id, "-data") }),
1636
+ React.createElement(react.Handle, { type: "source", position: react.Position.Right, id: "".concat(id, "-data") })));
1637
+ });
1638
+ Log.displayName = "LogNode";
1639
+
1526
1640
  function GenericNode(_a) {
1641
+ var _b;
1642
+ var _c;
1527
1643
  var id = _a.id, data = _a.data, selected = _a.selected, inputs = _a.inputs, outputs = _a.outputs, params = _a.params, children = _a.children;
1644
+ var inputEntries = Object.entries(inputs || data.inputDefs || {});
1645
+ var outputEntries = Object.entries(outputs || data.outputDefs || {});
1646
+ var paramEntries = Object.entries(params || data.paramDefs || {});
1647
+ var engine = useEngine();
1648
+ var _d = __read(React.useState({}), 2), result = _d[0], setResult = _d[1];
1649
+ var _e = __read(React.useState(((_c = outputEntries[0]) === null || _c === void 0 ? void 0 : _c[0]) || null), 2), focus = _e[0], setFocus = _e[1];
1650
+ var _f = __read(React.useState(false), 2), showPreview = _f[0], setShowPreview = _f[1];
1651
+ var previewValue = focus ? result[focus] : Object.values(result)[0];
1652
+ React.useEffect(function () {
1653
+ return engine.subscribe("functionResult", function (event) {
1654
+ if (event.name === id) {
1655
+ setResult(event.result || {});
1656
+ }
1657
+ });
1658
+ }, []);
1528
1659
  return (React.createElement(NodeContainer, { label: data.name, selected: selected, id: id },
1529
1660
  children,
1530
1661
  React.createElement("table", null,
1531
1662
  React.createElement("tbody", null,
1532
- Object.entries(outputs || data.outputDefs || {}).map(function (_a) {
1663
+ outputEntries.map(function (_a) {
1533
1664
  var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
1534
- return (React.createElement(Output, { key: name, name: name, varDef: varDef, id: id }));
1665
+ return (React.createElement(Output, { key: name, name: name, varDef: varDef, id: id, onClick: function () { return setFocus(name); }, focus: showPreview && focus === name }));
1535
1666
  }),
1536
- Object.entries(inputs || data.inputDefs || {}).map(function (_a) {
1667
+ inputEntries.map(function (_a) {
1537
1668
  var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
1538
1669
  return (React.createElement(Input, { key: name, name: name, varDef: varDef, id: id, data: data }));
1539
1670
  }),
1540
- Object.entries(params || data.paramDefs || {}).map(function (_a) {
1671
+ paramEntries.map(function (_a) {
1541
1672
  var _b = __read(_a, 2), name = _b[0], varDef = _b[1];
1542
1673
  return (React.createElement(Param, { key: name, name: name, varDef: varDef, id: id, data: data }));
1543
- })))));
1674
+ }))),
1675
+ React.createElement("div", { className: classNames(styles.PreviewHead, (_b = {},
1676
+ _b[styles.expanded] = showPreview,
1677
+ _b)), onClick: function () { return setShowPreview(!showPreview); } }, "Preview"),
1678
+ showPreview && (React.createElement("div", { className: styles.Preview },
1679
+ React.createElement(TreeView, { value: previewValue })))));
1544
1680
  }
1545
1681
 
1546
1682
  var math = mathjs.create(mathjs.all, {});
@@ -1584,38 +1720,6 @@ var Default = React.memo(function (_a) {
1584
1720
  });
1585
1721
  Default.displayName = "DefaultNode";
1586
1722
 
1587
- var Log = React.memo(function (_a) {
1588
- var id = _a.id, data = _a.data, selected = _a.selected;
1589
- var engine = useEngine();
1590
- var _b = __read(React.useState(null), 2), value = _b[0], setValue = _b[1];
1591
- React.useEffect(function () {
1592
- return engine.subscribe("functionResult", function (event) {
1593
- var _a;
1594
- if (event.name === id) {
1595
- setValue(((_a = event.context.scope[id]) === null || _a === void 0 ? void 0 : _a.data) || null);
1596
- }
1597
- });
1598
- }, []);
1599
- return (React.createElement(NodeContainer, { id: id, label: data.name, selected: selected, className: styles.Log },
1600
- React.createElement("div", { className: styles.Table },
1601
- React.createElement("table", null, Object.entries(value || {}).map(function (_a) {
1602
- var _b = __read(_a, 2), key = _b[0], val = _b[1];
1603
- return (React.createElement(React.Fragment, { key: key },
1604
- React.createElement("tbody", null,
1605
- React.createElement("tr", null,
1606
- React.createElement("th", { colSpan: 2 }, "{".concat(key, "}"))),
1607
- val.map(function (item, index) {
1608
- var _a;
1609
- return (React.createElement("tr", { key: "".concat(key, "-").concat(index) },
1610
- React.createElement("td", null, index),
1611
- React.createElement("td", { title: JSON.stringify(item, null, 2) }, (_a = item === null || item === void 0 ? void 0 : item.toString) === null || _a === void 0 ? void 0 : _a.call(item))));
1612
- }))));
1613
- }))),
1614
- React.createElement(react.Handle, { type: "target", position: react.Position.Left, id: "".concat(id, "-data") }),
1615
- React.createElement(react.Handle, { type: "source", position: react.Position.Right, id: "".concat(id, "-data") })));
1616
- });
1617
- Log.displayName = "LogNode";
1618
-
1619
1723
  function uid() {
1620
1724
  return Math.random().toString(36).substring(2, 15);
1621
1725
  }
@@ -1959,7 +2063,7 @@ function FlowInner(_a) {
1959
2063
  }, []);
1960
2064
  return (React.createElement(react.ReactFlow, { ref: drop, nodes: nodes, edges: edges, nodeTypes: nodeTypes, onNodesChange: onNodesChange, onEdgesChange: onEdgesChange, onNodesDelete: onNodesDelete, onEdgesDelete: onEdgesDelete, onNodeDragStop: function (e, n) { return updatePosition(n.id, n.position); }, onConnect: onConnect, onInit: setInstance, onPaneClick: handleClick, fitView: true,
1961
2065
  // panOnDrag={false}
1962
- selectionOnDrag: true, minZoom: 0.1, deleteKeyCode: "Delete" },
2066
+ selectionOnDrag: true, minZoom: 0.1, maxZoom: 4, deleteKeyCode: "Delete" },
1963
2067
  React.createElement(react.Background, { color: "#ccc", variant: react.BackgroundVariant.Dots }),
1964
2068
  React.createElement(react.Controls, null)));
1965
2069
  }