@web-noise/core 0.0.1 → 0.0.4

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.
@@ -0,0 +1,48 @@
1
+ (() => {
2
+
3
+ function $parcel$exportWildcard(dest, source) {
4
+ Object.keys(source).forEach(function(key) {
5
+ if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {
6
+ return;
7
+ }
8
+
9
+ Object.defineProperty(dest, key, {
10
+ enumerable: true,
11
+ get: function get() {
12
+ return source[key];
13
+ }
14
+ });
15
+ });
16
+
17
+ return dest;
18
+ }
19
+
20
+ function $parcel$export(e, n, v, s) {
21
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
22
+ }
23
+ var $6d2f400b9237f350$exports = {};
24
+ var $d716aa3babd5909e$exports = {};
25
+
26
+ $parcel$export($d716aa3babd5909e$exports, "DRAG_HANDLE_CLASS", () => $d716aa3babd5909e$export$956b3cf15d7c363);
27
+ $parcel$export($d716aa3babd5909e$exports, "DRAG_HANDLE_SELECTOR", () => $d716aa3babd5909e$export$21d634b1d5d9bee3);
28
+ $parcel$export($d716aa3babd5909e$exports, "CONTROL_PANEL_GRID_CONFIG", () => $d716aa3babd5909e$export$9f05d3e6ade4c09e);
29
+ $parcel$export($d716aa3babd5909e$exports, "PortType", () => $d716aa3babd5909e$export$b0b7b95ee465c83c);
30
+ const $d716aa3babd5909e$export$956b3cf15d7c363 = "web-noise-drag-handle";
31
+ const $d716aa3babd5909e$export$21d634b1d5d9bee3 = `.${$d716aa3babd5909e$export$956b3cf15d7c363}`;
32
+ const $d716aa3babd5909e$export$9f05d3e6ade4c09e = {
33
+ rowHeight: 10,
34
+ cols: 4
35
+ };
36
+ var $d716aa3babd5909e$export$b0b7b95ee465c83c;
37
+ (function(PortType) {
38
+ PortType["Gate"] = "gate";
39
+ PortType["Number"] = "number";
40
+ PortType["Audio"] = "audio";
41
+ PortType["Any"] = "any";
42
+ })($d716aa3babd5909e$export$b0b7b95ee465c83c || ($d716aa3babd5909e$export$b0b7b95ee465c83c = {}));
43
+
44
+
45
+ $parcel$exportWildcard($6d2f400b9237f350$exports, $d716aa3babd5909e$exports);
46
+
47
+ })();
48
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAO,MAAM,2CAAoB;AAC1B,MAAM,4CAAuB,CAAA,CAAA,EAAI,0CAAmB;AAEpD,MAAM,4CAA4B;IACvC,WAAW;IACX,MAAM;AACP;AAED,IAAY;AAAZ,CAAA,SAAY,QAAQ;IAClB,QAAA,CAAA,OAAA,GAAA;IACA,QAAA,CAAA,SAAA,GAAA;IACA,QAAA,CAAA,QAAA,GAAA;IACA,QAAA,CAAA,MAAA,GAAA;AACF,CAAA,EALY,6CAAA,CAAA,4CAAQ,CAAA,CAAA","sources":["packages/core/constants.ts","packages/core/src/constants.ts"],"sourcesContent":["export * from './src/constants';","export const DRAG_HANDLE_CLASS = \"web-noise-drag-handle\";\nexport const DRAG_HANDLE_SELECTOR = `.${DRAG_HANDLE_CLASS}`;\n\nexport const CONTROL_PANEL_GRID_CONFIG = {\n rowHeight: 10,\n cols: 4,\n};\n\nexport enum PortType {\n Gate = \"gate\",\n Number = \"number\",\n Audio = \"audio\",\n Any = \"any\",\n}\n"],"names":[],"version":3,"file":"constants.js.map"}
package/dist/main.js CHANGED
@@ -1,4 +1,4 @@
1
- var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=require("@emotion/react"),$a7mps$emotionstyled=require("@emotion/styled"),$a7mps$nanoid=require("nanoid"),$a7mps$react=require("react"),$a7mps$reacticonsfa6=require("react-icons/fa6"),$a7mps$reacticonsmd=require("react-icons/md");require("reactflow/dist/style.css");var $a7mps$reactflow=require("reactflow"),$a7mps$zustand=require("zustand"),$a7mps$jsondiffpatch=require("jsondiffpatch"),$a7mps$emotioncss=require("@emotion/css"),$a7mps$reactcontexify=require("react-contexify");require("react-contexify/dist/ReactContexify.css");var $a7mps$jsfiledownload=require("js-file-download"),$a7mps$hotkeysjs=require("hotkeys-js"),$a7mps$reactfiledrop=require("react-file-drop"),$a7mps$reacticonsfa=require("react-icons/fa"),$a7mps$reresizable=require("re-resizable"),$a7mps$reactgridlayout=require("react-grid-layout");require("react-grid-layout/css/styles.css");var $a7mps$reacticonsai=require("react-icons/ai"),$a7mps$reacticonsrx=require("react-icons/rx"),$a7mps$reactmoderndrawer=require("react-modern-drawer");require("react-modern-drawer/dist/index.css");var $a7mps$marked=require("marked");function $parcel$export(e,t,a,r){Object.defineProperty(e,t,{get:a,set:r,enumerable:!0,configurable:!0})}function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}$parcel$export(module.exports,"Editor",()=>$bf69f85ff37e07b6$export$2e2bcd8739ae039),$parcel$export(module.exports,"Wire",()=>$f106181e6945e312$export$2e2bcd8739ae039),$parcel$export(module.exports,"WNNode",()=>$640d4631fb8a3085$export$361064385d50ec44),$parcel$export(module.exports,"TitleBar",()=>$640d4631fb8a3085$export$7e0b3af1e60a3273),$parcel$export(module.exports,"PortsPanel",()=>$640d4631fb8a3085$export$bfd3bd1fa283e3c6),$parcel$export(module.exports,"OutputPorts",()=>$640d4631fb8a3085$export$af4f9b41fc32ed9e),$parcel$export(module.exports,"OutputHandle",()=>$640d4631fb8a3085$export$496e5e1ee1696f64),$parcel$export(module.exports,"InputPorts",()=>$640d4631fb8a3085$export$f1afba0ff9ea1277),$parcel$export(module.exports,"InputHandle",()=>$640d4631fb8a3085$export$9ea0feffc20ee81),$parcel$export(module.exports,"Port",()=>$640d4631fb8a3085$export$a2d375858cc72119),$parcel$export(module.exports,"Modal",()=>$129c840746269630$export$2e2bcd8739ae039),$parcel$export(module.exports,"EditableLabel",()=>$8ff102452e3139f7$export$2e2bcd8739ae039),$parcel$export(module.exports,"useAudioNode",()=>$aa9957b9b5d388f6$export$2e2bcd8739ae039),$parcel$export(module.exports,"useNode",()=>$fe0857212c4510a0$export$2e2bcd8739ae039),$parcel$export(module.exports,"useTheme",()=>$d0e2724637fe681a$export$2e2bcd8739ae039),$parcel$export(module.exports,"useStore",()=>$79ad7ccfcef16bee$export$2e2bcd8739ae039),$parcel$export(module.exports,"theme",()=>$087b434571dfd091$export$2e2bcd8739ae039);let $4af2bc5e2d0e1358$export$4659b591c19bdf3d=(e,t)=>{let a=t.replace(/([.+?^=!:${}()|\[\]\/\\])/g,"\\$1").replace(/\*/g,".*");return RegExp(`^${a}$`).test(e)},$a1cee8e8b30b93b5$var$customFetchers=[],$a1cee8e8b30b93b5$export$9e4ff1580457920e=(e,t)=>($a1cee8e8b30b93b5$var$customFetchers.push([e,t]),()=>{}),$a1cee8e8b30b93b5$var$getFetcher=e=>[...$a1cee8e8b30b93b5$var$customFetchers].reverse().find(([t])=>$4af2bc5e2d0e1358$export$4659b591c19bdf3d(e,t))?.[1],$a1cee8e8b30b93b5$var$webNoiseFetch=(...e)=>{let t=$a1cee8e8b30b93b5$var$getFetcher(new Request(...e).url);return t?t(...e):fetch(...e)};var $a1cee8e8b30b93b5$export$2e2bcd8739ae039=$a1cee8e8b30b93b5$var$webNoiseFetch;let $f4d2e61b01c59a18$export$64e2564cc3ca44e9={},$f4d2e61b01c59a18$export$ff7e9ed3f5c574f2=e=>{Object.assign($f4d2e61b01c59a18$export$64e2564cc3ca44e9,e)},$f4d2e61b01c59a18$export$6bf50e9be02d9812=e=>$f4d2e61b01c59a18$export$64e2564cc3ca44e9[e];var $b725098b9bf45212$exports={};$b725098b9bf45212$exports="data:application/javascript,class%20%24bee9fdd1330822c9%24export%245ca71ec9c9900286%20extends%20AudioWorkletProcessor%7Bprocess%28%29%7Breturn%210%7D%7DregisterProcessor%28%22dump-node-processor%22%2C%24bee9fdd1330822c9%24export%245ca71ec9c9900286%29%3B";let $1b2147e86d8d9759$var$dumpNodeWorklet=new URL($parcel$interopDefault($b725098b9bf45212$exports),"file:///packages/patch/src/createPatch.ts"),$1b2147e86d8d9759$var$createPatch=(e=new AudioContext)=>{let t=e.audioWorklet.addModule($1b2147e86d8d9759$var$dumpNodeWorklet).then(()=>new AudioWorkletNode(e,"dump-node-processor")),a=new Map,r=new Map,o=async r=>{let{id:o,type:$,data:c}=r;if(!$)return void a.set(o,{loading:!1,error:Error(`Node: ${o} has no type`),node:null});let n=$f4d2e61b01c59a18$export$6bf50e9be02d9812($);if(!1!==n){if(!n)return void a.set(o,{loading:!1,error:Error(`Could not find handler for audio type ${$}`),node:null});a.set(o,{loading:!0,error:null,node:null});try{let r=await n(e,c),$=await t;a.set(o,{loading:!1,error:null,node:r}),Object.values(r.outputs||[]).forEach(({port:e})=>{$&&(e instanceof AudioWorkletNode&&e.connect($),Array.isArray(e)&&e[0]instanceof AudioWorkletNode&&e[0].connect($,e[1]))})}catch(e){a.set(o,{loading:!1,error:e,node:null})}}},$=async e=>Promise.all(e.map(o)),c=e=>{let{id:t,data:r}=e,o=a.get(t);if(!o)return void console.error(`Audio node #${t} does not exist`);let{loading:$,error:c,node:n}=o;return $?void console.error(`Audio node #${t} is yet not loaded`):c?void console.error(`Audio node #${t} is in error state: ${c.toString()}`):void(n.destroy&&n.destroy(),Object.values(n.inputs||{}).forEach(({port:e})=>e instanceof AudioNode&&e.disconnect&&e.disconnect()),Object.values(n.outputs||{}).forEach(({port:e})=>e instanceof AudioNode&&e.disconnect&&e.disconnect()),a.delete(t))},n=e=>{let{source:t,sourceHandle:o,target:$,targetHandle:c,id:n}=e,{node:s}=a.get(t)||{};if(!s)return void console.error(`can't find source node ${t}`);if(!o)return void console.error(`source handle is not defined in node ${t}`);let d=s.outputs?.[o],i=d?.port,{node:l}=a.get($)||{};if(!l)return void console.error(`can't find target node ${l}`);if(!c)return void console.error(`source handle is not defined in node ${s}`);let p=l.inputs?.[c],f=p?.port;if(!i)return void console.error(`Can't find output port: ${t}:${o}`);if(!f)return void console.error(`Can't find input port: ${$}:${c}`);let m=f instanceof AudioNode,u=f instanceof AudioParam,b=f instanceof Array,x=m||u,h=i instanceof AudioNode,g=i instanceof Array;h&&x?i.connect(f):h&&b?i.connect(f[0],0,f[1]):g&&x?i[0].connect(f,i[1]):g&&b?i[0].connect(f[0],i[1],f[1]):(console.log(i,f),console.error("ports can be only AudioNode or AudioNodeChannel")),r.set(n,{output:d,input:p})},s=e=>{let{id:t,data:a}=e,o=r.get(t);if(!o)return void console.error(`can't find connection with id: ${t}`);let{input:{port:$},output:{port:c}}=o,n=$ instanceof AudioNode,s=$ instanceof AudioParam,d=$ instanceof Array,i=n||s,l=c instanceof AudioNode,p=c instanceof Array;if(l&&i)c.disconnect($);else if(l&&d)c.disconnect($[0],0,$[1]);else if(p&&i)c[0].disconnect($,c[1]);else if(p&&d)c[0].disconnect($[0],c[1],$[1]);else throw console.log(c,$),Error("output port can not be only AudioNode or AudioNodeChannel");r.delete(t)};return{audioContext:e,audioNodes:a,registerAudioNode:o,registerAudioNodes:$,unregisterAudioNode:c,unregisterAudioNodes:e=>e.map(c),audioConnections:r,registerAudioConnection:n,registerAudioConnections:e=>e.map(n),unregisterAudioConnection:s,unregisterAudioConnections:e=>e.map(s)}};var $1b2147e86d8d9759$export$2e2bcd8739ae039=$1b2147e86d8d9759$var$createPatch;let $322b255600739d01$export$956b3cf15d7c363="web-noise-drag-handle",$322b255600739d01$export$21d634b1d5d9bee3=`.${$322b255600739d01$export$956b3cf15d7c363}`,$322b255600739d01$export$9f05d3e6ade4c09e={rowHeight:10,cols:4},$e529d4239af1b171$var$generateNodeId=e=>{let t=+new Date+Math.floor(1e3*Math.random());return e?.type?`${e.type}-${t}`:t.toString()};var $e529d4239af1b171$export$2e2bcd8739ae039=$e529d4239af1b171$var$generateNodeId;let $81b13a509505c172$var$nodesStateCreator=(e,t)=>({nodes:[],edges:[],onNodesChange:t=>{e(({nodes:e})=>({nodes:(0,$a7mps$reactflow.applyNodeChanges)(t,e).map(e=>({dragHandle:$322b255600739d01$export$21d634b1d5d9bee3,...e}))}))},onEdgesChange:t=>{e(({edges:e})=>({edges:(0,$a7mps$reactflow.applyEdgeChanges)(t,e)}))},onConnect:t=>{e(({edges:e})=>({edges:(0,$a7mps$reactflow.addEdge)(t,e)}))},addNode:t=>{e(({nodes:e})=>({nodes:e.concat(t)}))},setNodes:t=>{e({nodes:t})},setEdges:t=>{e({edges:t})},setNodesAndEdges:({nodes:t,edges:a})=>{e({nodes:t,edges:a})},getNodesAndEdges:()=>{let{nodes:e,edges:a}=t();return{nodes:e,edges:a}},clearElements:()=>{e({nodes:[],edges:[]})},getNode:e=>{let{nodes:a}=t();return a.find(t=>t.id===e)||null},updateNodeData:(t,a)=>{e(({nodes:e})=>({nodes:e.map(e=>e.id===t?{...e,data:{...e.data,...a}}:e)}))},nodeTypes:{},setNodeTypes:t=>e({nodeTypes:t})});var $81b13a509505c172$export$2e2bcd8739ae039=$81b13a509505c172$var$nodesStateCreator;let $0611fa5d00cc8e7f$var$cloneObject=e=>JSON.parse(JSON.stringify(e)),$0611fa5d00cc8e7f$export$b1b92d12d1c2ae0e=(e,t)=>({history:{maxHistoryLength:5,buffer:[],pointer:0,skipCollect:!1,push:a=>{let{history:r}=t(),{maxHistoryLength:o,skipCollect:$}=r;if($)return void e({history:{...r,skipCollect:!1}});e(({history:e})=>{if(!e)return{};let{buffer:t,pointer:r}=e,$=t.slice(Math.max(r-o+1,0),r);return{history:{...e,buffer:[...$,a],pointer:Math.min(r+1,o)}}})},back:()=>{let{nodes:a,edges:r,controlPanel:o,history:$}=t(),{buffer:c,pointer:n}=$,s=c[n-1];if(!s)return;let d=$a7mps$jsondiffpatch.reverse(s);if(!d)return;let i=$0611fa5d00cc8e7f$var$cloneObject({nodes:a,edges:r,controlPanel:o});e({...$a7mps$jsondiffpatch.patch(i,d),history:{...$,pointer:n-1,skipCollect:!0}})},forward:()=>{let{nodes:a,edges:r,controlPanel:o,history:$}=t(),{buffer:c,pointer:n}=$,s=c[n];if(!s)return;let d=$0611fa5d00cc8e7f$var$cloneObject({nodes:a,edges:r,controlPanel:o});e({...$a7mps$jsondiffpatch.patch(d,s),history:{...$,pointer:n+1,skipCollect:!0}})},clear:()=>{let{history:a}=t();e({history:{...a,buffer:[],pointer:0,skipCollect:!0}})}}}),$0611fa5d00cc8e7f$var$COLLECT_CHANGES_DEBOUNCE_TIME=500,$0611fa5d00cc8e7f$export$4e64751394766316=(e,t)=>{let a,r=$a7mps$jsondiffpatch.create({propertyFilter:(e,t)=>!!(t.parent?.parent?.childName==="controlPanel"||["data","position","controlPanel"].includes(t.parent?.childName))||["controlPanel","size","edges","nodes","data","label","config","values","position","x","y"].includes(e)}),o=t();return(e,$)=>{e.currentFileIndex!==$.currentFileIndex&&t().history.clear(),clearTimeout(a),o||(o=$),a=setTimeout(()=>{let a=r.diff(o,e);o=null,a&&t().history.push(a)},500)}},$0611fa5d00cc8e7f$var$history=e=>(t,a,r)=>{let o=$0611fa5d00cc8e7f$export$4e64751394766316(t,a);return r.subscribe(o),e((...e)=>t(...e),a,r)};var $0611fa5d00cc8e7f$export$2e2bcd8739ae039=$0611fa5d00cc8e7f$var$history;let $cc7419ede87fb699$export$e364ea0c1dfb25e5=(e,t)=>{let a=new Set(e.map(e=>e.id)),r=new Set(t.map(e=>e.id));return{added:t.filter(e=>!a.has(e.id)),removed:e.filter(e=>!r.has(e.id))}},$deedaa1a23fe3009$export$62647b40ff8aed70=(e,t)=>({patch:$1b2147e86d8d9759$export$2e2bcd8739ae039(),nodesState:{}}),$deedaa1a23fe3009$var$audioPatch=e=>(t,a,r)=>{r.subscribe(async(e,t)=>{});let o=new Set,$={...a(),nodes:[],edges:[]};return e(async(...e)=>{let r=a(),[c]=e,n={...$,..."function"==typeof c?c({...$}):c},s=$cc7419ede87fb699$export$e364ea0c1dfb25e5($.nodes,n.nodes),d=$cc7419ede87fb699$export$e364ea0c1dfb25e5($.edges,n.edges);$=n;let i=s.added,l=d.added,p=d.removed,f=s.removed,{patch:m}=r;if(i.length){let e=m.registerAudioNodes(i);o.add(e),await e,o.delete(e)}if(!(l.length||p.length||f.length))return void t(...e);if(o.size)try{await Promise.all([...o.values()])}catch(e){console.log("some error",e)}l.length&&m.registerAudioConnections(l),p.length&&m.unregisterAudioConnections(p),f.length&&m.unregisterAudioNodes(f),t(...e)},a,r)};var $deedaa1a23fe3009$export$2e2bcd8739ae039=$deedaa1a23fe3009$var$audioPatch;let $2b45ecd77d7b84ef$var$projectStateCreator=(e,t)=>({project:{files:[]},setProject(t){e({project:t,currentFileIndex:0})},getProject:()=>t().project,pullEditorChanges(){let{getEditorState:e,currentFileIndex:a,updateFileContent:r,project:o}=t(),$=o.files[a];r(a,{...$,file:e()})},currentFileIndex:0,setCurrentFileIndex(a){let{currentFileIndex:r}=t();a!==r&&e({currentFileIndex:a})},updateFileContent(a,r){let{project:o}=t();e({project:{...o,files:o.files.map((e,t)=>t===a?{...e,...r}:e)}})},updateFileName(a,r){let{project:o}=t();e({project:{...o,files:o.files.map((e,t)=>t===a?{...e,name:r}:e)}})},addFile(a){let{project:r}=t(),o=[...r.files,a];e({project:{...r,files:o},currentFileIndex:o.length-1})},deleteFile:a=>{let{project:r,currentFileIndex:o}=t();e({project:{...r,files:r.files.filter((e,t)=>a!==t)}}),a<=o&&e({currentFileIndex:o-1})}});var $2b45ecd77d7b84ef$export$2e2bcd8739ae039=$2b45ecd77d7b84ef$var$projectStateCreator;let $79ad7ccfcef16bee$export$34c5bc865219488e=(...e)=>{let[t,a]=e;return{...$81b13a509505c172$export$2e2bcd8739ae039(...e),...$0611fa5d00cc8e7f$export$b1b92d12d1c2ae0e(...e),...$deedaa1a23fe3009$export$62647b40ff8aed70(...e),...$2b45ecd77d7b84ef$export$2e2bcd8739ae039(...e),setGraph:async({nodes:e,edges:t})=>{let{patch:r,createNodes:o,createEdges:$,setNodesAndEdges:c,nodes:n,edges:s}=a();c({nodes:[],edges:[]}),await o(e),$(t)},clearGraph:()=>{let{setGraph:e}=a();e({nodes:[],edges:[]})},createNodes:async e=>{let{createNode:t}=a();await Promise.all(e.map(e=>t(e)))},createNode:e=>{let{addNode:t,nodesConfiguration:r}=a(),{type:o,id:$,data:c}=e;if(void 0===o)throw Error(`node type is not defined for node: ${$}`);t({...e,data:{...c,config:{...r[o]?.defaultConfig,...c?.config}}})},removeNode:e=>a().removeNodes([e]),removeNodes:e=>{let{edges:r,nodes:o,onNodesDelete:$,removeEdges:c,removeNodesFromControlPanel:n}=a(),s=e.map(({id:e})=>e),d=[...e,...o.filter(({parentNode:e})=>e&&s.includes(e))];n(d),c((0,$a7mps$reactflow.getConnectedEdges)(d,r)),$(d);let i=d.map(({id:e})=>e);t({nodes:o.filter(({id:e})=>!i.includes(e))})},removeEdges:e=>{let{edges:r,onEdgesDelete:o}=a(),$=e.map(({id:e})=>e);o(e),t({edges:r.filter(({id:e})=>!$.includes(e))})},createEdges:e=>{let{patch:t,edges:r,setEdges:o}=a();o(e)},onConnect:async e=>{let{edges:t,createEdges:r}=a();r((0,$a7mps$reactflow.addEdge)(e,t))},onEdgesDelete:e=>{let{patch:t}=a()},onNodesDelete:async e=>{let{removeNodesFromControlPanel:t,patch:r}=a();t(e)},plugins:[],setPlugins:async e=>{let{setNodeTypes:r}=a();t({plugins:e});let o=e.reduce((e,t)=>({...e,...t.components.reduce((e,t)=>({...e,[t.type]:t}),{})}),{}),$=Object.keys(o).reduce((e,t)=>({...e,[t]:o[t].node}),{});$f4d2e61b01c59a18$export$ff7e9ed3f5c574f2(Object.keys(o).reduce((e,t)=>({...e,[t]:o[t].audioNode}),{})),r($),t(({nodesConfiguration:e})=>({nodesConfiguration:{...e,...o}}))},nodesConfiguration:{},config:{showMinimap:!1},setConfig:e=>{t(({config:t})=>({config:{...t,...e}}))},getEditorState:()=>{let{getNodesAndEdges:e,controlPanel:t,viewport:r}=a();return{...e(),controlPanel:t,viewport:r}},setEditorState:async({nodes:e,edges:r,controlPanel:o,viewport:$})=>{let{setGraph:c}=a();await c({nodes:e,edges:r}),await new Promise(e=>setTimeout(e,1e3)),t({controlPanel:o,viewport:$})},isHelpShown:!1,toggleHelp:()=>{let{isHelpShown:e}=a();t({isHelpShown:!e})},copyBuffer:{nodes:[],edges:[]},copy:e=>{t({copyBuffer:e})},copySelectedItems:()=>{let{nodes:e,edges:t,copy:r}=a(),o=e.filter(({selected:e})=>e),$=t.filter(({selected:e})=>e);o.length&&r({nodes:o,edges:$})},pasteBuffer:(e=0,r=0)=>{let{copyBuffer:o,createNodes:$,setEdges:c,nodes:n,edges:s}=a(),{nodes:d,edges:i}=o;if(!d.length)return;t({nodes:n.map(e=>({...e,selected:!1}))});let l=d.reduce((e,t)=>!e||t.position.x<e.position.x&&t.position.y<e.position.y?t:e),p=l.position.x-e,f=l.position.y-r,{nodes:m,mapping:u}=d.reduce((e,t)=>{let a=$e529d4239af1b171$export$2e2bcd8739ae039(t);return{nodes:[...e.nodes,{...t,id:a,position:{x:t.position.x-p,y:t.position.y-f},selected:!0}],mapping:{...e.mapping,[t.id]:a}}},{nodes:[],mapping:{}});$(m);let b=i.map(e=>{let t=u[e.source]||e.source,a=u[e.target]||e.target;return{...e,id:e.id.replace(e.source,t).replace(e.target,a),source:t,target:a,selected:!0}});c([...s.map(e=>({...e,selected:!1})),...b])},getControlPanelNode:e=>{let{nodesConfiguration:t}=a(),{type:r}=e;if(!r)return null;let o=t[r]?.controlPanelNode;return o||(console.error(`could not find node for type ${r}`),null)},controlPanel:{show:!0,nodes:[],size:{width:200,height:100}},showControlPanel:()=>t(({controlPanel:e})=>({controlPanel:{...e,show:!0}})),hideControlPanel:()=>t(({controlPanel:e})=>({controlPanel:{...e,show:!1}})),addNodeToControlPanel:e=>{let{nodesConfiguration:r}=a(),o=e.type?r[e.type]?.defaultConfig:{},{height:$}=o?.size||{},c={id:e.id,...$?{height:$/$322b255600739d01$export$9f05d3e6ade4c09e.rowHeight}:{}};t(({controlPanel:e})=>({controlPanel:{...e,nodes:[...e.nodes,c]}}))},removeNodeFromControlPanel:e=>a().removeNodesFromControlPanel([e]),removeNodesFromControlPanel:e=>{let a=e.map(({id:e})=>e);t(({controlPanel:e})=>{let t=e.nodes.filter(({id:e})=>!a.includes(e));return{controlPanel:{...e,nodes:t}}})},setControlPanelNodes:e=>{t(({controlPanel:t})=>({controlPanel:{...t,nodes:e}}))},setControlPanelSize:e=>{t(({controlPanel:t})=>({controlPanel:{...t,size:e}}))},viewport:{x:0,y:0,zoom:1},setViewport:e=>t({viewport:e})}},$79ad7ccfcef16bee$var$useStore=(0,$a7mps$zustand.create)($deedaa1a23fe3009$export$2e2bcd8739ae039($0611fa5d00cc8e7f$export$2e2bcd8739ae039($79ad7ccfcef16bee$export$34c5bc865219488e)));var $79ad7ccfcef16bee$export$2e2bcd8739ae039=$79ad7ccfcef16bee$var$useStore;let $087b434571dfd091$var$LEVA_COLOR_ACCENT2_BLUE="#007bff",$087b434571dfd091$var$COLOR_GREEN_PRIMARY="#14df42",$087b434571dfd091$var$COLOR_WHITE_PRIMARY="#ffffff",$087b434571dfd091$var$colors={elevation1:"#292d39",elevation2:"#181c20",elevation3:"#373c4b",accent1:"#0066dc",accent2:"#007bff",accent3:"#3c93ff",highlight1:"#535760",highlight2:"#8c92a4",highlight3:"#fefefe",vivid1:"#14df42",whitePrimary:"#ffffff",error:"#db5353"},$087b434571dfd091$var$zIndex={modal:9998,controlPanel:9999,resumeContextLayout:10003},$087b434571dfd091$var$theme={colors:$087b434571dfd091$var$colors,zIndex:$087b434571dfd091$var$zIndex};var $087b434571dfd091$export$2e2bcd8739ae039=$087b434571dfd091$var$theme;(0,$a7mps$emotioncss.injectGlobal)`
1
+ var $322b255600739d01$export$b0b7b95ee465c83c,$a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=require("@emotion/react"),$a7mps$emotionstyled=require("@emotion/styled"),$a7mps$nanoid=require("nanoid"),$a7mps$react=require("react"),$a7mps$reacticonsfa6=require("react-icons/fa6"),$a7mps$reacticonsmd=require("react-icons/md");require("reactflow/dist/style.css");var $a7mps$reactflow=require("reactflow"),$a7mps$zustand=require("zustand"),$a7mps$jsondiffpatch=require("jsondiffpatch"),$a7mps$emotioncss=require("@emotion/css"),$a7mps$reactcontexify=require("react-contexify");require("react-contexify/dist/ReactContexify.css");var $a7mps$jsfiledownload=require("js-file-download"),$a7mps$hotkeysjs=require("hotkeys-js"),$a7mps$reactdom=require("react-dom"),$a7mps$reactfiledrop=require("react-file-drop"),$a7mps$reacticonsfa=require("react-icons/fa"),$a7mps$reresizable=require("re-resizable"),$a7mps$reactgridlayout=require("react-grid-layout");require("react-grid-layout/css/styles.css");var $a7mps$reacticonsai=require("react-icons/ai"),$a7mps$reacticonsrx=require("react-icons/rx"),$a7mps$reactmoderndrawer=require("react-modern-drawer");require("react-modern-drawer/dist/index.css");var $a7mps$marked=require("marked");function $parcel$export(e,t,r,a){Object.defineProperty(e,t,{get:r,set:a,enumerable:!0,configurable:!0})}function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}$parcel$export(module.exports,"Editor",()=>$bf69f85ff37e07b6$export$2e2bcd8739ae039),$parcel$export(module.exports,"EDITOR_DEFAULTS",()=>$bf69f85ff37e07b6$export$d31000d36961d6c2),$parcel$export(module.exports,"Wire",()=>$f106181e6945e312$export$2e2bcd8739ae039),$parcel$export(module.exports,"WNNode",()=>$640d4631fb8a3085$export$361064385d50ec44),$parcel$export(module.exports,"TitleBar",()=>$640d4631fb8a3085$export$7e0b3af1e60a3273),$parcel$export(module.exports,"PortsPanel",()=>$640d4631fb8a3085$export$bfd3bd1fa283e3c6),$parcel$export(module.exports,"OutputPorts",()=>$640d4631fb8a3085$export$af4f9b41fc32ed9e),$parcel$export(module.exports,"OutputHandle",()=>$640d4631fb8a3085$export$496e5e1ee1696f64),$parcel$export(module.exports,"InputPorts",()=>$640d4631fb8a3085$export$f1afba0ff9ea1277),$parcel$export(module.exports,"InputHandle",()=>$640d4631fb8a3085$export$9ea0feffc20ee81),$parcel$export(module.exports,"Port",()=>$640d4631fb8a3085$export$a2d375858cc72119),$parcel$export(module.exports,"Modal",()=>$129c840746269630$export$2e2bcd8739ae039),$parcel$export(module.exports,"EditableLabel",()=>$8ff102452e3139f7$export$2e2bcd8739ae039),$parcel$export(module.exports,"useAudioNode",()=>$aa9957b9b5d388f6$export$2e2bcd8739ae039),$parcel$export(module.exports,"useNode",()=>$fe0857212c4510a0$export$2e2bcd8739ae039),$parcel$export(module.exports,"useTheme",()=>$d0e2724637fe681a$export$2e2bcd8739ae039),$parcel$export(module.exports,"useStore",()=>$79ad7ccfcef16bee$export$2e2bcd8739ae039),$parcel$export(module.exports,"theme",()=>$087b434571dfd091$export$2e2bcd8739ae039),$parcel$export(module.exports,"PortType",()=>$322b255600739d01$export$b0b7b95ee465c83c);let $4af2bc5e2d0e1358$export$4659b591c19bdf3d=(e,t)=>{let r=t.replace(/([.+?^=!:${}()|\[\]\/\\])/g,"\\$1").replace(/\*/g,".*");return RegExp(`^${r}$`).test(e)},$a1cee8e8b30b93b5$var$customFetchers=[],$a1cee8e8b30b93b5$export$9e4ff1580457920e=(e,t)=>($a1cee8e8b30b93b5$var$customFetchers.push([e,t]),()=>{}),$a1cee8e8b30b93b5$var$getFetcher=e=>[...$a1cee8e8b30b93b5$var$customFetchers].reverse().find(([t])=>$4af2bc5e2d0e1358$export$4659b591c19bdf3d(e,t))?.[1],$a1cee8e8b30b93b5$var$webNoiseFetch=(...e)=>{let t=$a1cee8e8b30b93b5$var$getFetcher(new Request(...e).url);return t?t(...e):fetch(...e)};var $a1cee8e8b30b93b5$export$2e2bcd8739ae039=$a1cee8e8b30b93b5$var$webNoiseFetch;let $f4d2e61b01c59a18$export$64e2564cc3ca44e9={},$f4d2e61b01c59a18$export$ff7e9ed3f5c574f2=e=>{Object.assign($f4d2e61b01c59a18$export$64e2564cc3ca44e9,e)},$f4d2e61b01c59a18$export$6bf50e9be02d9812=e=>$f4d2e61b01c59a18$export$64e2564cc3ca44e9[e];var $ec38e72e43e9a39e$exports={};$ec38e72e43e9a39e$exports="data:application/javascript,class%20%24bee9fdd1330822c9%24export%245ca71ec9c9900286%20extends%20AudioWorkletProcessor%7Bprocess%28%29%7Breturn%210%7D%7DregisterProcessor%28%22dump-node-processor%22%2C%24bee9fdd1330822c9%24export%245ca71ec9c9900286%29%3B";let $1b2147e86d8d9759$var$dumpNodeWorklet=new URL($parcel$interopDefault($ec38e72e43e9a39e$exports),"file:///packages/patch/src/createPatch.ts"),$1b2147e86d8d9759$var$createPatch=(e=new AudioContext)=>{let t=e.audioWorklet.addModule($1b2147e86d8d9759$var$dumpNodeWorklet).then(()=>new AudioWorkletNode(e,"dump-node-processor")),r=new Map,a=new Map,o=async a=>{let{id:o,type:$,data:c}=a;if(!$)return void r.set(o,{loading:!1,error:Error(`Node: ${o} has no type`),node:null});let n=$f4d2e61b01c59a18$export$6bf50e9be02d9812($);if(!1!==n){if(!n)return void r.set(o,{loading:!1,error:Error(`Could not find handler for audio type ${$}`),node:null});r.set(o,{loading:!0,error:null,node:null});try{let a=await n(e,c),$=await t;r.set(o,{loading:!1,error:null,node:a}),Object.values(a.outputs||[]).forEach(({port:e})=>{$&&(e instanceof AudioWorkletNode&&e.connect($),Array.isArray(e)&&e[0]instanceof AudioWorkletNode&&e[0].connect($,e[1]))})}catch(e){r.set(o,{loading:!1,error:e,node:null})}}},$=async e=>Promise.all(e.map(o)),c=e=>{let{id:t,data:a}=e,o=r.get(t);if(!o)return void console.error(`Audio node #${t} does not exist`);let{loading:$,error:c,node:n}=o;return $?void console.error(`Audio node #${t} is yet not loaded`):c?void console.error(`Audio node #${t} is in error state: ${c.toString()}`):void(n.destroy&&n.destroy(),Object.values(n.inputs||{}).forEach(({port:e})=>e instanceof AudioNode&&e.disconnect&&e.disconnect()),Object.values(n.outputs||{}).forEach(({port:e})=>e instanceof AudioNode&&e.disconnect&&e.disconnect()),r.delete(t))},n=e=>{let{source:t,sourceHandle:o,target:$,targetHandle:c,id:n}=e,{node:s}=r.get(t)||{};if(!s)return void console.error(`can't find source node ${t}`);if(!o)return void console.error(`source handle is not defined in node ${t}`);let d=s.outputs?.[o],i=d?.port,{node:l}=r.get($)||{};if(!l)return void console.error(`can't find target node ${l}`);if(!c)return void console.error(`source handle is not defined in node ${s}`);let p=l.inputs?.[c],f=p?.port;if(!i)return void console.error(`Can't find output port: ${t}:${o}`);if(!f)return void console.error(`Can't find input port: ${$}:${c}`);let m=f instanceof AudioNode,u=f instanceof AudioParam,b=f instanceof Array,x=m||u,h=i instanceof AudioNode,g=i instanceof Array;h&&x?i.connect(f):h&&b?i.connect(f[0],0,f[1]):g&&x?i[0].connect(f,i[1]):g&&b?i[0].connect(f[0],i[1],f[1]):(console.log(i,f),console.error("ports can be only AudioNode or AudioNodeChannel")),a.set(n,{output:d,input:p})},s=e=>{let{id:t,data:r}=e,o=a.get(t);if(!o)return void console.error(`can't find connection with id: ${t}`);let{input:{port:$},output:{port:c}}=o,n=$ instanceof AudioNode,s=$ instanceof AudioParam,d=$ instanceof Array,i=n||s,l=c instanceof AudioNode,p=c instanceof Array;if(l&&i)c.disconnect($);else if(l&&d)c.disconnect($[0],0,$[1]);else if(p&&i)c[0].disconnect($,c[1]);else if(p&&d)c[0].disconnect($[0],c[1],$[1]);else throw console.log(c,$),Error("output port can not be only AudioNode or AudioNodeChannel");a.delete(t)};return{audioContext:e,audioNodes:r,registerAudioNode:o,registerAudioNodes:$,unregisterAudioNode:c,unregisterAudioNodes:e=>e.map(c),audioConnections:a,registerAudioConnection:n,registerAudioConnections:e=>e.map(n),unregisterAudioConnection:s,unregisterAudioConnections:e=>e.map(s)}};var $1b2147e86d8d9759$export$2e2bcd8739ae039=$1b2147e86d8d9759$var$createPatch;let $322b255600739d01$export$956b3cf15d7c363="web-noise-drag-handle",$322b255600739d01$export$21d634b1d5d9bee3=`.${$322b255600739d01$export$956b3cf15d7c363}`,$322b255600739d01$export$9f05d3e6ade4c09e={rowHeight:10,cols:4};!function(e){e.Gate="gate",e.Number="number",e.Audio="audio",e.Any="any"}($322b255600739d01$export$b0b7b95ee465c83c||($322b255600739d01$export$b0b7b95ee465c83c={}));let $e529d4239af1b171$var$generateNodeId=e=>{let t=+new Date+Math.floor(1e3*Math.random());return e?.type?`${e.type}-${t}`:t.toString()};var $e529d4239af1b171$export$2e2bcd8739ae039=$e529d4239af1b171$var$generateNodeId;let $81b13a509505c172$var$nodesStateCreator=(e,t)=>({nodes:[],edges:[],onNodesChange:t=>{e(({nodes:e})=>({nodes:(0,$a7mps$reactflow.applyNodeChanges)(t,e).map(e=>({dragHandle:$322b255600739d01$export$21d634b1d5d9bee3,...e}))}))},onEdgesChange:t=>{e(({edges:e})=>({edges:(0,$a7mps$reactflow.applyEdgeChanges)(t,e)}))},onConnect:t=>{e(({edges:e})=>({edges:(0,$a7mps$reactflow.addEdge)(t,e)}))},addNode:t=>{e(({nodes:e})=>({nodes:e.concat(t)}))},setNodes:t=>{e({nodes:t})},setEdges:t=>{e({edges:t})},setNodesAndEdges:({nodes:t,edges:r})=>{e({nodes:t,edges:r})},getNodesAndEdges:()=>{let{nodes:e,edges:r}=t();return{nodes:e,edges:r}},clearElements:()=>{e({nodes:[],edges:[]})},getNode:e=>{let{nodes:r}=t();return r.find(t=>t.id===e)||null},updateNodeData:(t,r)=>{e(({nodes:e})=>({nodes:e.map(e=>e.id===t?{...e,data:{...e.data,...r}}:e)}))},nodeTypes:{},setNodeTypes:t=>e({nodeTypes:t})});var $81b13a509505c172$export$2e2bcd8739ae039=$81b13a509505c172$var$nodesStateCreator;let $0611fa5d00cc8e7f$var$cloneObject=e=>JSON.parse(JSON.stringify(e)),$0611fa5d00cc8e7f$export$b1b92d12d1c2ae0e=(e,t)=>({history:{maxHistoryLength:5,buffer:[],pointer:0,skipCollect:!1,push:r=>{let{history:a}=t(),{maxHistoryLength:o,skipCollect:$}=a;if($)return void e({history:{...a,skipCollect:!1}});e(({history:e})=>{if(!e)return{};let{buffer:t,pointer:a}=e,$=t.slice(Math.max(a-o+1,0),a);return{history:{...e,buffer:[...$,r],pointer:Math.min(a+1,o)}}})},back:()=>{let{nodes:r,edges:a,controlPanel:o,history:$}=t(),{buffer:c,pointer:n}=$,s=c[n-1];if(!s)return;let d=$a7mps$jsondiffpatch.reverse(s);if(!d)return;let i=$0611fa5d00cc8e7f$var$cloneObject({nodes:r,edges:a,controlPanel:o});e({...$a7mps$jsondiffpatch.patch(i,d),history:{...$,pointer:n-1,skipCollect:!0}})},forward:()=>{let{nodes:r,edges:a,controlPanel:o,history:$}=t(),{buffer:c,pointer:n}=$,s=c[n];if(!s)return;let d=$0611fa5d00cc8e7f$var$cloneObject({nodes:r,edges:a,controlPanel:o});e({...$a7mps$jsondiffpatch.patch(d,s),history:{...$,pointer:n+1,skipCollect:!0}})},clear:()=>{let{history:r}=t();e({history:{...r,buffer:[],pointer:0,skipCollect:!0}})}}}),$0611fa5d00cc8e7f$var$COLLECT_CHANGES_DEBOUNCE_TIME=500,$0611fa5d00cc8e7f$export$4e64751394766316=(e,t)=>{let r,a=$a7mps$jsondiffpatch.create({propertyFilter:(e,t)=>!!(t.parent?.parent?.childName==="controlPanel"||["data","position","controlPanel"].includes(t.parent?.childName))||["controlPanel","size","edges","nodes","data","label","config","values","position","x","y"].includes(e)}),o=t();return(e,$)=>{e.currentFileIndex!==$.currentFileIndex&&t().history.clear(),clearTimeout(r),o||(o=$),r=setTimeout(()=>{let r=a.diff(o,e);o=null,r&&t().history.push(r)},500)}},$0611fa5d00cc8e7f$var$history=e=>(t,r,a)=>{let o=$0611fa5d00cc8e7f$export$4e64751394766316(t,r);return a.subscribe(o),e((...e)=>t(...e),r,a)};var $0611fa5d00cc8e7f$export$2e2bcd8739ae039=$0611fa5d00cc8e7f$var$history;let $cc7419ede87fb699$export$e364ea0c1dfb25e5=(e,t)=>{let r=new Set(e.map(e=>e.id)),a=new Set(t.map(e=>e.id));return{added:t.filter(e=>!r.has(e.id)),removed:e.filter(e=>!a.has(e.id))}},$deedaa1a23fe3009$export$62647b40ff8aed70=(e,t)=>({patch:$1b2147e86d8d9759$export$2e2bcd8739ae039(),nodesState:{}}),$deedaa1a23fe3009$var$audioPatch=e=>(t,r,a)=>{a.subscribe(async(e,t)=>{});let o=new Set,$={...r(),nodes:[],edges:[]};return e(async(...e)=>{let a=r(),[c]=e,n={...$,..."function"==typeof c?c({...$}):c},s=$cc7419ede87fb699$export$e364ea0c1dfb25e5($.nodes,n.nodes),d=$cc7419ede87fb699$export$e364ea0c1dfb25e5($.edges,n.edges);$=n;let i=s.added,l=d.added,p=d.removed,f=s.removed,{patch:m}=a;if(i.length){let e=m.registerAudioNodes(i);o.add(e),await e,o.delete(e)}if(!(l.length||p.length||f.length))return void t(...e);if(o.size)try{await Promise.all([...o.values()])}catch(e){console.log("some error",e)}l.length&&m.registerAudioConnections(l),p.length&&m.unregisterAudioConnections(p),f.length&&m.unregisterAudioNodes(f),t(...e)},r,a)};var $deedaa1a23fe3009$export$2e2bcd8739ae039=$deedaa1a23fe3009$var$audioPatch;let $2b45ecd77d7b84ef$var$projectStateCreator=(e,t)=>({project:{files:[]},setProject(t){e({project:t,currentFileIndex:0})},getProject:()=>t().project,pullEditorChanges(){let{getEditorState:e,currentFileIndex:r,updateFileContent:a,project:o}=t(),$=o.files[r];a(r,{...$,file:e()})},currentFileIndex:0,setCurrentFileIndex(r){let{currentFileIndex:a}=t();r!==a&&e({currentFileIndex:r})},updateFileContent(r,a){let{project:o}=t();e({project:{...o,files:o.files.map((e,t)=>t===r?{...e,...a}:e)}})},updateFileName(r,a){let{project:o}=t();e({project:{...o,files:o.files.map((e,t)=>t===r?{...e,name:a}:e)}})},addFile(r){let{project:a}=t(),o=[...a.files,r];e({project:{...a,files:o},currentFileIndex:o.length-1})},deleteFile:r=>{let{project:a,currentFileIndex:o}=t();e({project:{...a,files:a.files.filter((e,t)=>r!==t)}}),r<=o&&e({currentFileIndex:o-1})}});var $2b45ecd77d7b84ef$export$2e2bcd8739ae039=$2b45ecd77d7b84ef$var$projectStateCreator;let $79ad7ccfcef16bee$export$34c5bc865219488e=(...e)=>{let[t,r]=e;return{...$81b13a509505c172$export$2e2bcd8739ae039(...e),...$0611fa5d00cc8e7f$export$b1b92d12d1c2ae0e(...e),...$deedaa1a23fe3009$export$62647b40ff8aed70(...e),...$2b45ecd77d7b84ef$export$2e2bcd8739ae039(...e),setGraph:async({nodes:e,edges:t})=>{let{patch:a,createNodes:o,createEdges:$,setNodesAndEdges:c,nodes:n,edges:s}=r();c({nodes:[],edges:[]}),await o(e),$(t)},clearGraph:()=>{let{setGraph:e}=r();e({nodes:[],edges:[]})},createNodes:async e=>{let{createNode:t}=r();await Promise.all(e.map(e=>t(e)))},createNode:e=>{let{addNode:t,nodesConfiguration:a}=r(),{type:o,id:$,data:c}=e;if(void 0===o)throw Error(`node type is not defined for node: ${$}`);t({...e,data:{...c,config:{...a[o]?.defaultConfig,...c?.config}}})},removeNode:e=>r().removeNodes([e]),removeNodes:e=>{let{edges:a,nodes:o,onNodesDelete:$,removeEdges:c,removeNodesFromControlPanel:n}=r(),s=e.map(({id:e})=>e),d=[...e,...o.filter(({parentNode:e})=>e&&s.includes(e))];n(d),c((0,$a7mps$reactflow.getConnectedEdges)(d,a)),$(d);let i=d.map(({id:e})=>e);t({nodes:o.filter(({id:e})=>!i.includes(e))})},removeEdges:e=>{let{edges:a,onEdgesDelete:o}=r(),$=e.map(({id:e})=>e);o(e),t({edges:a.filter(({id:e})=>!$.includes(e))})},createEdges:e=>{let{patch:t,edges:a,setEdges:o}=r();o(e)},onConnect:async e=>{let{edges:t,createEdges:a}=r();a((0,$a7mps$reactflow.addEdge)(e,t))},onEdgesDelete:e=>{let{patch:t}=r()},onNodesDelete:async e=>{let{removeNodesFromControlPanel:t,patch:a}=r();t(e)},plugins:[],setPlugins:async e=>{let{setNodeTypes:a}=r();t({plugins:e});let o=e.reduce((e,t)=>({...e,...t.components.reduce((e,t)=>({...e,[t.type]:t}),{})}),{}),$=Object.keys(o).reduce((e,t)=>({...e,[t]:o[t].node}),{});$f4d2e61b01c59a18$export$ff7e9ed3f5c574f2(Object.keys(o).reduce((e,t)=>({...e,[t]:o[t].audioNode}),{})),a($),t(({nodesConfiguration:e})=>({nodesConfiguration:{...e,...o}}))},nodesConfiguration:{},config:{showMinimap:!1},setConfig:e=>{t(({config:t})=>({config:{...t,...e}}))},getEditorState:()=>{let{getNodesAndEdges:e,controlPanel:t,viewport:a}=r();return{...e(),controlPanel:t,viewport:a}},setEditorState:async({nodes:e,edges:a,controlPanel:o,viewport:$})=>{let{setGraph:c}=r();await c({nodes:e,edges:a}),await new Promise(e=>setTimeout(e,1e3)),t({controlPanel:o,viewport:$})},isHelpShown:!1,toggleHelp:()=>{let{isHelpShown:e}=r();t({isHelpShown:!e})},copyBuffer:{nodes:[],edges:[]},copy:e=>{t({copyBuffer:e})},copySelectedItems:()=>{let{nodes:e,edges:t,copy:a}=r(),o=e.filter(({selected:e})=>e),$=t.filter(({selected:e})=>e);o.length&&a({nodes:o,edges:$})},pasteBuffer:(e=0,a=0)=>{let{copyBuffer:o,createNodes:$,setEdges:c,nodes:n,edges:s}=r(),{nodes:d,edges:i}=o;if(!d.length)return;t({nodes:n.map(e=>({...e,selected:!1}))});let l=d.reduce((e,t)=>!e||t.position.x<e.position.x&&t.position.y<e.position.y?t:e),p=l.position.x-e,f=l.position.y-a,{nodes:m,mapping:u}=d.reduce((e,t)=>{let r=$e529d4239af1b171$export$2e2bcd8739ae039(t);return{nodes:[...e.nodes,{...t,id:r,position:{x:t.position.x-p,y:t.position.y-f},selected:!0}],mapping:{...e.mapping,[t.id]:r}}},{nodes:[],mapping:{}});$(m);let b=i.map(e=>{let t=u[e.source]||e.source,r=u[e.target]||e.target;return{...e,id:e.id.replace(e.source,t).replace(e.target,r),source:t,target:r,selected:!0}});c([...s.map(e=>({...e,selected:!1})),...b])},getControlPanelNode:e=>{let{nodesConfiguration:t}=r(),{type:a}=e;if(!a)return null;let o=t[a]?.controlPanelNode;return o||(console.error(`could not find node for type ${a}`),null)},controlPanel:{show:!0,nodes:[],size:{width:200,height:100}},showControlPanel:()=>t(({controlPanel:e})=>({controlPanel:{...e,show:!0}})),hideControlPanel:()=>t(({controlPanel:e})=>({controlPanel:{...e,show:!1}})),addNodeToControlPanel:e=>{let{nodesConfiguration:a}=r(),o=e.type?a[e.type]?.defaultConfig:{},{height:$}=o?.size||{},c={id:e.id,...$?{height:$/$322b255600739d01$export$9f05d3e6ade4c09e.rowHeight}:{}};t(({controlPanel:e})=>({controlPanel:{...e,nodes:[...e.nodes,c]}}))},removeNodeFromControlPanel:e=>r().removeNodesFromControlPanel([e]),removeNodesFromControlPanel:e=>{let r=e.map(({id:e})=>e);t(({controlPanel:e})=>{let t=e.nodes.filter(({id:e})=>!r.includes(e));return{controlPanel:{...e,nodes:t}}})},setControlPanelNodes:e=>{t(({controlPanel:t})=>({controlPanel:{...t,nodes:e}}))},setControlPanelSize:e=>{t(({controlPanel:t})=>({controlPanel:{...t,size:e}}))},viewport:{x:0,y:0,zoom:1},setViewport:e=>t({viewport:e})}},$79ad7ccfcef16bee$var$useStore=(0,$a7mps$zustand.create)($deedaa1a23fe3009$export$2e2bcd8739ae039($0611fa5d00cc8e7f$export$2e2bcd8739ae039($79ad7ccfcef16bee$export$34c5bc865219488e)));var $79ad7ccfcef16bee$export$2e2bcd8739ae039=$79ad7ccfcef16bee$var$useStore;let $087b434571dfd091$var$LEVA_COLOR_ACCENT2_BLUE="#007bff",$087b434571dfd091$var$COLOR_GREEN_PRIMARY="#14df42",$087b434571dfd091$var$COLOR_WHITE_PRIMARY="#ffffff",$087b434571dfd091$var$colors={elevation1:"#292d39",elevation2:"#181c20",elevation3:"#373c4b",accent1:"#0066dc",accent2:"#007bff",accent3:"#3c93ff",highlight1:"#535760",highlight2:"#8c92a4",highlight3:"#fefefe",vivid1:"#14df42",whitePrimary:"#ffffff",error:"#db5353"},$087b434571dfd091$var$zIndex={modal:9998,controlPanel:9999,resumeContextLayout:10003},$087b434571dfd091$var$theme={colors:$087b434571dfd091$var$colors,zIndex:$087b434571dfd091$var$zIndex};var $087b434571dfd091$export$2e2bcd8739ae039=$087b434571dfd091$var$theme;(0,$a7mps$emotioncss.injectGlobal)`
2
2
  .react-flow {
3
3
  .react-flow__pane {
4
4
  /* background: rgb(106 106 106); */
@@ -59,7 +59,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
59
59
  background-color: ${({colors:e})=>e.elevation1};
60
60
  margin: 0;
61
61
  }
62
- `,$50af6b2578f19729$export$d4cd258d01c03112="editor-edge-menu",$50af6b2578f19729$export$8b2e4a15453bac1e=()=>{let{show:e}=(0,$a7mps$reactcontexify.useContextMenu)({id:$50af6b2578f19729$export$d4cd258d01c03112});return{onContextMenu:(0,$a7mps$react.useCallback)((t,a)=>{t.stopPropagation(),e(t,{props:{edge:a}})},[e])}},$50af6b2578f19729$var$EdgeContextMenu=()=>{let e=$d0e2724637fe681a$export$2e2bcd8739ae039(),t=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.removeEdges);return(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactjsxruntime.Fragment,{children:(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$98eff9c5659394e3,{id:$50af6b2578f19729$export$d4cd258d01c03112,animation:!1,colors:e.colors,children:(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:e=>t([e.props.edge]),children:"Delete Edge (DEL)"})})})};var $50af6b2578f19729$export$2e2bcd8739ae039=$50af6b2578f19729$var$EdgeContextMenu;let $129c840746269630$var$ModalOuter=$parcel$interopDefault($a7mps$emotionstyled).div`
62
+ `,$50af6b2578f19729$export$d4cd258d01c03112="editor-edge-menu",$50af6b2578f19729$export$8b2e4a15453bac1e=()=>{let{show:e}=(0,$a7mps$reactcontexify.useContextMenu)({id:$50af6b2578f19729$export$d4cd258d01c03112});return{onContextMenu:(0,$a7mps$react.useCallback)((t,r)=>{t.stopPropagation(),e(t,{props:{edge:r}})},[e])}},$50af6b2578f19729$var$EdgeContextMenu=()=>{let e=$d0e2724637fe681a$export$2e2bcd8739ae039(),t=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.removeEdges);return(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactjsxruntime.Fragment,{children:(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$98eff9c5659394e3,{id:$50af6b2578f19729$export$d4cd258d01c03112,animation:!1,colors:e.colors,children:(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:e=>t([e.props.edge]),children:"Delete Edge (DEL)"})})})};var $50af6b2578f19729$export$2e2bcd8739ae039=$50af6b2578f19729$var$EdgeContextMenu;let $129c840746269630$var$ModalOuter=$parcel$interopDefault($a7mps$emotionstyled).div`
63
63
  position: fixed;
64
64
  z-index: ${({theme:e})=>e.zIndex.modal};
65
65
  width: 100%;
@@ -83,7 +83,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
83
83
  top: 0.2rem;
84
84
  right: 0.2rem;
85
85
  cursor: pointer;
86
- `,$129c840746269630$var$Modal=({children:e,onClose:t,...a})=>{let r=$d0e2724637fe681a$export$2e2bcd8739ae039();return(0,$a7mps$react.useEffect)(()=>{let e=e=>{"Escape"===e.key&&t?.()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t]),(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$var$ModalOuter,{theme:r,onClick:t,children:(0,$a7mps$reactjsxruntime.jsxs)($129c840746269630$var$ModalInner,{...a,onClick:e=>{e.stopPropagation()},theme:r,children:[e,(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$var$ModalCloser,{theme:r,onClick:t})]})})};var $129c840746269630$export$2e2bcd8739ae039=$129c840746269630$var$Modal;let $ac5837d733cb2b62$var$InputWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
86
+ `,$129c840746269630$var$Modal=({children:e,onClose:t,...r})=>{let a=$d0e2724637fe681a$export$2e2bcd8739ae039();return(0,$a7mps$react.useEffect)(()=>{let e=e=>{"Escape"===e.key&&t?.()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[t]),(0,$a7mps$reactdom.createPortal)((0,$a7mps$reactjsxruntime.jsx)($129c840746269630$var$ModalOuter,{theme:a,onClick:t,children:(0,$a7mps$reactjsxruntime.jsxs)($129c840746269630$var$ModalInner,{...r,onClick:e=>{e.stopPropagation()},theme:a,children:[e,(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$var$ModalCloser,{theme:a,onClick:t})]})}),document.body)};var $129c840746269630$export$2e2bcd8739ae039=$129c840746269630$var$Modal;let $ac5837d733cb2b62$var$InputWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
87
87
  display: flex;
88
88
  position: relative;
89
89
  `,$ac5837d733cb2b62$var$InputInner=$parcel$interopDefault($a7mps$emotionstyled).input`
@@ -123,6 +123,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
123
123
  padding: 0.6rem;
124
124
  gap: 0.6rem;
125
125
  border-right: 1px solid ${({theme:e})=>e.colors.elevation3};
126
+ min-width: 14rem;
126
127
  `,$ac5837d733cb2b62$var$PluginName=$parcel$interopDefault($a7mps$emotionstyled).label`
127
128
  user-select: none;
128
129
  input {
@@ -135,11 +136,14 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
135
136
  color: ${({theme:e})=>e.colors.accent3};
136
137
  cursor: pointer;
137
138
  }
138
- `,$ac5837d733cb2b62$var$Filters=({onChange:e,value:t})=>{let a=$d0e2724637fe681a$export$2e2bcd8739ae039(),r=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({plugins:e})=>e),o=(0,$a7mps$react.useRef)(null);return(0,$a7mps$react.useEffect)(()=>{o.current&&o.current.focus()},[o]),(0,$a7mps$reactjsxruntime.jsxs)($ac5837d733cb2b62$var$FiltersWrapper,{theme:a,children:[(0,$a7mps$reactjsxruntime.jsx)($ac5837d733cb2b62$var$InputWrapper,{children:(0,$a7mps$reactjsxruntime.jsx)($ac5837d733cb2b62$var$InputInner,{ref:o,theme:a,value:t.search||"",placeholder:"search...",onChange:a=>e({...t,search:a.target.value})})}),r.map(({name:r,components:o},$)=>r?(0,$a7mps$reactjsxruntime.jsxs)($ac5837d733cb2b62$var$PluginName,{theme:a,children:[(0,$a7mps$reactjsxruntime.jsx)("input",{type:"checkbox",name:"plugin",value:r,checked:r===t.plugin,onChange:()=>{e({...t,plugin:r===t.plugin?null:r})}}),(0,$a7mps$reactjsxruntime.jsx)("span",{children:r})]},$):null)]})};var $ac5837d733cb2b62$export$2e2bcd8739ae039=$ac5837d733cb2b62$var$Filters;let $964c3f6764d0c517$var$PluginsWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
139
+ `,$ac5837d733cb2b62$var$Filters=({onChange:e,value:t})=>{let r=$d0e2724637fe681a$export$2e2bcd8739ae039(),a=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({plugins:e})=>e),o=(0,$a7mps$react.useRef)(null);return(0,$a7mps$react.useEffect)(()=>{o.current&&o.current.focus()},[o]),(0,$a7mps$reactjsxruntime.jsxs)($ac5837d733cb2b62$var$FiltersWrapper,{theme:r,children:[(0,$a7mps$reactjsxruntime.jsx)($ac5837d733cb2b62$var$InputWrapper,{children:(0,$a7mps$reactjsxruntime.jsx)($ac5837d733cb2b62$var$InputInner,{ref:o,theme:r,value:t.search||"",placeholder:"search...",onChange:r=>e({...t,search:r.target.value})})}),a.map(({name:a,components:o},$)=>a?(0,$a7mps$reactjsxruntime.jsxs)($ac5837d733cb2b62$var$PluginName,{theme:r,children:[(0,$a7mps$reactjsxruntime.jsx)("input",{type:"checkbox",name:"plugin",value:a,checked:a===t.plugin,onChange:()=>{e({...t,plugin:a===t.plugin?null:a})}}),(0,$a7mps$reactjsxruntime.jsx)("span",{children:a})]},$):null)]})};var $ac5837d733cb2b62$export$2e2bcd8739ae039=$ac5837d733cb2b62$var$Filters;let $964c3f6764d0c517$var$PluginsWrapper=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
139
140
  width: 100%;
140
- `,$964c3f6764d0c517$var$PluginWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
141
+ `),$964c3f6764d0c517$var$PluginWrapper=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
141
142
  padding: 1rem;
142
- `,$964c3f6764d0c517$var$NodesList=$parcel$interopDefault($a7mps$emotionstyled).ul`
143
+ display: flex;
144
+ flex-direction: column;
145
+ gap: 1rem;
146
+ `),$964c3f6764d0c517$var$NodesList=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).ul`
143
147
  list-style: none;
144
148
  margin: 0;
145
149
  padding: 0;
@@ -147,17 +151,34 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
147
151
  columns: 2;
148
152
 
149
153
  li {
154
+ display: flex;
155
+ flex-direction: column;
156
+ gap: 8px;
150
157
  padding: 4px;
158
+ overflow: hidden;
159
+ border: 1px solid ${({theme:e})=>e.colors.elevation3};
160
+ border-radius: 4px;
161
+ margin-bottom: 0.5rem;
151
162
  &:hover {
152
- color: ${({theme:e})=>e.colors.accent2};
163
+ border-color: ${({theme:e})=>e.colors.accent2};
153
164
  cursor: pointer;
154
165
  }
155
166
  }
156
- `,$964c3f6764d0c517$var$PluginTitle=$parcel$interopDefault($a7mps$emotionstyled).div`
167
+ `),$964c3f6764d0c517$var$NodeTitle=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
168
+ white-space: nowrap;
169
+ overflow: hidden;
170
+ text-overflow: ellipsis;
171
+ `),$964c3f6764d0c517$var$NodeDescription=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
172
+ color: ${({theme:e})=>e.colors.highlight2};
173
+ font-size: 12px;
174
+ `),$964c3f6764d0c517$var$PluginHeader=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div``),$964c3f6764d0c517$var$PluginTitle=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
157
175
  font-size: 1.1rem;
158
- padding: 0.25rem;
176
+ padding: 0.25rem 0;
177
+ color: ${({theme:e})=>e.colors.highlight3};
178
+ `),$964c3f6764d0c517$var$PluginDescription=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
159
179
  color: ${({theme:e})=>e.colors.highlight2};
160
- `,$964c3f6764d0c517$var$Plugins=({onComponentClick:e,filters:{plugin:t,search:a}})=>{let r=$d0e2724637fe681a$export$2e2bcd8739ae039(),o=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({plugins:e})=>e),$=(0,$a7mps$react.useMemo)(()=>t?o.filter(({name:e})=>e===t):o,[o,t]),c=(0,$a7mps$react.useMemo)(()=>a?$.map(e=>({...e,components:e.components.filter(({type:e})=>e.toLocaleLowerCase().includes(a.toLocaleLowerCase()))})):$,[$,a]);return(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$var$PluginsWrapper,{theme:r,children:c.map(({name:t,components:a},o)=>a.length?(0,$a7mps$reactjsxruntime.jsxs)($964c3f6764d0c517$var$PluginWrapper,{theme:r,children:[(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$var$PluginTitle,{theme:r,children:t}),(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$var$NodesList,{theme:r,children:a.sort((e,t)=>e.type.toLowerCase()>t.type.toLowerCase()?1:-1).map((t,a)=>(0,$a7mps$reactjsxruntime.jsx)("li",{onClick:()=>e(t),children:t.type},a))})]},o):null)})};var $964c3f6764d0c517$export$2e2bcd8739ae039=$964c3f6764d0c517$var$Plugins;let $49e8a6a144973612$var$AddNodeWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
180
+ font-size: 12px;
181
+ `),$964c3f6764d0c517$var$Plugins=({onComponentClick:e,filters:{plugin:t,search:r}})=>{let a=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({plugins:e})=>e),o=(0,$a7mps$react.useMemo)(()=>t?a.filter(({name:e})=>e===t):a,[a,t]),$=(0,$a7mps$react.useMemo)(()=>r?o.map(e=>({...e,components:e.components.filter(({type:e,name:t})=>e.toLocaleLowerCase().includes(r.toLocaleLowerCase())||t?.toLocaleLowerCase().includes(r.toLocaleLowerCase()))})):o,[o,r]);return(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$var$PluginsWrapper,{children:$.map(({name:t,description:r,components:a},o)=>a.length?(0,$a7mps$reactjsxruntime.jsxs)($964c3f6764d0c517$var$PluginWrapper,{children:[(0,$a7mps$reactjsxruntime.jsxs)($964c3f6764d0c517$var$PluginHeader,{children:[(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$var$PluginTitle,{children:t}),(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$var$PluginDescription,{children:r})]}),(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$var$NodesList,{children:a.sort((e,t)=>e.type.toLowerCase()>t.type.toLowerCase()?1:-1).map((t,r)=>(0,$a7mps$reactjsxruntime.jsxs)("li",{onClick:()=>e(t),children:[(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$var$NodeTitle,{children:t.name||t.type}),t.description&&(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$var$NodeDescription,{children:t.description})]},r))})]},o):null)})};var $964c3f6764d0c517$export$2e2bcd8739ae039=$964c3f6764d0c517$var$Plugins;let $49e8a6a144973612$var$AddNodeWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
161
182
  height: 100%;
162
183
  width: 100%;
163
184
  display: flex;
@@ -166,7 +187,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
166
187
  flex-grow: 1;
167
188
  height: 100%;
168
189
  overflow-y: scroll;
169
- `,$49e8a6a144973612$var$AddNode=({isOpen:e,closeMenu:t,mousePosition:a})=>{let r=$d0e2724637fe681a$export$2e2bcd8739ae039(),{screenToFlowPosition:o}=(0,$a7mps$reactflow.useReactFlow)(),{createNode:$}=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({createNode:e})=>({createNode:e})),[c,n]=(0,$a7mps$react.useState)({}),s=(0,$a7mps$react.useCallback)(({type:e})=>{let{x:r,y:c}=o(a);$({id:`${e}-${+new Date}`,type:e,data:{label:e},position:{x:r,y:c},targetPosition:$a7mps$reactflow.Position.Left,sourcePosition:$a7mps$reactflow.Position.Right}),t()},[a,o,$,t,a]);return e?(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$export$2e2bcd8739ae039,{onClose:()=>{t(),n({})},children:(0,$a7mps$reactjsxruntime.jsxs)($49e8a6a144973612$var$AddNodeWrapper,{theme:r,children:[(0,$a7mps$reactjsxruntime.jsx)($ac5837d733cb2b62$export$2e2bcd8739ae039,{onChange:n,value:c}),(0,$a7mps$reactjsxruntime.jsx)($49e8a6a144973612$var$PluginsPanel,{theme:r,children:(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$export$2e2bcd8739ae039,{filters:c,onComponentClick:e=>{s(e),n({})}})})]})}):null};var $49e8a6a144973612$export$2e2bcd8739ae039=$49e8a6a144973612$var$AddNode;let $5333cf562fd11d62$var$UploadPatchWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
190
+ `,$49e8a6a144973612$var$AddNode=({isOpen:e,closeMenu:t,mousePosition:r})=>{let a=$d0e2724637fe681a$export$2e2bcd8739ae039(),{screenToFlowPosition:o}=(0,$a7mps$reactflow.useReactFlow)(),{createNode:$}=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({createNode:e})=>({createNode:e})),[c,n]=(0,$a7mps$react.useState)({}),s=(0,$a7mps$react.useCallback)(({type:e})=>{let{x:a,y:c}=o(r);$({id:`${e}-${+new Date}`,type:e,data:{label:e},position:{x:a,y:c},targetPosition:$a7mps$reactflow.Position.Left,sourcePosition:$a7mps$reactflow.Position.Right}),t()},[r,o,$,t,r]);return e?(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$export$2e2bcd8739ae039,{onClose:()=>{t(),n({})},children:(0,$a7mps$reactjsxruntime.jsxs)($49e8a6a144973612$var$AddNodeWrapper,{theme:a,children:[(0,$a7mps$reactjsxruntime.jsx)($ac5837d733cb2b62$export$2e2bcd8739ae039,{onChange:n,value:c}),(0,$a7mps$reactjsxruntime.jsx)($49e8a6a144973612$var$PluginsPanel,{theme:a,children:(0,$a7mps$reactjsxruntime.jsx)($964c3f6764d0c517$export$2e2bcd8739ae039,{filters:c,onComponentClick:e=>{s(e),n({})}})})]})}):null};var $49e8a6a144973612$export$2e2bcd8739ae039=$49e8a6a144973612$var$AddNode;let $5333cf562fd11d62$var$UploadPatchWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
170
191
  display: flex;
171
192
  align-items: center;
172
193
  justify-content: center;
@@ -204,7 +225,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
204
225
  height: 8rem;
205
226
  `,$5333cf562fd11d62$var$FileUploadMessage=$parcel$interopDefault($a7mps$emotionstyled).div`
206
227
  font-size: 2rem;
207
- `,$5333cf562fd11d62$var$UploadPatch=({isOpen:e,closeMenu:t})=>{let a=$d0e2724637fe681a$export$2e2bcd8739ae039(),r=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({setGraph:e})=>e),o=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setEditorState),$=(0,$a7mps$react.useRef)(null),c=(0,$a7mps$react.useCallback)(e=>{let[a]=e||[];a.text().then(JSON.parse).then(e=>{o(e),t()}).catch(console.error)},[r,t]);return e?(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$export$2e2bcd8739ae039,{onClose:t,children:(0,$a7mps$reactjsxruntime.jsxs)($5333cf562fd11d62$var$UploadPatchWrapper,{theme:a,children:[(0,$a7mps$reactjsxruntime.jsx)("input",{onChange:({target:{files:e}})=>c(e),ref:$,type:"file",className:"hidden",style:{display:"none"},accept:".json"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactfiledrop.FileDrop,{className:"drop-zone-wrapper",targetClassName:"drop-zone",draggingOverTargetClassName:"drop-zone-drag-over",onTargetClick:()=>{$.current?.click()},onDrop:e=>c(e),children:(0,$a7mps$reactjsxruntime.jsxs)($5333cf562fd11d62$var$DropZoneInner,{theme:a,children:[(0,$a7mps$reactjsxruntime.jsx)($5333cf562fd11d62$var$FileUploadIcon,{}),(0,$a7mps$reactjsxruntime.jsx)($5333cf562fd11d62$var$FileUploadMessage,{children:"click or drop file here"})]})})]})}):null};var $5333cf562fd11d62$export$2e2bcd8739ae039=$5333cf562fd11d62$var$UploadPatch;let $237d0cf05242d79b$var$UploadProjectWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
228
+ `,$5333cf562fd11d62$var$UploadPatch=({isOpen:e,closeMenu:t})=>{let r=$d0e2724637fe681a$export$2e2bcd8739ae039(),a=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({setGraph:e})=>e),o=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setEditorState),$=(0,$a7mps$react.useRef)(null),c=(0,$a7mps$react.useCallback)(e=>{let[r]=e||[];r.text().then(JSON.parse).then(e=>{o(e),t()}).catch(console.error)},[a,t]);return e?(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$export$2e2bcd8739ae039,{onClose:t,children:(0,$a7mps$reactjsxruntime.jsxs)($5333cf562fd11d62$var$UploadPatchWrapper,{theme:r,children:[(0,$a7mps$reactjsxruntime.jsx)("input",{onChange:({target:{files:e}})=>c(e),ref:$,type:"file",className:"hidden",style:{display:"none"},accept:".json"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactfiledrop.FileDrop,{className:"drop-zone-wrapper",targetClassName:"drop-zone",draggingOverTargetClassName:"drop-zone-drag-over",onTargetClick:()=>{$.current?.click()},onDrop:e=>c(e),children:(0,$a7mps$reactjsxruntime.jsxs)($5333cf562fd11d62$var$DropZoneInner,{theme:r,children:[(0,$a7mps$reactjsxruntime.jsx)($5333cf562fd11d62$var$FileUploadIcon,{}),(0,$a7mps$reactjsxruntime.jsx)($5333cf562fd11d62$var$FileUploadMessage,{children:"click or drop file here"})]})})]})}):null};var $5333cf562fd11d62$export$2e2bcd8739ae039=$5333cf562fd11d62$var$UploadPatch;let $237d0cf05242d79b$var$UploadProjectWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
208
229
  display: flex;
209
230
  align-items: center;
210
231
  justify-content: center;
@@ -242,7 +263,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
242
263
  height: 8rem;
243
264
  `,$237d0cf05242d79b$var$FileUploadMessage=$parcel$interopDefault($a7mps$emotionstyled).div`
244
265
  font-size: 2rem;
245
- `,$237d0cf05242d79b$var$UploadProject=({isOpen:e,closeMenu:t})=>{let a=$d0e2724637fe681a$export$2e2bcd8739ae039(),r=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setProject),o=(0,$a7mps$react.useRef)(null),$=(0,$a7mps$react.useCallback)(e=>{let[a]=e||[];a.text().then(JSON.parse).then(e=>{r(e),t()}).catch(console.error)},[r,t]);return e?(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$export$2e2bcd8739ae039,{onClose:t,children:(0,$a7mps$reactjsxruntime.jsxs)($237d0cf05242d79b$var$UploadProjectWrapper,{theme:a,children:[(0,$a7mps$reactjsxruntime.jsx)("input",{onChange:({target:{files:e}})=>$(e),ref:o,type:"file",className:"hidden",style:{display:"none"},accept:".json"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactfiledrop.FileDrop,{className:"drop-zone-wrapper",targetClassName:"drop-zone",draggingOverTargetClassName:"drop-zone-drag-over",onTargetClick:()=>{o.current?.click()},onDrop:e=>$(e),children:(0,$a7mps$reactjsxruntime.jsxs)($237d0cf05242d79b$var$DropZoneInner,{theme:a,children:[(0,$a7mps$reactjsxruntime.jsx)($237d0cf05242d79b$var$FileUploadIcon,{}),(0,$a7mps$reactjsxruntime.jsx)($237d0cf05242d79b$var$FileUploadMessage,{children:"click or drop file here"})]})})]})}):null};var $237d0cf05242d79b$export$2e2bcd8739ae039=$237d0cf05242d79b$var$UploadProject;let $0c1922ae66a6d15e$export$d4cd258d01c03112="editor-menu",$0c1922ae66a6d15e$export$59ce2a6808e35a29=()=>{let{show:e}=(0,$a7mps$reactcontexify.useContextMenu)({id:$0c1922ae66a6d15e$export$d4cd258d01c03112});return{onContextMenu:e}},$0c1922ae66a6d15e$var$EditorContextMenu=({editorContextMenu:e=[]})=>{let t=$d0e2724637fe681a$export$2e2bcd8739ae039(),[a,r]=(0,$a7mps$react.useState)({x:0,y:0}),[o,$]=(0,$a7mps$react.useState)(!1),[c,n]=(0,$a7mps$react.useState)(!1),[s,d]=(0,$a7mps$react.useState)(!1),i=(0,$a7mps$react.useCallback)((e,t)=>{r({x:e,y:t}),$(!0)},[$]),l=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.pasteBuffer),{screenToFlowPosition:p}=(0,$a7mps$reactflow.useReactFlow)(),f=(0,$a7mps$react.useCallback)(e=>{let{x:t,y:a}=p(e);l(t,a)},[$,p]),m=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({clearGraph:e})=>e),u=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.getEditorState),b=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.getProject),x=(0,$a7mps$react.useCallback)(()=>{m()},[m]),h=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.toggleHelp),g=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.history.back),v=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.history.forward),j=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.history.pointer),y=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.history.buffer),w=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.copySelectedItems),C=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.nodes),N=(0,$a7mps$react.useMemo)(()=>C.filter(({selected:e})=>e),[C]),P=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.copyBuffer),k=(0,$a7mps$reactflow.useReactFlow)(),D=(0,$a7mps$react.useCallback)(()=>{let e={...u()};$parcel$interopDefault($a7mps$jsfiledownload)(JSON.stringify(e,null,2),"web-noise-patch.json")},[u,k]),z=(0,$a7mps$react.useCallback)(()=>{let e={...b()};$parcel$interopDefault($a7mps$jsfiledownload)(JSON.stringify(e,null,2),"web-noise-project.json")},[u,k]);return(0,$a7mps$react.useEffect)(()=>($parcel$interopDefault($a7mps$hotkeysjs)("command+shift+a",()=>(i(200,50),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("shift+/",()=>(h(),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("command+z",()=>(g(),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("command+shift+z",()=>(v(),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("command+c",()=>(w(),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("command+v",()=>(f({x:200,y:50}),!1)),()=>{$parcel$interopDefault($a7mps$hotkeysjs).unbind()}),[i,f]),(0,$a7mps$reactjsxruntime.jsxs)($a7mps$reactjsxruntime.Fragment,{children:[(0,$a7mps$reactjsxruntime.jsx)($49e8a6a144973612$export$2e2bcd8739ae039,{isOpen:o,closeMenu:()=>$(!1),mousePosition:a}),(0,$a7mps$reactjsxruntime.jsx)($5333cf562fd11d62$export$2e2bcd8739ae039,{isOpen:c,closeMenu:()=>n(!1)}),(0,$a7mps$reactjsxruntime.jsx)($237d0cf05242d79b$export$2e2bcd8739ae039,{isOpen:s,closeMenu:()=>d(!1)}),(0,$a7mps$reactjsxruntime.jsxs)($326d2ec4e7f83800$export$98eff9c5659394e3,{id:$0c1922ae66a6d15e$export$d4cd258d01c03112,animation:!1,colors:t.colors,children:[(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:({triggerEvent:{clientX:e,clientY:t}})=>i(e,t),children:"Add Node (⌘+⇧+A)"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:x,children:"Delete All"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:D,children:"Download patch"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:()=>n(!0),children:"Upload patch"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:z,children:"Download project"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:()=>d(!0),children:"Upload project"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{disabled:0===j,onClick:g,children:"Undo (⌘+z)"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{disabled:j===y.length,onClick:v,children:"Redo (⌘+⇧+Z)"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{disabled:!N.length,onClick:w,children:"Copy Selected (⌘+c)"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{disabled:!P.nodes.length,onClick:({triggerEvent:{clientX:e,clientY:t}})=>f({x:e,y:t}),children:"Paste (⌘+v)"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),e.map((e,t)=>(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{children:e},t)),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:h,children:"Help (⇧+?)"})]})]})};var $0c1922ae66a6d15e$export$2e2bcd8739ae039=$0c1922ae66a6d15e$var$EditorContextMenu;let $403934f9ca48a72d$export$d4cd258d01c03112="editor-node-menu",$403934f9ca48a72d$export$cbbbfb9fb15f3780=()=>{let{show:e}=(0,$a7mps$reactcontexify.useContextMenu)({id:$403934f9ca48a72d$export$d4cd258d01c03112});return{onContextMenu:(0,$a7mps$react.useCallback)((t,a)=>{t.stopPropagation(),e(t,{props:{node:a}})},[])}},$403934f9ca48a72d$var$NodeContextMenu=e=>{let t=$d0e2724637fe681a$export$2e2bcd8739ae039(),a=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.removeNodes),r=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.addNodeToControlPanel),o=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.removeNodeFromControlPanel),$=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.copy),c=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.nodesConfiguration),n=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.controlPanel.nodes),s=(0,$a7mps$react.useCallback)(({props:e})=>!!e?.node.type&&!!n.find(({id:t})=>t===e.node.id),[n]),d=(0,$a7mps$react.useCallback)(({props:e})=>{if(!e?.node.type)return!1;let t=c[e.node.type];return!!t?.controlPanelNode},[c]);return(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactjsxruntime.Fragment,{children:(0,$a7mps$reactjsxruntime.jsxs)($326d2ec4e7f83800$export$98eff9c5659394e3,{id:$403934f9ca48a72d$export$d4cd258d01c03112,animation:!1,colors:t.colors,children:[(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:e=>a([e.props.node]),children:"Delete Node (DEL)"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{hidden:(...e)=>!d(...e)||s(...e),onClick:e=>r(e.props.node),children:"Add To Control Panel"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{hidden:(...e)=>!d(...e)||!s(...e),onClick:e=>o(e.props.node),children:"Remove From Control Panel"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:e=>$({nodes:[e.props.node],edges:[]}),children:"Copy (⌘+c)"})]})})};var $403934f9ca48a72d$export$2e2bcd8739ae039=$403934f9ca48a72d$var$NodeContextMenu;let $aa9957b9b5d388f6$var$useAudioNode=e=>$79ad7ccfcef16bee$export$2e2bcd8739ae039(({patch:e})=>e).audioNodes.get(e);var $aa9957b9b5d388f6$export$2e2bcd8739ae039=$aa9957b9b5d388f6$var$useAudioNode;let $fe0857212c4510a0$var$useNode=e=>{let t=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({updateNodeData:e})=>e),a=(0,$a7mps$react.useCallback)(a=>t(e,{values:a}),[e,t]);return{updateNodeValues:a,updateNodeConfig:(0,$a7mps$react.useCallback)(a=>t(e,{config:a}),[e,t]),updateNodeLabel:(0,$a7mps$react.useCallback)(a=>t(e,{label:a}),[e,t])}};var $fe0857212c4510a0$export$2e2bcd8739ae039=$fe0857212c4510a0$var$useNode;let $8ff102452e3139f7$export$5abe11f802ebd1f2=$parcel$interopDefault($a7mps$emotionstyled).input`
266
+ `,$237d0cf05242d79b$var$UploadProject=({isOpen:e,closeMenu:t})=>{let r=$d0e2724637fe681a$export$2e2bcd8739ae039(),a=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setProject),o=(0,$a7mps$react.useRef)(null),$=(0,$a7mps$react.useCallback)(e=>{let[r]=e||[];r.text().then(JSON.parse).then(e=>{a(e),t()}).catch(console.error)},[a,t]);return e?(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$export$2e2bcd8739ae039,{onClose:t,children:(0,$a7mps$reactjsxruntime.jsxs)($237d0cf05242d79b$var$UploadProjectWrapper,{theme:r,children:[(0,$a7mps$reactjsxruntime.jsx)("input",{onChange:({target:{files:e}})=>$(e),ref:o,type:"file",className:"hidden",style:{display:"none"},accept:".json"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactfiledrop.FileDrop,{className:"drop-zone-wrapper",targetClassName:"drop-zone",draggingOverTargetClassName:"drop-zone-drag-over",onTargetClick:()=>{o.current?.click()},onDrop:e=>$(e),children:(0,$a7mps$reactjsxruntime.jsxs)($237d0cf05242d79b$var$DropZoneInner,{theme:r,children:[(0,$a7mps$reactjsxruntime.jsx)($237d0cf05242d79b$var$FileUploadIcon,{}),(0,$a7mps$reactjsxruntime.jsx)($237d0cf05242d79b$var$FileUploadMessage,{children:"click or drop file here"})]})})]})}):null};var $237d0cf05242d79b$export$2e2bcd8739ae039=$237d0cf05242d79b$var$UploadProject;let $0c1922ae66a6d15e$export$d4cd258d01c03112="editor-menu",$0c1922ae66a6d15e$export$59ce2a6808e35a29=()=>{let{show:e}=(0,$a7mps$reactcontexify.useContextMenu)({id:$0c1922ae66a6d15e$export$d4cd258d01c03112});return{onContextMenu:e}},$0c1922ae66a6d15e$var$EditorContextMenu=({editorContextMenu:e=[]})=>{let t=$d0e2724637fe681a$export$2e2bcd8739ae039(),[r,a]=(0,$a7mps$react.useState)({x:0,y:0}),[o,$]=(0,$a7mps$react.useState)(!1),[c,n]=(0,$a7mps$react.useState)(!1),[s,d]=(0,$a7mps$react.useState)(!1),i=(0,$a7mps$react.useCallback)((e,t)=>{a({x:e,y:t}),$(!0)},[$]),l=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.pasteBuffer),{screenToFlowPosition:p}=(0,$a7mps$reactflow.useReactFlow)(),f=(0,$a7mps$react.useCallback)(e=>{let{x:t,y:r}=p(e);l(t,r)},[$,p]),m=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({clearGraph:e})=>e),u=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.getEditorState),b=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.getProject),x=(0,$a7mps$react.useCallback)(()=>{m()},[m]),h=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.toggleHelp),g=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.history.back),v=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.history.forward),j=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.history.pointer),y=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.history.buffer),w=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.copySelectedItems),C=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.nodes),N=(0,$a7mps$react.useMemo)(()=>C.filter(({selected:e})=>e),[C]),P=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.copyBuffer),k=(0,$a7mps$reactflow.useReactFlow)(),D=(0,$a7mps$react.useCallback)(()=>{let e={...u()};$parcel$interopDefault($a7mps$jsfiledownload)(JSON.stringify(e,null,2),"web-noise-patch.json")},[u,k]),z=(0,$a7mps$react.useCallback)(()=>{let e={...b()};$parcel$interopDefault($a7mps$jsfiledownload)(JSON.stringify(e,null,2),"web-noise-project.json")},[u,k]);return(0,$a7mps$react.useEffect)(()=>($parcel$interopDefault($a7mps$hotkeysjs)("command+shift+a",()=>(i(200,50),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("shift+/",()=>(h(),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("command+z",()=>(g(),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("command+shift+z",()=>(v(),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("command+c",()=>(w(),!1)),$parcel$interopDefault($a7mps$hotkeysjs)("command+v",()=>(f({x:200,y:50}),!1)),()=>{$parcel$interopDefault($a7mps$hotkeysjs).unbind()}),[i,f]),(0,$a7mps$reactjsxruntime.jsxs)($a7mps$reactjsxruntime.Fragment,{children:[(0,$a7mps$reactjsxruntime.jsx)($49e8a6a144973612$export$2e2bcd8739ae039,{isOpen:o,closeMenu:()=>$(!1),mousePosition:r}),(0,$a7mps$reactjsxruntime.jsx)($5333cf562fd11d62$export$2e2bcd8739ae039,{isOpen:c,closeMenu:()=>n(!1)}),(0,$a7mps$reactjsxruntime.jsx)($237d0cf05242d79b$export$2e2bcd8739ae039,{isOpen:s,closeMenu:()=>d(!1)}),(0,$a7mps$reactjsxruntime.jsxs)($326d2ec4e7f83800$export$98eff9c5659394e3,{id:$0c1922ae66a6d15e$export$d4cd258d01c03112,animation:!1,colors:t.colors,children:[(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:({triggerEvent:{clientX:e,clientY:t}})=>i(e,t),children:"Add Node (⌘+⇧+A)"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:x,children:"Delete All"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:D,children:"Download patch"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:()=>n(!0),children:"Upload patch"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:z,children:"Download project"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:()=>d(!0),children:"Upload project"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{disabled:0===j,onClick:g,children:"Undo (⌘+z)"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{disabled:j===y.length,onClick:v,children:"Redo (⌘+⇧+Z)"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{disabled:!N.length,onClick:w,children:"Copy Selected (⌘+c)"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{disabled:!P.nodes.length,onClick:({triggerEvent:{clientX:e,clientY:t}})=>f({x:e,y:t}),children:"Paste (⌘+v)"}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),e.map((e,t)=>(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{children:e},t)),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactcontexify.Separator,{}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:h,children:"Help (⇧+?)"})]})]})};var $0c1922ae66a6d15e$export$2e2bcd8739ae039=$0c1922ae66a6d15e$var$EditorContextMenu;let $403934f9ca48a72d$export$d4cd258d01c03112="editor-node-menu",$403934f9ca48a72d$export$cbbbfb9fb15f3780=()=>{let{show:e}=(0,$a7mps$reactcontexify.useContextMenu)({id:$403934f9ca48a72d$export$d4cd258d01c03112});return{onContextMenu:(0,$a7mps$react.useCallback)((t,r)=>{t.stopPropagation(),e(t,{props:{node:r}})},[])}},$403934f9ca48a72d$var$NodeContextMenu=e=>{let t=$d0e2724637fe681a$export$2e2bcd8739ae039(),r=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.removeNodes),a=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.addNodeToControlPanel),o=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.removeNodeFromControlPanel),$=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.copy),c=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.nodesConfiguration),n=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.controlPanel.nodes),s=(0,$a7mps$react.useCallback)(({props:e})=>!!e?.node.type&&!!n.find(({id:t})=>t===e.node.id),[n]),d=(0,$a7mps$react.useCallback)(({props:e})=>{if(!e?.node.type)return!1;let t=c[e.node.type];return!!t?.controlPanelNode},[c]);return(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactjsxruntime.Fragment,{children:(0,$a7mps$reactjsxruntime.jsxs)($326d2ec4e7f83800$export$98eff9c5659394e3,{id:$403934f9ca48a72d$export$d4cd258d01c03112,animation:!1,colors:t.colors,children:[(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:e=>r([e.props.node]),children:"Delete Node (DEL)"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{hidden:(...e)=>!d(...e)||s(...e),onClick:e=>a(e.props.node),children:"Add To Control Panel"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{hidden:(...e)=>!d(...e)||!s(...e),onClick:e=>o(e.props.node),children:"Remove From Control Panel"}),(0,$a7mps$reactjsxruntime.jsx)($326d2ec4e7f83800$export$ef9839ae55b8ba40,{onClick:e=>$({nodes:[e.props.node],edges:[]}),children:"Copy (⌘+c)"})]})})};var $403934f9ca48a72d$export$2e2bcd8739ae039=$403934f9ca48a72d$var$NodeContextMenu;let $aa9957b9b5d388f6$var$useAudioNode=e=>$79ad7ccfcef16bee$export$2e2bcd8739ae039(({patch:e})=>e).audioNodes.get(e);var $aa9957b9b5d388f6$export$2e2bcd8739ae039=$aa9957b9b5d388f6$var$useAudioNode;let $fe0857212c4510a0$var$useNode=e=>{let t=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({updateNodeData:e})=>e),r=(0,$a7mps$react.useCallback)(r=>t(e,{values:r}),[e,t]);return{updateNodeValues:r,updateNodeConfig:(0,$a7mps$react.useCallback)(r=>t(e,{config:r}),[e,t]),updateNodeLabel:(0,$a7mps$react.useCallback)(r=>t(e,{label:r}),[e,t])}};var $fe0857212c4510a0$export$2e2bcd8739ae039=$fe0857212c4510a0$var$useNode;let $8ff102452e3139f7$export$5abe11f802ebd1f2=$parcel$interopDefault($a7mps$emotionstyled).input`
246
267
  width: 100%;
247
268
  background: none;
248
269
  border: none;
@@ -271,7 +292,35 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
271
292
  padding: 0.3rem;
272
293
  border-radius: 0.2rem;
273
294
  }
274
- `,$8ff102452e3139f7$var$EditableLabel=({onChange:e,value:t="",className:a})=>{let r=(0,$a7mps$react.useRef)(null),[o,$]=(0,$a7mps$react.useState)(!1),c=(0,$a7mps$react.useCallback)(e=>{e.target?.select(),$(!0)},[$]),n=(0,$a7mps$react.useCallback)(()=>{window.getSelection()?.collapseToEnd(),$(!1)},[$]),s=(0,$a7mps$react.useCallback)(()=>{n(),r.current&&e(r.current.value)},[r,n,e]),d=(0,$a7mps$react.useCallback)(()=>{n(),r.current&&t&&(r.current.value=t)},[r,n,t]);return(0,$a7mps$react.useEffect)(()=>{r.current&&(r.current.value=t)},[t,r]),(0,$a7mps$reactjsxruntime.jsx)($8ff102452e3139f7$export$5abe11f802ebd1f2,{ref:r,type:"text",readOnly:!o,onDoubleClick:e=>c(e),onBlur:s,onKeyDown:e=>{switch(e.key){case"Escape":d();break;case"Enter":s()}},className:a})};var $8ff102452e3139f7$export$2e2bcd8739ae039=$8ff102452e3139f7$var$EditableLabel;let $640d4631fb8a3085$var$NodeWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
295
+ `,$8ff102452e3139f7$var$EditableLabel=({onChange:e,value:t="",className:r})=>{let a=(0,$a7mps$react.useRef)(null),[o,$]=(0,$a7mps$react.useState)(!1),c=(0,$a7mps$react.useCallback)(e=>{e.target?.select(),$(!0)},[$]),n=(0,$a7mps$react.useCallback)(()=>{window.getSelection()?.collapseToEnd(),$(!1)},[$]),s=(0,$a7mps$react.useCallback)(()=>{n(),a.current&&e(a.current.value)},[a,n,e]),d=(0,$a7mps$react.useCallback)(()=>{n(),a.current&&t&&(a.current.value=t)},[a,n,t]);return(0,$a7mps$react.useEffect)(()=>{a.current&&(a.current.value=t)},[t,a]),(0,$a7mps$reactjsxruntime.jsx)($8ff102452e3139f7$export$5abe11f802ebd1f2,{ref:a,type:"text",readOnly:!o,onDoubleClick:e=>c(e),onBlur:s,onKeyDown:e=>{switch(e.key){case"Escape":d();break;case"Enter":s()}},className:r})};var $8ff102452e3139f7$export$2e2bcd8739ae039=$8ff102452e3139f7$var$EditableLabel;let $beb75f08bd3bd2f9$var$NodeInfoWrapper=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
296
+ height: 100%;
297
+ width: 100%;
298
+ overflow: scroll;
299
+ padding: 0.6rem;
300
+ box-sizing: border-box;
301
+
302
+ hr {
303
+ border: none;
304
+ border-bottom: 1px solid ${({theme:e})=>e.colors.elevation3};
305
+ }
306
+
307
+ code {
308
+ background-color: ${({theme:e})=>e.colors.elevation3};
309
+ color: ${({theme:e})=>e.colors.highlight3};
310
+ font-family:
311
+ source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;
312
+ }
313
+
314
+ pre {
315
+ background-color: ${({theme:e})=>e.colors.elevation3};
316
+ padding: 0.2rem 0.3rem;
317
+ border-radius: 1px;
318
+ }
319
+
320
+ a {
321
+ color: ${({theme:e})=>e.colors.accent1};
322
+ }
323
+ `),$beb75f08bd3bd2f9$var$useNodeManifest=e=>$79ad7ccfcef16bee$export$2e2bcd8739ae039(t=>t.nodesConfiguration[e]),$beb75f08bd3bd2f9$var$NodeInfoModal=({isOpen:e,onClose:t,type:r,node:a})=>{let{info:o,portsDescription:$}=$beb75f08bd3bd2f9$var$useNodeManifest(r),c=(0,$a7mps$react.useMemo)(()=>{let e=[],t=a.inputs;if(t)for(let r in e.push("## Inputs"),t){let a=t[r];e.push(`### *${r}*`);let o=$?.inputs?.[r];o&&e.push(o),Array.isArray(a.type)?e.push(`**Types**: \`${a.type.join(", ")}\``):e.push(`**Type**: \`${a.type||"unknown"}\``),a.range&&e.push(`**Range**: \`[${a.range[0]}, ${a.range[1]}]\``),void 0!==a.defaultValue&&e.push(`**Default**: \`${a.defaultValue}\``)}let r=a.outputs;if(r)for(let t in e.push("## Outputs"),r){let a=r[t];e.push(`### *${t}*`);let o=$?.outputs?.[t];o&&e.push(o),Array.isArray(a.type)?e.push(`**Types**: \`${a.type.join(", ")}\``):e.push(`**Type**: \`${a.type||"unknown"}\``),a.range&&e.push(`**Range**: \`[${a.range[0]}, ${a.range[1]}]\``),void 0!==a.defaultValue&&e.push(`**Default**: \`${a.defaultValue}\``)}return e.join("\n\n")},[a,$]);return e?(0,$a7mps$reactjsxruntime.jsx)($129c840746269630$export$2e2bcd8739ae039,{onClose:t,children:(0,$a7mps$reactjsxruntime.jsx)($beb75f08bd3bd2f9$var$NodeInfoWrapper,{dangerouslySetInnerHTML:{__html:(0,$a7mps$marked.marked)((o||"")+"\n\n"+c||"")}})}):null};var $beb75f08bd3bd2f9$export$2e2bcd8739ae039=$beb75f08bd3bd2f9$var$NodeInfoModal;let $640d4631fb8a3085$var$NodeWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
275
324
  background-color: var(--leva-colors-elevation1);
276
325
  `,$640d4631fb8a3085$var$NodeLoaderWrapper=$parcel$interopDefault($a7mps$emotionstyled)($640d4631fb8a3085$var$NodeWrapper)`
277
326
  padding: 2rem 5rem;
@@ -285,6 +334,14 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
285
334
  opacity: 1;
286
335
  cursor: pointer;
287
336
  }
337
+ `,$640d4631fb8a3085$var$InfoIconWrapper=$parcel$interopDefault($a7mps$emotionstyled)($a7mps$reacticonsmd.MdInfoOutline)`
338
+ font-size: 1.2rem;
339
+ opacity: 0.4;
340
+ width: 1rem;
341
+ &:hover {
342
+ opacity: 1;
343
+ cursor: pointer;
344
+ }
288
345
  `,$640d4631fb8a3085$var$Section=$parcel$interopDefault($a7mps$emotionstyled).div`
289
346
  position: relative;
290
347
  font-family: var(--leva-fonts-mono);
@@ -316,11 +373,16 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
316
373
  `,$640d4631fb8a3085$export$a2d375858cc72119=$parcel$interopDefault($a7mps$emotionstyled).div`
317
374
  position: relative;
318
375
  padding: 5px 10px;
319
- `,$640d4631fb8a3085$var$StyledInputHandle=$parcel$interopDefault($a7mps$emotionstyled)($a7mps$reactflow.Handle)`
376
+ `,$640d4631fb8a3085$var$portColors={[$322b255600739d01$export$b0b7b95ee465c83c.Audio]:"#4ade80",[$322b255600739d01$export$b0b7b95ee465c83c.Gate]:"#c084fc",[$322b255600739d01$export$b0b7b95ee465c83c.Number]:"#38bdf8",[$322b255600739d01$export$b0b7b95ee465c83c.Any]:"#fb923c"},$640d4631fb8a3085$var$StyledHandle=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled)($a7mps$reactflow.Handle,{shouldForwardProp:e=>"portType"!==e})`
377
+ --port-color: ${e=>{if(!e.portType)return e.theme.colors.highlight2;if(!Array.isArray(e.portType))return $640d4631fb8a3085$var$portColors[e.portType];{let t=e.portType.map(e=>$640d4631fb8a3085$var$portColors[e]);return`linear-gradient(0.25turn, ${t.join(", ")});`}}};
378
+ border-color: var(--port-color);
379
+ background: var(--port-color);
380
+ box-shadow: 0px 0px 0px 1px ${({theme:e})=>e.colors.elevation2} inset;
381
+ `),$640d4631fb8a3085$var$StyledInputHandle=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled)($640d4631fb8a3085$var$StyledHandle)`
320
382
  left: -3px;
321
- `,$640d4631fb8a3085$export$9ea0feffc20ee81=e=>(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$StyledInputHandle,{...e,type:"target",position:$a7mps$reactflow.Position.Left}),$640d4631fb8a3085$export$222539e2a2fac4e0=$parcel$interopDefault($a7mps$emotionstyled)($a7mps$reactflow.Handle)`
383
+ `),$640d4631fb8a3085$export$9ea0feffc20ee81=({...e})=>(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$StyledInputHandle,{...e,type:"target",position:$a7mps$reactflow.Position.Left}),$640d4631fb8a3085$export$222539e2a2fac4e0=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled)($640d4631fb8a3085$var$StyledHandle)`
322
384
  right: -3px;
323
- `,$640d4631fb8a3085$export$496e5e1ee1696f64=e=>(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$222539e2a2fac4e0,{...e,type:"source",position:$a7mps$reactflow.Position.Right}),$640d4631fb8a3085$export$7e0b3af1e60a3273=({className:e,...t})=>(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$1bdb8f2d1fe25c22,{...t,className:[e,$322b255600739d01$export$956b3cf15d7c363].join(" ")}),$640d4631fb8a3085$var$useConfigNode=e=>({ConfigNode:$79ad7ccfcef16bee$export$2e2bcd8739ae039(t=>t.nodesConfiguration[e]?.configNode)}),$640d4631fb8a3085$export$361064385d50ec44=e=>{let{id:t,children:a,selected:r,...o}=e,$=$d0e2724637fe681a$export$2e2bcd8739ae039(),c=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({getNode:e})=>e),n=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.nodesConfiguration),s=(0,$a7mps$react.useMemo)(()=>n[e.type].resizable??!1,[n,e.type]),{updateNodeLabel:d,updateNodeConfig:i}=$fe0857212c4510a0$export$2e2bcd8739ae039(t),{data:l}=c(t)||{},p=$aa9957b9b5d388f6$export$2e2bcd8739ae039(t),{ConfigNode:f}=$640d4631fb8a3085$var$useConfigNode(o.type),[m,u]=(0,$a7mps$react.useState)(!1);if(!p)return(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$NodeLoaderWrapper,{className:$322b255600739d01$export$956b3cf15d7c363,children:"can't find audio node"});if(p.loading)return(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$NodeLoaderWrapper,{className:$322b255600739d01$export$956b3cf15d7c363,children:"loading"});if(p.error)return(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$var$NodeErrorWrapper,{className:$322b255600739d01$export$956b3cf15d7c363,children:["error: ",p.error.toString()]});if(!p.node)return(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$NodeLoaderWrapper,{className:$322b255600739d01$export$956b3cf15d7c363,children:"can't find audio node"});let b=l?.config?.size,{node:{inputs:x,outputs:h}}=p;return(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$var$NodeWrapper,{children:[(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$export$7e0b3af1e60a3273,{children:[(0,$a7mps$reactjsxruntime.jsx)($8ff102452e3139f7$export$2e2bcd8739ae039,{value:l?.label??"No Name",onChange:d}),f&&(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$SettingsIconWrapper,{onClickCapture:()=>u(e=>!e)})]}),(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$export$bfd3bd1fa283e3c6,{theme:$,children:[(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$f1afba0ff9ea1277,{children:x?Object.keys(x).map((e,t)=>(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$export$a2d375858cc72119,{children:[(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$9ea0feffc20ee81,{id:e}),(0,$a7mps$reactjsxruntime.jsx)("span",{children:e})]},t)):null}),(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$af4f9b41fc32ed9e,{children:h?Object.keys(h).map((e,t)=>(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$export$a2d375858cc72119,{children:[(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$496e5e1ee1696f64,{id:e}),(0,$a7mps$reactjsxruntime.jsx)("span",{children:e})]},t)):null})]}),f&&m&&r?(0,$a7mps$reactjsxruntime.jsx)(f,{...e}):s?(0,$a7mps$reactjsxruntime.jsx)($a7mps$reresizable.Resizable,{size:b,minWidth:180,minHeight:30,enable:{bottom:!0,bottomRight:!0,right:!0},onResizeStop:(e,t,a,r)=>{let o=b?{width:b.width+r.width,height:b.height+r.height}:a.getBoundingClientRect();i({...l?.config,size:o})},children:a}):a]})},$6ff4e064ce068472$export$86de09faaa70680d=$parcel$interopDefault($a7mps$emotionstyled).div`
385
+ `),$640d4631fb8a3085$export$496e5e1ee1696f64=e=>(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$222539e2a2fac4e0,{...e,type:"source",position:$a7mps$reactflow.Position.Right}),$640d4631fb8a3085$export$7e0b3af1e60a3273=({className:e,...t})=>(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$1bdb8f2d1fe25c22,{...t,className:[e,$322b255600739d01$export$956b3cf15d7c363].join(" ")}),$640d4631fb8a3085$var$useNodeManifest=e=>$79ad7ccfcef16bee$export$2e2bcd8739ae039(t=>t.nodesConfiguration[e]),$640d4631fb8a3085$var$useConfigNode=e=>{let{configNode:t}=$640d4631fb8a3085$var$useNodeManifest(e);return{ConfigNode:t}},$640d4631fb8a3085$export$361064385d50ec44=e=>{let{id:t,children:r,selected:a,...o}=e,$=$d0e2724637fe681a$export$2e2bcd8739ae039(),c=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({getNode:e})=>e),n=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.nodesConfiguration),[s,d]=(0,$a7mps$react.useState)(!1),{info:i}=$640d4631fb8a3085$var$useNodeManifest(e.type),l=(0,$a7mps$react.useMemo)(()=>n[e.type].resizable??!1,[n,e.type]),{updateNodeLabel:p,updateNodeConfig:f}=$fe0857212c4510a0$export$2e2bcd8739ae039(t),{data:m}=c(t)||{},u=$aa9957b9b5d388f6$export$2e2bcd8739ae039(t),{ConfigNode:b}=$640d4631fb8a3085$var$useConfigNode(o.type),[x,h]=(0,$a7mps$react.useState)(!1);if(!u)return(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$NodeLoaderWrapper,{className:$322b255600739d01$export$956b3cf15d7c363,children:"can't find audio node"});if(u.loading)return(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$NodeLoaderWrapper,{className:$322b255600739d01$export$956b3cf15d7c363,children:"loading"});if(u.error)return(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$var$NodeErrorWrapper,{className:$322b255600739d01$export$956b3cf15d7c363,children:["error: ",u.error.toString()]});if(!u.node)return(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$NodeLoaderWrapper,{className:$322b255600739d01$export$956b3cf15d7c363,children:"can't find audio node"});let g=m?.config?.size,{node:{inputs:v,outputs:j}}=u;return(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$var$NodeWrapper,{children:[(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$export$7e0b3af1e60a3273,{children:[i&&(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$InfoIconWrapper,{onClickCapture:()=>d(!0)}),(0,$a7mps$reactjsxruntime.jsx)($8ff102452e3139f7$export$2e2bcd8739ae039,{value:m?.label??"No Name",onChange:p}),b&&(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$var$SettingsIconWrapper,{onClickCapture:()=>h(e=>!e)})]}),(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$export$bfd3bd1fa283e3c6,{theme:$,children:[(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$f1afba0ff9ea1277,{children:v?Object.keys(v).map((e,t)=>(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$export$a2d375858cc72119,{children:[(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$9ea0feffc20ee81,{id:e,portType:v[e].type}),(0,$a7mps$reactjsxruntime.jsx)("span",{children:e})]},t)):null}),(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$af4f9b41fc32ed9e,{children:j?Object.keys(j).map((e,t)=>(0,$a7mps$reactjsxruntime.jsxs)($640d4631fb8a3085$export$a2d375858cc72119,{children:[(0,$a7mps$reactjsxruntime.jsx)($640d4631fb8a3085$export$496e5e1ee1696f64,{id:e,portType:j[e].type}),(0,$a7mps$reactjsxruntime.jsx)("span",{children:e})]},t)):null})]}),b&&x&&a?(0,$a7mps$reactjsxruntime.jsx)(b,{...e}):l?(0,$a7mps$reactjsxruntime.jsx)($a7mps$reresizable.Resizable,{size:g,minWidth:180,minHeight:30,enable:{bottom:!0,bottomRight:!0,right:!0},onResizeStop:(e,t,r,a)=>{let o=g?{width:g.width+a.width,height:g.height+a.height}:r.getBoundingClientRect();f({...m?.config,size:o})},children:r}):r,(0,$a7mps$reactjsxruntime.jsx)($beb75f08bd3bd2f9$export$2e2bcd8739ae039,{isOpen:s,type:e.type,onClose:()=>d(!1),node:u.node})]})},$6ff4e064ce068472$export$86de09faaa70680d=$parcel$interopDefault($a7mps$emotionstyled).div`
324
386
  width: 100%;
325
387
  padding: 0.4rem 0;
326
388
  white-space: nowrap;
@@ -356,7 +418,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
356
418
  height: 100%;
357
419
  display: grid;
358
420
  grid-template-rows: auto 1fr;
359
- `,$e1c922010658cc13$var$PanelNode=e=>{let{node:t}=e,a=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.getControlPanelNode),r=(0,$a7mps$react.useMemo)(()=>a(t),[t]);return r?(0,$a7mps$reactjsxruntime.jsx)(r,{...e}):null},$e1c922010658cc13$var$ControlPanelItem=e=>{let{node:t,showControls:a,onDelete:r}=e,o=$d0e2724637fe681a$export$2e2bcd8739ae039(),{id:$}=t,{node:c}=$aa9957b9b5d388f6$export$2e2bcd8739ae039($)||{},{updateNodeValues:n}=$fe0857212c4510a0$export$2e2bcd8739ae039($);return(0,$a7mps$reactjsxruntime.jsxs)($e1c922010658cc13$var$ControlPanelNodeWrapper,{theme:o,children:[(0,$a7mps$reactjsxruntime.jsxs)($6ff4e064ce068472$export$548ca3bae446ddc2,{theme:o,children:[(0,$a7mps$reactjsxruntime.jsx)($6ff4e064ce068472$export$86de09faaa70680d,{children:t.data.label}),a&&(0,$a7mps$reactjsxruntime.jsxs)($6ff4e064ce068472$export$9fb15e3cc717240,{children:[(0,$a7mps$reactjsxruntime.jsx)($6ff4e064ce068472$export$be58b4326e23250f,{theme:o,children:(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsmd.MdDragHandle,{className:"grid-item-handle"})}),(0,$a7mps$reactjsxruntime.jsx)($6ff4e064ce068472$export$be58b4326e23250f,{theme:o,children:(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsmd.MdClose,{onClick:()=>r(t)})})]})]}),(0,$a7mps$reactjsxruntime.jsx)($e1c922010658cc13$var$PanelNode,{node:t,audioNode:c,updateNodeValues:n})]})};var $e1c922010658cc13$export$2e2bcd8739ae039=$e1c922010658cc13$var$ControlPanelItem;let $35554bd755f84c69$var$ControlPanelIconWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
421
+ `,$e1c922010658cc13$var$PanelNode=e=>{let{node:t}=e,r=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.getControlPanelNode),a=(0,$a7mps$react.useMemo)(()=>r(t),[t]);return a?(0,$a7mps$reactjsxruntime.jsx)(a,{...e}):null},$e1c922010658cc13$var$ControlPanelItem=e=>{let{node:t,showControls:r,onDelete:a}=e,o=$d0e2724637fe681a$export$2e2bcd8739ae039(),{id:$}=t,{node:c}=$aa9957b9b5d388f6$export$2e2bcd8739ae039($)||{},{updateNodeValues:n}=$fe0857212c4510a0$export$2e2bcd8739ae039($);return(0,$a7mps$reactjsxruntime.jsxs)($e1c922010658cc13$var$ControlPanelNodeWrapper,{theme:o,children:[(0,$a7mps$reactjsxruntime.jsxs)($6ff4e064ce068472$export$548ca3bae446ddc2,{theme:o,children:[(0,$a7mps$reactjsxruntime.jsx)($6ff4e064ce068472$export$86de09faaa70680d,{children:t.data.label}),r&&(0,$a7mps$reactjsxruntime.jsxs)($6ff4e064ce068472$export$9fb15e3cc717240,{children:[(0,$a7mps$reactjsxruntime.jsx)($6ff4e064ce068472$export$be58b4326e23250f,{theme:o,children:(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsmd.MdDragHandle,{className:"grid-item-handle"})}),(0,$a7mps$reactjsxruntime.jsx)($6ff4e064ce068472$export$be58b4326e23250f,{theme:o,children:(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsmd.MdClose,{onClick:()=>a(t)})})]})]}),(0,$a7mps$reactjsxruntime.jsx)($e1c922010658cc13$var$PanelNode,{node:t,audioNode:c,updateNodeValues:n})]})};var $e1c922010658cc13$export$2e2bcd8739ae039=$e1c922010658cc13$var$ControlPanelItem;let $35554bd755f84c69$var$ControlPanelIconWrapper=$parcel$interopDefault($a7mps$emotionstyled).div`
360
422
  position: fixed;
361
423
  z-index: 5;
362
424
  box-shadow: 0px 1px 2px ${({theme:e})=>e.colors.elevation2};
@@ -427,7 +489,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
427
489
  border-color: ${({theme:e})=>e.colors.whitePrimary};
428
490
  border-width: 1px;
429
491
  }
430
- `,$35554bd755f84c69$var$ControlPanel=()=>{let e=$d0e2724637fe681a$export$2e2bcd8739ae039(),t=(0,$a7mps$react.useRef)(null),a=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.nodes),{show:r,nodes:o,size:$}=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.controlPanel),{width:c=200,height:n}=$,s=(0,$a7mps$react.useMemo)(()=>{let e=o.map(({id:e})=>e);return a.filter(({id:t})=>e.includes(t))},[a,o]),d=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.showControlPanel),i=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.hideControlPanel),l=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setControlPanelNodes),p=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setControlPanelSize),f=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.removeNodeFromControlPanel),[m,u]=(0,$a7mps$react.useState)(!0),b=(0,$a7mps$react.useMemo)(()=>{let e=o.reduce((e,{height:t=$322b255600739d01$export$9f05d3e6ade4c09e.rowHeight,x:a,y:r=0})=>{let o=r+t;return o>e?o:e},0);return o.map(({id:t,width:a,height:r,x:o,y:$})=>({i:t,w:a||$322b255600739d01$export$9f05d3e6ade4c09e.cols,h:r||6,x:o??0,y:$??e}))},[o]);return s.length?(0,$a7mps$reactjsxruntime.jsxs)($a7mps$reactjsxruntime.Fragment,{children:[(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelIconWrapper,{theme:e,ref:t,onClick:d,children:(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsrx.RxDashboard,{})}),(0,$a7mps$reactjsxruntime.jsxs)($parcel$interopDefault($a7mps$reactmoderndrawer),{open:r,onClose:i,direction:"left",className:"",size:"auto",enableOverlay:!1,style:{background:e.colors.elevation1,position:"absolute"},children:[(0,$a7mps$reactjsxruntime.jsxs)($35554bd755f84c69$var$ControlPanelHeader,{theme:e,children:[(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelTitle,{children:"Control Panel"}),(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelIconsBar,{children:(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$CloseIconWrapper,{onClick:i,theme:e,children:(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsmd.MdClose,{})})})]}),(0,$a7mps$reactjsxruntime.jsxs)($35554bd755f84c69$var$ControlPanelWrapper,{children:[(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelSettings,{children:m?(0,$a7mps$reactjsxruntime.jsxs)($35554bd755f84c69$var$LockGridWrapper,{theme:e,onClick:()=>u(!1),children:[(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsai.AiFillLock,{}),"Unlock grid"]}):(0,$a7mps$reactjsxruntime.jsxs)($35554bd755f84c69$var$LockGridWrapper,{theme:e,onClick:()=>u(!0),children:[(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsai.AiFillUnlock,{}),"Lock grid"]})}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reresizable.Resizable,{enable:{top:!1,right:!m,bottom:!1,left:!1,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},handleComponent:{right:(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$GridResizeHandle,{theme:e})},minWidth:120,size:{width:c,height:"auto"},onResizeStop:(e,t,a,r)=>{p({width:c+r.width,height:n+r.height})},children:(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelBody,{theme:e,children:(0,$a7mps$reactjsxruntime.jsx)($parcel$interopDefault($a7mps$reactgridlayout),{layout:b,className:"layout",cols:$322b255600739d01$export$9f05d3e6ade4c09e.cols,rowHeight:$322b255600739d01$export$9f05d3e6ade4c09e.rowHeight,width:c,margin:[0,0],isResizable:!m,draggableHandle:".grid-item-handle",onLayoutChange:e=>{requestAnimationFrame(()=>{l(e.map(({i:e,w:t,h:a,x:r,y:o})=>({id:e,width:t,height:a,x:r,y:o})))})},children:s.map(t=>(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelItemWrapper,{theme:e,children:(0,$a7mps$reactjsxruntime.jsx)($e1c922010658cc13$export$2e2bcd8739ae039,{node:t,showControls:!m,onDelete:f})},t.id))})})})]})]})]}):null};var $35554bd755f84c69$export$2e2bcd8739ae039=$35554bd755f84c69$var$ControlPanel,$fe9d853987c59281$exports={};$fe9d853987c59281$exports="# Quick start\n\n## Add node\n - Mouse right click\n - Select **'Add Node'** from context menu\n\n ### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or\n\n - Press `CMD+SHIFT+A`\n\n<br/>\n\n## Connect nodes\n - Mouse left click and hold on source port\n - Drop on target port\n\n<br/>\n\n## Delete Node or Connection\n - Mouse right click on node/connection\n - Select **'Delete Node'**/**'Delete Connection'** from context menu\n\n ### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or\n\n - Mouse left click on node/connection, then press `Backspace`\n\n<br/>\n\n\n## Move node\n - Drag and Drop\n\n";let $444f2a1cb1736bcc$var$MdPreview=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
492
+ `,$35554bd755f84c69$var$ControlPanel=()=>{let e=$d0e2724637fe681a$export$2e2bcd8739ae039(),t=(0,$a7mps$react.useRef)(null),r=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.nodes),{show:a,nodes:o,size:$}=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.controlPanel),{width:c=200,height:n}=$,s=(0,$a7mps$react.useMemo)(()=>{let e=o.map(({id:e})=>e);return r.filter(({id:t})=>e.includes(t))},[r,o]),d=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.showControlPanel),i=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.hideControlPanel),l=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setControlPanelNodes),p=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setControlPanelSize),f=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.removeNodeFromControlPanel),[m,u]=(0,$a7mps$react.useState)(!0),b=(0,$a7mps$react.useMemo)(()=>{let e=o.reduce((e,{height:t=$322b255600739d01$export$9f05d3e6ade4c09e.rowHeight,x:r,y:a=0})=>{let o=a+t;return o>e?o:e},0);return o.map(({id:t,width:r,height:a,x:o,y:$})=>({i:t,w:r||$322b255600739d01$export$9f05d3e6ade4c09e.cols,h:a||6,x:o??0,y:$??e}))},[o]);return s.length?(0,$a7mps$reactjsxruntime.jsxs)($a7mps$reactjsxruntime.Fragment,{children:[(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelIconWrapper,{theme:e,ref:t,onClick:d,children:(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsrx.RxDashboard,{})}),(0,$a7mps$reactjsxruntime.jsxs)($parcel$interopDefault($a7mps$reactmoderndrawer),{open:a,onClose:i,direction:"left",className:"",size:"auto",enableOverlay:!1,style:{background:e.colors.elevation1,position:"absolute"},children:[(0,$a7mps$reactjsxruntime.jsxs)($35554bd755f84c69$var$ControlPanelHeader,{theme:e,children:[(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelTitle,{children:"Control Panel"}),(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelIconsBar,{children:(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$CloseIconWrapper,{onClick:i,theme:e,children:(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsmd.MdClose,{})})})]}),(0,$a7mps$reactjsxruntime.jsxs)($35554bd755f84c69$var$ControlPanelWrapper,{children:[(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelSettings,{children:m?(0,$a7mps$reactjsxruntime.jsxs)($35554bd755f84c69$var$LockGridWrapper,{theme:e,onClick:()=>u(!1),children:[(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsai.AiFillLock,{}),"Unlock grid"]}):(0,$a7mps$reactjsxruntime.jsxs)($35554bd755f84c69$var$LockGridWrapper,{theme:e,onClick:()=>u(!0),children:[(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsai.AiFillUnlock,{}),"Lock grid"]})}),(0,$a7mps$reactjsxruntime.jsx)($a7mps$reresizable.Resizable,{enable:{top:!1,right:!m,bottom:!1,left:!1,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},handleComponent:{right:(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$GridResizeHandle,{theme:e})},minWidth:120,size:{width:c,height:"auto"},onResizeStop:(e,t,r,a)=>{p({width:c+a.width,height:n+a.height})},children:(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelBody,{theme:e,children:(0,$a7mps$reactjsxruntime.jsx)($parcel$interopDefault($a7mps$reactgridlayout),{layout:b,className:"layout",cols:$322b255600739d01$export$9f05d3e6ade4c09e.cols,rowHeight:$322b255600739d01$export$9f05d3e6ade4c09e.rowHeight,width:c,margin:[0,0],isResizable:!m,draggableHandle:".grid-item-handle",onLayoutChange:e=>{requestAnimationFrame(()=>{l(e.map(({i:e,w:t,h:r,x:a,y:o})=>({id:e,width:t,height:r,x:a,y:o})))})},children:s.map(t=>(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$var$ControlPanelItemWrapper,{theme:e,children:(0,$a7mps$reactjsxruntime.jsx)($e1c922010658cc13$export$2e2bcd8739ae039,{node:t,showControls:!m,onDelete:f})},t.id))})})})]})]})]}):null};var $35554bd755f84c69$export$2e2bcd8739ae039=$35554bd755f84c69$var$ControlPanel,$fe9d853987c59281$exports={};$fe9d853987c59281$exports="# Quick start\n\n## Add node\n - Mouse right click\n - Select **'Add Node'** from context menu\n\n ### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or\n\n - Press `CMD+SHIFT+A`\n\n<br/>\n\n## Connect nodes\n - Mouse left click and hold on source port\n - Drop on target port\n\n<br/>\n\n## Delete Node or Connection\n - Mouse right click on node/connection\n - Select **'Delete Node'**/**'Delete Connection'** from context menu\n\n ### &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or\n\n - Mouse left click on node/connection, then press `Backspace`\n\n<br/>\n\n\n## Move node\n - Drag and Drop\n\n";let $444f2a1cb1736bcc$var$MdPreview=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
431
493
  font-family: var(--leva-fonts-mono);
432
494
  font-size: 0.7rem;
433
495
  box-sizing: border-box;
@@ -472,7 +534,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
472
534
  `,$7ea84a00a98bc4b0$var$Icon=$parcel$interopDefault($a7mps$emotionstyled)($a7mps$reacticonsfa.FaVolumeOff)`
473
535
  width: 7rem;
474
536
  height: 7rem;
475
- `,$7ea84a00a98bc4b0$var$ResumeContext=()=>{let e=$d0e2724637fe681a$export$2e2bcd8739ae039(),t=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({patch:e})=>e).audioContext,[a,r]=(0,$a7mps$react.useState)("running"===t.state);return a?null:(0,$a7mps$reactjsxruntime.jsxs)($7ea84a00a98bc4b0$var$Layout,{theme:e,onClick:()=>{t.resume(),r(!0)},children:[(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$var$Row,{children:(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$var$Message,{theme:e,children:"Click anywhere to resume audio context"})}),(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$var$Row,{children:(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$var$Icon,{})})]})};var $7ea84a00a98bc4b0$export$2e2bcd8739ae039=$7ea84a00a98bc4b0$var$ResumeContext;let $f80802f833413255$var$ToggleMinimap=()=>{let e=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({setConfig:e})=>e),{showMinimap:t}=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({config:e})=>e);return(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactflow.ControlButton,{onClick:()=>e({showMinimap:!t}),children:t?(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsfa.FaMap,{}):(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsfa.FaRegMap,{})})};var $f80802f833413255$export$2e2bcd8739ae039=$f80802f833413255$var$ToggleMinimap;let $f106181e6945e312$var$Wire=({id:e,sourceX:t,sourceY:a,targetX:r,targetY:o,sourcePosition:$,targetPosition:c,style:n={},data:s,markerStart:d,markerEnd:i,source:l,target:p,sourceHandleId:f,targetHandleId:m,selected:u})=>{let b=$d0e2724637fe681a$export$2e2bcd8739ae039(),x=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({getNode:e})=>e),h=x(l),g=x(p),v=h?.selected||g?.selected;(0,$a7mps$react.useEffect)(()=>{if(f&&m)return console.log(`connected ${l} to ${p}`),()=>{console.log(`disconnected ${l} from ${p}`)}},[l,f,p,m]);let[j]=(0,$a7mps$reactflow.getBezierPath)({targetX:r,targetY:o,targetPosition:c,sourceX:t,sourceY:a,sourcePosition:$});return(0,$a7mps$reactjsxruntime.jsxs)($a7mps$reactjsxruntime.Fragment,{children:[(0,$a7mps$reactjsxruntime.jsx)("path",{id:e,style:{...n,stroke:u?b.colors.accent2:v?b.colors.highlight3:b.colors.highlight2},className:"react-flow__edge-path Wire",d:j,markerEnd:i}),(0,$a7mps$reactjsxruntime.jsx)("path",{style:{...n,strokeWidth:8,color:"transparent",opacity:0,cursor:"pointer"},d:j,markerEnd:i})]})};var $f106181e6945e312$export$2e2bcd8739ae039=$f106181e6945e312$var$Wire;let $b1f767107905cffa$var$onNodeDragStop=(e,t)=>console.log("drag stop",t),$b1f767107905cffa$var$onNodeClick=(e,t)=>console.log("click",t),$b1f767107905cffa$var$snapGrid=[20,20],$b1f767107905cffa$export$72cb76f559fbafcf=({editorState:e,plugins:t=[],editorContextMenu:a=[],onChange:r=()=>{}})=>{let o=(0,$a7mps$react.useMemo)(()=>({wire:$f106181e6945e312$export$2e2bcd8739ae039}),[]),{nodes:$,edges:c,controlPanel:n,onNodesChange:s,onNodesDelete:d,onEdgesChange:i,onEdgesDelete:l,onConnect:p,setEditorState:f,setPlugins:m,setViewport:u,viewport:b}=$79ad7ccfcef16bee$export$2e2bcd8739ae039(),x=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({config:e})=>e),h=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({nodeTypes:e})=>e);(0,$a7mps$react.useEffect)(()=>{m(t)},[t]),(0,$a7mps$react.useEffect)(()=>{e&&f(e)},[e,f]);let[g,v]=(0,$a7mps$react.useState)(null);(0,$a7mps$react.useEffect)(()=>{g&&r({nodes:$,edges:c,controlPanel:n,viewport:b})},[$,c,n,b]);let j=(0,$a7mps$react.useCallback)(e=>{g||(v(e),console.log("flow loaded:",e))},[g]),{onContextMenu:y}=$0c1922ae66a6d15e$export$59ce2a6808e35a29(),{onContextMenu:w}=$403934f9ca48a72d$export$cbbbfb9fb15f3780(),{onContextMenu:C}=$50af6b2578f19729$export$8b2e4a15453bac1e();return(0,$a7mps$react.useEffect)(()=>{b&&g?.setViewport(b)},[b,g]),(0,$a7mps$reactflow.useOnViewportChange)({onEnd:u}),(0,$a7mps$reactjsxruntime.jsxs)($parcel$interopDefault($a7mps$reactflow),{nodes:$,edges:c,onNodesChange:s,onNodesDelete:d,onEdgesChange:i,onConnect:p,onNodeDragStop:$b1f767107905cffa$var$onNodeDragStop,onEdgesDelete:l,onInit:j,onNodeClick:$b1f767107905cffa$var$onNodeClick,onContextMenu:y,onNodeContextMenu:w,onEdgeContextMenu:C,nodeTypes:h,edgeTypes:o,snapGrid:$b1f767107905cffa$var$snapGrid,defaultViewport:e?.viewport,defaultEdgeOptions:{type:"wire"},snapToGrid:!0,fitView:!0,disableKeyboardA11y:!0,children:[(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactflow.Background,{variant:$a7mps$reactflow.BackgroundVariant.Dots,gap:12}),x.showMinimap?(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactflow.MiniMap,{}):null,(0,$a7mps$reactjsxruntime.jsxs)($a7mps$reactflow.Controls,{style:{right:"1rem",left:"initial",bottom:"40%",top:"initial"},showInteractive:!1,children:[(0,$a7mps$reactjsxruntime.jsx)($f80802f833413255$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($49ac13a4c49bffda$export$78bddedbcf2939ac,{})]}),(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($444f2a1cb1736bcc$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($0c1922ae66a6d15e$export$2e2bcd8739ae039,{editorContextMenu:a}),(0,$a7mps$reactjsxruntime.jsx)($403934f9ca48a72d$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($50af6b2578f19729$export$2e2bcd8739ae039,{})]})},$b1f767107905cffa$export$7cda8d932e2f33c0=e=>(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactflow.ReactFlowProvider,{children:(0,$a7mps$reactjsxruntime.jsx)($b1f767107905cffa$export$72cb76f559fbafcf,{...e})});var $b1f767107905cffa$export$2e2bcd8739ae039=$b1f767107905cffa$export$7cda8d932e2f33c0;let $bf69f85ff37e07b6$export$d31000d36961d6c2={nodes:[],edges:[],controlPanel:{nodes:[],show:!1,size:{width:200,height:100}},viewport:{x:0,y:0,zoom:1.5}},$bf69f85ff37e07b6$export$6cd5d5c1dae69a36=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
537
+ `,$7ea84a00a98bc4b0$var$ResumeContext=()=>{let e=$d0e2724637fe681a$export$2e2bcd8739ae039(),t=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({patch:e})=>e).audioContext,[r,a]=(0,$a7mps$react.useState)("running"===t.state);return r?null:(0,$a7mps$reactjsxruntime.jsxs)($7ea84a00a98bc4b0$var$Layout,{theme:e,onClick:()=>{t.resume(),a(!0)},children:[(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$var$Row,{children:(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$var$Message,{theme:e,children:"Click anywhere to resume audio context"})}),(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$var$Row,{children:(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$var$Icon,{})})]})};var $7ea84a00a98bc4b0$export$2e2bcd8739ae039=$7ea84a00a98bc4b0$var$ResumeContext;let $f80802f833413255$var$ToggleMinimap=()=>{let e=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({setConfig:e})=>e),{showMinimap:t}=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({config:e})=>e);return(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactflow.ControlButton,{onClick:()=>e({showMinimap:!t}),children:t?(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsfa.FaMap,{}):(0,$a7mps$reactjsxruntime.jsx)($a7mps$reacticonsfa.FaRegMap,{})})};var $f80802f833413255$export$2e2bcd8739ae039=$f80802f833413255$var$ToggleMinimap;let $f106181e6945e312$var$Wire=({id:e,sourceX:t,sourceY:r,targetX:a,targetY:o,sourcePosition:$,targetPosition:c,style:n={},data:s,markerStart:d,markerEnd:i,source:l,target:p,sourceHandleId:f,targetHandleId:m,selected:u})=>{let b=$d0e2724637fe681a$export$2e2bcd8739ae039(),x=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({getNode:e})=>e),h=x(l),g=x(p),v=h?.selected||g?.selected;(0,$a7mps$react.useEffect)(()=>{if(f&&m)return console.log(`connected ${l} to ${p}`),()=>{console.log(`disconnected ${l} from ${p}`)}},[l,f,p,m]);let[j]=(0,$a7mps$reactflow.getBezierPath)({targetX:a,targetY:o,targetPosition:c,sourceX:t,sourceY:r,sourcePosition:$});return(0,$a7mps$reactjsxruntime.jsxs)($a7mps$reactjsxruntime.Fragment,{children:[(0,$a7mps$reactjsxruntime.jsx)("path",{id:e,style:{...n,stroke:u?b.colors.accent2:v?b.colors.highlight3:b.colors.highlight2},className:"react-flow__edge-path Wire",d:j,markerEnd:i}),(0,$a7mps$reactjsxruntime.jsx)("path",{style:{...n,strokeWidth:8,color:"transparent",opacity:0,cursor:"pointer"},d:j,markerEnd:i})]})};var $f106181e6945e312$export$2e2bcd8739ae039=$f106181e6945e312$var$Wire;let $b1f767107905cffa$var$onNodeDragStop=(e,t)=>console.log("drag stop",t),$b1f767107905cffa$var$onNodeClick=(e,t)=>console.log("click",t),$b1f767107905cffa$var$snapGrid=[20,20],$b1f767107905cffa$export$72cb76f559fbafcf=({editorState:e,plugins:t=[],editorContextMenu:r=[],onChange:a=()=>{}})=>{let o=(0,$a7mps$react.useMemo)(()=>({wire:$f106181e6945e312$export$2e2bcd8739ae039}),[]),{nodes:$,edges:c,controlPanel:n,onNodesChange:s,onNodesDelete:d,onEdgesChange:i,onEdgesDelete:l,onConnect:p,setEditorState:f,setPlugins:m,setViewport:u,viewport:b}=$79ad7ccfcef16bee$export$2e2bcd8739ae039(),x=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({config:e})=>e),h=$79ad7ccfcef16bee$export$2e2bcd8739ae039(({nodeTypes:e})=>e);(0,$a7mps$react.useEffect)(()=>{m(t)},[t]),(0,$a7mps$react.useEffect)(()=>{e&&f(e)},[e,f]);let[g,v]=(0,$a7mps$react.useState)(null);(0,$a7mps$react.useEffect)(()=>{g&&a({nodes:$,edges:c,controlPanel:n,viewport:b})},[$,c,n,b]);let j=(0,$a7mps$react.useCallback)(e=>{g||(v(e),console.log("flow loaded:",e))},[g]),{onContextMenu:y}=$0c1922ae66a6d15e$export$59ce2a6808e35a29(),{onContextMenu:w}=$403934f9ca48a72d$export$cbbbfb9fb15f3780(),{onContextMenu:C}=$50af6b2578f19729$export$8b2e4a15453bac1e();return(0,$a7mps$react.useEffect)(()=>{b&&g?.setViewport(b)},[b,g]),(0,$a7mps$reactflow.useOnViewportChange)({onEnd:u}),(0,$a7mps$reactjsxruntime.jsxs)($parcel$interopDefault($a7mps$reactflow),{nodes:$,edges:c,onNodesChange:s,onNodesDelete:d,onEdgesChange:i,onConnect:p,onNodeDragStop:$b1f767107905cffa$var$onNodeDragStop,onEdgesDelete:l,onInit:j,onNodeClick:$b1f767107905cffa$var$onNodeClick,onContextMenu:y,onNodeContextMenu:w,onEdgeContextMenu:C,nodeTypes:h,edgeTypes:o,snapGrid:$b1f767107905cffa$var$snapGrid,defaultViewport:e?.viewport,defaultEdgeOptions:{type:"wire"},snapToGrid:!0,fitView:!0,disableKeyboardA11y:!0,children:[(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactflow.Background,{variant:$a7mps$reactflow.BackgroundVariant.Dots,gap:12}),x.showMinimap?(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactflow.MiniMap,{}):null,(0,$a7mps$reactjsxruntime.jsxs)($a7mps$reactflow.Controls,{style:{right:"1rem",left:"initial",bottom:"40%",top:"initial"},showInteractive:!1,children:[(0,$a7mps$reactjsxruntime.jsx)($f80802f833413255$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($49ac13a4c49bffda$export$78bddedbcf2939ac,{})]}),(0,$a7mps$reactjsxruntime.jsx)($7ea84a00a98bc4b0$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($35554bd755f84c69$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($444f2a1cb1736bcc$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($0c1922ae66a6d15e$export$2e2bcd8739ae039,{editorContextMenu:r}),(0,$a7mps$reactjsxruntime.jsx)($403934f9ca48a72d$export$2e2bcd8739ae039,{}),(0,$a7mps$reactjsxruntime.jsx)($50af6b2578f19729$export$2e2bcd8739ae039,{})]})},$b1f767107905cffa$export$7cda8d932e2f33c0=e=>(0,$a7mps$reactjsxruntime.jsx)($a7mps$reactflow.ReactFlowProvider,{children:(0,$a7mps$reactjsxruntime.jsx)($b1f767107905cffa$export$72cb76f559fbafcf,{...e})});var $b1f767107905cffa$export$2e2bcd8739ae039=$b1f767107905cffa$export$7cda8d932e2f33c0;let $bf69f85ff37e07b6$export$d31000d36961d6c2={nodes:[],edges:[],controlPanel:{nodes:[],show:!1,size:{width:200,height:100}},viewport:{x:0,y:0,zoom:1.5}},$bf69f85ff37e07b6$export$6cd5d5c1dae69a36=(0,$a7mps$emotionreact.withTheme)($parcel$interopDefault($a7mps$emotionstyled).div`
476
538
  display: flex;
477
539
  flex-direction: column;
478
540
  height: 100%;
@@ -541,7 +603,7 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
541
603
  &:hover {
542
604
  color: ${({theme:e})=>e.colors.whitePrimary};
543
605
  }
544
- `),$bf69f85ff37e07b6$var$generateId=()=>(0,$a7mps$nanoid.nanoid)(),$bf69f85ff37e07b6$var$generateEmptyFile=()=>({file:$bf69f85ff37e07b6$export$d31000d36961d6c2,name:"Unnamed",type:"patch",id:$bf69f85ff37e07b6$var$generateId()}),$bf69f85ff37e07b6$export$86fbec116b87613f=({...e})=>{let{projectState:t,theme:a}=e,r=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.currentFileIndex),o=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setCurrentFileIndex),$=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.project),c=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setProject),n=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.getProject),s=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.updateFileName),d=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.pullEditorChanges),i=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.addFile),l=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.deleteFile),p=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setEditorState),[f,m]=(0,$a7mps$react.useState)(!1);return(0,$a7mps$react.useEffect)(()=>{c(t||{files:[$bf69f85ff37e07b6$var$generateEmptyFile()]}),t&&p(t.files[0].file)},[t]),(0,$a7mps$react.useEffect)(()=>($a1cee8e8b30b93b5$export$9e4ff1580457920e("project://*",async(...e)=>{let t=new Request(...e),a=n().files,r=t.url.replace("project://",""),o=a.find(({id:e})=>e===r);return new Response(JSON.stringify(o?.file??null))}),()=>{}),[n]),(0,$a7mps$react.useEffect)(()=>{m(!0),p(n().files[r]?.file),setTimeout(()=>{m(!1)},1600)},[r,p]),(0,$a7mps$reactjsxruntime.jsxs)($a7mps$emotionreact.ThemeProvider,{theme:a||$087b434571dfd091$export$2e2bcd8739ae039,children:[(0,$a7mps$reactjsxruntime.jsx)($a7mps$emotionreact.Global,{styles:(0,$a7mps$emotionreact.css)`
606
+ `),$bf69f85ff37e07b6$var$generateId=()=>(0,$a7mps$nanoid.nanoid)(),$bf69f85ff37e07b6$var$generateEmptyFile=()=>({file:$bf69f85ff37e07b6$export$d31000d36961d6c2,name:"Unnamed",type:"patch",id:$bf69f85ff37e07b6$var$generateId()}),$bf69f85ff37e07b6$export$86fbec116b87613f=({...e})=>{let{projectState:t,theme:r}=e,a=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.currentFileIndex),o=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setCurrentFileIndex),$=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.project),c=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setProject),n=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.getProject),s=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.updateFileName),d=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.pullEditorChanges),i=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.addFile),l=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.deleteFile),p=$79ad7ccfcef16bee$export$2e2bcd8739ae039(e=>e.setEditorState),[f,m]=(0,$a7mps$react.useState)(!1);return(0,$a7mps$react.useEffect)(()=>{c(t||{files:[$bf69f85ff37e07b6$var$generateEmptyFile()]}),t&&p(t.files[0].file)},[t]),(0,$a7mps$react.useEffect)(()=>($a1cee8e8b30b93b5$export$9e4ff1580457920e("project://*",async(...e)=>{let t=new Request(...e),r=n().files,a=t.url.replace("project://",""),o=r.find(({id:e})=>e===a);return new Response(JSON.stringify(o?.file??null))}),()=>{}),[n]),(0,$a7mps$react.useEffect)(()=>{m(!0),p(n().files[a]?.file),setTimeout(()=>{m(!1)},1600)},[a,p]),(0,$a7mps$reactjsxruntime.jsxs)($a7mps$emotionreact.ThemeProvider,{theme:r||$087b434571dfd091$export$2e2bcd8739ae039,children:[(0,$a7mps$reactjsxruntime.jsx)($a7mps$emotionreact.Global,{styles:(0,$a7mps$emotionreact.css)`
545
607
  :root {
546
608
  --leva-colors-elevation1: #292d39;
547
609
  --leva-colors-elevation2: #181c20;
@@ -598,5 +660,5 @@ var $a7mps$reactjsxruntime=require("react/jsx-runtime"),$a7mps$emotionreact=requ
598
660
  --leva-fontWeights-folder: normal;
599
661
  --leva-fontWeights-button: normal;
600
662
  }
601
- `}),(0,$a7mps$reactjsxruntime.jsxs)($bf69f85ff37e07b6$export$6cd5d5c1dae69a36,{children:[(0,$a7mps$reactjsxruntime.jsxs)($bf69f85ff37e07b6$export$2206531ad8592d57,{children:[$.files.map((e,t)=>(0,$a7mps$reactjsxruntime.jsxs)($bf69f85ff37e07b6$export$3e41faf802a29e71,{onClick:()=>o(t),active:t===r,children:[(0,$a7mps$reactjsxruntime.jsx)($8ff102452e3139f7$export$2e2bcd8739ae039,{onChange:e=>s(t,e),value:e.name||"Unnamed"}),(0,$a7mps$reactjsxruntime.jsx)($bf69f85ff37e07b6$export$cae179f078f4b4a4,{onClick:e=>{e.stopPropagation(),window.confirm("Do you really want to delete this file?")&&l(t)}})]},t)),(0,$a7mps$reactjsxruntime.jsx)($bf69f85ff37e07b6$export$61e5b3c7bace77b8,{onClick:()=>i($bf69f85ff37e07b6$var$generateEmptyFile()),children:(0,$a7mps$reactjsxruntime.jsx)($bf69f85ff37e07b6$export$3aef34186a092045,{})})]}),(0,$a7mps$reactjsxruntime.jsxs)($bf69f85ff37e07b6$export$b38a2fd24b22fb35,{children:[(0,$a7mps$reactjsxruntime.jsx)($b1f767107905cffa$export$7cda8d932e2f33c0,{...e,onChange:e=>{d()},editorState:$bf69f85ff37e07b6$export$d31000d36961d6c2}),(0,$a7mps$reactjsxruntime.jsx)($bf69f85ff37e07b6$export$8c347812506d5ac9,{show:f,children:"Loading..."})]})]})]})};var $bf69f85ff37e07b6$export$2e2bcd8739ae039=$bf69f85ff37e07b6$export$86fbec116b87613f;
663
+ `}),(0,$a7mps$reactjsxruntime.jsxs)($bf69f85ff37e07b6$export$6cd5d5c1dae69a36,{children:[(0,$a7mps$reactjsxruntime.jsxs)($bf69f85ff37e07b6$export$2206531ad8592d57,{children:[$.files.map((e,t)=>(0,$a7mps$reactjsxruntime.jsxs)($bf69f85ff37e07b6$export$3e41faf802a29e71,{onClick:()=>o(t),active:t===a,children:[(0,$a7mps$reactjsxruntime.jsx)($8ff102452e3139f7$export$2e2bcd8739ae039,{onChange:e=>s(t,e),value:e.name||"Unnamed"}),(0,$a7mps$reactjsxruntime.jsx)($bf69f85ff37e07b6$export$cae179f078f4b4a4,{onClick:e=>{e.stopPropagation(),window.confirm("Do you really want to delete this file?")&&l(t)}})]},t)),(0,$a7mps$reactjsxruntime.jsx)($bf69f85ff37e07b6$export$61e5b3c7bace77b8,{onClick:()=>i($bf69f85ff37e07b6$var$generateEmptyFile()),children:(0,$a7mps$reactjsxruntime.jsx)($bf69f85ff37e07b6$export$3aef34186a092045,{})})]}),(0,$a7mps$reactjsxruntime.jsxs)($bf69f85ff37e07b6$export$b38a2fd24b22fb35,{children:[(0,$a7mps$reactjsxruntime.jsx)($b1f767107905cffa$export$7cda8d932e2f33c0,{...e,onChange:e=>{d()},editorState:$bf69f85ff37e07b6$export$d31000d36961d6c2}),(0,$a7mps$reactjsxruntime.jsx)($bf69f85ff37e07b6$export$8c347812506d5ac9,{show:f,children:"Loading..."})]})]})]})};var $bf69f85ff37e07b6$export$2e2bcd8739ae039=$bf69f85ff37e07b6$export$86fbec116b87613f;
602
664
  //# sourceMappingURL=main.js.map