@web-noise/core 0.0.21 → 0.0.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -1,4 +1,4 @@
1
- var $7b4822a8974ed0d4$export$b0b7b95ee465c83c,$jVu6q$reactjsxruntime=require("react/jsx-runtime"),$jVu6q$emotionreact=require("@emotion/react"),$jVu6q$emotionstyled=require("@emotion/styled"),$jVu6q$nanoid=require("nanoid"),$jVu6q$react=require("react"),$jVu6q$reacticonsfa6=require("react-icons/fa6"),$jVu6q$reacticonsmd=require("react-icons/md"),$jVu6q$webnoisefetch=require("@web-noise/fetch"),$jVu6q$xyflowreact=require("@xyflow/react"),$jVu6q$zustand=require("zustand"),$jVu6q$webnoisepatch=require("@web-noise/patch"),$jVu6q$jsondiffpatch=require("jsondiffpatch"),$jVu6q$emotioncss=require("@emotion/css");require("@xyflow/react/dist/style.css");var $jVu6q$reactcontexify=require("react-contexify");require("react-contexify/dist/ReactContexify.css");var $jVu6q$hotkeysjs=require("hotkeys-js"),$jVu6q$reactdom=require("react-dom"),$jVu6q$reactfiledrop=require("react-file-drop"),$jVu6q$reacticonsfa=require("react-icons/fa"),$jVu6q$reresizable=require("re-resizable"),$jVu6q$reactgridlayout=require("react-grid-layout");require("react-grid-layout/css/styles.css");var $jVu6q$reacticonsai=require("react-icons/ai"),$jVu6q$reacticonsrx=require("react-icons/rx"),$jVu6q$reactmoderndrawer=require("react-modern-drawer");require("react-modern-drawer/dist/index.css");var $jVu6q$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",()=>$3e581be120a2f3f1$export$2e2bcd8739ae039),$parcel$export(module.exports,"EDITOR_DEFAULTS",()=>$3e581be120a2f3f1$export$d31000d36961d6c2),$parcel$export(module.exports,"Wire",()=>$0513359bffa8a472$export$2e2bcd8739ae039),$parcel$export(module.exports,"WNNode",()=>$1f2c8fa682d1a9bf$export$361064385d50ec44),$parcel$export(module.exports,"TitleBar",()=>$1f2c8fa682d1a9bf$export$7e0b3af1e60a3273),$parcel$export(module.exports,"PortsPanel",()=>$1f2c8fa682d1a9bf$export$bfd3bd1fa283e3c6),$parcel$export(module.exports,"OutputPorts",()=>$1f2c8fa682d1a9bf$export$af4f9b41fc32ed9e),$parcel$export(module.exports,"OutputHandle",()=>$1f2c8fa682d1a9bf$export$496e5e1ee1696f64),$parcel$export(module.exports,"InputPorts",()=>$1f2c8fa682d1a9bf$export$f1afba0ff9ea1277),$parcel$export(module.exports,"InputHandle",()=>$1f2c8fa682d1a9bf$export$9ea0feffc20ee81),$parcel$export(module.exports,"Port",()=>$1f2c8fa682d1a9bf$export$a2d375858cc72119),$parcel$export(module.exports,"BaseWNNode",()=>$ef8e5aca854cae6e$export$8941c9a9a203e9fb),$parcel$export(module.exports,"Modal",()=>$edf7244c12498741$export$2e2bcd8739ae039),$parcel$export(module.exports,"EditableLabel",()=>$66c14ba437a0554c$export$2e2bcd8739ae039),$parcel$export(module.exports,"useAudioNode",()=>$e17ea88a768d5eea$export$2e2bcd8739ae039),$parcel$export(module.exports,"useNode",()=>$1ec440ca3213926d$export$2e2bcd8739ae039),$parcel$export(module.exports,"useTheme",()=>$3efd1bb732bb3d96$export$2e2bcd8739ae039),$parcel$export(module.exports,"useStore",()=>$d1b9571638327644$export$2e2bcd8739ae039),$parcel$export(module.exports,"theme",()=>$4e45f7a88c5da3ee$export$2e2bcd8739ae039),$parcel$export(module.exports,"isAudio",()=>$ea863489761ce5ec$export$31c2336f657dc59f),$parcel$export(module.exports,"isPatch",()=>$ea863489761ce5ec$export$e698b79c63b74136),$parcel$export(module.exports,"PortType",()=>$7b4822a8974ed0d4$export$b0b7b95ee465c83c);const $7b4822a8974ed0d4$export$956b3cf15d7c363="web-noise-drag-handle",$7b4822a8974ed0d4$export$21d634b1d5d9bee3=`.${$7b4822a8974ed0d4$export$956b3cf15d7c363}`,$7b4822a8974ed0d4$export$9f05d3e6ade4c09e={rowHeight:10,cols:4};!function(e){e.Gate="gate",e.Number="number",e.Audio="audio",e.Any="any"}($7b4822a8974ed0d4$export$b0b7b95ee465c83c||($7b4822a8974ed0d4$export$b0b7b95ee465c83c={}));const $7b4822a8974ed0d4$export$dda967bb01875a20={[$7b4822a8974ed0d4$export$b0b7b95ee465c83c.Audio]:"#4ade80",[$7b4822a8974ed0d4$export$b0b7b95ee465c83c.Gate]:"#c084fc",[$7b4822a8974ed0d4$export$b0b7b95ee465c83c.Number]:"#38bdf8",[$7b4822a8974ed0d4$export$b0b7b95ee465c83c.Any]:"#ffffff"},$1bc8d1c53cb1e1a1$var$generateNodeId=e=>{let t=+new Date+Math.floor(1e3*Math.random());return e?.type?`${e.type}-${t}`:t.toString()};var $1bc8d1c53cb1e1a1$export$2e2bcd8739ae039=$1bc8d1c53cb1e1a1$var$generateNodeId;const $46b084c9561430fc$var$nodesStateCreator=(e,t)=>({nodes:[],edges:[],onNodesChange:t=>{e(({nodes:e})=>({nodes:(0,$jVu6q$xyflowreact.applyNodeChanges)(t,e).map(e=>({dragHandle:$7b4822a8974ed0d4$export$21d634b1d5d9bee3,...e,data:{label:"unknown",...e.data}}))}))},onEdgesChange:t=>{e(({edges:e})=>({edges:(0,$jVu6q$xyflowreact.applyEdgeChanges)(t,e)}))},onConnect:t=>{e(({edges:e})=>({edges:(0,$jVu6q$xyflowreact.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)}))},updateNode:(t,r)=>{e(({nodes:e})=>({nodes:e.map(e=>e.id===t?{...e,...r}:e)}))},nodeTypes:{},setNodeTypes:t=>e({nodeTypes:t})});var $46b084c9561430fc$export$2e2bcd8739ae039=$46b084c9561430fc$var$nodesStateCreator;const $b81d5403972ace5e$var$cloneObject=e=>JSON.parse(JSON.stringify(e)),$b81d5403972ace5e$export$b1b92d12d1c2ae0e=(e,t)=>({history:{maxHistoryLength:5,buffer:[],pointer:0,skipCollect:!1,push:r=>{let{history:a}=t(),{maxHistoryLength:o,skipCollect:$}=a;$?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:n,pointer:c}=$,d=n[c-1];if(!d)return;let i=$jVu6q$jsondiffpatch.reverse(d);if(!i)return;let l=$b81d5403972ace5e$var$cloneObject({nodes:r,edges:a,controlPanel:o});e({...$jVu6q$jsondiffpatch.patch(l,i),history:{...$,pointer:c-1,skipCollect:!0}})},forward:()=>{let{nodes:r,edges:a,controlPanel:o,history:$}=t(),{buffer:n,pointer:c}=$,d=n[c];if(!d)return;let i=$b81d5403972ace5e$var$cloneObject({nodes:r,edges:a,controlPanel:o});e({...$jVu6q$jsondiffpatch.patch(i,d),history:{...$,pointer:c+1,skipCollect:!0}})},clear:()=>{let{history:r}=t();e({history:{...r,buffer:[],pointer:0,skipCollect:!0}})}}}),$b81d5403972ace5e$var$COLLECT_CHANGES_DEBOUNCE_TIME=500,$b81d5403972ace5e$export$4e64751394766316=(e,t)=>{let r,a=$jVu6q$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.project.currentFileIndex!==$.project.currentFileIndex&&t().history.clear(),clearTimeout(r),o||(o=$),r=setTimeout(()=>{let r=a.diff(o,e);o=null,r&&t().history.push(r)},500)}},$b81d5403972ace5e$var$history=e=>(t,r,a)=>{let o=$b81d5403972ace5e$export$4e64751394766316(t,r);return a.subscribe(o),e((...e)=>t(...e),r,a)};var $b81d5403972ace5e$export$2e2bcd8739ae039=$b81d5403972ace5e$var$history;const $eeb6151834ae5b46$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))}},$682c671d8f29d7c9$export$62647b40ff8aed70=(e,t)=>({patch:(0,$jVu6q$webnoisepatch.createPatch)(),nodesState:{}}),$682c671d8f29d7c9$var$audioPatch=e=>(t,r,a)=>{a.subscribe(async(e,t)=>{});let o={...r(),nodes:[],edges:[]},$=Promise.resolve();return e((...e)=>{$=$.then(async()=>{let a=r(),[$]=e,n={...o,..."function"==typeof $?$({...o}):$},c=$eeb6151834ae5b46$export$e364ea0c1dfb25e5(o.nodes,n.nodes),d=$eeb6151834ae5b46$export$e364ea0c1dfb25e5(o.edges,n.edges);o=n;let i=c.added,l=d.added,s=d.removed,u=c.removed,{patch:p}=a;i.length&&await p.registerAudioNodes(i),l.length&&p.registerAudioConnections(l),s.length&&p.unregisterAudioConnections(s),u.length&&p.unregisterAudioNodes(u),t(...e)}).catch(e=>{console.error("audioPatch middleware error:",e)})},r,a)};var $682c671d8f29d7c9$export$2e2bcd8739ae039=$682c671d8f29d7c9$var$audioPatch;const $ea863489761ce5ec$export$e698b79c63b74136=e=>!("type"in e)||"patch"===e.type,$ea863489761ce5ec$export$31c2336f657dc59f=e=>"audio"===e.type,$2a1df5ef7b707809$var$projectStateCreator=(e,t)=>({project:{files:[],currentFileIndex:0},setProject(t){e({project:t})},getProject:()=>t().project,pullEditorChanges(){let{getEditorState:e,updateFileContent:r,project:a}=t(),o=a.currentFileIndex||0,$=a.files[o];$ea863489761ce5ec$export$31c2336f657dc59f($)||r(o,{...$,file:e()})},syncEditorWithCurrentFile:()=>{let{setEditorState:e,project:r}=t(),a=r.currentFileIndex||0,o=r.files[a];o?"audio"===o.type?console.log("audio file. skipping"):e(o.file):console.warn("No current file to sync with editor")},setCurrentFileIndex(r){let{project:a,getProject:o}=t();r!==(a.currentFileIndex??0)&&e({project:{...a,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(e){let{project:r,setProject:a}=t(),o=[...r.files,e];a({...r,files:o,currentFileIndex:o.length-1})},deleteFile:r=>{let{project:a}=t(),o=a.currentFileIndex??0,$=o===a.files.length-1?Math.max(0,o-1):o,n=a.files.filter((e,t)=>r!==t);e({project:{...a,files:n,currentFileIndex:$}})}});var $2a1df5ef7b707809$export$2e2bcd8739ae039=$2a1df5ef7b707809$var$projectStateCreator;const $d1b9571638327644$export$34c5bc865219488e=(...e)=>{let[t,r]=e;return{...$46b084c9561430fc$export$2e2bcd8739ae039(...e),...$b81d5403972ace5e$export$b1b92d12d1c2ae0e(...e),...$682c671d8f29d7c9$export$62647b40ff8aed70(...e),...$2a1df5ef7b707809$export$2e2bcd8739ae039(...e),setGraph:async({nodes:e,edges:t})=>{let{patch:a,createNodes:o,createEdges:$,setNodesAndEdges:n,nodes:c,edges:d}=r();n({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:n}=e;if(void 0===o)throw Error(`node type is not defined for node: ${$}`);t({...e,data:{...n,config:{...a[o]?.defaultConfig,...n?.config}}})},removeNode:e=>r().removeNodes([e]),removeNodes:e=>{let{edges:a,nodes:o,onNodesDelete:$,removeEdges:n,removeNodesFromControlPanel:c}=r(),d=e.map(({id:e})=>e),i=[...e,...o.filter(({parentId:e})=>e&&d.includes(e))];c(i),n((0,$jVu6q$xyflowreact.getConnectedEdges)(i,a)),$(i);let l=i.map(({id:e})=>e);t({nodes:o.filter(({id:e})=>!l.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,$jVu6q$xyflowreact.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}),{}),n=Object.keys(o).reduce((e,t)=>({...e,[t]:o[t].audioNode}),{});(0,$jVu6q$webnoisepatch.setAudioNodeTypes)(n),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:n}=r();await n({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:n,nodes:c,edges:d}=r(),{nodes:i,edges:l}=o;if(!i.length)return;t({nodes:c.map(e=>({...e,selected:!1}))});let s=i.reduce((e,t)=>!e||t.position.x<e.position.x&&t.position.y<e.position.y?t:e),u=s.position.x-e,p=s.position.y-a,{nodes:f,mapping:b}=i.reduce((e,t)=>{let r=$1bc8d1c53cb1e1a1$export$2e2bcd8739ae039(t);return{nodes:[...e.nodes,{...t,id:r,position:{x:t.position.x-u,y:t.position.y-p},selected:!0}],mapping:{...e.mapping,[t.id]:r}}},{nodes:[],mapping:{}});$(f);let x=l.map(e=>{let t=b[e.source]||e.source,r=b[e.target]||e.target;return{...e,id:e.id.replace(e.source,t).replace(e.target,r),source:t,target:r,selected:!0}});n([...d.map(e=>({...e,selected:!1})),...x])},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]?.minSize:{height:void 0},$=o?.height,n={id:e.id,...$?{height:$/$7b4822a8974ed0d4$export$9f05d3e6ade4c09e.rowHeight}:{}};t(({controlPanel:e})=>({controlPanel:{...e,nodes:[...e?.nodes||[],n]}}))},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})}},$d1b9571638327644$var$useStore=(0,$jVu6q$zustand.create)($682c671d8f29d7c9$export$2e2bcd8739ae039($b81d5403972ace5e$export$2e2bcd8739ae039($d1b9571638327644$export$34c5bc865219488e)));var $d1b9571638327644$export$2e2bcd8739ae039=$d1b9571638327644$var$useStore;const $4e45f7a88c5da3ee$var$LEVA_COLOR_ACCENT2_BLUE="#007bff",$4e45f7a88c5da3ee$var$COLOR_GREEN_PRIMARY="#14df42",$4e45f7a88c5da3ee$var$COLOR_WHITE_PRIMARY="#ffffff",$4e45f7a88c5da3ee$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"},$4e45f7a88c5da3ee$var$zIndex={modal:9998,controlPanel:9999,resumeContextLayout:10003},$4e45f7a88c5da3ee$var$theme={colors:$4e45f7a88c5da3ee$var$colors,zIndex:$4e45f7a88c5da3ee$var$zIndex};var $4e45f7a88c5da3ee$export$2e2bcd8739ae039=$4e45f7a88c5da3ee$var$theme;(0,$jVu6q$emotioncss.injectGlobal)`
1
+ var $7b4822a8974ed0d4$export$b0b7b95ee465c83c,$jVu6q$reactjsxruntime=require("react/jsx-runtime"),$jVu6q$emotionreact=require("@emotion/react"),$jVu6q$emotionstyled=require("@emotion/styled"),$jVu6q$nanoid=require("nanoid"),$jVu6q$react=require("react"),$jVu6q$reacticonsfa6=require("react-icons/fa6"),$jVu6q$reacticonsmd=require("react-icons/md"),$jVu6q$webnoisefetch=require("@web-noise/fetch"),$jVu6q$xyflowreact=require("@xyflow/react"),$jVu6q$zustand=require("zustand"),$jVu6q$webnoisepatch=require("@web-noise/patch"),$jVu6q$jsondiffpatch=require("jsondiffpatch"),$jVu6q$emotioncss=require("@emotion/css");require("@xyflow/react/dist/style.css");var $jVu6q$reactcontexify=require("react-contexify");require("react-contexify/dist/ReactContexify.css");var $jVu6q$hotkeysjs=require("hotkeys-js"),$jVu6q$reactdom=require("react-dom"),$jVu6q$reactfiledrop=require("react-file-drop"),$jVu6q$reacticonsfa=require("react-icons/fa"),$jVu6q$reresizable=require("re-resizable"),$jVu6q$reactgridlayout=require("react-grid-layout");require("react-grid-layout/css/styles.css");var $jVu6q$reacticonsai=require("react-icons/ai"),$jVu6q$reacticonsrx=require("react-icons/rx"),$jVu6q$reactmoderndrawer=require("react-modern-drawer");require("react-modern-drawer/dist/index.css");var $jVu6q$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",()=>$3e581be120a2f3f1$export$2e2bcd8739ae039),$parcel$export(module.exports,"EDITOR_DEFAULTS",()=>$3e581be120a2f3f1$export$d31000d36961d6c2),$parcel$export(module.exports,"Wire",()=>$0513359bffa8a472$export$2e2bcd8739ae039),$parcel$export(module.exports,"WNNode",()=>$1f2c8fa682d1a9bf$export$361064385d50ec44),$parcel$export(module.exports,"TitleBar",()=>$1f2c8fa682d1a9bf$export$7e0b3af1e60a3273),$parcel$export(module.exports,"PortsPanel",()=>$1f2c8fa682d1a9bf$export$bfd3bd1fa283e3c6),$parcel$export(module.exports,"OutputPorts",()=>$1f2c8fa682d1a9bf$export$af4f9b41fc32ed9e),$parcel$export(module.exports,"OutputHandle",()=>$1f2c8fa682d1a9bf$export$496e5e1ee1696f64),$parcel$export(module.exports,"InputPorts",()=>$1f2c8fa682d1a9bf$export$f1afba0ff9ea1277),$parcel$export(module.exports,"InputHandle",()=>$1f2c8fa682d1a9bf$export$9ea0feffc20ee81),$parcel$export(module.exports,"Port",()=>$1f2c8fa682d1a9bf$export$a2d375858cc72119),$parcel$export(module.exports,"BaseWNNode",()=>$ef8e5aca854cae6e$export$8941c9a9a203e9fb),$parcel$export(module.exports,"Modal",()=>$edf7244c12498741$export$2e2bcd8739ae039),$parcel$export(module.exports,"EditableLabel",()=>$66c14ba437a0554c$export$2e2bcd8739ae039),$parcel$export(module.exports,"useAudioNode",()=>$e17ea88a768d5eea$export$2e2bcd8739ae039),$parcel$export(module.exports,"useNode",()=>$1ec440ca3213926d$export$2e2bcd8739ae039),$parcel$export(module.exports,"useTheme",()=>$3efd1bb732bb3d96$export$2e2bcd8739ae039),$parcel$export(module.exports,"useStore",()=>$d1b9571638327644$export$2e2bcd8739ae039),$parcel$export(module.exports,"theme",()=>$4e45f7a88c5da3ee$export$2e2bcd8739ae039),$parcel$export(module.exports,"isAudio",()=>$ea863489761ce5ec$export$31c2336f657dc59f),$parcel$export(module.exports,"isPatch",()=>$ea863489761ce5ec$export$e698b79c63b74136),$parcel$export(module.exports,"PortType",()=>$7b4822a8974ed0d4$export$b0b7b95ee465c83c);const $7b4822a8974ed0d4$export$956b3cf15d7c363="web-noise-drag-handle",$7b4822a8974ed0d4$export$21d634b1d5d9bee3=`.${$7b4822a8974ed0d4$export$956b3cf15d7c363}`,$7b4822a8974ed0d4$export$9f05d3e6ade4c09e={rowHeight:10,cols:4};!function(e){e.Gate="gate",e.Number="number",e.Audio="audio",e.Any="any"}($7b4822a8974ed0d4$export$b0b7b95ee465c83c||($7b4822a8974ed0d4$export$b0b7b95ee465c83c={}));const $7b4822a8974ed0d4$export$dda967bb01875a20={[$7b4822a8974ed0d4$export$b0b7b95ee465c83c.Audio]:"#4ade80",[$7b4822a8974ed0d4$export$b0b7b95ee465c83c.Gate]:"#c084fc",[$7b4822a8974ed0d4$export$b0b7b95ee465c83c.Number]:"#38bdf8",[$7b4822a8974ed0d4$export$b0b7b95ee465c83c.Any]:"#ffffff"},$1bc8d1c53cb1e1a1$var$generateNodeId=e=>{let t=+new Date+Math.floor(1e3*Math.random());return e?.type?`${e.type}-${t}`:t.toString()};var $1bc8d1c53cb1e1a1$export$2e2bcd8739ae039=$1bc8d1c53cb1e1a1$var$generateNodeId;const $46b084c9561430fc$var$nodesStateCreator=(e,t)=>({nodes:[],edges:[],onNodesChange:t=>{e(({nodes:e})=>({nodes:(0,$jVu6q$xyflowreact.applyNodeChanges)(t,e).map(e=>({dragHandle:$7b4822a8974ed0d4$export$21d634b1d5d9bee3,...e,data:{label:"unknown",...e.data}}))}))},onEdgesChange:t=>{e(({edges:e})=>({edges:(0,$jVu6q$xyflowreact.applyEdgeChanges)(t,e)}))},onConnect:t=>{e(({edges:e})=>({edges:(0,$jVu6q$xyflowreact.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)}))},updateNode:(t,r)=>{e(({nodes:e})=>({nodes:e.map(e=>e.id===t?{...e,...r}:e)}))},nodeTypes:{},setNodeTypes:t=>e({nodeTypes:t})});var $46b084c9561430fc$export$2e2bcd8739ae039=$46b084c9561430fc$var$nodesStateCreator;const $b81d5403972ace5e$var$cloneObject=e=>JSON.parse(JSON.stringify(e)),$b81d5403972ace5e$export$b1b92d12d1c2ae0e=(e,t)=>({history:{maxHistoryLength:5,buffer:[],pointer:0,skipCollect:!1,push:r=>{let{history:a}=t(),{maxHistoryLength:o,skipCollect:$}=a;$?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:n,pointer:c}=$,d=n[c-1];if(!d)return;let i=$jVu6q$jsondiffpatch.reverse(d);if(!i)return;let l=$b81d5403972ace5e$var$cloneObject({nodes:r,edges:a,controlPanel:o});e({...$jVu6q$jsondiffpatch.patch(l,i),history:{...$,pointer:c-1,skipCollect:!0}})},forward:()=>{let{nodes:r,edges:a,controlPanel:o,history:$}=t(),{buffer:n,pointer:c}=$,d=n[c];if(!d)return;let i=$b81d5403972ace5e$var$cloneObject({nodes:r,edges:a,controlPanel:o});e({...$jVu6q$jsondiffpatch.patch(i,d),history:{...$,pointer:c+1,skipCollect:!0}})},clear:()=>{let{history:r}=t();e({history:{...r,buffer:[],pointer:0,skipCollect:!0}})}}}),$b81d5403972ace5e$var$COLLECT_CHANGES_DEBOUNCE_TIME=500,$b81d5403972ace5e$export$4e64751394766316=(e,t)=>{let r,a=$jVu6q$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.project.currentFileIndex!==$.project.currentFileIndex&&t().history.clear(),clearTimeout(r),o||(o=$),r=setTimeout(()=>{let r=a.diff(o,e);o=null,r&&t().history.push(r)},500)}},$b81d5403972ace5e$var$history=e=>(t,r,a)=>{let o=$b81d5403972ace5e$export$4e64751394766316(t,r);return a.subscribe(o),e((...e)=>t(...e),r,a)};var $b81d5403972ace5e$export$2e2bcd8739ae039=$b81d5403972ace5e$var$history;const $eeb6151834ae5b46$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))}},$682c671d8f29d7c9$export$62647b40ff8aed70=(e,t)=>({patch:(0,$jVu6q$webnoisepatch.createPatch)(),nodesState:{}}),$682c671d8f29d7c9$var$audioPatch=e=>(t,r,a)=>{a.subscribe(async(e,t)=>{});let o={...r(),nodes:[],edges:[]},$=Promise.resolve();return e((...e)=>{$=$.then(async()=>{let a=r(),[$]=e,n={...o,..."function"==typeof $?$({...o}):$},c=$eeb6151834ae5b46$export$e364ea0c1dfb25e5(o.nodes,n.nodes),d=$eeb6151834ae5b46$export$e364ea0c1dfb25e5(o.edges,n.edges);o=n;let i=c.added,l=d.added,s=d.removed,u=c.removed,{patch:p}=a;i.length&&await p.registerAudioNodes(i),l.length&&p.registerAudioConnections(l),s.length&&p.unregisterAudioConnections(s),u.length&&p.unregisterAudioNodes(u),t(...e)}).catch(e=>{console.error("audioPatch middleware error:",e)})},r,a)};var $682c671d8f29d7c9$export$2e2bcd8739ae039=$682c671d8f29d7c9$var$audioPatch;const $ea863489761ce5ec$export$e698b79c63b74136=e=>!("type"in e)||"patch"===e.type,$ea863489761ce5ec$export$31c2336f657dc59f=e=>"audio"===e.type,$2a1df5ef7b707809$var$projectStateCreator=(e,t)=>({project:{files:[],currentFileIndex:0},setProject(t){e({project:t})},getProject:()=>t().project,pullEditorChanges(){let{getEditorState:e,updateFileContent:r,project:a}=t(),o=a.currentFileIndex||0,$=a.files[o];$ea863489761ce5ec$export$31c2336f657dc59f($)||r(o,{...$,file:e()})},syncEditorWithCurrentFile:()=>{let{setEditorState:e,project:r}=t(),a=r.currentFileIndex||0,o=r.files[a];o?"audio"===o.type?console.log("audio file. skipping"):e(o.file):console.warn("No current file to sync with editor")},setCurrentFileIndex(r){let{project:a,getProject:o}=t();r!==(a.currentFileIndex??0)&&e({project:{...a,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(e){let{project:r,setProject:a}=t(),o=[...r.files,e];a({...r,files:o,currentFileIndex:o.length-1})},deleteFile:r=>{let{project:a}=t(),o=a.currentFileIndex??0,$=o===a.files.length-1?Math.max(0,o-1):o,n=a.files.filter((e,t)=>r!==t);e({project:{...a,files:n,currentFileIndex:$}})}});var $2a1df5ef7b707809$export$2e2bcd8739ae039=$2a1df5ef7b707809$var$projectStateCreator;const $d1b9571638327644$export$34c5bc865219488e=(...e)=>{let[t,r]=e;return{...$46b084c9561430fc$export$2e2bcd8739ae039(...e),...$b81d5403972ace5e$export$b1b92d12d1c2ae0e(...e),...$682c671d8f29d7c9$export$62647b40ff8aed70(...e),...$2a1df5ef7b707809$export$2e2bcd8739ae039(...e),setGraph:async({nodes:e,edges:t})=>{let{patch:a,createNodes:o,createEdges:$,setNodesAndEdges:n,nodes:c,edges:d}=r();n({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:n}=e;if(void 0===o)throw Error(`node type is not defined for node: ${$}`);t({...e,data:{...n,config:{...a[o]?.defaultConfig,...n?.config}}})},removeNode:e=>r().removeNodes([e]),removeNodes:e=>{let{edges:a,nodes:o,onNodesDelete:$,removeEdges:n,removeNodesFromControlPanel:c}=r(),d=e.map(({id:e})=>e),i=[...e,...o.filter(({parentId:e})=>e&&d.includes(e))];c(i),n((0,$jVu6q$xyflowreact.getConnectedEdges)(i,a)),$(i);let l=i.map(({id:e})=>e);t({nodes:o.filter(({id:e})=>!l.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,$jVu6q$xyflowreact.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}),{}),n=Object.keys(o).reduce((e,t)=>({...e,[t]:o[t].audioNode}),{});(0,$jVu6q$webnoisepatch.setAudioNodeTypes)(n),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:n}=r();await n({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:n,nodes:c,edges:d}=r(),{nodes:i,edges:l}=o;if(!i.length)return;t({nodes:c.map(e=>({...e,selected:!1}))});let s=i.reduce((e,t)=>!e||t.position.x<e.position.x&&t.position.y<e.position.y?t:e),u=s.position.x-e,p=s.position.y-a,{nodes:f,mapping:b}=i.reduce((e,t)=>{let r=$1bc8d1c53cb1e1a1$export$2e2bcd8739ae039(t);return{nodes:[...e.nodes,{...t,id:r,position:{x:t.position.x-u,y:t.position.y-p},selected:!0}],mapping:{...e.mapping,[t.id]:r}}},{nodes:[],mapping:{}});$(f);let x=l.map(e=>{let t=b[e.source]||e.source,r=b[e.target]||e.target;return{...e,id:e.id.replace(e.source,t).replace(e.target,r),source:t,target:r,selected:!0}});n([...d.map(e=>({...e,selected:!1})),...x])},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]?.minSize:{height:void 0},$=o?.height,n={id:e.id,...$?{height:$/$7b4822a8974ed0d4$export$9f05d3e6ade4c09e.rowHeight}:{}};t(({controlPanel:e})=>({controlPanel:{...e,nodes:[...e?.nodes||[],n]}}))},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})}},$d1b9571638327644$var$useStore=(0,$jVu6q$zustand.create)($682c671d8f29d7c9$export$2e2bcd8739ae039($b81d5403972ace5e$export$2e2bcd8739ae039($d1b9571638327644$export$34c5bc865219488e)));var $d1b9571638327644$export$2e2bcd8739ae039=$d1b9571638327644$var$useStore;const $4e45f7a88c5da3ee$var$LEVA_COLOR_ACCENT2_BLUE="#007bff",$4e45f7a88c5da3ee$var$COLOR_GREEN_PRIMARY="#14df42",$4e45f7a88c5da3ee$var$COLOR_WHITE_PRIMARY="#ffffff",$4e45f7a88c5da3ee$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"},$4e45f7a88c5da3ee$var$zIndex={modal:9998,controlPanel:9999,resumeContextLayout:10003},$4e45f7a88c5da3ee$var$theme={colors:$4e45f7a88c5da3ee$var$colors,zIndex:$4e45f7a88c5da3ee$var$zIndex};var $4e45f7a88c5da3ee$export$2e2bcd8739ae039=$4e45f7a88c5da3ee$var$theme;(0,$jVu6q$emotioncss.injectGlobal)`
2
2
  .react-flow {
3
3
  .react-flow__pane {
4
4
  /* background: rgb(106 106 106); */