@norskvideo/norsk-studio 1.0.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 (263) hide show
  1. package/README.md +58 -0
  2. package/bin/info.ts.template +23 -0
  3. package/bin/studio-bundle +23 -0
  4. package/bin/studio-editor +3 -0
  5. package/bin/studio-runner +3 -0
  6. package/bin/studio-wrap-infos +44 -0
  7. package/lib/client/comms.d.ts +26 -0
  8. package/lib/client/comms.js +114 -0
  9. package/lib/client/comms.js.map +1 -0
  10. package/lib/client/componentevents.d.ts +12 -0
  11. package/lib/client/componentevents.js +41 -0
  12. package/lib/client/componentevents.js.map +1 -0
  13. package/lib/client/console.d.ts +19 -0
  14. package/lib/client/console.js +42 -0
  15. package/lib/client/console.js.map +1 -0
  16. package/lib/client/controls.d.ts +23 -0
  17. package/lib/client/controls.js +80 -0
  18. package/lib/client/controls.js.map +1 -0
  19. package/lib/client/creator.d.ts +45 -0
  20. package/lib/client/creator.js +276 -0
  21. package/lib/client/creator.js.map +1 -0
  22. package/lib/client/jsx/connection-editor.d.ts +11 -0
  23. package/lib/client/jsx/connection-editor.js +198 -0
  24. package/lib/client/jsx/connection-editor.js.map +1 -0
  25. package/lib/client/jsx/connection.d.ts +7 -0
  26. package/lib/client/jsx/connection.js +33 -0
  27. package/lib/client/jsx/connection.js.map +1 -0
  28. package/lib/client/jsx/console-log.d.ts +11 -0
  29. package/lib/client/jsx/console-log.js +17 -0
  30. package/lib/client/jsx/console-log.js.map +1 -0
  31. package/lib/client/jsx/console.d.ts +20 -0
  32. package/lib/client/jsx/console.js +30 -0
  33. package/lib/client/jsx/console.js.map +1 -0
  34. package/lib/client/jsx/node-editor.d.ts +23 -0
  35. package/lib/client/jsx/node-editor.js +442 -0
  36. package/lib/client/jsx/node-editor.js.map +1 -0
  37. package/lib/client/jsx/node.d.ts +25 -0
  38. package/lib/client/jsx/node.js +244 -0
  39. package/lib/client/jsx/node.js.map +1 -0
  40. package/lib/client/jsx/selected-connection.d.ts +21 -0
  41. package/lib/client/jsx/selected-connection.js +110 -0
  42. package/lib/client/jsx/selected-connection.js.map +1 -0
  43. package/lib/client/jsx/selected-node.d.ts +24 -0
  44. package/lib/client/jsx/selected-node.js +75 -0
  45. package/lib/client/jsx/selected-node.js.map +1 -0
  46. package/lib/client/jsx/selected.d.ts +24 -0
  47. package/lib/client/jsx/selected.js +15 -0
  48. package/lib/client/jsx/selected.js.map +1 -0
  49. package/lib/client/jsx/selectfilename.d.ts +7 -0
  50. package/lib/client/jsx/selectfilename.js +17 -0
  51. package/lib/client/jsx/selectfilename.js.map +1 -0
  52. package/lib/client/jsx/toolbox.d.ts +14 -0
  53. package/lib/client/jsx/toolbox.js +45 -0
  54. package/lib/client/jsx/toolbox.js.map +1 -0
  55. package/lib/client/library.d.ts +12 -0
  56. package/lib/client/library.js +53 -0
  57. package/lib/client/library.js.map +1 -0
  58. package/lib/client/modal.d.ts +21 -0
  59. package/lib/client/modal.js +34 -0
  60. package/lib/client/modal.js.map +1 -0
  61. package/lib/client/rete/connection.d.ts +20 -0
  62. package/lib/client/rete/connection.js +27 -0
  63. package/lib/client/rete/connection.js.map +1 -0
  64. package/lib/client/rete/node.d.ts +28 -0
  65. package/lib/client/rete/node.js +78 -0
  66. package/lib/client/rete/node.js.map +1 -0
  67. package/lib/client/rete/selector.d.ts +10 -0
  68. package/lib/client/rete/selector.js +22 -0
  69. package/lib/client/rete/selector.js.map +1 -0
  70. package/lib/client/rete.d.ts +81 -0
  71. package/lib/client/rete.js +384 -0
  72. package/lib/client/rete.js.map +1 -0
  73. package/lib/client/session-view.d.ts +7 -0
  74. package/lib/client/session-view.js +132 -0
  75. package/lib/client/session-view.js.map +1 -0
  76. package/lib/client/session.d.ts +70 -0
  77. package/lib/client/session.js +185 -0
  78. package/lib/client/session.js.map +1 -0
  79. package/lib/client/tools.d.ts +22 -0
  80. package/lib/client/tools.js +311 -0
  81. package/lib/client/tools.js.map +1 -0
  82. package/lib/extension/base-nodes.d.ts +55 -0
  83. package/lib/extension/base-nodes.js +120 -0
  84. package/lib/extension/base-nodes.js.map +1 -0
  85. package/lib/extension/built-ins.d.ts +4 -0
  86. package/lib/extension/built-ins.js +52 -0
  87. package/lib/extension/built-ins.js.map +1 -0
  88. package/lib/extension/client-system.d.ts +5 -0
  89. package/lib/extension/client-system.js +3 -0
  90. package/lib/extension/client-system.js.map +1 -0
  91. package/lib/extension/client-types.d.ts +245 -0
  92. package/lib/extension/client-types.js +87 -0
  93. package/lib/extension/client-types.js.map +1 -0
  94. package/lib/extension/common.d.ts +34 -0
  95. package/lib/extension/common.js +45 -0
  96. package/lib/extension/common.js.map +1 -0
  97. package/lib/extension/registration.d.ts +7 -0
  98. package/lib/extension/registration.js +62 -0
  99. package/lib/extension/registration.js.map +1 -0
  100. package/lib/extension/runtime-system.d.ts +9 -0
  101. package/lib/extension/runtime-system.js +3 -0
  102. package/lib/extension/runtime-system.js.map +1 -0
  103. package/lib/extension/runtime-types.d.ts +91 -0
  104. package/lib/extension/runtime-types.js +318 -0
  105. package/lib/extension/runtime-types.js.map +1 -0
  106. package/lib/extension/validation.d.ts +16 -0
  107. package/lib/extension/validation.js +50 -0
  108. package/lib/extension/validation.js.map +1 -0
  109. package/lib/library/test.d.ts +2 -0
  110. package/lib/library/test.js +11 -0
  111. package/lib/library/test.js.map +1 -0
  112. package/lib/runtime/document.d.ts +62 -0
  113. package/lib/runtime/document.js +322 -0
  114. package/lib/runtime/document.js.map +1 -0
  115. package/lib/runtime/execution.d.ts +48 -0
  116. package/lib/runtime/execution.js +327 -0
  117. package/lib/runtime/execution.js.map +1 -0
  118. package/lib/runtime/norsk-comms.d.ts +24 -0
  119. package/lib/runtime/norsk-comms.js +71 -0
  120. package/lib/runtime/norsk-comms.js.map +1 -0
  121. package/lib/runtime/system.d.ts +30 -0
  122. package/lib/runtime/system.js +83 -0
  123. package/lib/runtime/system.js.map +1 -0
  124. package/lib/server/config.d.ts +19 -0
  125. package/lib/server/config.js +26 -0
  126. package/lib/server/config.js.map +1 -0
  127. package/lib/server/index.d.ts +1 -0
  128. package/lib/server/index.js +310 -0
  129. package/lib/server/index.js.map +1 -0
  130. package/lib/server/logging.d.ts +6 -0
  131. package/lib/server/logging.js +96 -0
  132. package/lib/server/logging.js.map +1 -0
  133. package/lib/server/medialive.d.ts +1 -0
  134. package/lib/server/medialive.js +34 -0
  135. package/lib/server/medialive.js.map +1 -0
  136. package/lib/server/runner.d.ts +1 -0
  137. package/lib/server/runner.js +137 -0
  138. package/lib/server/runner.js.map +1 -0
  139. package/lib/server/session-registration.d.ts +5 -0
  140. package/lib/server/session-registration.js +18 -0
  141. package/lib/server/session-registration.js.map +1 -0
  142. package/lib/server/session.d.ts +117 -0
  143. package/lib/server/session.js +364 -0
  144. package/lib/server/session.js.map +1 -0
  145. package/lib/shared/client-msg.d.ts +13 -0
  146. package/lib/shared/client-msg.js +3 -0
  147. package/lib/shared/client-msg.js.map +1 -0
  148. package/lib/shared/config.d.ts +7 -0
  149. package/lib/shared/config.js +60 -0
  150. package/lib/shared/config.js.map +1 -0
  151. package/lib/shared/document.d.ts +164 -0
  152. package/lib/shared/document.js +496 -0
  153. package/lib/shared/document.js.map +1 -0
  154. package/lib/shared/names.d.ts +3 -0
  155. package/lib/shared/names.js +8 -0
  156. package/lib/shared/names.js.map +1 -0
  157. package/lib/shared/norsk.d.ts +21 -0
  158. package/lib/shared/norsk.js +3 -0
  159. package/lib/shared/norsk.js.map +1 -0
  160. package/lib/shared/server-msg.d.ts +69 -0
  161. package/lib/shared/server-msg.js +3 -0
  162. package/lib/shared/server-msg.js.map +1 -0
  163. package/lib/shared/util.d.ts +7 -0
  164. package/lib/shared/util.js +63 -0
  165. package/lib/shared/util.js.map +1 -0
  166. package/lib/test/_util/builder.d.ts +46 -0
  167. package/lib/test/_util/builder.js +200 -0
  168. package/lib/test/_util/builder.js.map +1 -0
  169. package/lib/test/_util/callback_app.d.ts +13 -0
  170. package/lib/test/_util/callback_app.js +25 -0
  171. package/lib/test/_util/callback_app.js.map +1 -0
  172. package/lib/test/_util/driver.d.ts +16 -0
  173. package/lib/test/_util/driver.js +89 -0
  174. package/lib/test/_util/driver.js.map +1 -0
  175. package/lib/test/_util/fake-norsk.d.ts +14 -0
  176. package/lib/test/_util/fake-norsk.js +19 -0
  177. package/lib/test/_util/fake-norsk.js.map +1 -0
  178. package/lib/test/_util/ffmpeg.d.ts +80 -0
  179. package/lib/test/_util/ffmpeg.js +266 -0
  180. package/lib/test/_util/ffmpeg.js.map +1 -0
  181. package/lib/test/_util/manual-driver.d.ts +42 -0
  182. package/lib/test/_util/manual-driver.js +206 -0
  183. package/lib/test/_util/manual-driver.js.map +1 -0
  184. package/lib/test/_util/runtime.d.ts +81 -0
  185. package/lib/test/_util/runtime.js +194 -0
  186. package/lib/test/_util/runtime.js.map +1 -0
  187. package/lib/test/_util/server.d.ts +8 -0
  188. package/lib/test/_util/server.js +33 -0
  189. package/lib/test/_util/server.js.map +1 -0
  190. package/lib/test/_util/sinks.d.ts +35 -0
  191. package/lib/test/_util/sinks.js +200 -0
  192. package/lib/test/_util/sinks.js.map +1 -0
  193. package/lib/test/_util/sources.d.ts +18 -0
  194. package/lib/test/_util/sources.js +113 -0
  195. package/lib/test/_util/sources.js.map +1 -0
  196. package/lib/test/_util/test-infos-views.d.ts +9 -0
  197. package/lib/test/_util/test-infos-views.js +46 -0
  198. package/lib/test/_util/test-infos-views.js.map +1 -0
  199. package/lib/test/_util/test-infos.d.ts +44 -0
  200. package/lib/test/_util/test-infos.js +202 -0
  201. package/lib/test/_util/test-infos.js.map +1 -0
  202. package/lib/test/client-designview.d.ts +1 -0
  203. package/lib/test/client-designview.js +258 -0
  204. package/lib/test/client-designview.js.map +1 -0
  205. package/lib/test/client-liveview.d.ts +1 -0
  206. package/lib/test/client-liveview.js +413 -0
  207. package/lib/test/client-liveview.js.map +1 -0
  208. package/lib/test/client-session.d.ts +1 -0
  209. package/lib/test/client-session.js +205 -0
  210. package/lib/test/client-session.js.map +1 -0
  211. package/lib/test/client-ui.d.ts +1 -0
  212. package/lib/test/client-ui.js +74 -0
  213. package/lib/test/client-ui.js.map +1 -0
  214. package/lib/test/document-execution.d.ts +1 -0
  215. package/lib/test/document-execution.js +162 -0
  216. package/lib/test/document-execution.js.map +1 -0
  217. package/lib/test/document-loading.d.ts +1 -0
  218. package/lib/test/document-loading.js +420 -0
  219. package/lib/test/document-loading.js.map +1 -0
  220. package/lib/test/runtime-comms.d.ts +1 -0
  221. package/lib/test/runtime-comms.js +321 -0
  222. package/lib/test/runtime-comms.js.map +1 -0
  223. package/lib/test/subscriptions.d.ts +1 -0
  224. package/lib/test/subscriptions.js +334 -0
  225. package/lib/test/subscriptions.js.map +1 -0
  226. package/package.json +112 -0
  227. package/static/98_slides.html +61 -0
  228. package/static/Norsk-Favicon-150x150.png +0 -0
  229. package/static/Norsk-Favicon.png +0 -0
  230. package/static/Norsk-Logo-Dark-Background.png +0 -0
  231. package/static/Norsk.png +0 -0
  232. package/static/ShortStack.woff2 +0 -0
  233. package/static/bonnie-green.png +0 -0
  234. package/static/button.svg +67 -0
  235. package/static/doodle.css +174 -0
  236. package/static/flowbite.min.css +1 -0
  237. package/static/flowbite.min.js +2 -0
  238. package/static/font.css +20 -0
  239. package/static/jese-leos.png +0 -0
  240. package/static/joseph-mcfall.png +0 -0
  241. package/static/michael-gough.png +0 -0
  242. package/static/news-embedded.html +106 -0
  243. package/static/overlay-score.html +210 -0
  244. package/static/overlay-ui.html +918 -0
  245. package/static/react-dom.development.js +29869 -0
  246. package/static/react.development.js +3342 -0
  247. package/static/robert-brown.png +0 -0
  248. package/static/roberta-casas.png +0 -0
  249. package/static/style-dark.css +2467 -0
  250. package/static/style.css +7252 -0
  251. package/static/tailwind.css +31 -0
  252. package/static/team1.png +0 -0
  253. package/static/team2.png +0 -0
  254. package/static/videoFrame.html +73 -0
  255. package/static/webrtc.js +430 -0
  256. package/tailwind-theme.js +66 -0
  257. package/tailwind.config.js +11 -0
  258. package/ui/bypass-esbuild.js +24 -0
  259. package/ui/index.html +189 -0
  260. package/ui/index.js +229180 -0
  261. package/ui/studio.css +31 -0
  262. package/ui/test.html +95 -0
  263. package/ui/view.html +23 -0
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Console = exports.ConsoleWarning = exports.ConsoleError = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const util_1 = require("../../shared/util");
6
+ function ConsoleError(props) {
7
+ return (0, jsx_runtime_1.jsxs)("div", { onClick: props.onClick, className: "flex cursor-pointer items-center p-1 text-sm text-red-800 rounded-lg bg-red-50 dark:bg-gray-800 dark:text-red-400", role: "alert", children: [(0, jsx_runtime_1.jsx)("svg", { className: "flex-shrink-0 inline w-4 h-4 me-3", "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 20 20", children: (0, jsx_runtime_1.jsx)("path", { d: "M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z" }) }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "Info" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, util_1.displayNodeId)(props.error.context.nodeId, props.document), ": ", props.error.message] })] }, props.key);
8
+ }
9
+ exports.ConsoleError = ConsoleError;
10
+ function ConsoleWarning(props) {
11
+ return (0, jsx_runtime_1.jsxs)("div", { onClick: props.onClick, className: "flex cursor-pointer items-center p-1 text-sm text-yellow-800 rounded-lg bg-yellow-50 dark:bg-gray-800 dark:text-yellow-300", role: "alert", children: [(0, jsx_runtime_1.jsx)("svg", { className: "flex-shrink-0 inline w-4 h-4 me-3", "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 20 20", children: (0, jsx_runtime_1.jsx)("path", { d: "M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z" }) }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "Info" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, util_1.displayNodeId)(props.warning.context.nodeId, props.document), ": ", props.warning.message] })] }, props.key);
12
+ }
13
+ exports.ConsoleWarning = ConsoleWarning;
14
+ function Console(props) {
15
+ return (0, jsx_runtime_1.jsxs)("ul", { className: "mb-4 font-light text-gray-500 sm:mb-5 dark:text-gray-400", children: [props.errors.map((e, i) => ConsoleError({
16
+ key: 'error-' + i,
17
+ error: e,
18
+ document: props.document,
19
+ onClick: () => { if (e.context.nodeId)
20
+ props.onSelection(e.context.nodeId); }
21
+ })), props.warnings.map((w, i) => ConsoleWarning({
22
+ key: 'warning-' + i,
23
+ warning: w,
24
+ document: props.document,
25
+ onClick: () => { if (w.context.nodeId)
26
+ props.onSelection(w.context.nodeId); }
27
+ }))] });
28
+ }
29
+ exports.Console = Console;
30
+ //# sourceMappingURL=console.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../src/client/jsx/console.tsx"],"names":[],"mappings":";;;;AACA,4CAAiD;AASjD,SAAgB,YAAY,CAAC,KAK5B;IACC,OAAO,iCAAK,OAAO,EAAE,KAAK,CAAC,OAAO,EAAkB,SAAS,EAAC,mHAAmH,EAAC,IAAI,EAAC,OAAO,aAC5L,gCAAK,SAAS,EAAC,mCAAmC,iBAAa,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,YAC9I,iCAAM,CAAC,EAAC,8KAA8K,GAAG,GACrL,EACN,iCAAM,SAAS,EAAC,SAAS,qBAAY,EACrC,4CACG,IAAA,oBAAa,EAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAI,KAAK,CAAC,KAAK,CAAC,OAAO,IAC7E,KAPiC,KAAK,CAAC,GAAG,CAQ5C,CAAA;AAER,CAAC;AAhBD,oCAgBC;AAED,SAAgB,cAAc,CAAC,KAM9B;IACC,OAAO,iCAAK,OAAO,EAAE,KAAK,CAAC,OAAO,EAAkB,SAAS,EAAC,4HAA4H,EAAC,IAAI,EAAC,OAAO,aACrM,gCAAK,SAAS,EAAC,mCAAmC,iBAAa,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,YAC9I,iCAAM,CAAC,EAAC,8KAA8K,GAAG,GACrL,EACN,iCAAM,SAAS,EAAC,SAAS,qBAAY,EACrC,4CACG,IAAA,oBAAa,EAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAI,KAAK,CAAC,OAAO,CAAC,OAAO,IACjF,KAPiC,KAAK,CAAC,GAAG,CAQ5C,CAAA;AACR,CAAC;AAhBD,wCAgBC;AAGD,SAAgB,OAAO,CAAC,KAAmB;IACzC,OAAO,gCAAI,SAAS,EAAC,0DAA0D,aAC5E,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC;gBACvC,GAAG,EAAE,QAAQ,GAAG,CAAC;gBACjB,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM;oBAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC;aAC7E,CAAC,CAAC,EACF,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC;gBAC3C,GAAG,EAAE,UAAU,GAAG,CAAC;gBACnB,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM;oBAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC;aAC7E,CAAC,CAAC,IACA,CAAA;AACP,CAAC;AAfD,0BAeC"}
@@ -0,0 +1,23 @@
1
+ import { NodeInfoConfigForm, ConfigForm } from "../../extension/client-types";
2
+ import { FieldValues } from "react-hook-form";
3
+ import { NodeDescription, DocumentDescription } from "../../shared/document";
4
+ import type { BaseConfig } from "../../extension/client-types";
5
+ export default NodeEditor;
6
+ type SaveEvent = {
7
+ config: unknown;
8
+ };
9
+ export declare function NodeEditor({ form, target, description, onSave, onCancel }: {
10
+ form: NodeInfoConfigForm<BaseConfig>;
11
+ target: NodeDescription<BaseConfig>;
12
+ description: DocumentDescription;
13
+ onSave: (e: SaveEvent) => void;
14
+ onCancel: () => void;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ export declare function Form(props: {
17
+ form: ConfigForm<unknown>;
18
+ defaultValue: object;
19
+ onSave: (e: FieldValues) => void;
20
+ node?: NodeDescription<BaseConfig>;
21
+ latest: DocumentDescription;
22
+ onCancel: () => void;
23
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,442 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Form = exports.NodeEditor = void 0;
30
+ const jsx_runtime_1 = require("react/jsx-runtime");
31
+ const react_1 = require("react");
32
+ const react_hook_form_1 = require("react-hook-form");
33
+ const zod_1 = require("@hookform/resolvers/zod");
34
+ const names_1 = require("../../shared/names");
35
+ const Z = __importStar(require("zod"));
36
+ const util_1 = require("../../shared/util");
37
+ const react_2 = require("react");
38
+ const deep_equal_1 = __importDefault(require("deep-equal"));
39
+ const flowbite_react_1 = require("flowbite-react");
40
+ exports.default = NodeEditor;
41
+ function NodeEditor({ form, target, description, onSave, onCancel }) {
42
+ const displayName = {
43
+ hint: {
44
+ type: 'text',
45
+ validation: Id(target, description),
46
+ defaultValue: ""
47
+ },
48
+ help: 'The display name of this node'
49
+ };
50
+ const moreForm = {
51
+ displayName,
52
+ ...form.form
53
+ };
54
+ const actualValues = {
55
+ ...target.config,
56
+ displayName: (target.config.displayName == "") ? getDisplayName(target.type, description) : target.config.displayName
57
+ };
58
+ return (0, jsx_runtime_1.jsxs)("div", { id: "top-level-form", className: "w-80 overflow-hidden", children: [(0, jsx_runtime_1.jsx)("h5", { className: "inline-flex items-center mb-6 text-sm font-semibold text-gray-500 uppercase dark:text-gray-400", children: "Update Node" }), (0, jsx_runtime_1.jsxs)("button", { type: "button", onClick: onCancel, className: "text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm p-1.5 absolute top-2.5 right-2.5 inline-flex items-center dark:hover:bg-gray-600 dark:hover:text-white", children: [(0, jsx_runtime_1.jsx)("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" }) }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "Close menu" })] }), (0, jsx_runtime_1.jsx)(Form, { defaultValue: actualValues, node: target, latest: description, form: moreForm, onCancel: onCancel, onSave: addIdThenSave })] });
59
+ function addIdThenSave(formValues) {
60
+ formValues["id"] = getNextId(formValues["displayName"], description);
61
+ onSave({ config: formValues });
62
+ }
63
+ }
64
+ exports.NodeEditor = NodeEditor;
65
+ function buildDefaults(form, defaultValue, node, top) {
66
+ const o = {};
67
+ const initialValues = {};
68
+ const existingValues = {};
69
+ for (const [name, v] of Object.entries(defaultValue)) {
70
+ existingValues[name] = v;
71
+ }
72
+ for (const [name, e] of Object.entries(form)) {
73
+ const entry = e;
74
+ const entryHint = entry.hint;
75
+ switch (entryHint.type) {
76
+ case 'text':
77
+ o[name] = entryHint.validation ?? Z.any();
78
+ initialValues[name] = existingValues[name] ?? entryHint.defaultValue;
79
+ break;
80
+ case 'numeric':
81
+ o[name] = entryHint.validation ?? Z.any();
82
+ initialValues[name] = existingValues[name] ?? entryHint.defaultValue;
83
+ break;
84
+ case 'select':
85
+ o[name] = SelectValidation(name, entryHint);
86
+ if (existingValues[name] !== undefined) {
87
+ initialValues[name] = existingValues[name];
88
+ }
89
+ else if (entryHint.defaultValue) {
90
+ initialValues[name] = existingValues[name] ?? entryHint.defaultValue;
91
+ }
92
+ else if (!entryHint.optional) {
93
+ initialValues[name] = entryHint.options[0].value;
94
+ }
95
+ else {
96
+ initialValues[name] = undefined;
97
+ }
98
+ break;
99
+ case 'list':
100
+ o[name] = entryHint.validation ?? Z.any();
101
+ initialValues[name] = existingValues[name] ?? entryHint.defaultValue ?? [];
102
+ break;
103
+ case 'multiselect':
104
+ o[name] = entryHint.validation ?? Z.any();
105
+ initialValues[name] = existingValues[name] ?? [];
106
+ if (entryHint.defaultValue) {
107
+ initialValues[name] = existingValues[name] ?? entryHint.defaultValue;
108
+ }
109
+ else {
110
+ initialValues[name] = existingValues[name] = [];
111
+ }
112
+ break;
113
+ case 'custom':
114
+ o[name] = entryHint.validation ?? Z.any();
115
+ initialValues[name] = existingValues[name] ?? entryHint.defaultValue;
116
+ break;
117
+ case 'boolean':
118
+ o[name] = Z.any();
119
+ initialValues[name] = existingValues[name] === undefined ? entryHint.defaultValue : existingValues[name];
120
+ break;
121
+ case 'form-list':
122
+ o[name] = entryHint.validation ?? Z.any();
123
+ initialValues[name] = existingValues[name] ?? entryHint.defaultValue ?? [];
124
+ break;
125
+ case 'form-item': {
126
+ o[name] = entryHint.validation ?? Z.any();
127
+ const subValues = buildDefaults(entryHint.form, existingValues[name] ?? entryHint.defaultValue ?? {}, node, top);
128
+ initialValues[name] = subValues.initialValues;
129
+ break;
130
+ }
131
+ default:
132
+ return (0, util_1.assertUnreachable)(entryHint);
133
+ }
134
+ }
135
+ return {
136
+ validation: o,
137
+ initialValues,
138
+ existingValues
139
+ };
140
+ }
141
+ function Form(props) {
142
+ const { initialValues, validation } = buildDefaults(props.form, props.defaultValue, props.node, props.latest);
143
+ function onSave(config) {
144
+ props.onSave(config);
145
+ }
146
+ return (0, jsx_runtime_1.jsx)(NodeEditorImpl, { form: props.form, schema: Z.object(validation), initialValues: initialValues, latest: props.latest, node: props.node, onSave: onSave, onCancel: props.onCancel });
147
+ }
148
+ exports.Form = Form;
149
+ function NodeEditorImpl({ form, schema, onSave, onCancel, initialValues, node, latest }) {
150
+ const { handleSubmit, register, resetField, setValue, setError, getValues, formState: { errors } } = (0, react_hook_form_1.useForm)({
151
+ resolver: (0, zod_1.zodResolver)(schema),
152
+ });
153
+ const [focusedElement, setFocusedElement] = (0, react_2.useState)();
154
+ function validationClass(name) {
155
+ const entry = errors[name];
156
+ if (entry) {
157
+ return " is-invalid";
158
+ }
159
+ return "";
160
+ }
161
+ function maybe_render_error(key) {
162
+ if (errors[key]) {
163
+ return (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center text-sm text-red-800 rounded-lg bg-red-50 dark:bg-gray-800 dark:text-red-400", role: "alert", children: [(0, jsx_runtime_1.jsx)("svg", { className: "flex-shrink-0 inline w-4 h-4 me-3", "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", viewBox: "0 0 20 20", children: (0, jsx_runtime_1.jsx)("path", { d: "M10 .5a9.5 9.5 0 1 0 9.5 9.5A9.51 9.51 0 0 0 10 .5ZM9.5 4a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3ZM12 15H8a1 1 0 0 1 0-2h1v-3H8a1 1 0 0 1 0-2h2a1 1 0 0 1 1 1v4h1a1 1 0 0 1 0 2Z" }) }), (0, jsx_runtime_1.jsx)("span", { className: "sr-only", children: "Info" }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: errors[key]?.message || '' }) })] });
164
+ }
165
+ else {
166
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
167
+ }
168
+ }
169
+ function onElementExpand(name) {
170
+ setFocusedElement(name);
171
+ }
172
+ function onElementContract(_name) {
173
+ setFocusedElement(undefined);
174
+ }
175
+ function onSaveRequest() {
176
+ void handleSubmit((values) => {
177
+ onSave(values);
178
+ })();
179
+ }
180
+ return (0, jsx_runtime_1.jsx)("div", { id: names_1.nodeEditorId, className: "z-40 w-full max-w-xs overflow-y-auto bg-white dark:bg-gray-800", tabIndex: -1, children: (0, jsx_runtime_1.jsxs)("div", { children: [Object.entries(form).map(([name, e], i) => {
181
+ const entry = e;
182
+ const entryHint = entry.hint;
183
+ let elementProps;
184
+ const type = entryHint.type;
185
+ switch (type) {
186
+ case 'text':
187
+ elementProps = register(name);
188
+ break;
189
+ case 'numeric':
190
+ elementProps = register(name, {
191
+ setValueAs: (v) => {
192
+ const res = Number.parseFloat(v);
193
+ return Number.isNaN(res) ? undefined : res;
194
+ }
195
+ });
196
+ break;
197
+ case 'list':
198
+ elementProps = register(name);
199
+ break;
200
+ case 'custom':
201
+ elementProps = register(name);
202
+ break;
203
+ case 'multiselect':
204
+ register(name);
205
+ elementProps = register(name + '_json');
206
+ (0, react_2.useEffect)(() => {
207
+ setValue(name, initialValues[name]);
208
+ }, [initialValues[name]]);
209
+ break;
210
+ case 'select':
211
+ register(name);
212
+ elementProps = register(name + '_json');
213
+ (0, react_2.useEffect)(() => {
214
+ setValue(name, initialValues[name]);
215
+ }, [initialValues[name]]);
216
+ break;
217
+ case 'boolean':
218
+ elementProps = register(name);
219
+ break;
220
+ case 'form-list':
221
+ elementProps = register(name);
222
+ break;
223
+ case 'form-item':
224
+ elementProps = register(name);
225
+ break;
226
+ default:
227
+ (0, util_1.assertUnreachable)(type);
228
+ }
229
+ if (focusedElement && name !== focusedElement)
230
+ return (0, jsx_runtime_1.jsx)("span", {}, i);
231
+ switch (entryHint.type) {
232
+ case 'text':
233
+ return (0, jsx_runtime_1.jsxs)("div", { className: "form-group", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: name, className: "node-editor-label", children: name }), (0, jsx_runtime_1.jsx)("input", { defaultValue: initialValues[name], className: `form-control${validationClass(name)} node-editor-text-input`, id: name, ...elementProps }), (0, jsx_runtime_1.jsx)("p", { className: "node-editor-helper-text", children: entry.help }), maybe_render_error(name)] }, i);
234
+ case 'numeric':
235
+ return (0, jsx_runtime_1.jsxs)("div", { className: "form-group", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: name, className: "node-editor-label", children: name }), (0, jsx_runtime_1.jsx)("input", { defaultValue: initialValues[name], type: "number", className: `form-control${validationClass(name)} node-editor-numeric-input`, id: name, ...elementProps }), (0, jsx_runtime_1.jsx)("p", { className: "node-editor-helper-text", children: entry.help }), maybe_render_error(name)] }, i);
236
+ case 'list': {
237
+ return (0, jsx_runtime_1.jsxs)("div", { className: "form-group", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: name, className: "node-editor-label", children: name }), (0, jsx_runtime_1.jsx)(ListInput, { defaultValue: initialValues[name], id: name, validation: entryHint.validation ?? Z.any(), onInvalid: () => setError(name, {}), onValid: (v) => { resetField(name); setValue(name, v); } }), (0, jsx_runtime_1.jsx)("p", { className: "node-editor-helper-text", children: entry.help }), maybe_render_error(name)] }, i);
238
+ }
239
+ case 'custom': {
240
+ const Component = entryHint.component;
241
+ return (0, jsx_runtime_1.jsxs)("div", { className: "form-group", children: [(0, jsx_runtime_1.jsx)(flowbite_react_1.Label, { htmlFor: name, className: "node-editor-label", children: name }), (0, jsx_runtime_1.jsx)("p", { className: "node-editor-helper-text", children: entry.help }), (0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)("div", { children: "..." }), children: (0, jsx_runtime_1.jsx)(Component, { latestDocument: latest, id: name, defaultValue: initialValues[name], latest: getValues(), onChanged: (v) => { resetField(name); setValue(name, v); } }) }), maybe_render_error(name)] }, i);
242
+ }
243
+ case 'multiselect': {
244
+ const { onChange, onBlur: _, ...p } = elementProps;
245
+ const myOnChange = (e) => {
246
+ const values = [];
247
+ e.target.childNodes.forEach((c) => {
248
+ if (c instanceof HTMLOptionElement && c.selected) {
249
+ values.push(c.value);
250
+ }
251
+ });
252
+ setValue(name, values.map((s) => JSON.parse(s)));
253
+ setValue(name + '_json', values);
254
+ void onChange(e);
255
+ };
256
+ const initial = initialValues[name].map((j) => JSON.stringify(j));
257
+ return (0, jsx_runtime_1.jsxs)("div", { className: "form-group", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: name, className: "node-editor-label", children: name }), (0, jsx_runtime_1.jsx)("select", { multiple: true, defaultValue: initial, className: `form-control${validationClass(name)} node-editor-select-input`, id: name, onChange: myOnChange, onBlur: myOnChange, ...p, children: entryHint.options.map((o, i) => {
258
+ const val = JSON.stringify(o.value);
259
+ return (0, jsx_runtime_1.jsx)("option", { value: val, children: o.display }, i);
260
+ }) }), (0, jsx_runtime_1.jsx)("p", { className: "node-editor-helper-text", children: entry.help }), maybe_render_error(name)] }, i);
261
+ }
262
+ case 'select': {
263
+ const { onChange, onBlur: _, ...p } = elementProps;
264
+ const myOnChange = (e) => {
265
+ const newValue = JSON.parse(e.target.value);
266
+ if (newValue === null) {
267
+ setValue(name, undefined);
268
+ }
269
+ else {
270
+ setValue(name, newValue);
271
+ }
272
+ setValue(name + '_json', e.target.value);
273
+ void onChange(e);
274
+ };
275
+ return (0, jsx_runtime_1.jsxs)("div", { className: "form-group", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: name, className: "node-editor-label", children: name }), (0, jsx_runtime_1.jsxs)("select", { defaultValue: JSON.stringify(initialValues[name]), className: `form-control${validationClass(name)} node-editor-select-input`, id: name, onChange: myOnChange, onBlur: myOnChange, ...p, children: [entryHint.optional ? (0, jsx_runtime_1.jsx)("option", { value: JSON.stringify(null), children: "---" }) : (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}), entryHint.options.map((o, i) => (0, jsx_runtime_1.jsx)("option", { value: JSON.stringify(o.value), children: o.display }, i))] }), (0, jsx_runtime_1.jsx)("p", { className: "node-editor-helper-text", children: entry.help }), maybe_render_error(name)] }, i);
276
+ }
277
+ case 'boolean':
278
+ return (0, jsx_runtime_1.jsxs)("div", { className: "form-group", children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: name, className: "node-editor-label", children: name }), (0, jsx_runtime_1.jsx)("input", { type: "checkbox", defaultChecked: initialValues[name], className: `form-control${validationClass(name)}`, id: name, ...elementProps }), (0, jsx_runtime_1.jsx)("p", { className: "node-editor-helper-text", children: entry.help }), maybe_render_error(name)] }, i);
279
+ case 'form-list':
280
+ return (0, jsx_runtime_1.jsxs)("div", { className: "form-group", children: [(0, jsx_runtime_1.jsx)(flowbite_react_1.Label, { htmlFor: name, className: "node-editor-label", children: name }), (0, jsx_runtime_1.jsx)("p", { className: "node-editor-helper-text", children: entry.help }), (0, jsx_runtime_1.jsx)(FormList, { id: name, defaultValue: initialValues[name], onExpand: () => onElementExpand(name), node: node, latest: latest, form: entryHint.form, onContract: () => onElementContract(name), onChange: (v) => {
281
+ setValue(name, v);
282
+ }, view: entryHint.view }), maybe_render_error(name)] }, i);
283
+ case 'form-item':
284
+ return (0, jsx_runtime_1.jsxs)("div", { className: "form-group", children: [(0, jsx_runtime_1.jsx)(flowbite_react_1.Label, { htmlFor: name, className: "node-editor-label", children: name }), (0, jsx_runtime_1.jsx)("p", { className: "node-editor-helper-text", children: entry.help }), (0, jsx_runtime_1.jsx)(FormItem, { id: name, defaultValue: initialValues[name], onExpand: () => onElementExpand(name), node: node, latest: latest, form: entryHint.form, onContract: () => onElementContract(name), onChange: (v) => {
285
+ setValue(name, v);
286
+ }, view: entryHint.view }), maybe_render_error(name)] }, i);
287
+ default:
288
+ return (0, util_1.assertUnreachable)(entryHint);
289
+ }
290
+ }), focusedElement ? (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {}) :
291
+ (0, jsx_runtime_1.jsxs)("div", { className: "flex justify-center w-full mt-2 pb-4 space-x-4", children: [(0, jsx_runtime_1.jsx)("button", { id: "btn-form-save", type: "button", onClick: onSaveRequest, className: "text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800", children: "Save" }), (0, jsx_runtime_1.jsxs)("button", { id: "btn-form-cancel", type: "button", onClick: onCancel, className: "inline-flex w-full justify-center text-gray-500 items-center bg-white hover:bg-gray-100 focus:ring-4 focus:outline-none focus:ring-primary-300 rounded-lg border border-gray-200 text-sm font-medium px-5 py-2.5 hover:text-gray-900 focus:z-10 dark:bg-gray-700 dark:text-gray-300 dark:border-gray-500 dark:hover:text-white dark:hover:bg-gray-600 dark:focus:ring-gray-600", children: [(0, jsx_runtime_1.jsx)("svg", { "aria-hidden": "true", className: "w-5 h-5 -ml-1 sm:mr-1", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M6 18L18 6M6 6l12 12" }) }), "Cancel"] })] })] }) });
292
+ }
293
+ function FormList(props) {
294
+ const [selectedItem, setSelectedItem] = (0, react_2.useState)();
295
+ const [value, setValue] = (0, react_2.useState)(props.defaultValue ?? []);
296
+ (0, react_2.useEffect)(() => {
297
+ props.onChange(value);
298
+ }, []);
299
+ return selectedItem ? (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(Form, { defaultValue: selectedItem.value, form: props.form, onCancel: onCancel, onSave: onSave, node: props.node, latest: props.latest }) }) :
300
+ (0, jsx_runtime_1.jsxs)("div", { className: "mb-2 border-dotted border-gray-500 border-1 p-2", children: [(value.length == 0) ?
301
+ (0, jsx_runtime_1.jsx)("div", { children: "None" })
302
+ :
303
+ (0, jsx_runtime_1.jsx)("div", { className: "divide-y", children: value.map((v, i) => (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-1 text-sm", children: [(0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: (0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)("div", { children: "..." }), children: (0, jsx_runtime_1.jsx)(props.view, { ...v }) }) }), (0, jsx_runtime_1.jsxs)("div", { className: "col-span-1", children: [(0, jsx_runtime_1.jsx)("a", { onClick: () => onEdit(i), href: "#", className: "float-right text-blue-600 hover:text-white hover:underline text-sm", children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-6 h-6", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" }) }) }), (0, jsx_runtime_1.jsx)("a", { onClick: () => onDelete(i), href: "#", className: "float-right text-blue-600 hover:text-white hover:underline text-sm", children: (0, jsx_runtime_1.jsx)("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", xmlns: "http://www.w3.org/2000/svg", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z", clipRule: "evenodd" }) }) })] })] }) }, i)) }), (0, jsx_runtime_1.jsx)("a", { href: "#", className: "float-right text-blue-600 hover:text-white hover:underline", onClick: onAdd, children: "Add" })] });
304
+ function onAdd() {
305
+ setSelectedItem({ value: {} });
306
+ props.onExpand();
307
+ }
308
+ function onEdit(i) {
309
+ setSelectedItem({ value: value[i], index: i });
310
+ props.onExpand();
311
+ }
312
+ function onDelete(i) {
313
+ value.splice(i, 1);
314
+ const newValue = [...value];
315
+ setValue(newValue);
316
+ props.onChange(newValue);
317
+ }
318
+ function onCancel() {
319
+ setSelectedItem(undefined);
320
+ props.onContract();
321
+ }
322
+ function onSave(e) {
323
+ if (!selectedItem)
324
+ return;
325
+ if (selectedItem.index !== undefined) {
326
+ const newValue = value.map((v, i) => {
327
+ if (i == selectedItem.index) {
328
+ return e;
329
+ }
330
+ else
331
+ return v;
332
+ });
333
+ setValue(newValue);
334
+ props.onChange(newValue);
335
+ }
336
+ else {
337
+ const newValue = [...value, e];
338
+ setValue(newValue);
339
+ props.onChange(newValue);
340
+ }
341
+ setSelectedItem(undefined);
342
+ props.onContract();
343
+ }
344
+ }
345
+ function FormItem(props) {
346
+ const [editing, setEditing] = (0, react_2.useState)(false);
347
+ const [value, setValue] = (0, react_2.useState)(props.defaultValue ?? []);
348
+ (0, react_2.useEffect)(() => {
349
+ props.onChange(value);
350
+ }, []);
351
+ return editing ? (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(Form, { defaultValue: value, form: props.form, onCancel: onCancel, onSave: onSave, latest: props.latest, node: props.node }) }) :
352
+ (0, jsx_runtime_1.jsxs)("div", { className: "flex mb-2 border-dotted border-gray-500 border-1 p-2", children: [(0, jsx_runtime_1.jsx)("span", { className: "flex-grow text-sm", children: (0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)("div", { children: "..." }), children: (0, jsx_runtime_1.jsx)(props.view, { ...value }) }) }), (0, jsx_runtime_1.jsx)("a", { onClick: () => onEdit(), href: "#", className: "shrink text-blue-600 hover:text-white hover:underline text-sm", children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-6 h-6", children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10" }) }) })] });
353
+ function onEdit() {
354
+ setEditing(true);
355
+ props.onExpand();
356
+ }
357
+ function onCancel() {
358
+ setEditing(false);
359
+ props.onContract();
360
+ }
361
+ function onSave(e) {
362
+ if (!editing)
363
+ return;
364
+ const newValue = { ...e };
365
+ setValue(newValue);
366
+ props.onChange(newValue);
367
+ props.onContract();
368
+ setEditing(false);
369
+ }
370
+ }
371
+ function ListInput(props) {
372
+ const [value, setValue] = (0, react_2.useState)(props.defaultValue ?? []);
373
+ const [validation, setValidation] = (0, react_2.useState)(props.validation.safeParse(value));
374
+ (0, react_2.useEffect)(() => {
375
+ if (props.defaultValue)
376
+ runValidation(props.defaultValue);
377
+ }, []);
378
+ return (0, jsx_runtime_1.jsxs)("div", { id: props.id, children: [value.map((item, i) => {
379
+ return (0, jsx_runtime_1.jsxs)("div", { children: [" ", (0, jsx_runtime_1.jsx)("input", { onChange: onExistingChange(i), onBlur: onExistingBlur, autoFocus: i == item.length - 1, className: `form-control${validation.success ? "" : " is-invalid"}` + " node-editor-text-input", defaultValue: item })] }, i);
380
+ }), (validation.success == false) && (0, jsx_runtime_1.jsx)("div", { className: "invalid-feedback", children: validation.error.message }), (0, jsx_runtime_1.jsx)("input", { onChange: onNewChange, className: "form-control node-editor-text-input", value: "" }, value.length)] });
381
+ function onNewChange(e) {
382
+ const newValue = value.concat([e.currentTarget.value]);
383
+ setValue(newValue);
384
+ }
385
+ function onExistingChange(i) {
386
+ return (e) => {
387
+ const newValue = value.map((x, j) => i == j ? e.currentTarget.value : x);
388
+ runValidation(newValue);
389
+ };
390
+ }
391
+ function runValidation(newValues) {
392
+ const newValidation = props.validation.safeParse(newValues);
393
+ if (!newValidation.error) {
394
+ props.onValid(newValues);
395
+ }
396
+ else {
397
+ console.log("setting invalid", newValues, newValidation);
398
+ props.onInvalid();
399
+ }
400
+ setValue(newValues);
401
+ setValidation(newValidation);
402
+ }
403
+ function onExistingBlur() {
404
+ const newValues = value.filter((s) => s.length > 0);
405
+ runValidation(newValues);
406
+ }
407
+ }
408
+ function SelectValidation(name, hint) {
409
+ return Z.unknown().refine((v) => {
410
+ if (!v && !hint.optional) {
411
+ return false;
412
+ }
413
+ if (hint.optional && v === undefined) {
414
+ return true;
415
+ }
416
+ if (hint.options.find((v2) => {
417
+ return (0, deep_equal_1.default)(v2.value, v);
418
+ }))
419
+ return true;
420
+ return false;
421
+ }, `${name} is required`);
422
+ }
423
+ function Id(_target, _description) {
424
+ return Z.string()
425
+ .min(1);
426
+ }
427
+ function getNextId(displayName, description, x) {
428
+ const withoutSpaces = displayName.replace(" ", "_").toLowerCase();
429
+ const withoutWeirdCharacters = withoutSpaces.replace(/[\s~`!@#$%^&*(){}[\];:"'<,.>?/\\|+=-]/g, '');
430
+ const current = x ?? 0;
431
+ const attempt = `${withoutWeirdCharacters}-${current}`;
432
+ if (description.findNode(attempt)) {
433
+ return getNextId(displayName, description, current + 1);
434
+ }
435
+ return attempt;
436
+ }
437
+ function getDisplayName(type, _description, _x) {
438
+ const split = type.split(".");
439
+ const name = split[split.length - 1];
440
+ return name;
441
+ }
442
+ //# sourceMappingURL=node-editor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-editor.js","sourceRoot":"","sources":["../../../src/client/jsx/node-editor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { ClassicScheme, RenderEmit } from "rete-react-plugin";
2
+ import { Node } from '../rete';
3
+ import { CompileError, CompileWarning } from "../../shared/document";
4
+ type NodeExtraData = Node;
5
+ export declare function nodeColour(props: {
6
+ $node: NodeExtraData;
7
+ }): "#FFDDDD" | "#FFFFDD" | "#CCEECC" | "#AAEEAA" | "#DDEEDD" | "#FFFFFF" | "#DDFFDD" | "#FFFFAA";
8
+ export default StyledNode;
9
+ export declare const NodeStyles: import("styled-components").StyledComponent<"div", any, {
10
+ width?: number | undefined;
11
+ height?: number | undefined;
12
+ selected?: boolean | undefined;
13
+ $node: NodeExtraData;
14
+ styles?: ((props: any) => any) | undefined;
15
+ }, never>;
16
+ type Props<S extends ClassicScheme> = {
17
+ data: S["Node"] & NodeExtraData;
18
+ styles?: () => any;
19
+ emit: RenderEmit<S>;
20
+ };
21
+ export declare function WarningIcon({ errors, warnings: _ }: {
22
+ errors: CompileError[];
23
+ warnings: CompileWarning[];
24
+ }): import("react/jsx-runtime").JSX.Element;
25
+ export declare function StyledNode<Scheme extends ClassicScheme>(props: Props<Scheme>): import("react/jsx-runtime").JSX.Element;