@web-noise/core 0.0.11-fix → 0.0.11

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.
@@ -1,4 +1,4 @@
1
- let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion/styled";import{useEffect as n,useState as l,useCallback as a,useRef as d}from"react";import{createPortal as s}from"react-dom";import{MdClose as c,MdSettings as h,MdInfoOutline as p}from"react-icons/md";import{useTheme as g,withTheme as m}from"@emotion/react";import"nanoid";import{FaPlus as f}from"react-icons/fa6";import"@web-noise/fetch";import{getConnectedEdges as u,addEdge as v,applyNodeChanges as b,applyEdgeChanges as w,Handle as x}from"reactflow";import{create as y}from"zustand";import{setAudioNodeTypes as $,createPatch as k}from"@web-noise/patch";import{reverse as C,patch as z,create as P}from"jsondiffpatch";import{injectGlobal as N}from"@emotion/css";import"reactflow/dist/style.css";import{Item as j,Menu as _}from"react-contexify";import"react-contexify/dist/ReactContexify.css";import"js-file-download";import"hotkeys-js";import"react-file-drop";import{FaFileUpload as E,FaVolumeOff as S,FaRegArrowAltCircleRight as F}from"react-icons/fa";import"re-resizable";import"react-grid-layout";import"react-grid-layout/css/styles.css";import"react-icons/ai";import"react-icons/rx";import"react-modern-drawer";import"react-modern-drawer/dist/index.css";import"marked";import{useThrottledCallback as I}from"use-debounce";import A from"rc-slider";import"rc-slider/assets/index.css";import{CanvasSpliner as R}from"CanvasSpliner";function T(e,o,t,r){Object.defineProperty(e,o,{get:t,set:r,enumerable:!0,configurable:!0})}var M,L,D={};T(D,"Modal",()=>B),T(D,"Checker",()=>em),T(D,"RadioGroup",()=>eu),T(D,"Input",()=>ew),T(D,"DropdownInput",()=>eP),T(D,"ColorInput",()=>e_),T(D,"NumberInput",()=>eF),T(D,"Button",()=>eI),T(D,"Select",()=>eR),T(D,"Slider",()=>eT),T(D,"SplineEditor",()=>eD),T(D,"ConfigRowLabel",()=>eH),T(D,"ConfigRowControl",()=>eG),T(D,"ConfigRowSeparator",()=>eO),T(D,"ConfigRow",()=>eW),T(D,"ConfigPanel",()=>eB),T(D,"ConfigRowInner",()=>eV);var H=()=>g();let G=i.div`
1
+ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion/styled";import{useEffect as n,useState as l,useCallback as a,useRef as d}from"react";import{createPortal as s}from"react-dom";import{MdClose as c,MdSettings as h,MdInfoOutline as p}from"react-icons/md";import{useTheme as g,withTheme as m}from"@emotion/react";import"nanoid";import{FaPlus as u}from"react-icons/fa6";import"@web-noise/fetch";import{getConnectedEdges as f,addEdge as v,applyNodeChanges as b,applyEdgeChanges as w,Handle as x}from"reactflow";import{create as y}from"zustand";import{setAudioNodeTypes as $,createPatch as k}from"@web-noise/patch";import{reverse as C,patch as z,create as P}from"jsondiffpatch";import{injectGlobal as N}from"@emotion/css";import"reactflow/dist/style.css";import{Item as j,Menu as _}from"react-contexify";import"react-contexify/dist/ReactContexify.css";import"js-file-download";import"hotkeys-js";import"react-file-drop";import{FaFileUpload as E,FaVolumeOff as S,FaRegArrowAltCircleRight as F}from"react-icons/fa";import"re-resizable";import"react-grid-layout";import"react-grid-layout/css/styles.css";import"react-icons/ai";import"react-icons/rx";import"react-modern-drawer";import"react-modern-drawer/dist/index.css";import"marked";import{useThrottledCallback as A}from"use-debounce";import I from"rc-slider";import"rc-slider/assets/index.css";import{CanvasSpliner as T}from"CanvasSpliner";function R(e,o,t,r){Object.defineProperty(e,o,{get:t,set:r,enumerable:!0,configurable:!0})}var M,L,D={};R(D,"Modal",()=>B),R(D,"Checker",()=>em),R(D,"RadioGroup",()=>ef),R(D,"Input",()=>ew),R(D,"DropdownInput",()=>eP),R(D,"ColorInput",()=>e_),R(D,"NumberInput",()=>eF),R(D,"Button",()=>eA),R(D,"Select",()=>eT),R(D,"Slider",()=>eR),R(D,"SplineEditor",()=>eD);var O=()=>g();let H=i.div`
2
2
  position: fixed;
3
3
  z-index: ${({theme:e})=>e.zIndex.modal};
4
4
  width: 100%;
@@ -9,7 +9,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
9
9
  display: flex;
10
10
  align-items: center;
11
11
  justify-content: center;
12
- `,O=i.div`
12
+ `,G=i.div`
13
13
  background: ${({theme:e})=>e.colors.elevation2};
14
14
  box-shadow: 1px 1px 1px 1px ${({theme:e})=>e.colors.elevation1};
15
15
  color: white;
@@ -22,7 +22,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
22
22
  top: 0.2rem;
23
23
  right: 0.2rem;
24
24
  cursor: pointer;
25
- `,B=({children:e,onClose:o,...i})=>{let l=H();return n(()=>{let e=e=>{"Escape"===e.key&&o?.()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[o]),s(t(G,{theme:l,onClick:o,children:r(O,{...i,onClick:e=>{e.stopPropagation()},theme:l,children:[e,t(W,{theme:l,onClick:o})]})}),document.body)},V="web-noise-drag-handle",J=`.${V}`;(M=L||(L={})).Gate="gate",M.Number="number",M.Audio="audio",M.Any="any";let K=e=>JSON.parse(JSON.stringify(e)),U=(e,o)=>{let t=new Set(e.map(e=>e.id)),r=new Set(o.map(e=>e.id));return{added:o.filter(e=>!t.has(e.id)),removed:e.filter(e=>!r.has(e.id))}};y((e=(...e)=>{let[o,t]=e;return{...((e,o)=>({nodes:[],edges:[],onNodesChange:o=>{e(({nodes:e})=>({nodes:b(o,e).map(e=>({dragHandle:J,...e}))}))},onEdgesChange:o=>{e(({edges:e})=>({edges:w(o,e)}))},onConnect:o=>{e(({edges:e})=>({edges:v(o,e)}))},addNode:o=>{e(({nodes:e})=>({nodes:e.concat(o)}))},setNodes:o=>{e({nodes:o})},setEdges:o=>{e({edges:o})},setNodesAndEdges:({nodes:o,edges:t})=>{e({nodes:o,edges:t})},getNodesAndEdges:()=>{let{nodes:e,edges:t}=o();return{nodes:e,edges:t}},clearElements:()=>{e({nodes:[],edges:[]})},getNode:e=>{let{nodes:t}=o();return t.find(o=>o.id===e)||null},updateNodeData:(o,t)=>{e(({nodes:e})=>({nodes:e.map(e=>e.id===o?{...e,data:{...e.data,...t}}:e)}))},nodeTypes:{},setNodeTypes:o=>e({nodeTypes:o})}))(...e),...((e,o)=>({history:{maxHistoryLength:5,buffer:[],pointer:0,skipCollect:!1,push:t=>{let{history:r}=o(),{maxHistoryLength:i,skipCollect:n}=r;if(n)return void e({history:{...r,skipCollect:!1}});e(({history:e})=>{if(!e)return{};let{buffer:o,pointer:r}=e,n=o.slice(Math.max(r-i+1,0),r);return{history:{...e,buffer:[...n,t],pointer:Math.min(r+1,i)}}})},back:()=>{let{nodes:t,edges:r,controlPanel:i,history:n}=o(),{buffer:l,pointer:a}=n,d=l[a-1];if(!d)return;let s=C(d);s&&e({...z(K({nodes:t,edges:r,controlPanel:i}),s),history:{...n,pointer:a-1,skipCollect:!0}})},forward:()=>{let{nodes:t,edges:r,controlPanel:i,history:n}=o(),{buffer:l,pointer:a}=n,d=l[a];d&&e({...z(K({nodes:t,edges:r,controlPanel:i}),d),history:{...n,pointer:a+1,skipCollect:!0}})},clear:()=>{let{history:t}=o();e({history:{...t,buffer:[],pointer:0,skipCollect:!0}})}}}))(...e),...((e,o)=>({patch:k(),nodesState:{}}))(...e),...((e,o)=>({project:{files:[]},setProject(o){e({project:o,currentFileIndex:0})},getProject:()=>o().project,pullEditorChanges(){let{getEditorState:e,currentFileIndex:t,updateFileContent:r,project:i}=o(),n=i.files[t];"audio"!==n.type&&r(t,{...n,file:e()})},syncEditorWithCurrentFile:()=>{let{currentFileIndex:e,setEditorState:t,project:r}=o(),i=r.files[e];if("audio"===i.type)return void console.log("audio file. skipping");t(i.file)},currentFileIndex:0,setCurrentFileIndex(t){let{currentFileIndex:r}=o();t!==r&&e({currentFileIndex:t})},updateFileContent(t,r){let{project:i}=o();e({project:{...i,files:i.files.map((e,o)=>o===t?{...e,...r}:e)}})},updateFileName(t,r){let{project:i}=o();e({project:{...i,files:i.files.map((e,o)=>o===t?{...e,name:r}:e)}})},addFile(t){let{project:r}=o(),i=[...r.files,t];e({project:{...r,files:i}})},deleteFile:t=>{let{project:r,currentFileIndex:i}=o();e({project:{...r,files:r.files.filter((e,o)=>t!==o)}}),t<=i&&e({currentFileIndex:i-1})}}))(...e),setGraph:async({nodes:e,edges:o})=>{let{patch:r,createNodes:i,createEdges:n,setNodesAndEdges:l,nodes:a,edges:d}=t();l({nodes:[],edges:[]}),await i(e),n(o)},clearGraph:()=>{let{setGraph:e}=t();e({nodes:[],edges:[]})},createNodes:async e=>{let{createNode:o}=t();await Promise.all(e.map(e=>o(e)))},createNode:e=>{let{addNode:o,nodesConfiguration:r}=t(),{type:i,id:n,data:l}=e;if(void 0===i)throw Error(`node type is not defined for node: ${n}`);o({...e,data:{...l,config:{...r[i]?.defaultConfig,...l?.config}}})},removeNode:e=>t().removeNodes([e]),removeNodes:e=>{let{edges:r,nodes:i,onNodesDelete:n,removeEdges:l,removeNodesFromControlPanel:a}=t(),d=e.map(({id:e})=>e),s=[...e,...i.filter(({parentNode:e})=>e&&d.includes(e))];a(s),l(u(s,r)),n(s);let c=s.map(({id:e})=>e);o({nodes:i.filter(({id:e})=>!c.includes(e))})},removeEdges:e=>{let{edges:r,onEdgesDelete:i}=t(),n=e.map(({id:e})=>e);i(e),o({edges:r.filter(({id:e})=>!n.includes(e))})},createEdges:e=>{let{patch:o,edges:r,setEdges:i}=t();i(e)},onConnect:async e=>{let{edges:o,createEdges:r}=t();r(v(e,o))},onEdgesDelete:e=>{let{patch:o}=t()},onNodesDelete:async e=>{let{removeNodesFromControlPanel:o,patch:r}=t();o(e)},plugins:[],setPlugins:async e=>{let{setNodeTypes:r}=t();o({plugins:e});let i=e.reduce((e,o)=>({...e,...o.components.reduce((e,o)=>({...e,[o.type]:o}),{})}),{}),n=Object.keys(i).reduce((e,o)=>({...e,[o]:i[o].node}),{});$(Object.keys(i).reduce((e,o)=>({...e,[o]:i[o].audioNode}),{})),r(n),o(({nodesConfiguration:e})=>({nodesConfiguration:{...e,...i}}))},nodesConfiguration:{},config:{showMinimap:!1},setConfig:e=>{o(({config:o})=>({config:{...o,...e}}))},getEditorState:()=>{let{getNodesAndEdges:e,controlPanel:o,viewport:r}=t();return{...e(),controlPanel:o,viewport:r}},setEditorState:async({nodes:e,edges:r,controlPanel:i,viewport:n})=>{let{setGraph:l}=t();await l({nodes:e,edges:r}),await new Promise(e=>setTimeout(e,1e3)),o({controlPanel:i,viewport:n})},isHelpShown:!1,toggleHelp:()=>{let{isHelpShown:e}=t();o({isHelpShown:!e})},copyBuffer:{nodes:[],edges:[]},copy:e=>{o({copyBuffer:e})},copySelectedItems:()=>{let{nodes:e,edges:o,copy:r}=t(),i=e.filter(({selected:e})=>e),n=o.filter(({selected:e})=>e);i.length&&r({nodes:i,edges:n})},pasteBuffer:(e=0,r=0)=>{let{copyBuffer:i,createNodes:n,setEdges:l,nodes:a,edges:d}=t(),{nodes:s,edges:c}=i;if(!s.length)return;o({nodes:a.map(e=>({...e,selected:!1}))});let h=s.reduce((e,o)=>!e||o.position.x<e.position.x&&o.position.y<e.position.y?o:e),p=h.position.x-e,g=h.position.y-r,{nodes:m,mapping:f}=s.reduce((e,o)=>{let t=(e=>{let o=+new Date+Math.floor(1e3*Math.random());return e?.type?`${e.type}-${o}`:o.toString()})(o);return{nodes:[...e.nodes,{...o,id:t,position:{x:o.position.x-p,y:o.position.y-g},selected:!0}],mapping:{...e.mapping,[o.id]:t}}},{nodes:[],mapping:{}});n(m);let u=c.map(e=>{let o=f[e.source]||e.source,t=f[e.target]||e.target;return{...e,id:e.id.replace(e.source,o).replace(e.target,t),source:o,target:t,selected:!0}});l([...d.map(e=>({...e,selected:!1})),...u])},getControlPanelNode:e=>{let{nodesConfiguration:o}=t(),{type:r}=e;if(!r)return null;let i=o[r]?.controlPanelNode;return i||(console.error(`could not find node for type ${r}`),null)},controlPanel:{show:!0,nodes:[],size:{width:200,height:100}},showControlPanel:()=>o(({controlPanel:e})=>({controlPanel:{...e,show:!0}})),hideControlPanel:()=>o(({controlPanel:e})=>({controlPanel:{...e,show:!1}})),addNodeToControlPanel:e=>{let{nodesConfiguration:r}=t(),i=e.type?r[e.type]?.defaultConfig:{},{height:n}=i?.size||{},l={id:e.id,...n?{height:n/10}:{}};o(({controlPanel:e})=>({controlPanel:{...e,nodes:[...e.nodes,l]}}))},removeNodeFromControlPanel:e=>t().removeNodesFromControlPanel([e]),removeNodesFromControlPanel:e=>{let t=e.map(({id:e})=>e);o(({controlPanel:e})=>{let o=e.nodes.filter(({id:e})=>!t.includes(e));return{controlPanel:{...e,nodes:o}}})},setControlPanelNodes:e=>{o(({controlPanel:o})=>({controlPanel:{...o,nodes:e}}))},setControlPanelSize:e=>{o(({controlPanel:o})=>({controlPanel:{...o,size:e}}))},viewport:{x:0,y:0,zoom:1},setViewport:e=>o({viewport:e})}},o=(o,t,r)=>{let i=((e,o)=>{let t,r=P({propertyFilter:(e,o)=>!!(o.parent?.parent?.childName==="controlPanel"||["data","position","controlPanel"].includes(o.parent?.childName))||["controlPanel","size","edges","nodes","data","label","config","values","position","x","y"].includes(e)}),i=o();return(e,n)=>{e.currentFileIndex!==n.currentFileIndex&&o().history.clear(),clearTimeout(t),i||(i=n),t=setTimeout(()=>{let t=r.diff(i,e);i=null,t&&o().history.push(t)},500)}})(0,t);return r.subscribe(i),e((...e)=>o(...e),t,r)},(e,t,r)=>{r.subscribe(async(e,o)=>{});let i=new Set,n={...t(),nodes:[],edges:[]};return o(async(...o)=>{let r=t(),[l]=o,a={...n,..."function"==typeof l?l({...n}):l},d=U(n.nodes,a.nodes),s=U(n.edges,a.edges);n=a;let c=d.added,h=s.added,p=s.removed,g=d.removed,{patch:m}=r;if(c.length){let e=m.registerAudioNodes(c);i.add(e),await e,i.delete(e)}if(!(h.length||p.length||g.length))return void e(...o);if(i.size)try{await Promise.all([...i.values()])}catch(e){console.log("some error",e)}h.length&&m.registerAudioConnections(h),p.length&&m.unregisterAudioConnections(p),g.length&&m.unregisterAudioNodes(g),e(...o)},t,r)}));var Y="#292d39",X="#181c20",q="#373c4b",Q="#007bff",Z="#14df42";N`
25
+ `;var B=({children:e,onClose:o,...i})=>{let l=O();return n(()=>{let e=e=>{"Escape"===e.key&&o?.()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[o]),s(t(H,{theme:l,onClick:o,children:r(G,{...i,onClick:e=>{e.stopPropagation()},theme:l,children:[e,t(W,{theme:l,onClick:o})]})}),document.body)};let V="web-noise-drag-handle",J=`.${V}`;(M=L||(L={})).Gate="gate",M.Number="number",M.Audio="audio",M.Any="any";let K=e=>JSON.parse(JSON.stringify(e)),U=(e,o)=>{let t=new Set(e.map(e=>e.id)),r=new Set(o.map(e=>e.id));return{added:o.filter(e=>!t.has(e.id)),removed:e.filter(e=>!r.has(e.id))}};y((e=(...e)=>{let[o,t]=e;return{...((e,o)=>({nodes:[],edges:[],onNodesChange:o=>{e(({nodes:e})=>({nodes:b(o,e).map(e=>({dragHandle:J,...e}))}))},onEdgesChange:o=>{e(({edges:e})=>({edges:w(o,e)}))},onConnect:o=>{e(({edges:e})=>({edges:v(o,e)}))},addNode:o=>{e(({nodes:e})=>({nodes:e.concat(o)}))},setNodes:o=>{e({nodes:o})},setEdges:o=>{e({edges:o})},setNodesAndEdges:({nodes:o,edges:t})=>{e({nodes:o,edges:t})},getNodesAndEdges:()=>{let{nodes:e,edges:t}=o();return{nodes:e,edges:t}},clearElements:()=>{e({nodes:[],edges:[]})},getNode:e=>{let{nodes:t}=o();return t.find(o=>o.id===e)||null},updateNodeData:(o,t)=>{e(({nodes:e})=>({nodes:e.map(e=>e.id===o?{...e,data:{...e.data,...t}}:e)}))},nodeTypes:{},setNodeTypes:o=>e({nodeTypes:o})}))(...e),...((e,o)=>({history:{maxHistoryLength:5,buffer:[],pointer:0,skipCollect:!1,push:t=>{let{history:r}=o(),{maxHistoryLength:i,skipCollect:n}=r;if(n)return void e({history:{...r,skipCollect:!1}});e(({history:e})=>{if(!e)return{};let{buffer:o,pointer:r}=e,n=o.slice(Math.max(r-i+1,0),r);return{history:{...e,buffer:[...n,t],pointer:Math.min(r+1,i)}}})},back:()=>{let{nodes:t,edges:r,controlPanel:i,history:n}=o(),{buffer:l,pointer:a}=n,d=l[a-1];if(!d)return;let s=C(d);s&&e({...z(K({nodes:t,edges:r,controlPanel:i}),s),history:{...n,pointer:a-1,skipCollect:!0}})},forward:()=>{let{nodes:t,edges:r,controlPanel:i,history:n}=o(),{buffer:l,pointer:a}=n,d=l[a];d&&e({...z(K({nodes:t,edges:r,controlPanel:i}),d),history:{...n,pointer:a+1,skipCollect:!0}})},clear:()=>{let{history:t}=o();e({history:{...t,buffer:[],pointer:0,skipCollect:!0}})}}}))(...e),...((e,o)=>({patch:k(),nodesState:{}}))(...e),...((e,o)=>({project:{files:[]},setProject(o){e({project:o,currentFileIndex:0})},getProject:()=>o().project,pullEditorChanges(){let{getEditorState:e,currentFileIndex:t,updateFileContent:r,project:i}=o(),n=i.files[t];"audio"!==n.type&&r(t,{...n,file:e()})},syncEditorWithCurrentFile:()=>{let{currentFileIndex:e,setEditorState:t,project:r}=o(),i=r.files[e];if("audio"===i.type)return void console.log("audio file. skipping");t(i.file)},currentFileIndex:0,setCurrentFileIndex(t){let{currentFileIndex:r}=o();t!==r&&e({currentFileIndex:t})},updateFileContent(t,r){let{project:i}=o();e({project:{...i,files:i.files.map((e,o)=>o===t?{...e,...r}:e)}})},updateFileName(t,r){let{project:i}=o();e({project:{...i,files:i.files.map((e,o)=>o===t?{...e,name:r}:e)}})},addFile(t){let{project:r}=o(),i=[...r.files,t];e({project:{...r,files:i}})},deleteFile:t=>{let{project:r,currentFileIndex:i}=o();e({project:{...r,files:r.files.filter((e,o)=>t!==o)}}),t<=i&&e({currentFileIndex:i-1})}}))(...e),setGraph:async({nodes:e,edges:o})=>{let{patch:r,createNodes:i,createEdges:n,setNodesAndEdges:l,nodes:a,edges:d}=t();l({nodes:[],edges:[]}),await i(e),n(o)},clearGraph:()=>{let{setGraph:e}=t();e({nodes:[],edges:[]})},createNodes:async e=>{let{createNode:o}=t();await Promise.all(e.map(e=>o(e)))},createNode:e=>{let{addNode:o,nodesConfiguration:r}=t(),{type:i,id:n,data:l}=e;if(void 0===i)throw Error(`node type is not defined for node: ${n}`);o({...e,data:{...l,config:{...r[i]?.defaultConfig,...l?.config}}})},removeNode:e=>t().removeNodes([e]),removeNodes:e=>{let{edges:r,nodes:i,onNodesDelete:n,removeEdges:l,removeNodesFromControlPanel:a}=t(),d=e.map(({id:e})=>e),s=[...e,...i.filter(({parentNode:e})=>e&&d.includes(e))];a(s),l(f(s,r)),n(s);let c=s.map(({id:e})=>e);o({nodes:i.filter(({id:e})=>!c.includes(e))})},removeEdges:e=>{let{edges:r,onEdgesDelete:i}=t(),n=e.map(({id:e})=>e);i(e),o({edges:r.filter(({id:e})=>!n.includes(e))})},createEdges:e=>{let{patch:o,edges:r,setEdges:i}=t();i(e)},onConnect:async e=>{let{edges:o,createEdges:r}=t();r(v(e,o))},onEdgesDelete:e=>{let{patch:o}=t()},onNodesDelete:async e=>{let{removeNodesFromControlPanel:o,patch:r}=t();o(e)},plugins:[],setPlugins:async e=>{let{setNodeTypes:r}=t();o({plugins:e});let i=e.reduce((e,o)=>({...e,...o.components.reduce((e,o)=>({...e,[o.type]:o}),{})}),{}),n=Object.keys(i).reduce((e,o)=>({...e,[o]:i[o].node}),{});$(Object.keys(i).reduce((e,o)=>({...e,[o]:i[o].audioNode}),{})),r(n),o(({nodesConfiguration:e})=>({nodesConfiguration:{...e,...i}}))},nodesConfiguration:{},config:{showMinimap:!1},setConfig:e=>{o(({config:o})=>({config:{...o,...e}}))},getEditorState:()=>{let{getNodesAndEdges:e,controlPanel:o,viewport:r}=t();return{...e(),controlPanel:o,viewport:r}},setEditorState:async({nodes:e,edges:r,controlPanel:i,viewport:n})=>{let{setGraph:l}=t();await l({nodes:e,edges:r}),await new Promise(e=>setTimeout(e,1e3)),o({controlPanel:i,viewport:n})},isHelpShown:!1,toggleHelp:()=>{let{isHelpShown:e}=t();o({isHelpShown:!e})},copyBuffer:{nodes:[],edges:[]},copy:e=>{o({copyBuffer:e})},copySelectedItems:()=>{let{nodes:e,edges:o,copy:r}=t(),i=e.filter(({selected:e})=>e),n=o.filter(({selected:e})=>e);i.length&&r({nodes:i,edges:n})},pasteBuffer:(e=0,r=0)=>{let{copyBuffer:i,createNodes:n,setEdges:l,nodes:a,edges:d}=t(),{nodes:s,edges:c}=i;if(!s.length)return;o({nodes:a.map(e=>({...e,selected:!1}))});let h=s.reduce((e,o)=>!e||o.position.x<e.position.x&&o.position.y<e.position.y?o:e),p=h.position.x-e,g=h.position.y-r,{nodes:m,mapping:u}=s.reduce((e,o)=>{let t=(e=>{let o=+new Date+Math.floor(1e3*Math.random());return e?.type?`${e.type}-${o}`:o.toString()})(o);return{nodes:[...e.nodes,{...o,id:t,position:{x:o.position.x-p,y:o.position.y-g},selected:!0}],mapping:{...e.mapping,[o.id]:t}}},{nodes:[],mapping:{}});n(m);let f=c.map(e=>{let o=u[e.source]||e.source,t=u[e.target]||e.target;return{...e,id:e.id.replace(e.source,o).replace(e.target,t),source:o,target:t,selected:!0}});l([...d.map(e=>({...e,selected:!1})),...f])},getControlPanelNode:e=>{let{nodesConfiguration:o}=t(),{type:r}=e;if(!r)return null;let i=o[r]?.controlPanelNode;return i||(console.error(`could not find node for type ${r}`),null)},controlPanel:{show:!0,nodes:[],size:{width:200,height:100}},showControlPanel:()=>o(({controlPanel:e})=>({controlPanel:{...e,show:!0}})),hideControlPanel:()=>o(({controlPanel:e})=>({controlPanel:{...e,show:!1}})),addNodeToControlPanel:e=>{let{nodesConfiguration:r}=t(),i=e.type?r[e.type]?.defaultConfig:{},{height:n}=i?.size||{},l={id:e.id,...n?{height:n/10}:{}};o(({controlPanel:e})=>({controlPanel:{...e,nodes:[...e.nodes,l]}}))},removeNodeFromControlPanel:e=>t().removeNodesFromControlPanel([e]),removeNodesFromControlPanel:e=>{let t=e.map(({id:e})=>e);o(({controlPanel:e})=>{let o=e.nodes.filter(({id:e})=>!t.includes(e));return{controlPanel:{...e,nodes:o}}})},setControlPanelNodes:e=>{o(({controlPanel:o})=>({controlPanel:{...o,nodes:e}}))},setControlPanelSize:e=>{o(({controlPanel:o})=>({controlPanel:{...o,size:e}}))},viewport:{x:0,y:0,zoom:1},setViewport:e=>o({viewport:e})}},o=(o,t,r)=>{let i=((e,o)=>{let t,r=P({propertyFilter:(e,o)=>!!(o.parent?.parent?.childName==="controlPanel"||["data","position","controlPanel"].includes(o.parent?.childName))||["controlPanel","size","edges","nodes","data","label","config","values","position","x","y"].includes(e)}),i=o();return(e,n)=>{e.currentFileIndex!==n.currentFileIndex&&o().history.clear(),clearTimeout(t),i||(i=n),t=setTimeout(()=>{let t=r.diff(i,e);i=null,t&&o().history.push(t)},500)}})(0,t);return r.subscribe(i),e((...e)=>o(...e),t,r)},(e,t,r)=>{r.subscribe(async(e,o)=>{});let i=new Set,n={...t(),nodes:[],edges:[]};return o(async(...o)=>{let r=t(),[l]=o,a={...n,..."function"==typeof l?l({...n}):l},d=U(n.nodes,a.nodes),s=U(n.edges,a.edges);n=a;let c=d.added,h=s.added,p=s.removed,g=d.removed,{patch:m}=r;if(c.length){let e=m.registerAudioNodes(c);i.add(e),await e,i.delete(e)}if(!(h.length||p.length||g.length))return void e(...o);if(i.size)try{await Promise.all([...i.values()])}catch(e){console.log("some error",e)}h.length&&m.registerAudioConnections(h),p.length&&m.unregisterAudioConnections(p),g.length&&m.unregisterAudioNodes(g),e(...o)},t,r)}));var Y="#292d39",X="#181c20",q="#373c4b",Q="#007bff",Z="#14df42";N`
26
26
  .react-flow {
27
27
  .react-flow__pane {
28
28
  /* background: rgb(106 106 106); */
@@ -670,7 +670,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
670
670
  &:hover {
671
671
  color: ${({theme:e})=>e.colors.whitePrimary};
672
672
  }
673
- `),m(i(f)`
673
+ `),m(i(u)`
674
674
  height: 40%;
675
675
  width: auto;
676
676
  `),m(i(c)`
@@ -714,7 +714,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
714
714
  width: 70%;
715
715
  height: 70%;
716
716
  }
717
- `,em=({label:e,subtitle:o,name:i,type:n="checkbox",onChange:l,checked:a=!1})=>{let d=H();return r(eg,{children:[t("input",{type:n,name:i,checked:a,onChange:({target:e})=>l?.(e.checked)}),t(ec,{className:"checker-box",theme:d}),r("div",{children:[t(eh,{children:e}),o?t(ep,{theme:d,children:o}):null]})]})},ef=i.div`
717
+ `;var em=({label:e,subtitle:o,name:i,type:n="checkbox",onChange:l,checked:a=!1})=>{let d=O();return r(eg,{children:[t("input",{type:n,name:i,checked:a,onChange:({target:e})=>l?.(e.checked)}),t(ec,{className:"checker-box",theme:d}),r("div",{children:[t(eh,{children:e}),o?t(ep,{theme:d,children:o}):null]})]})};let eu=i.div`
718
718
  display: flex;
719
719
  flex-direction: column;
720
720
  gap: 0.5rem;
@@ -722,7 +722,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
722
722
  font-size: 0.7rem;
723
723
  color: ${({theme:e})=>e.colors.highlight2};
724
724
  padding: 0.5rem;
725
- `,eu=({options:e,value:o,onChange:r})=>t(ef,{theme:H(),children:e.map(({value:e,label:i,subtitle:n},l)=>t(em,{value:o,type:"radio",label:i,subtitle:n,onChange:()=>r(e),checked:e===o},l))}),ev=i.div`
725
+ `;var ef=({options:e,value:o,onChange:r})=>t(eu,{theme:O(),children:e.map(({value:e,label:i,subtitle:n},l)=>t(em,{value:o,type:"radio",label:i,subtitle:n,onChange:()=>r(e),checked:e===o},l))});let ev=i.div`
726
726
  display: flex;
727
727
  position: relative;
728
728
  `,eb=m(i.input`
@@ -757,7 +757,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
757
757
  -webkit-appearance: none;
758
758
  margin-right: 1rem;
759
759
  }
760
- `),ew=({type:e,value:o,placeholder:r,onChange:i=()=>{},inputProps:n,...l})=>t(ev,{...l,children:t(eb,{type:e,value:o,placeholder:r,onKeyDownCapture:e=>{e.stopPropagation()},onChange:e=>{i(e.target.value)},...n})}),ex=m(i.button`
760
+ `);var ew=({type:e,value:o,placeholder:r,onChange:i=()=>{},inputProps:n,...l})=>t(ev,{...l,children:t(eb,{type:e,value:o,placeholder:r,onKeyDownCapture:e=>{e.stopPropagation()},onChange:e=>{i(e.target.value)},...n})});let ex=m(i.button`
761
761
  position: absolute;
762
762
  right: 0;
763
763
  height: 100%;
@@ -832,7 +832,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
832
832
  white-space: nowrap;
833
833
  overflow: hidden;
834
834
  text-overflow: ellipsis;
835
- `,eP=({value:e="",placeholder:o="",onSubmit:i=()=>{},options:s=[],...c})=>{let[h,p]=l(e),[g,m]=l(!1),[f,u]=l(-1),v=d(null),b=d(null),w=s.filter(e=>""===h||e.value.toLowerCase().includes(h.toLowerCase())||e.label?.toLowerCase().includes(h.toLowerCase())),x=a(()=>{i(h),m(!1),u(-1)},[h,i]),y=a(e=>{p(e.value),i(e.value),m(!1),u(-1)},[i]),$=a(e=>{switch(e.key){case"Escape":m(!1),u(-1);break;case"Enter":g&&f>=0&&w[f]?(e.preventDefault(),y(w[f])):x();break;case"ArrowDown":e.preventDefault(),g?u(e=>e<w.length-1?e+1:e):(m(!0),u(0));break;case"ArrowUp":e.preventDefault(),g&&u(e=>e>0?e-1:e)}},[x,g,f,w,y]);return n(()=>{let e=e=>{b.current&&!b.current.contains(e.target)&&v.current&&!v.current.contains(e.target)&&(m(!1),u(-1))};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]),n(()=>{if(f>=0&&b.current){let e=b.current.children[f];e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})}},[f]),r(ey,{children:[r(ev,{children:[t(eb,{...c,ref:v,value:h,placeholder:o,onKeyDown:$,onChange:e=>{p(e.target.value),m(!0),u(-1)},onFocus:()=>{s.length>0&&m(!0)},onBlur:()=>{setTimeout(()=>{m(!1),u(-1)},200)},autoComplete:"off"}),t(ex,{onClick:x,children:t(F,{})})]}),s.length>0&&t(e$,{ref:b,isOpen:g&&w.length>0,children:w.map((e,o)=>r(ek,{isHighlighted:o===f,onClick:()=>y(e),onMouseEnter:()=>u(o),children:[t(ez,{children:e.label||e.value}),e.value&&t(eC,{children:e.value})]},e.value+o))})]})},eN=i(ev)`
835
+ `;var eP=({value:e="",placeholder:o="",onSubmit:i=()=>{},options:s=[],...c})=>{let[h,p]=l(e),[g,m]=l(!1),[u,f]=l(-1),v=d(null),b=d(null),w=s.filter(e=>""===h||e.value.toLowerCase().includes(h.toLowerCase())||e.label?.toLowerCase().includes(h.toLowerCase())),x=a(()=>{i(h),m(!1),f(-1)},[h,i]),y=a(e=>{p(e.value),i(e.value),m(!1),f(-1)},[i]),$=a(e=>{switch(e.key){case"Escape":m(!1),f(-1);break;case"Enter":g&&u>=0&&w[u]?(e.preventDefault(),y(w[u])):x();break;case"ArrowDown":e.preventDefault(),g?f(e=>e<w.length-1?e+1:e):(m(!0),f(0));break;case"ArrowUp":e.preventDefault(),g&&f(e=>e>0?e-1:e)}},[x,g,u,w,y]);return n(()=>{let e=e=>{b.current&&!b.current.contains(e.target)&&v.current&&!v.current.contains(e.target)&&(m(!1),f(-1))};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]),n(()=>{if(u>=0&&b.current){let e=b.current.children[u];e&&e.scrollIntoView({block:"nearest",behavior:"smooth"})}},[u]),r(ey,{children:[r(ev,{children:[t(eb,{...c,ref:v,value:h,placeholder:o,onKeyDown:$,onChange:e=>{p(e.target.value),m(!0),f(-1)},onFocus:()=>{s.length>0&&m(!0)},onBlur:()=>{setTimeout(()=>{m(!1),f(-1)},200)},autoComplete:"off"}),t(ex,{onClick:x,children:t(F,{})})]}),s.length>0&&t(e$,{ref:b,isOpen:g&&w.length>0,children:w.map((e,o)=>r(ek,{isHighlighted:o===u,onClick:()=>y(e),onMouseEnter:()=>f(o),children:[t(ez,{children:e.label||e.value}),e.value&&t(eC,{children:e.value})]},e.value+o))})]})};let eN=i(ev)`
836
836
  gap: 0.5rem;
837
837
  `,ej=i(eb)`
838
838
  padding: 0;
@@ -846,7 +846,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
846
846
  border-radius: 0.2rem;
847
847
  border: none;
848
848
  }
849
- `,e_=({value:e,onChange:o=()=>{},...i})=>r(eN,{...i,children:[t(ej,{type:"color",value:e,onChange:e=>{o(e.target.value)}}),t(eb,{value:e,onChange:e=>{o(e.target.value)}})]}),eE=i.span`
849
+ `;var e_=({value:e,onChange:o=()=>{},...i})=>r(eN,{...i,children:[t(ej,{type:"color",value:e,onChange:e=>{o(e.target.value)}}),t(eb,{value:e,onChange:e=>{o(e.target.value)}})]});let eE=i.span`
850
850
  position: relative;
851
851
  &:after {
852
852
  content: "↕";
@@ -887,7 +887,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
887
887
  -webkit-appearance: none;
888
888
  margin-right: 1rem;
889
889
  }
890
- `,eF=({max:e=1/0,min:o=-1/0,value:r,step:i=1,onChange:l=()=>{},placeholder:a,...s})=>{let c=d(null),h=I(t=>{if(void 0===r)return;let n=e<10?5:e/100,a=+(r+Math.round(t.deltaY/n)*i).toFixed(2);a<o||a>e||l(a)},100);return n(()=>{c.current&&(c.current.addEventListener("wheel",e=>{e.preventDefault(),e.stopPropagation(),h(e)}),c.current.onchange=e=>{l(+e.target.value)})},[c.current,l]),n(()=>{void 0!==r&&c.current&&(c.current.value=r.toString())},[c.current,r]),t(eE,{...s,children:t(eS,{ref:c,type:"number",step:i,min:o,max:e,placeholder:a})})},eI=i.button`
890
+ `;var eF=({max:e=1/0,min:o=-1/0,value:r,step:i=1,onChange:l=()=>{},placeholder:a,...s})=>{let c=d(null),h=A(t=>{if(void 0===r)return;let n=e<10?5:e/100,a=+(r+Math.round(t.deltaY/n)*i).toFixed(2);a<o||a>e||l(a)},100);return n(()=>{c.current&&(c.current.addEventListener("wheel",e=>{e.preventDefault(),e.stopPropagation(),h(e)}),c.current.onchange=e=>{l(+e.target.value)})},[c.current,l]),n(()=>{void 0!==r&&c.current&&(c.current.value=r.toString())},[c.current,r]),t(eE,{...s,children:t(eS,{ref:c,type:"number",step:i,min:o,max:e,placeholder:a})})},eA=i.button`
891
891
  display: flex;
892
892
  align-items: center;
893
893
  justify-content: center;
@@ -916,7 +916,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
916
916
  ${({theme:e})=>e.colors.accent3};
917
917
  background-color: ${({theme:e})=>e.colors.accent1};
918
918
  }
919
- `,eA=m(i.div`
919
+ `;let eI=m(i.div`
920
920
  display: flex;
921
921
  align-items: center;
922
922
  position: relative;
@@ -957,7 +957,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
957
957
  background-color: ${({theme:e})=>e.colors.highlight3};
958
958
  clip-path: polygon(100% 0%, 0 0%, 50% 100%);
959
959
  }
960
- `),eR=({options:e,placeholder:o,value:i,onChange:n,...l})=>t(eA,{...l,children:r("select",{value:i||"",onChange:e=>n?.(e.target.value),children:[o&&t("option",{value:"",disabled:!0,children:o}),e.map(({value:e,label:o})=>t("option",{value:e,children:o},e+o))]})}),eT=i(A)`
960
+ `);var eT=({options:e,placeholder:o,value:i,onChange:n,...l})=>t(eI,{...l,children:r("select",{value:i||"",onChange:e=>n?.(e.target.value),children:[o&&t("option",{value:"",disabled:!0,children:o}),e.map(({value:e,label:o})=>t("option",{value:e,children:o},e+o))]})}),eR=i(I)`
961
961
  padding: 0;
962
962
  cursor: pointer;
963
963
  position: relative;
@@ -1083,7 +1083,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
1083
1083
  .rc-slider-mark-text {
1084
1084
  font-size: 0.4rem;
1085
1085
  }
1086
- `;class eM extends R{_updateMousePosition(e){let o=this._canvas?.getBoundingClientRect(),t=this._canvas.width/o.width,r=this._canvas.height/o.height;this._mouse={x:(e.clientX-o.left)*t,y:this._height-(e.clientY-o.top)*r}}getPoints(){let e=1/this._width,o=1/this._height;return this._pointCollection._points.map(({x:t,y:r})=>({x:t*e,y:r*o}))}removeAll(){let e=this._pointCollection.getNumberOfPoints();for(let o=e;o>0;o--)this._pointCollection.remove(o-1)}update(e){this.removeAll();let o=this._width,t=this._height;e.forEach(({x:e,y:r})=>{this._pointCollection.add({x:e*o,y:r*t})}),this.draw()}off(e,o){}}let eL=i.div`
1086
+ `;class eM extends T{_updateMousePosition(e){let o=this._canvas?.getBoundingClientRect(),t=this._canvas.width/o.width,r=this._canvas.height/o.height;this._mouse={x:(e.clientX-o.left)*t,y:this._height-(e.clientY-o.top)*r}}getPoints(){let e=1/this._width,o=1/this._height;return this._pointCollection._points.map(({x:t,y:r})=>({x:t*e,y:r*o}))}removeAll(){let e=this._pointCollection.getNumberOfPoints();for(let o=e;o>0;o--)this._pointCollection.remove(o-1)}update(e){this.removeAll();let o=this._width,t=this._height;e.forEach(({x:e,y:r})=>{this._pointCollection.add({x:e*o,y:r*t})}),this.draw()}off(e,o){}}let eL=i.div`
1087
1087
  height: 100%;
1088
1088
  width: 100%;
1089
1089
  position: relative;
@@ -1095,13 +1095,13 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
1095
1095
  height: 100%;
1096
1096
  width: 100%;
1097
1097
  }
1098
- `,eD=({onChange:e,onMove:o,points:r,type:i="monotonic",textColor:s="red",curveColor:c=Q,gridStep:h=.25,gridColor:p=X,controlPointRadius:g=14,controlPointColor:m=Z})=>{let f=d(null),[u,v]=l(),b=a(o=>{let t=o.getPoints();e?.(t)},[e]),w=a(e=>{let t=e.getPoints();o?.(t)},[o]);return n(()=>u?.update(r),[u,r]),n(()=>u?.setSplineType(i),[u,i]),n(()=>u?.setGridStep(h),[u,h]),n(()=>u?.setGridColor(p),[u,p]),n(()=>u?.setControlPointRadius(g),[u,g]),n(()=>u?.setTextColor(s),[u,s]),n(()=>{u?.setCurveColor("idle",c)},[u,c]),n(()=>{u?.setControlPointColor("idle",m)},[u,m]),n(()=>{if(u)return u.setCurveThickness(4),u.on("movePoint",w),u.on("releasePoint",b),u.on("pointAdded",b),u.on("pointRemoved",b),u.draw(),()=>{u.off("movePoint",w),u.off("releasePoint",b),u.off("pointAdded",b),u.off("pointRemoved",b)}},[u,b,w]),n(()=>{f.current&&v(new eM(f.current,1024,1024))},[f]),t(eL,{ref:f})},eH=i.div``,eG=i.div`
1098
+ `;var eD=({onChange:e,onMove:o,points:r,type:i="monotonic",textColor:s="red",curveColor:c=Q,gridStep:h=.25,gridColor:p=X,controlPointRadius:g=14,controlPointColor:m=Z})=>{let u=d(null),[f,v]=l(),b=a(o=>{let t=o.getPoints();e?.(t)},[e]),w=a(e=>{let t=e.getPoints();o?.(t)},[o]);return n(()=>f?.update(r),[f,r]),n(()=>f?.setSplineType(i),[f,i]),n(()=>f?.setGridStep(h),[f,h]),n(()=>f?.setGridColor(p),[f,p]),n(()=>f?.setControlPointRadius(g),[f,g]),n(()=>f?.setTextColor(s),[f,s]),n(()=>{f?.setCurveColor("idle",c)},[f,c]),n(()=>{f?.setControlPointColor("idle",m)},[f,m]),n(()=>{if(f)return f.setCurveThickness(4),f.on("movePoint",w),f.on("releasePoint",b),f.on("pointAdded",b),f.on("pointRemoved",b),f.draw(),()=>{f.off("movePoint",w),f.off("releasePoint",b),f.off("pointAdded",b),f.off("pointRemoved",b)}},[f,b,w]),n(()=>{u.current&&v(new eM(u.current,1024,1024))},[u]),t(eL,{ref:u})},eO={};R(eO,"ConfigRowLabel",()=>eH),R(eO,"ConfigRowControl",()=>eG),R(eO,"ConfigRowSeparator",()=>eW),R(eO,"ConfigRow",()=>eB),R(eO,"ConfigPanel",()=>eV),R(eO,"ConfigRowInner",()=>eJ);let eH=i.div``,eG=i.div`
1099
1099
  font-family: var(--leva-fonts-mono);
1100
1100
  font-size: 0.7rem;
1101
1101
  color: ${({theme:e})=>e.colors.whitePrimary};
1102
- `,eO=i.div`
1103
- border-bottom: 1px solid ${({theme:e})=>e.colors.elevation1};
1104
1102
  `,eW=i.div`
1103
+ border-bottom: 1px solid ${({theme:e})=>e.colors.elevation1};
1104
+ `,eB=i.div`
1105
1105
  padding: 0.2rem 0.4rem;
1106
1106
  font-size: 0.7rem;
1107
1107
  color: ${({theme:e})=>e.colors.highlight2};
@@ -1112,11 +1112,11 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
1112
1112
  grid-template-columns: ${({oneLineLabels:e})=>e?"1fr":"auto 10rem"};
1113
1113
  row-gap: 0.1rem;
1114
1114
  column-gap: 0.4rem;
1115
- `,eB=i.div`
1115
+ `,eV=i.div`
1116
1116
  display: flex;
1117
1117
  flex-direction: column;
1118
1118
  gap: 0.4rem;
1119
1119
  background: ${({theme:e})=>e.colors.elevation2};
1120
1120
  padding: 0.4rem 0.1rem;
1121
- `,eV=i.div``;export{B as Modal,em as Checker,eu as RadioGroup,ew as Input,eP as DropdownInput,e_ as ColorInput,eF as NumberInput,eI as Button,eR as Select,eT as Slider,eD as SplineEditor,eH as ConfigRowLabel,eG as ConfigRowControl,eO as ConfigRowSeparator,eW as ConfigRow,eB as ConfigPanel,eV as ConfigRowInner};
1121
+ `,eJ=i.div``;Object.keys(eO).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(D,e)||Object.defineProperty(D,e,{enumerable:!0,get:function(){return eO[e]}})});export{eH as ConfigRowLabel,eG as ConfigRowControl,eW as ConfigRowSeparator,eB as ConfigRow,eV as ConfigPanel,eJ as ConfigRowInner};
1122
1122
  //# sourceMappingURL=components.js.map