@linkdlab/funcnodes_react_flow 0.1.0 → 0.1.2

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 (194) hide show
  1. package/dist/frontend/datarenderer/images.d.ts +11 -0
  2. package/dist/frontend/datarenderer/images.js +13 -0
  3. package/dist/frontend/datarenderer/images.js.map +1 -0
  4. package/dist/frontend/datarenderer/index.d.ts +16 -0
  5. package/dist/frontend/datarenderer/index.js +26 -0
  6. package/dist/frontend/datarenderer/index.js.map +1 -0
  7. package/dist/frontend/datarenderer/plotly.d.ts +14 -0
  8. package/dist/frontend/datarenderer/plotly.js +53 -0
  9. package/dist/frontend/datarenderer/plotly.js.map +1 -0
  10. package/dist/frontend/dialog.d.ts +17 -0
  11. package/dist/frontend/dialog.js +26 -0
  12. package/dist/frontend/dialog.js.map +1 -0
  13. package/dist/frontend/edge.d.ts +5 -0
  14. package/dist/frontend/edge.js +40 -0
  15. package/dist/frontend/edge.js.map +1 -0
  16. package/dist/frontend/funcnodesreactflow/index.d.ts +6 -0
  17. package/dist/frontend/funcnodesreactflow/index.js +94 -0
  18. package/dist/frontend/funcnodesreactflow/index.js.map +1 -0
  19. package/dist/frontend/funcnodesreactflow/react_flow_layer.d.ts +5 -0
  20. package/dist/frontend/funcnodesreactflow/react_flow_layer.js +149 -0
  21. package/dist/frontend/funcnodesreactflow/react_flow_layer.js.map +1 -0
  22. package/dist/frontend/header/index.d.ts +4 -0
  23. package/dist/frontend/header/index.js +227 -0
  24. package/dist/frontend/header/index.js.map +1 -0
  25. package/{src/frontend/index.tsx → dist/frontend/index.d.ts} +0 -1
  26. package/dist/frontend/index.js +4 -0
  27. package/dist/frontend/index.js.map +1 -0
  28. package/dist/frontend/lib.d.ts +10 -0
  29. package/dist/frontend/lib.js +107 -0
  30. package/dist/frontend/lib.js.map +1 -0
  31. package/{src/frontend/node/index.tsx → dist/frontend/node/index.d.ts} +0 -1
  32. package/dist/frontend/node/index.js +3 -0
  33. package/dist/frontend/node/index.js.map +1 -0
  34. package/dist/frontend/node/io/default_input_renderer.d.ts +11 -0
  35. package/dist/frontend/node/io/default_input_renderer.js +235 -0
  36. package/dist/frontend/node/io/default_input_renderer.js.map +1 -0
  37. package/dist/frontend/node/io/default_output_render.d.ts +6 -0
  38. package/dist/frontend/node/io/default_output_render.js +23 -0
  39. package/dist/frontend/node/io/default_output_render.js.map +1 -0
  40. package/dist/frontend/node/io/handle_renderer.d.ts +6 -0
  41. package/dist/frontend/node/io/handle_renderer.js +70 -0
  42. package/dist/frontend/node/io/handle_renderer.js.map +1 -0
  43. package/{src/frontend/node/io/index.tsx → dist/frontend/node/io/index.d.ts} +0 -1
  44. package/dist/frontend/node/io/index.js +4 -0
  45. package/dist/frontend/node/io/index.js.map +1 -0
  46. package/dist/frontend/node/io/io.d.ts +16 -0
  47. package/dist/frontend/node/io/io.js +98 -0
  48. package/dist/frontend/node/io/io.js.map +1 -0
  49. package/dist/frontend/node/io/nodeinput.d.ts +6 -0
  50. package/dist/frontend/node/io/nodeinput.js +74 -0
  51. package/dist/frontend/node/io/nodeinput.js.map +1 -0
  52. package/dist/frontend/node/io/nodeoutput.d.ts +6 -0
  53. package/dist/frontend/node/io/nodeoutput.js +19 -0
  54. package/dist/frontend/node/io/nodeoutput.js.map +1 -0
  55. package/dist/frontend/node/node.d.ts +20 -0
  56. package/dist/frontend/node/node.js +118 -0
  57. package/dist/frontend/node/node.js.map +1 -0
  58. package/dist/frontend/utils/colorpicker.d.ts +19 -0
  59. package/dist/frontend/utils/colorpicker.js +209 -0
  60. package/dist/frontend/utils/colorpicker.js.map +1 -0
  61. package/dist/frontend/utils/jsondata.d.ts +6 -0
  62. package/dist/frontend/utils/jsondata.js +8 -0
  63. package/dist/frontend/utils/jsondata.js.map +1 -0
  64. package/dist/frontend/utils/table.d.ts +11 -0
  65. package/dist/frontend/utils/table.js +108 -0
  66. package/dist/frontend/utils/table.js.map +1 -0
  67. package/dist/funcnodes/funcnodesworker.d.ts +72 -0
  68. package/dist/funcnodes/funcnodesworker.js +532 -0
  69. package/dist/funcnodes/funcnodesworker.js.map +1 -0
  70. package/dist/funcnodes/index.js +5 -0
  71. package/dist/funcnodes/index.js.map +1 -0
  72. package/dist/funcnodes/websocketworker.d.ts +27 -0
  73. package/dist/funcnodes/websocketworker.js +224 -0
  74. package/dist/funcnodes/websocketworker.js.map +1 -0
  75. package/dist/funcnodes/workermanager.d.ts +32 -0
  76. package/dist/funcnodes/workermanager.js +241 -0
  77. package/dist/funcnodes/workermanager.js.map +1 -0
  78. package/dist/index.d.ts +2 -0
  79. package/dist/index.js +3 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/states/edge.d.ts +7 -0
  82. package/dist/states/edge.js +6 -0
  83. package/dist/states/edge.js.map +1 -0
  84. package/dist/states/edge.t.d.ts +16 -0
  85. package/dist/states/edge.t.js +2 -0
  86. package/dist/states/edge.t.js.map +1 -0
  87. package/dist/states/fnrfzst.d.ts +10 -0
  88. package/dist/states/fnrfzst.js +378 -0
  89. package/dist/states/fnrfzst.js.map +1 -0
  90. package/dist/states/fnrfzst.t.d.ts +100 -0
  91. package/dist/states/fnrfzst.t.js +2 -0
  92. package/dist/states/fnrfzst.t.js.map +1 -0
  93. package/dist/states/index.d.ts +7 -0
  94. package/dist/states/index.js +6 -0
  95. package/dist/states/index.js.map +1 -0
  96. package/dist/states/lib.d.ts +3 -0
  97. package/dist/states/lib.js +14 -0
  98. package/dist/states/lib.js.map +1 -0
  99. package/dist/states/lib.t.d.ts +24 -0
  100. package/dist/states/lib.t.js +2 -0
  101. package/dist/states/lib.t.js.map +1 -0
  102. package/dist/states/node.d.ts +4 -0
  103. package/dist/states/node.js +43 -0
  104. package/dist/states/node.js.map +1 -0
  105. package/dist/states/node.t.d.ts +73 -0
  106. package/dist/states/node.t.js +2 -0
  107. package/dist/states/node.t.js.map +1 -0
  108. package/dist/states/nodeio.t.d.ts +67 -0
  109. package/dist/states/nodeio.t.js +2 -0
  110. package/dist/states/nodeio.t.js.map +1 -0
  111. package/dist/states/nodespace.d.ts +3 -0
  112. package/dist/states/nodespace.js +77 -0
  113. package/dist/states/nodespace.js.map +1 -0
  114. package/dist/states/nodespace.t.d.ts +16 -0
  115. package/dist/states/nodespace.t.js +2 -0
  116. package/dist/states/nodespace.t.js.map +1 -0
  117. package/dist/states/reactflow.d.ts +8 -0
  118. package/dist/states/reactflow.js +33 -0
  119. package/dist/states/reactflow.js.map +1 -0
  120. package/dist/states/reactflow.t.d.ts +11 -0
  121. package/dist/states/reactflow.t.js +2 -0
  122. package/dist/states/reactflow.t.js.map +1 -0
  123. package/dist/types/rendering.t.d.ts +10 -0
  124. package/dist/types/rendering.t.js +2 -0
  125. package/dist/types/rendering.t.js.map +1 -0
  126. package/dist/utils/index.d.ts +3 -0
  127. package/dist/utils/index.js +3 -0
  128. package/dist/utils/index.js.map +1 -0
  129. package/dist/utils/objects.d.ts +19 -0
  130. package/dist/utils/objects.js +118 -0
  131. package/dist/utils/objects.js.map +1 -0
  132. package/package.json +52 -21
  133. package/package copy.json +0 -63
  134. package/public/favicon.ico +0 -0
  135. package/public/index.html +0 -43
  136. package/public/logo192.png +0 -0
  137. package/public/logo512.png +0 -0
  138. package/public/manifest.json +0 -25
  139. package/public/robots.txt +0 -3
  140. package/public/worker_manager +0 -1
  141. package/src/App.css +0 -38
  142. package/src/App.test.tsx +0 -9
  143. package/src/App.tsx +0 -22
  144. package/src/frontend/datarenderer/images.tsx +0 -28
  145. package/src/frontend/datarenderer/index.tsx +0 -53
  146. package/src/frontend/datarenderer/plotly.tsx +0 -82
  147. package/src/frontend/dialog.scss +0 -88
  148. package/src/frontend/dialog.tsx +0 -70
  149. package/src/frontend/edge.scss +0 -15
  150. package/src/frontend/edge.tsx +0 -31
  151. package/src/frontend/funcnodesreactflow.scss +0 -63
  152. package/src/frontend/funcnodesreactflow.tsx +0 -283
  153. package/src/frontend/header/header.scss +0 -48
  154. package/src/frontend/header/index.tsx +0 -268
  155. package/src/frontend/layout/htmlelements.scss +0 -63
  156. package/src/frontend/lib.scss +0 -157
  157. package/src/frontend/lib.tsx +0 -198
  158. package/src/frontend/node/io/default_input_renderer.tsx +0 -327
  159. package/src/frontend/node/io/default_output_render.tsx +0 -26
  160. package/src/frontend/node/io/handle_renderer.tsx +0 -89
  161. package/src/frontend/node/io/io.scss +0 -91
  162. package/src/frontend/node/io/io.tsx +0 -114
  163. package/src/frontend/node/io/nodeinput.tsx +0 -125
  164. package/src/frontend/node/io/nodeoutput.tsx +0 -37
  165. package/src/frontend/node/node.scss +0 -265
  166. package/src/frontend/node/node.tsx +0 -208
  167. package/src/frontend/nodecontextmenu.scss +0 -18
  168. package/src/frontend/utils/colorpicker.scss +0 -37
  169. package/src/frontend/utils/colorpicker.tsx +0 -342
  170. package/src/frontend/utils/jsondata.tsx +0 -19
  171. package/src/frontend/utils/table.scss +0 -22
  172. package/src/frontend/utils/table.tsx +0 -159
  173. package/src/funcnodes/funcnodesworker.ts +0 -455
  174. package/src/funcnodes/websocketworker.ts +0 -153
  175. package/src/funcnodes/workermanager.ts +0 -229
  176. package/src/index.css +0 -13
  177. package/src/index.tsx +0 -19
  178. package/src/logo.svg +0 -1
  179. package/src/react-app-env.d.ts +0 -1
  180. package/src/reportWebVitals.ts +0 -15
  181. package/src/setupTests.ts +0 -5
  182. package/src/state/edge.ts +0 -35
  183. package/src/state/fnrfzst.ts +0 -440
  184. package/src/state/index.ts +0 -139
  185. package/src/state/lib.ts +0 -26
  186. package/src/state/node.ts +0 -118
  187. package/src/state/nodespace.ts +0 -151
  188. package/src/state/reactflow.ts +0 -65
  189. package/src/types/lib.d.ts +0 -16
  190. package/src/types/node.d.ts +0 -29
  191. package/src/types/nodeio.d.ts +0 -82
  192. package/src/types/worker.d.ts +0 -56
  193. package/tsconfig.json +0 -20
  194. /package/{src/funcnodes/index.ts → dist/funcnodes/index.d.ts} +0 -0
@@ -0,0 +1,227 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ import { useContext, useState } from "react";
38
+ import { FuncNodesContext } from "../funcnodesreactflow";
39
+ import "./header.scss";
40
+ import CustomDialog from "../dialog";
41
+ import React from "react";
42
+ var NewWorkerDialog = function (_a) {
43
+ var trigger = _a.trigger;
44
+ var _b = useState(""), name = _b[0], setName = _b[1];
45
+ var _c = useState(false), copyLib = _c[0], setCopyLib = _c[1];
46
+ var _d = useState(false), copyNS = _d[0], setCopyNS = _d[1];
47
+ var fnrf_zst = useContext(FuncNodesContext);
48
+ var workersstate = fnrf_zst.workers();
49
+ var _e = useState({
50
+ name: "None",
51
+ uuid: "",
52
+ }), reference = _e[0], setReference = _e[1];
53
+ return (React.createElement(CustomDialog, { trigger: trigger, title: "New Worker", description: "Please provide a name and select a another worker as interpreter reference" },
54
+ React.createElement("div", null,
55
+ "Name:",
56
+ React.createElement("br", null),
57
+ React.createElement("input", { className: "styledinput", onChange: function (e) {
58
+ setName(e.currentTarget.value);
59
+ }, value: name })),
60
+ React.createElement("div", null,
61
+ "Reference Worker:",
62
+ React.createElement("br", null),
63
+ React.createElement("select", { className: "styleddropdown", onChange: function (e) {
64
+ var uuid = e.target.value;
65
+ var name = e.target.selectedOptions[0].innerText;
66
+ setReference({ name: name, uuid: uuid });
67
+ }, value: reference.uuid },
68
+ React.createElement("option", { value: "" }, "None"),
69
+ Object.keys(workersstate).map(function (workerid) { return (React.createElement("option", { className: "", key: workerid, value: workerid }, workersstate[workerid].name || workerid)); })),
70
+ reference.uuid && (React.createElement("div", null,
71
+ React.createElement("div", null,
72
+ "Copy Lib:",
73
+ " ",
74
+ React.createElement("input", { type: "checkbox", className: "styledcheckbox", checked: copyLib, onChange: function (e) {
75
+ setCopyLib(e.currentTarget.checked);
76
+ } })),
77
+ copyLib && (React.createElement("div", null,
78
+ "Copy Nodespace",
79
+ " ",
80
+ React.createElement("input", { type: "checkbox", className: "styledcheckbox", checked: copyNS, onChange: function (e) {
81
+ setCopyNS(e.currentTarget.checked);
82
+ if (e.currentTarget.checked) {
83
+ setCopyLib(true);
84
+ }
85
+ } }))))),
86
+ name && (React.createElement("div", null,
87
+ React.createElement("button", { className: "styledbtn", onClick: function () {
88
+ var _a;
89
+ (_a = fnrf_zst.workermanager) === null || _a === void 0 ? void 0 : _a.new_worker({
90
+ name: name,
91
+ reference: reference.uuid,
92
+ copyLib: copyLib,
93
+ copyNS: copyNS,
94
+ });
95
+ } }, "Create"))))));
96
+ };
97
+ var Statusbar = function () {
98
+ var fnrf_zst = useContext(FuncNodesContext);
99
+ var progress = fnrf_zst.progress_state();
100
+ return (React.createElement("div", { className: "statusbar" },
101
+ React.createElement("span", { className: "statusbar-progressbar", style: { width: Math.min(100, 100 * progress.progress) + "%" } }),
102
+ React.createElement("span", { className: "statusbar-message" }, progress.message)));
103
+ };
104
+ var FuncnodesHeader = function () {
105
+ var fnrf_zst = useContext(FuncNodesContext);
106
+ var workersstate = fnrf_zst.workers();
107
+ var onNew = function () {
108
+ var _a;
109
+ var alert = window.confirm("Are you sure you want to start a new flow?");
110
+ if (alert) {
111
+ (_a = fnrf_zst.worker) === null || _a === void 0 ? void 0 : _a.clear();
112
+ }
113
+ };
114
+ var onSave = function () { return __awaiter(void 0, void 0, void 0, function () {
115
+ var data, blob, url, a;
116
+ var _a;
117
+ return __generator(this, function (_b) {
118
+ switch (_b.label) {
119
+ case 0: return [4 /*yield*/, ((_a = fnrf_zst.worker) === null || _a === void 0 ? void 0 : _a.save())];
120
+ case 1:
121
+ data = _b.sent();
122
+ if (!data)
123
+ return [2 /*return*/];
124
+ blob = new Blob([JSON.stringify(data)], {
125
+ type: "application/json",
126
+ });
127
+ url = URL.createObjectURL(blob);
128
+ a = document.createElement("a");
129
+ a.href = url;
130
+ a.download = "flow.json";
131
+ a.click();
132
+ URL.revokeObjectURL(url);
133
+ a.remove();
134
+ return [2 /*return*/];
135
+ }
136
+ });
137
+ }); };
138
+ var onOpen = function () { return __awaiter(void 0, void 0, void 0, function () {
139
+ var input;
140
+ return __generator(this, function (_a) {
141
+ input = document.createElement("input");
142
+ input.type = "file";
143
+ input.accept = ".json";
144
+ input.onchange = function (e) { return __awaiter(void 0, void 0, void 0, function () {
145
+ var file, reader;
146
+ var _a;
147
+ return __generator(this, function (_b) {
148
+ file = (_a = e.target.files) === null || _a === void 0 ? void 0 : _a[0];
149
+ if (!file)
150
+ return [2 /*return*/];
151
+ reader = new FileReader();
152
+ reader.onload = function (e) { return __awaiter(void 0, void 0, void 0, function () {
153
+ var contents, data;
154
+ var _a, _b;
155
+ return __generator(this, function (_c) {
156
+ switch (_c.label) {
157
+ case 0:
158
+ contents = (_a = e.target) === null || _a === void 0 ? void 0 : _a.result;
159
+ if (!contents)
160
+ return [2 /*return*/];
161
+ data = JSON.parse(contents);
162
+ return [4 /*yield*/, ((_b = fnrf_zst.worker) === null || _b === void 0 ? void 0 : _b.load(data))];
163
+ case 1:
164
+ _c.sent();
165
+ return [2 /*return*/];
166
+ }
167
+ });
168
+ }); };
169
+ reader.readAsText(file);
170
+ return [2 /*return*/];
171
+ });
172
+ }); };
173
+ input.click();
174
+ return [2 /*return*/];
175
+ });
176
+ }); };
177
+ var workerselectchange = function (e) {
178
+ var workerid = e.target.value;
179
+ if (workerid === "__select__")
180
+ return;
181
+ if (!fnrf_zst.workers)
182
+ return;
183
+ if (!fnrf_zst.workermanager)
184
+ return;
185
+ if (!workersstate[workerid])
186
+ return;
187
+ if (!workersstate[workerid].active) {
188
+ //create popup
189
+ var ans = window.confirm("this is an inactive worker, selecting it will start it, continue?");
190
+ if (!ans)
191
+ return;
192
+ }
193
+ fnrf_zst.workermanager.set_active(workerid);
194
+ };
195
+ return (React.createElement("div", { className: "funcnodesreactflowheader" },
196
+ React.createElement("div", { className: "headerelement" },
197
+ React.createElement(Statusbar, null)),
198
+ React.createElement("div", { className: "headerelement" },
199
+ React.createElement("select", { className: "workerselect styleddropdown", value: fnrf_zst.worker ? fnrf_zst.worker.uuid : "__select__", onChange: workerselectchange },
200
+ React.createElement("option", { disabled: true, value: "__select__" }, "Select Worker"),
201
+ Object.keys(workersstate).map(function (workerid) { return (React.createElement("option", { className: "workerselectoption" +
202
+ (workersstate[workerid].active ? " active" : " inactive"), key: workerid, value: workerid }, workersstate[workerid].name || workerid)); }))),
203
+ fnrf_zst.worker && (React.createElement(React.Fragment, null,
204
+ React.createElement("div", { className: "headerelement" },
205
+ React.createElement("button", { className: "styledbtn", onClick: function () {
206
+ if (!fnrf_zst.worker)
207
+ return;
208
+ fnrf_zst.worker.stop();
209
+ } }, "stop worker")),
210
+ React.createElement("div", { className: "headerelement" },
211
+ React.createElement("button", { className: "styledbtn", onClick: function () {
212
+ var _a;
213
+ if (!fnrf_zst.worker)
214
+ return;
215
+ (_a = fnrf_zst.workermanager) === null || _a === void 0 ? void 0 : _a.restart_worker(fnrf_zst.worker.uuid);
216
+ } }, "restart worker")))),
217
+ React.createElement("div", { className: "headerelement" },
218
+ React.createElement(NewWorkerDialog, { trigger: React.createElement("button", { className: "styledbtn" }, "new worker") })),
219
+ React.createElement("div", { className: "headerelement" },
220
+ React.createElement("button", { className: "styledbtn", onClick: onNew }, "new nodespace")),
221
+ React.createElement("div", { className: "headerelement" },
222
+ React.createElement("button", { className: "styledbtn", onClick: onOpen }, "open")),
223
+ React.createElement("div", { className: "headerelement" },
224
+ React.createElement("button", { className: "styledbtn", onClick: onSave }, "save"))));
225
+ };
226
+ export default FuncnodesHeader;
227
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frontend/header/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,eAAe,CAAC;AACvB,OAAO,YAAY,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,IAAM,eAAe,GAAG,UAAC,EAAyC;QAAvC,OAAO,aAAA;IAC1B,IAAA,KAAkB,QAAQ,CAAS,EAAE,CAAC,EAArC,IAAI,QAAA,EAAE,OAAO,QAAwB,CAAC;IACvC,IAAA,KAAwB,QAAQ,CAAU,KAAK,CAAC,EAA/C,OAAO,QAAA,EAAE,UAAU,QAA4B,CAAC;IACjD,IAAA,KAAsB,QAAQ,CAAU,KAAK,CAAC,EAA7C,MAAM,QAAA,EAAE,SAAS,QAA4B,CAAC;IACrD,IAAM,QAAQ,GACZ,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE/B,IAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IAElC,IAAA,KAA4B,QAAQ,CAAiC;QACzE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,EAAE;KACT,CAAC,EAHK,SAAS,QAAA,EAAE,YAAY,QAG5B,CAAC;IAEH,OAAO,CACL,oBAAC,YAAY,IACX,OAAO,EAAE,OAAO,EAChB,KAAK,EAAC,YAAY,EAClB,WAAW,EAAC,4EAA4E;QAExF;;YAEE,+BAAM;YACN,+BACE,SAAS,EAAC,aAAa,EACvB,QAAQ,EAAE,UAAC,CAAC;oBACV,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC,EACD,KAAK,EAAE,IAAI,GACX,CACE;QACN;;YAEE,+BAAM;YACN,gCACE,SAAS,EAAC,gBAAgB,EAC1B,QAAQ,EAAE,UAAC,CAAC;oBACV,IAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC5B,IAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnD,YAAY,CAAC,EAAE,IAAI,MAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;gBAC/B,CAAC,EACD,KAAK,EAAE,SAAS,CAAC,IAAI;gBAErB,gCAAQ,KAAK,EAAC,EAAE,WAAc;gBAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,CAC3C,gCAAQ,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,IAClD,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,QAAQ,CACjC,CACV,EAJ4C,CAI5C,CAAC,CACK;YACR,SAAS,CAAC,IAAI,IAAI,CACjB;gBACE;;oBACY,GAAG;oBACb,+BACE,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,UAAC,CAAC;4BACV,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;wBACtC,CAAC,GACD,CACE;gBACL,OAAO,IAAI,CACV;;oBACiB,GAAG;oBAClB,+BACE,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAC,CAAC;4BACV,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;4BACnC,IAAI,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gCAC5B,UAAU,CAAC,IAAI,CAAC,CAAC;4BACnB,CAAC;wBACH,CAAC,GACD,CACE,CACP,CACG,CACP;YACA,IAAI,IAAI,CACP;gBACE,gCACE,SAAS,EAAC,WAAW,EACrB,OAAO,EAAE;;wBACP,MAAA,QAAQ,CAAC,aAAa,0CAAE,UAAU,CAAC;4BACjC,IAAI,MAAA;4BACJ,SAAS,EAAE,SAAS,CAAC,IAAI;4BACzB,OAAO,SAAA;4BACP,MAAM,QAAA;yBACP,CAAC,CAAC;oBACL,CAAC,aAGM,CACL,CACP,CACG,CACO,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,SAAS,GAAG;IAChB,IAAM,QAAQ,GACZ,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC/B,IAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC;IAE3C,OAAO,CACL,6BAAK,SAAS,EAAC,WAAW;QACxB,8BACE,SAAS,EAAC,uBAAuB,EACjC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,GACxD;QACR,8BAAM,SAAS,EAAC,mBAAmB,IAAE,QAAQ,CAAC,OAAO,CAAQ,CACzD,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,IAAM,eAAe,GAAG;IACtB,IAAM,QAAQ,GACZ,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE/B,IAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;IACxC,IAAM,KAAK,GAAG;;QACZ,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC;QAC3E,IAAI,KAAK,EAAE,CAAC;YACV,MAAA,QAAQ,CAAC,MAAM,0CAAE,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,MAAM,GAAG;;;;;wBACA,qBAAM,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,IAAI,EAAE,CAAA,EAAA;;oBAApC,IAAI,GAAG,SAA6B;oBAC1C,IAAI,CAAC,IAAI;wBAAE,sBAAO;oBACZ,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC5C,IAAI,EAAE,kBAAkB;qBACzB,CAAC,CAAC;oBACG,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;oBAChC,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBACtC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;oBACb,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAC;oBACzB,CAAC,CAAC,KAAK,EAAE,CAAC;oBACV,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;oBACzB,CAAC,CAAC,MAAM,EAAE,CAAC;;;;SACZ,CAAC;IAEF,IAAM,MAAM,GAAG;;;YACP,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;YACpB,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC;YACvB,KAAK,CAAC,QAAQ,GAAG,UAAO,CAAC;;;;oBACjB,IAAI,GAAG,MAAC,CAAC,CAAC,MAA2B,CAAC,KAAK,0CAAG,CAAC,CAAC,CAAC;oBACvD,IAAI,CAAC,IAAI;wBAAE,sBAAO;oBACZ,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAChC,MAAM,CAAC,MAAM,GAAG,UAAO,CAAC;;;;;;oCAChB,QAAQ,GAAG,MAAA,CAAC,CAAC,MAAM,0CAAE,MAAM,CAAC;oCAClC,IAAI,CAAC,QAAQ;wCAAE,sBAAO;oCAChB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAkB,CAAC,CAAC;oCAC5C,qBAAM,CAAA,MAAA,QAAQ,CAAC,MAAM,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAA,EAAA;;oCAAjC,SAAiC,CAAC;;;;yBACnC,CAAC;oBACF,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;;;iBACzB,CAAC;YACF,KAAK,CAAC,KAAK,EAAE,CAAC;;;SACf,CAAC;IAEF,IAAM,kBAAkB,GAAG,UAAC,CAAuC;QACjE,IAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAChC,IAAI,QAAQ,KAAK,YAAY;YAAE,OAAO;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,IAAI,CAAC,QAAQ,CAAC,aAAa;YAAE,OAAO;QACpC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YACnC,cAAc;YACd,IAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CACxB,mEAAmE,CACpE,CAAC;YACF,IAAI,CAAC,GAAG;gBAAE,OAAO;QACnB,CAAC;QACD,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,OAAO,CACL,6BAAK,SAAS,EAAC,0BAA0B;QACvC,6BAAK,SAAS,EAAC,eAAe;YAC5B,oBAAC,SAAS,OAAa,CACnB;QACN,6BAAK,SAAS,EAAC,eAAe;YAC5B,gCACE,SAAS,EAAC,6BAA6B,EACvC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,EAC5D,QAAQ,EAAE,kBAAkB;gBAE5B,gCAAQ,QAAQ,QAAC,KAAK,EAAC,YAAY,oBAE1B;gBACR,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,CAC3C,gCACE,SAAS,EACP,oBAAoB;wBACpB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,EAE3D,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,QAAQ,IAEd,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,IAAI,QAAQ,CACjC,CACV,EAX4C,CAW5C,CAAC,CACK,CACL;QAEL,QAAQ,CAAC,MAAM,IAAI,CAClB;YACE,6BAAK,SAAS,EAAC,eAAe;gBAC5B,gCACE,SAAS,EAAC,WAAW,EACrB,OAAO,EAAE;wBACP,IAAI,CAAC,QAAQ,CAAC,MAAM;4BAAE,OAAO;wBAC7B,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACzB,CAAC,kBAGM,CACL;YACN,6BAAK,SAAS,EAAC,eAAe;gBAC5B,gCACE,SAAS,EAAC,WAAW,EACrB,OAAO,EAAE;;wBACP,IAAI,CAAC,QAAQ,CAAC,MAAM;4BAAE,OAAO;wBAC7B,MAAA,QAAQ,CAAC,aAAa,0CAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC/D,CAAC,qBAGM,CACL,CACL,CACJ;QACD,6BAAK,SAAS,EAAC,eAAe;YAC5B,oBAAC,eAAe,IACd,OAAO,EAAE,gCAAQ,SAAS,EAAC,WAAW,iBAAoB,GACzC,CACf;QACN,6BAAK,SAAS,EAAC,eAAe;YAC5B,gCAAQ,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,KAAK,oBAEnC,CACL;QACN,6BAAK,SAAS,EAAC,eAAe;YAC5B,gCAAQ,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,WAEpC,CACL;QACN,6BAAK,SAAS,EAAC,eAAe;YAC5B,gCAAQ,SAAS,EAAC,WAAW,EAAC,OAAO,EAAE,MAAM,WAEpC,CACL,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,4 +1,3 @@
1
1
  import FuncnodesReactFlow, { FuncNodesContext } from "./funcnodesreactflow";
2
-
3
2
  export default FuncnodesReactFlow;
4
3
  export { FuncNodesContext };
@@ -0,0 +1,4 @@
1
+ import FuncnodesReactFlow, { FuncNodesContext } from "./funcnodesreactflow";
2
+ export default FuncnodesReactFlow;
3
+ export { FuncNodesContext };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/frontend/index.tsx"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,EAAC,EAAE,gBAAgB,EAAE,MAAO,sBAAsB,CAAC;AAE5E,eAAe,kBAAkB,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import "./lib.scss";
3
+ import { Shelf } from "../states/lib.t";
4
+ declare const LibraryShelf: ({ item, filter }: {
5
+ item: Shelf;
6
+ filter: string;
7
+ }) => React.JSX.Element;
8
+ declare const Library: () => React.JSX.Element;
9
+ export default Library;
10
+ export { LibraryShelf as LibraryItem };
@@ -0,0 +1,107 @@
1
+ import React, { useState, useContext } from "react";
2
+ import "./lib.scss";
3
+ import { FuncNodesContext } from "./index";
4
+ import SearchIcon from "@mui/icons-material/Search";
5
+ import CloseIcon from "@mui/icons-material/Close";
6
+ import ExpandLessIcon from "@mui/icons-material/ExpandLess";
7
+ import CustomDialog from "./dialog";
8
+ var LibraryNode = function (_a) {
9
+ var item = _a.item;
10
+ var zustand = useContext(FuncNodesContext);
11
+ var add_to_flow = function () {
12
+ var _a;
13
+ (_a = zustand.worker) === null || _a === void 0 ? void 0 : _a.add_node(item.node_id);
14
+ };
15
+ var nodeclick = function (event) {
16
+ // if double click, add node to graph
17
+ if (event.detail === 2) {
18
+ add_to_flow();
19
+ }
20
+ };
21
+ return (React.createElement("div", { className: "libnodeentry", onClick: nodeclick, title: item.description }, item.node_name || item.node_id));
22
+ };
23
+ var filterShelf = function (shelf, filter) {
24
+ var _a, _b, _c, _d;
25
+ var hasFilteredNodes = (_b = (_a = shelf.nodes) === null || _a === void 0 ? void 0 : _a.some(function (node) {
26
+ return node.node_id.toLowerCase().includes(filter.toLowerCase());
27
+ })) !== null && _b !== void 0 ? _b : false;
28
+ var hasFilteredSubShelves = (_d = (_c = shelf.subshelves) === null || _c === void 0 ? void 0 : _c.some(function (subShelf) { return filterShelf(subShelf, filter); })) !== null && _d !== void 0 ? _d : false;
29
+ return hasFilteredNodes || hasFilteredSubShelves;
30
+ };
31
+ var LibraryShelf = function (_a) {
32
+ var _b;
33
+ var item = _a.item, filter = _a.filter;
34
+ var _c = useState(false), isOpen = _c[0], setIsOpen = _c[1];
35
+ var handleToggle = function () { return setIsOpen(!isOpen); };
36
+ var filterednodes = (_b = item.nodes) === null || _b === void 0 ? void 0 : _b.filter(function (node) {
37
+ return node.node_id.toLowerCase().includes(filter.toLowerCase());
38
+ });
39
+ var _isopen = isOpen || filter.length > 0;
40
+ if (!filterShelf(item, filter)) {
41
+ return React.createElement(React.Fragment, null);
42
+ }
43
+ return (React.createElement("div", { className: "shelfcontainer" },
44
+ React.createElement("div", { className: "shelftitle", onClick: handleToggle, style: { cursor: "pointer" }, title: item.description },
45
+ React.createElement("div", { className: "shelftitle_text" }, item.name),
46
+ React.createElement("div", { className: "expandicon " + (_isopen ? "open" : "close") },
47
+ React.createElement(ExpandLessIcon, null))),
48
+ React.createElement("div", { className: "libnodecontainer " + (_isopen ? "open" : "close") },
49
+ React.createElement("div", { className: "libnodecontainer_inner" },
50
+ filterednodes && (React.createElement(React.Fragment, null, filterednodes.map(function (subItem, idx) { return (React.createElement(LibraryNode, { key: idx, item: subItem })); }))),
51
+ item.subshelves && (React.createElement(React.Fragment, null, item.subshelves.map(function (subItem, idx) { return (React.createElement(LibraryShelf, { key: idx, item: subItem, filter: filter })); }))))),
52
+ React.createElement("hr", null)));
53
+ };
54
+ var LibFilter = function (_a) {
55
+ // input with left icon
56
+ var filter = _a.filter, setFilter = _a.setFilter;
57
+ return (React.createElement("div", { className: "libfilter" },
58
+ React.createElement(SearchIcon, { fontSize: "inherit" }),
59
+ React.createElement("input", { type: "text", placeholder: "Filter", value: filter, onChange: function (e) {
60
+ setFilter(e.target.value);
61
+ } }),
62
+ filter && (React.createElement(CloseIcon, { fontSize: "inherit", onClick: function () {
63
+ setFilter("");
64
+ } }))));
65
+ };
66
+ var AddLibraryOverLay = function (_a) {
67
+ var children = _a.children;
68
+ var _b = useState(""), newlib = _b[0], setNewLib = _b[1];
69
+ var zustand = useContext(FuncNodesContext);
70
+ if (!zustand.worker) {
71
+ return React.createElement(React.Fragment, null);
72
+ }
73
+ var add_new_lib = function () {
74
+ if (zustand.worker === undefined) {
75
+ return;
76
+ }
77
+ zustand.worker.add_lib(newlib);
78
+ setNewLib("");
79
+ };
80
+ return (React.createElement(CustomDialog, { title: "Add Library", trigger: children, description: "Add a new library to the current worker.", buttons: [
81
+ {
82
+ text: "add",
83
+ onClick: add_new_lib,
84
+ },
85
+ ] },
86
+ React.createElement("input", { className: "styledinput", type: "text", value: newlib, onChange: function (e) {
87
+ setNewLib(e.target.value);
88
+ } })));
89
+ };
90
+ var Library = function () {
91
+ var zustand = useContext(FuncNodesContext);
92
+ var libstate = zustand.lib.libstate(function (state) { return state.state; });
93
+ var _a = useState(""), filter = _a[0], setFilter = _a[1];
94
+ return (React.createElement("div", { className: "libcontainer" },
95
+ React.createElement("div", { className: "library" },
96
+ React.createElement("div", { className: "libtitle" }, "Lib"),
97
+ React.createElement("hr", { className: "hr_prominent" }),
98
+ React.createElement(LibFilter, { filter: filter, setFilter: setFilter }),
99
+ React.createElement("div", { className: "vscrollcontainer" }, libstate.shelves.map(function (item, idx) { return (React.createElement(LibraryShelf, { key: idx, item: item, filter: filter })); })),
100
+ React.createElement("hr", null)),
101
+ React.createElement("div", { className: "addlib" },
102
+ React.createElement(AddLibraryOverLay, null,
103
+ React.createElement("button", { disabled: zustand.worker === undefined }, "Add Library")))));
104
+ };
105
+ export default Library;
106
+ export { LibraryShelf as LibraryItem };
107
+ //# sourceMappingURL=lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/frontend/lib.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  import DefaultNode from "./node";
2
-
3
2
  export default DefaultNode;
@@ -0,0 +1,3 @@
1
+ import DefaultNode from "./node";
2
+ export default DefaultNode;
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/frontend/node/index.tsx"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,QAAQ,CAAC;AAEjC,eAAe,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { InputRendererProps } from "../../../states/nodeio.t";
2
+ import React from "react";
3
+ declare const BooleanInput: ({ io, inputconverter }: InputRendererProps) => React.JSX.Element;
4
+ declare const FloatInput: ({ io, inputconverter }: InputRendererProps) => React.JSX.Element;
5
+ declare const IntegerInput: ({ io, inputconverter }: InputRendererProps) => React.JSX.Element;
6
+ declare const StringInput: ({ io, inputconverter }: InputRendererProps) => React.JSX.Element;
7
+ declare const SelectionInput: ({ io, inputconverter, parser, }: InputRendererProps & {
8
+ parser?(s: string): any;
9
+ }) => React.JSX.Element;
10
+ declare const ColorInput: ({ io, inputconverter }: InputRendererProps) => React.JSX.Element;
11
+ export { FloatInput, IntegerInput, BooleanInput, StringInput, SelectionInput, ColorInput, };
@@ -0,0 +1,235 @@
1
+ import { useContext, useEffect, useRef, useState } from "react";
2
+ import { FuncNodesContext } from "../../funcnodesreactflow";
3
+ import CustomColorPicker from "../../utils/colorpicker";
4
+ import React from "react";
5
+ var BooleanInput = function (_a) {
6
+ var io = _a.io, inputconverter = _a.inputconverter;
7
+ var fnrf_zst = useContext(FuncNodesContext);
8
+ var indeterminate = io.value === undefined;
9
+ var cRef = useRef(null);
10
+ useEffect(function () {
11
+ if (!cRef.current)
12
+ return;
13
+ cRef.current.indeterminate = indeterminate;
14
+ }, [cRef, indeterminate]);
15
+ var on_change = function (e) {
16
+ var _a, _b;
17
+ var new_value = e.target.checked;
18
+ try {
19
+ new_value = inputconverter(e.target.checked);
20
+ }
21
+ catch (e) { }
22
+ (_a = fnrf_zst.worker) === null || _a === void 0 ? void 0 : _a.set_io_value({
23
+ nid: io.node,
24
+ ioid: io.id,
25
+ value: new_value,
26
+ set_default: ((_b = io.render_options) === null || _b === void 0 ? void 0 : _b.set_default) || false,
27
+ });
28
+ };
29
+ return (React.createElement("input", { ref: cRef, type: "checkbox", className: "styledcheckbox", checked: !!io.value, onChange: on_change, disabled: io.connected }));
30
+ };
31
+ var NumberInput = function (_a) {
32
+ var _b, _c;
33
+ var io = _a.io, inputconverter = _a.inputconverter, _d = _a.parser, parser = _d === void 0 ? function (n) { return parseFloat(n); } : _d;
34
+ var fnrf_zst = useContext(FuncNodesContext);
35
+ var _e = useState(io.value), tempvalue = _e[0], setTempValue = _e[1];
36
+ useEffect(function () {
37
+ setTempValue(io.value);
38
+ }, [io.value]);
39
+ var set_new_value = function (new_value) {
40
+ var _a, _b;
41
+ new_value = parser(parseFloat(new_value.toString()).toString() // parse float for e notation
42
+ );
43
+ if (isNaN(new_value)) {
44
+ new_value = "<NoValue>";
45
+ setTempValue("");
46
+ }
47
+ else {
48
+ setTempValue(new_value.toString());
49
+ }
50
+ try {
51
+ new_value = inputconverter(new_value);
52
+ }
53
+ catch (e) { }
54
+ (_a = fnrf_zst.worker) === null || _a === void 0 ? void 0 : _a.set_io_value({
55
+ nid: io.node,
56
+ ioid: io.id,
57
+ value: new_value,
58
+ set_default: ((_b = io.render_options) === null || _b === void 0 ? void 0 : _b.set_default) || false,
59
+ });
60
+ };
61
+ var on_change = function (e) {
62
+ set_new_value(e.target.value);
63
+ };
64
+ var v = io.connected ? io.value : tempvalue;
65
+ return (React.createElement("input", { type: "text", className: "nodedatainput styledinput", value: v || "", onChange: function (e) { return setTempValue(e.target.value); }, onBlur: on_change, onKeyDown: function (e) {
66
+ // on key up add step to value
67
+ var _a, _b;
68
+ if (e.key === "ArrowUp") {
69
+ var step = ((_a = io.render_options) === null || _a === void 0 ? void 0 : _a.step) || 1;
70
+ if (e.shiftKey)
71
+ step *= 10;
72
+ var new_value = (parseFloat(v) || 0) + step;
73
+ // setTempValue(new_value.toString());
74
+ set_new_value(new_value);
75
+ return;
76
+ }
77
+ // on key down subtract step to value
78
+ if (e.key === "ArrowDown") {
79
+ var step = ((_b = io.render_options) === null || _b === void 0 ? void 0 : _b.step) || 1;
80
+ if (e.shiftKey)
81
+ step *= 10;
82
+ var new_value = (parseFloat(v) || 0) - step;
83
+ // setTempValue(new_value.toString());
84
+ set_new_value(new_value);
85
+ return;
86
+ }
87
+ //accept only numbers
88
+ if (!/^[0-9.eE+-]$/.test(e.key) &&
89
+ !["Backspace", "ArrowLeft", "ArrowRight", "Delete", "Tab"].includes(e.key)) {
90
+ e.preventDefault();
91
+ }
92
+ }, disabled: io.connected, step: (_b = io.render_options) === null || _b === void 0 ? void 0 : _b.step, min: (_c = io.value_options) === null || _c === void 0 ? void 0 : _c.min }));
93
+ };
94
+ var FloatInput = function (_a) {
95
+ var io = _a.io, inputconverter = _a.inputconverter;
96
+ return NumberInput({ io: io, inputconverter: inputconverter, parser: parseFloat });
97
+ };
98
+ var IntegerInput = function (_a) {
99
+ var io = _a.io, inputconverter = _a.inputconverter;
100
+ return NumberInput({ io: io, inputconverter: inputconverter, parser: parseInt });
101
+ };
102
+ var StringInput = function (_a) {
103
+ var io = _a.io, inputconverter = _a.inputconverter;
104
+ var fnrf_zst = useContext(FuncNodesContext);
105
+ var _b = useState(io.value), tempvalue = _b[0], setTempValue = _b[1];
106
+ var on_change = function (e) {
107
+ var _a, _b;
108
+ var new_value = e.target.value;
109
+ try {
110
+ new_value = inputconverter(new_value);
111
+ }
112
+ catch (e) { }
113
+ if (!new_value)
114
+ new_value = "<NoValue>";
115
+ (_a = fnrf_zst.worker) === null || _a === void 0 ? void 0 : _a.set_io_value({
116
+ nid: io.node,
117
+ ioid: io.id,
118
+ value: new_value,
119
+ set_default: ((_b = io.render_options) === null || _b === void 0 ? void 0 : _b.set_default) || false,
120
+ });
121
+ };
122
+ return (React.createElement("input", { className: "nodedatainput styledinput", value: io.connected ? io.value : tempvalue, onChange: function (e) { return setTempValue(e.target.value); }, onBlur: on_change, disabled: io.connected }));
123
+ };
124
+ var _parse_string = function (s) { return s; };
125
+ var _parse_number = function (s) { return parseFloat(s); };
126
+ var _parse_boolean = function (s) { return !!s; };
127
+ var _parse_null = function (s) { return (s === "null" ? null : s); };
128
+ var get_parser = function (datatype) {
129
+ if (datatype === "nuinputconvertermber") {
130
+ return _parse_number;
131
+ }
132
+ if (datatype === "boolean") {
133
+ return _parse_boolean;
134
+ }
135
+ if (datatype === "undefined") {
136
+ return _parse_null;
137
+ }
138
+ return _parse_string;
139
+ };
140
+ var SelectionInput = function (_a) {
141
+ var _b;
142
+ var io = _a.io, inputconverter = _a.inputconverter, parser = _a.parser;
143
+ var options = ((_b = io.value_options) === null || _b === void 0 ? void 0 : _b.options) || [];
144
+ if (Array.isArray(options)) {
145
+ options = {
146
+ type: "enum",
147
+ values: options,
148
+ keys: options.map(function (x) { return x.toString(); }),
149
+ nullable: false,
150
+ };
151
+ }
152
+ options = options;
153
+ if (options.nullable &&
154
+ !options.values.includes(null) &&
155
+ !options.keys.includes("None")) {
156
+ options.values.unshift(null);
157
+ options.keys.unshift("None");
158
+ }
159
+ //make key value pairs
160
+ var optionsmap = [];
161
+ for (var i = 0; i < options.values.length; i++) {
162
+ // set const t to "string", "number","boolean" "null" depenting on the type of options.values[i]
163
+ var t = options.values[i] === null || options.values[i] === undefined
164
+ ? "undefined"
165
+ : typeof options.values[i];
166
+ var v_1 = options.values[i];
167
+ if (v_1 === null) {
168
+ v_1 = "null";
169
+ }
170
+ if (v_1 === undefined) {
171
+ v_1 = "undefined";
172
+ }
173
+ optionsmap.push([options.keys[i], v_1.toString(), t]);
174
+ }
175
+ var fnrf_zst = useContext(FuncNodesContext);
176
+ var on_change = function (e) {
177
+ var _a, _b;
178
+ // Find the selected option element
179
+ var selectedOption = e.target.options[e.target.selectedIndex];
180
+ // Retrieve the datatype attribute from the selected option
181
+ var datatype = selectedOption.getAttribute("datatype");
182
+ // Use the existing parser or get a new one based on the datatype
183
+ var p = parser || get_parser(datatype);
184
+ var new_value = p(e.target.value);
185
+ try {
186
+ new_value = inputconverter(e.target.value);
187
+ }
188
+ catch (e) { }
189
+ (_a = fnrf_zst.worker) === null || _a === void 0 ? void 0 : _a.set_io_value({
190
+ nid: io.node,
191
+ ioid: io.id,
192
+ value: p(e.target.value),
193
+ set_default: ((_b = io.render_options) === null || _b === void 0 ? void 0 : _b.set_default) || false,
194
+ });
195
+ };
196
+ var v = io.value;
197
+ if (v === null) {
198
+ v = "null";
199
+ }
200
+ if (v === undefined) {
201
+ v = "undefined";
202
+ }
203
+ return (React.createElement("select", { value: v, onChange: on_change, disabled: io.connected, className: "nodedatainput styleddropdown" },
204
+ React.createElement("option", { value: "<NoValue>", disabled: true }, "select"),
205
+ optionsmap.map(function (option) { return (React.createElement("option", { key: option[0], value: option[1], datatype: option[2] }, option[0])); })));
206
+ };
207
+ var ColorInput = function (_a) {
208
+ var _b;
209
+ var io = _a.io, inputconverter = _a.inputconverter;
210
+ var fnrf_zst = useContext(FuncNodesContext);
211
+ var colorspace = ((_b = io.value_options) === null || _b === void 0 ? void 0 : _b.colorspace) || "hex";
212
+ var on_change = function (colorconverter) {
213
+ var _a, _b;
214
+ var new_value = "<NoValue>";
215
+ if (colorconverter) {
216
+ if (colorconverter[colorspace])
217
+ new_value = colorconverter[colorspace]();
218
+ else
219
+ new_value = colorconverter.hex();
220
+ }
221
+ try {
222
+ new_value = new_value;
223
+ }
224
+ catch (e) { }
225
+ (_a = fnrf_zst.worker) === null || _a === void 0 ? void 0 : _a.set_io_value({
226
+ nid: io.node,
227
+ ioid: io.id,
228
+ value: new_value,
229
+ set_default: ((_b = io.render_options) === null || _b === void 0 ? void 0 : _b.set_default) || false,
230
+ });
231
+ };
232
+ return (React.createElement(CustomColorPicker, { onChange: on_change, inicolordata: io.value, inicolorspace: colorspace }));
233
+ };
234
+ export { FloatInput, IntegerInput, BooleanInput, StringInput, SelectionInput, ColorInput, };
235
+ //# sourceMappingURL=default_input_renderer.js.map