@web-noise/core 0.0.15 → 0.0.16-alpha.1
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/cjs/components.js +23 -18
- package/dist/cjs/components.js.map +1 -1
- package/dist/esm/components.js +57 -52
- package/dist/esm/components.js.map +1 -1
- package/dist/main.js +91 -86
- package/dist/main.js.map +1 -1
- package/dist/module.js +76 -71
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +14 -9
- package/dist/types.d.ts.map +1 -1
- package/package.json +16 -22
package/dist/esm/components.js
CHANGED
|
@@ -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 s}from"react";import{createPortal as d}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
|
|
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 s}from"react";import{createPortal as d}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 x,Controls as w,Handle as y}from"@xyflow/react";import{create as $}from"zustand";import{setAudioNodeTypes as k,createPatch as C}from"@web-noise/patch";import{reverse as P,patch as z,create as N}from"jsondiffpatch";import{injectGlobal as _}from"@emotion/css";import"@xyflow/react/dist/style.css";import{Item as E,Menu as j}from"react-contexify";import"react-contexify/dist/ReactContexify.css";import"hotkeys-js";import"react-file-drop";import{FaFileUpload as S,FaVolumeOff as F,FaRegArrowAltCircleRight as A}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 R from"rc-slider";import"rc-slider/assets/index.css";import{CanvasSpliner as T}from"CanvasSpliner";function L(e,o,t,r){Object.defineProperty(e,o,{get:t,set:r,enumerable:!0,configurable:!0})}var D,M,O={};L(O,"Modal",()=>U),L(O,"Checker",()=>ew),L(O,"RadioGroup",()=>e$),L(O,"Input",()=>eP),L(O,"DropdownInput",()=>eF),L(O,"ColorInput",()=>eR),L(O,"NumberInput",()=>eD),L(O,"Button",()=>eM),L(O,"Select",()=>eH),L(O,"Slider",()=>eG),L(O,"SplineEditor",()=>eV),L(O,"ConfigRowLabel",()=>eU),L(O,"ConfigRowControl",()=>eJ),L(O,"ConfigRowSeparator",()=>eK),L(O,"ConfigRow",()=>eY),L(O,"ConfigPanel",()=>eX),L(O,"ConfigRowInner",()=>eq);var H={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"},zIndex:{modal:9998,controlPanel:9999,resumeContextLayout:10003}},G=()=>{let e=g();return{...H,...e}};let W=i.div`
|
|
2
2
|
position: fixed;
|
|
3
3
|
z-index: ${({theme:e})=>e.zIndex.modal};
|
|
4
4
|
width: 100%;
|
|
@@ -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
|
-
`,U=({children:e,onClose:o,...i})=>{let l=G();return n(()=>{let e=e=>{"Escape"===e.key&&o?.()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[o]),d(t(W,{theme:l,onClick:o,children:r(B,{...i,onClick:e=>{e.stopPropagation()},theme:l,children:[e,t(V,{theme:l,onClick:o})]})}),document.body)};var J={};L(J,"DRAG_HANDLE_CLASS",()=>K),L(J,"DRAG_HANDLE_SELECTOR",()=>Y),L(J,"CONTROL_PANEL_GRID_CONFIG",()=>X),L(J,"PortType",()=>M);let K="web-noise-drag-handle",Y=`.${K}`,X={rowHeight:10,cols:4};(D=M||(M={})).Gate="gate",D.Number="number",D.Audio="audio",D.Any="any";let q=e=>JSON.parse(JSON.stringify(e)),Q=(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))}};$((e=(...e)=>{let[o,t]=e;return{...((e,o)=>({nodes:[],edges:[],onNodesChange:o=>{e(({nodes:e})=>({nodes:b(o,e).map(e=>({dragHandle:Y,...e}))}))},onEdgesChange:o=>{e(({edges:e})=>({edges:
|
|
25
|
+
`,U=({children:e,onClose:o,...i})=>{let l=G();return n(()=>{let e=e=>{"Escape"===e.key&&o?.()};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[o]),d(t(W,{theme:l,onClick:o,children:r(B,{...i,onClick:e=>{e.stopPropagation()},theme:l,children:[e,t(V,{theme:l,onClick:o})]})}),document.body)};var J={};L(J,"DRAG_HANDLE_CLASS",()=>K),L(J,"DRAG_HANDLE_SELECTOR",()=>Y),L(J,"CONTROL_PANEL_GRID_CONFIG",()=>X),L(J,"PortType",()=>M);let K="web-noise-drag-handle",Y=`.${K}`,X={rowHeight:10,cols:4};(D=M||(M={})).Gate="gate",D.Number="number",D.Audio="audio",D.Any="any";let q=e=>JSON.parse(JSON.stringify(e)),Q=(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))}};$((e=(...e)=>{let[o,t]=e;return{...((e,o)=>({nodes:[],edges:[],onNodesChange:o=>{e(({nodes:e})=>({nodes:b(o,e).map(e=>({dragHandle:Y,...e,data:{label:"unknown",...e.data}}))}))},onEdgesChange:o=>{e(({edges:e})=>({edges:x(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;n?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,s=l[a-1];if(!s)return;let d=P(s);d&&e({...z(q({nodes:t,edges:r,controlPanel:i}),d),history:{...n,pointer:a-1,skipCollect:!0}})},forward:()=>{let{nodes:t,edges:r,controlPanel:i,history:n}=o(),{buffer:l,pointer:a}=n,s=l[a];s&&e({...z(q({nodes:t,edges:r,controlPanel:i}),s),history:{...n,pointer:a+1,skipCollect:!0}})},clear:()=>{let{history:t}=o();e({history:{...t,buffer:[],pointer:0,skipCollect:!0}})}}}))(...e),...((e,o)=>({patch:C(),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];"audio"===i.type?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:Math.max(0,i-1)})}}))(...e),setGraph:async({nodes:e,edges:o})=>{let{patch:r,createNodes:i,createEdges:n,setNodesAndEdges:l,nodes:a,edges:s}=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(),s=e.map(({id:e})=>e),d=[...e,...i.filter(({parentId:e})=>e&&s.includes(e))];a(d),l(f(d,r)),n(d);let c=d.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}),{});k(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:s}=t(),{nodes:d,edges:c}=i;if(!d.length)return;o({nodes:a.map(e=>({...e,selected:!1}))});let h=d.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}=d.reduce((e,o)=>{let t,r=(t=+new Date+Math.floor(1e3*Math.random()),o?.type?`${o.type}-${t}`:t.toString());return{nodes:[...e.nodes,{...o,id:r,position:{x:o.position.x-p,y:o.position.y-g},selected:!0}],mapping:{...e.mapping,[o.id]:r}}},{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([...s.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/X.rowHeight}:{}};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,n,l,a=(n=N({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)}),l=t(),(e,o)=>{e.currentFileIndex!==o.currentFileIndex&&t().history.clear(),clearTimeout(i),l||(l=o),i=setTimeout(()=>{let o=n.diff(l,e);l=null,o&&t().history.push(o)},500)});return r.subscribe(a),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},s=Q(n.nodes,a.nodes),d=Q(n.edges,a.edges);n=a;let c=s.added,h=d.added,p=d.removed,g=s.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)})),_`
|
|
26
26
|
.react-flow {
|
|
27
27
|
.react-flow__pane {
|
|
28
28
|
/* background: rgb(106 106 106); */
|
|
@@ -46,6 +46,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
46
46
|
.react-flow__node {
|
|
47
47
|
padding: 0;
|
|
48
48
|
width: auto;
|
|
49
|
+
box-sizing: content-box;
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
.react-flow__edge-path {
|
|
@@ -70,7 +71,11 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
70
71
|
} */
|
|
71
72
|
}
|
|
72
73
|
|
|
73
|
-
|
|
74
|
+
`;let Z=i(E)``;m(i(Z)`
|
|
75
|
+
.react-contexify__item__content {
|
|
76
|
+
color: ${({theme:e})=>e.colors.error};
|
|
77
|
+
}
|
|
78
|
+
`),i(j)`
|
|
74
79
|
background: ${({colors:e})=>e.elevation2};
|
|
75
80
|
padding: 0;
|
|
76
81
|
border-radius: 0;
|
|
@@ -122,7 +127,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
122
127
|
display: flex;
|
|
123
128
|
gap: 0.2rem;
|
|
124
129
|
flex-wrap: wrap;
|
|
125
|
-
`);let
|
|
130
|
+
`);let ee=m(i.span`
|
|
126
131
|
cursor: pointer;
|
|
127
132
|
font-size: 10px;
|
|
128
133
|
background: ${({theme:e,isActive:o})=>o?e.colors.highlight1:e.colors.elevation3};
|
|
@@ -193,7 +198,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
193
198
|
color: ${({theme:e})=>e.colors.accent3};
|
|
194
199
|
cursor: pointer;
|
|
195
200
|
}
|
|
196
|
-
`,m(i(
|
|
201
|
+
`,m(i(ee)`
|
|
197
202
|
font-size: 12px;
|
|
198
203
|
padding: 0.2rem 0.4rem;
|
|
199
204
|
&:hover {
|
|
@@ -211,7 +216,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
211
216
|
flex-grow: 1;
|
|
212
217
|
height: 100%;
|
|
213
218
|
overflow-y: scroll;
|
|
214
|
-
`;var
|
|
219
|
+
`;var eo={};L(eo,"useWorker",()=>et),L(eo,"useMessageChannel",()=>er);let et=e=>{let[o,t]=l(null);return n(()=>{let o=new Worker(e);return t(o),()=>{o?.terminate(),t(null)}},[]),o},er=()=>{let[e,o]=l(null);return n(()=>{let e=new MessageChannel;return e.port2.start(),o(e),()=>{o(null),e.port2.close()}},[]),e};var ei={};L(ei,"setParameterValue",()=>en),L(ei,"fileToBase64",()=>el);let en=(e,o,t)=>{void 0!==o&&e.setValueAtTime(o,t.currentTime)},el=e=>new Promise((o,t)=>{let r=new FileReader;r.readAsDataURL(e),r.onload=()=>o(r.result?.toString()||""),r.onerror=e=>t(e)});Object.keys(ei).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(eo,e)||Object.defineProperty(eo,e,{enumerable:!0,get:function(){return ei[e]}})}),i.div`
|
|
215
220
|
display: flex;
|
|
216
221
|
align-items: center;
|
|
217
222
|
justify-content: center;
|
|
@@ -357,11 +362,11 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
357
362
|
margin-inline-end: 0px;
|
|
358
363
|
unicode-bidi: isolate;
|
|
359
364
|
}
|
|
360
|
-
`);let
|
|
365
|
+
`);let ea=i.div`
|
|
361
366
|
background-color: var(--leva-colors-elevation1);
|
|
362
|
-
`;i(
|
|
367
|
+
`;i(ea)`
|
|
363
368
|
padding: 2rem 5rem;
|
|
364
|
-
`,i(
|
|
369
|
+
`,i(ea)`
|
|
365
370
|
padding: 1rem 2rem;
|
|
366
371
|
`,i(h)`
|
|
367
372
|
font-size: 1.2rem;
|
|
@@ -379,12 +384,12 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
379
384
|
opacity: 1;
|
|
380
385
|
cursor: pointer;
|
|
381
386
|
}
|
|
382
|
-
`;let
|
|
387
|
+
`;let es=i.div`
|
|
383
388
|
position: relative;
|
|
384
389
|
font-family: var(--leva-fonts-mono);
|
|
385
390
|
font-size: var(--leva-fontSizes-root);
|
|
386
391
|
background-color: var(--leva-colors-elevation1);
|
|
387
|
-
`,
|
|
392
|
+
`,ed=i(es)`
|
|
388
393
|
display: flex;
|
|
389
394
|
height: var(--leva-sizes-titleBarHeight);
|
|
390
395
|
touch-action: none;
|
|
@@ -394,7 +399,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
394
399
|
color: var(--leva-colors-highlight1);
|
|
395
400
|
padding: 0 0.4rem;
|
|
396
401
|
gap: 0.3rem;
|
|
397
|
-
`;i(
|
|
402
|
+
`;i(es)(({theme:e})=>`
|
|
398
403
|
display: grid;
|
|
399
404
|
grid-template-areas: "inputs outputs";
|
|
400
405
|
background: ${e.colors.elevation2};
|
|
@@ -410,22 +415,22 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
410
415
|
`,i.div`
|
|
411
416
|
position: relative;
|
|
412
417
|
padding: 5px 10px;
|
|
413
|
-
`;let
|
|
414
|
-
--port-color: ${e=>{if(!e.portType)return e.theme.colors.highlight2;if(!Array.isArray(e.portType))return
|
|
418
|
+
`;let ec={[M.Audio]:"#4ade80",[M.Gate]:"#c084fc",[M.Number]:"#38bdf8",[M.Any]:"#ffffff"},eh=m(i(y,{shouldForwardProp:e=>"portType"!==e})`
|
|
419
|
+
--port-color: ${e=>{if(!e.portType)return e.theme.colors.highlight2;if(!Array.isArray(e.portType))return ec[e.portType];{let o=e.portType.map(e=>ec[e]);return`linear-gradient(0.25turn, ${o.join(", ")});`}}};
|
|
415
420
|
border-color: var(--port-color);
|
|
416
421
|
background: var(--port-color);
|
|
417
422
|
box-shadow: 0px 0px 0px 1px ${({theme:e})=>e.colors.elevation2} inset;
|
|
418
|
-
`);m(i(
|
|
419
|
-
left:
|
|
420
|
-
`),m(i(
|
|
421
|
-
right:
|
|
422
|
-
`);let
|
|
423
|
+
`);m(i(eh)`
|
|
424
|
+
left: 0;
|
|
425
|
+
`),m(i(eh)`
|
|
426
|
+
right: 0;
|
|
427
|
+
`);let ep=i.div`
|
|
423
428
|
width: 100%;
|
|
424
429
|
padding: 0.4rem 0;
|
|
425
430
|
white-space: nowrap;
|
|
426
431
|
overflow: hidden;
|
|
427
432
|
text-overflow: ellipsis;
|
|
428
|
-
`,
|
|
433
|
+
`,eg=i(({className:e,...o})=>t(ed,{...o,className:[e,K].join(" ")}))`
|
|
429
434
|
display: flex;
|
|
430
435
|
gap: 0.1rem;
|
|
431
436
|
padding: 0 0.4rem;
|
|
@@ -433,13 +438,13 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
433
438
|
font-size: 0.6rem;
|
|
434
439
|
height: auto;
|
|
435
440
|
min-width: 0;
|
|
436
|
-
`,
|
|
441
|
+
`,em=i.div`
|
|
437
442
|
display: flex;
|
|
438
443
|
align-items: center;
|
|
439
444
|
height: 70%;
|
|
440
445
|
width: auto;
|
|
441
446
|
gap: 0.4rem;
|
|
442
|
-
`,
|
|
447
|
+
`,eu=i.span`
|
|
443
448
|
width: auto;
|
|
444
449
|
height: 100%;
|
|
445
450
|
cursor: pointer;
|
|
@@ -475,17 +480,17 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
475
480
|
color: ${({theme:e})=>e.colors.highlight2};
|
|
476
481
|
cursor: pointer;
|
|
477
482
|
}
|
|
478
|
-
`,i(eg)`
|
|
479
|
-
height: 80%;
|
|
480
483
|
`,i(em)`
|
|
484
|
+
height: 80%;
|
|
485
|
+
`,i(eu)`
|
|
481
486
|
font-size: 1rem;
|
|
482
487
|
display: flex;
|
|
483
488
|
align-items: center;
|
|
484
|
-
`,i(
|
|
489
|
+
`,i(eg)`
|
|
485
490
|
grid-template-columns: 1fr auto;
|
|
486
491
|
border-bottom: 1px solid ${({theme:e})=>e.colors.elevation3};
|
|
487
492
|
font-size: 0.7rem;
|
|
488
|
-
`,i(
|
|
493
|
+
`,i(ep)`
|
|
489
494
|
text-align: center;
|
|
490
495
|
`,i.div`
|
|
491
496
|
height: 100%;
|
|
@@ -622,7 +627,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
622
627
|
`,i(F)`
|
|
623
628
|
width: 7rem;
|
|
624
629
|
height: 7rem;
|
|
625
|
-
`,m(i(
|
|
630
|
+
`,m(i(w)`
|
|
626
631
|
&.bottom {
|
|
627
632
|
right: 1rem;
|
|
628
633
|
bottom: 40%;
|
|
@@ -716,7 +721,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
716
721
|
&:hover {
|
|
717
722
|
color: ${({theme:e})=>e.colors.whitePrimary};
|
|
718
723
|
}
|
|
719
|
-
`);let
|
|
724
|
+
`);let ef=i.div`
|
|
720
725
|
display: flex;
|
|
721
726
|
align-items: center;
|
|
722
727
|
justify-content: center;
|
|
@@ -728,10 +733,10 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
728
733
|
content: "";
|
|
729
734
|
background: ${({theme:e})=>e.colors.accent1};
|
|
730
735
|
}
|
|
731
|
-
`,
|
|
736
|
+
`,ev=i.div``,eb=i.div`
|
|
732
737
|
font-size: 0.4rem;
|
|
733
738
|
color: ${({theme:e})=>e.colors.highlight1};
|
|
734
|
-
`,
|
|
739
|
+
`,ex=i.label`
|
|
735
740
|
display: flex;
|
|
736
741
|
cursor: pointer;
|
|
737
742
|
gap: 0.4rem;
|
|
@@ -749,7 +754,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
749
754
|
width: 70%;
|
|
750
755
|
height: 70%;
|
|
751
756
|
}
|
|
752
|
-
`,ew=({label:e,subtitle:o,name:i,type:n="checkbox",onChange:l,checked:a=!1})=>{let s=G();return r(
|
|
757
|
+
`,ew=({label:e,subtitle:o,name:i,type:n="checkbox",onChange:l,checked:a=!1})=>{let s=G();return r(ex,{children:[t("input",{type:n,name:i,checked:a,onChange:({target:e})=>l?.(e.checked)}),t(ef,{className:"checker-box",theme:s}),r("div",{children:[t(ev,{children:e}),o?t(eb,{theme:s,children:o}):null]})]})},ey=i.div`
|
|
753
758
|
display: flex;
|
|
754
759
|
flex-direction: column;
|
|
755
760
|
gap: 0.5rem;
|
|
@@ -757,10 +762,10 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
757
762
|
font-size: 0.7rem;
|
|
758
763
|
color: ${({theme:e})=>e.colors.highlight2};
|
|
759
764
|
padding: 0.5rem;
|
|
760
|
-
`,
|
|
765
|
+
`,e$=({options:e,value:o,onChange:r})=>t(ey,{theme:G(),children:e.map(({value:e,label:i,subtitle:n},l)=>t(ew,{value:o,type:"radio",label:i,subtitle:n,onChange:()=>r(e),checked:e===o},l))}),ek=i.div`
|
|
761
766
|
display: flex;
|
|
762
767
|
position: relative;
|
|
763
|
-
`,
|
|
768
|
+
`,eC=m(i.input`
|
|
764
769
|
padding-right: 2rem;
|
|
765
770
|
padding-left: 0.3rem;
|
|
766
771
|
padding-top: 0;
|
|
@@ -792,7 +797,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
792
797
|
-webkit-appearance: none;
|
|
793
798
|
margin-right: 1rem;
|
|
794
799
|
}
|
|
795
|
-
`),
|
|
800
|
+
`),eP=({type:e,value:o,placeholder:r,onChange:i=()=>{},inputProps:n,...l})=>t(ek,{...l,children:t(eC,{type:e,value:o,placeholder:r,onKeyDownCapture:e=>{e.stopPropagation()},onChange:e=>{i(e.target.value)},...n})}),ez=m(i.button`
|
|
796
801
|
position: absolute;
|
|
797
802
|
right: 0;
|
|
798
803
|
height: 100%;
|
|
@@ -810,10 +815,10 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
810
815
|
&:active {
|
|
811
816
|
color: ${({theme:e})=>e.colors.highlight3};
|
|
812
817
|
}
|
|
813
|
-
`),
|
|
818
|
+
`),eN=i.div`
|
|
814
819
|
position: relative;
|
|
815
820
|
width: 100%;
|
|
816
|
-
`,
|
|
821
|
+
`,e_=m(i.div`
|
|
817
822
|
position: absolute;
|
|
818
823
|
top: calc(100% + 2px);
|
|
819
824
|
left: 0;
|
|
@@ -843,7 +848,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
843
848
|
&::-webkit-scrollbar-thumb:hover {
|
|
844
849
|
background: ${({theme:e})=>e.colors.highlight1};
|
|
845
850
|
}
|
|
846
|
-
`),
|
|
851
|
+
`),eE=m(i.div`
|
|
847
852
|
padding: 0.4rem 0.5rem;
|
|
848
853
|
cursor: pointer;
|
|
849
854
|
color: ${({theme:e})=>e.colors.highlight1};
|
|
@@ -855,21 +860,21 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
855
860
|
background-color: ${({theme:e})=>e.colors.elevation3};
|
|
856
861
|
color: ${({theme:e})=>e.colors.highlight2};
|
|
857
862
|
}
|
|
858
|
-
`),
|
|
863
|
+
`),ej=i.div`
|
|
859
864
|
font-size: 0.85em;
|
|
860
865
|
opacity: 0.7;
|
|
861
866
|
margin-top: 2px;
|
|
862
867
|
white-space: nowrap;
|
|
863
868
|
overflow: hidden;
|
|
864
869
|
text-overflow: ellipsis;
|
|
865
|
-
`,
|
|
870
|
+
`,eS=i.div`
|
|
866
871
|
font-size: 1em;
|
|
867
872
|
white-space: nowrap;
|
|
868
873
|
overflow: hidden;
|
|
869
874
|
text-overflow: ellipsis;
|
|
870
|
-
`,
|
|
875
|
+
`,eF=({value:e="",placeholder:o="",onSubmit:i=()=>{},options:d=[],...c})=>{let[h,p]=l(e),[g,m]=l(!1),[u,f]=l(-1),v=s(null),b=s(null),x=d.filter(e=>""===h||e.value.toLowerCase().includes(h.toLowerCase())||e.label?.toLowerCase().includes(h.toLowerCase())),w=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&&x[u]?(e.preventDefault(),y(x[u])):w();break;case"ArrowDown":e.preventDefault(),g?f(e=>e<x.length-1?e+1:e):(m(!0),f(0));break;case"ArrowUp":e.preventDefault(),g&&f(e=>e>0?e-1:e)}},[w,g,u,x,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(eN,{children:[r(ek,{children:[t(eC,{...c,ref:v,value:h,placeholder:o,onKeyDown:$,onChange:e=>{p(e.target.value),m(!0),f(-1)},onFocus:()=>{d.length>0&&m(!0)},onBlur:()=>{setTimeout(()=>{m(!1),f(-1)},200)},autoComplete:"off"}),t(ez,{onClick:w,children:t(A,{})})]}),d.length>0&&t(e_,{ref:b,isOpen:g&&x.length>0,children:x.map((e,o)=>r(eE,{isHighlighted:o===u,onClick:()=>y(e),onMouseEnter:()=>f(o),children:[t(eS,{children:e.label||e.value}),e.value&&t(ej,{children:e.value})]},e.value+o))})]})},eA=i(ek)`
|
|
871
876
|
gap: 0.5rem;
|
|
872
|
-
`,
|
|
877
|
+
`,eI=i(eC)`
|
|
873
878
|
padding: 0;
|
|
874
879
|
aspect-ratio: 1 / 1;
|
|
875
880
|
width: auto;
|
|
@@ -881,7 +886,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
881
886
|
border-radius: 0.2rem;
|
|
882
887
|
border: none;
|
|
883
888
|
}
|
|
884
|
-
`,
|
|
889
|
+
`,eR=({value:e,onChange:o=()=>{},...i})=>r(eA,{...i,children:[t(eI,{type:"color",value:e,onChange:e=>{o(e.target.value)}}),t(eC,{value:e,onChange:e=>{o(e.target.value)}})]}),eT=i.span`
|
|
885
890
|
position: relative;
|
|
886
891
|
&:after {
|
|
887
892
|
content: "↕";
|
|
@@ -894,7 +899,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
894
899
|
font-size: 1.2em;
|
|
895
900
|
color: var(--leva-colors-highlight1);
|
|
896
901
|
}
|
|
897
|
-
`,
|
|
902
|
+
`,eL=i.input`
|
|
898
903
|
width: 100%;
|
|
899
904
|
appearance: textfield;
|
|
900
905
|
font-size: inherit;
|
|
@@ -922,7 +927,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
922
927
|
-webkit-appearance: none;
|
|
923
928
|
margin-right: 1rem;
|
|
924
929
|
}
|
|
925
|
-
`,
|
|
930
|
+
`,eD=({max:e=1/0,min:o=-1/0,value:r,step:i=1,onChange:l=()=>{},placeholder:a,...d})=>{let c=s(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(eT,{...d,children:t(eL,{ref:c,type:"number",step:i,min:o,max:e,placeholder:a})})},eM=i.button`
|
|
926
931
|
display: flex;
|
|
927
932
|
align-items: center;
|
|
928
933
|
justify-content: center;
|
|
@@ -951,7 +956,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
951
956
|
${({theme:e})=>e.colors.accent3};
|
|
952
957
|
background-color: ${({theme:e})=>e.colors.accent1};
|
|
953
958
|
}
|
|
954
|
-
`,
|
|
959
|
+
`,eO=m(i.div`
|
|
955
960
|
display: flex;
|
|
956
961
|
align-items: center;
|
|
957
962
|
position: relative;
|
|
@@ -992,7 +997,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
992
997
|
background-color: ${({theme:e})=>e.colors.highlight3};
|
|
993
998
|
clip-path: polygon(100% 0%, 0 0%, 50% 100%);
|
|
994
999
|
}
|
|
995
|
-
`),
|
|
1000
|
+
`),eH=({options:e,placeholder:o,value:i,onChange:n,...l})=>t(eO,{...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))]})}),eG=i(R)`
|
|
996
1001
|
padding: 0;
|
|
997
1002
|
cursor: pointer;
|
|
998
1003
|
position: relative;
|
|
@@ -1118,7 +1123,7 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
1118
1123
|
.rc-slider-mark-text {
|
|
1119
1124
|
font-size: 0.4rem;
|
|
1120
1125
|
}
|
|
1121
|
-
`;class
|
|
1126
|
+
`;class eW 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 eB=i.div`
|
|
1122
1127
|
height: 100%;
|
|
1123
1128
|
width: 100%;
|
|
1124
1129
|
position: relative;
|
|
@@ -1130,13 +1135,13 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
1130
1135
|
height: 100%;
|
|
1131
1136
|
width: 100%;
|
|
1132
1137
|
}
|
|
1133
|
-
`,
|
|
1138
|
+
`,eV=({onChange:e,onMove:o,points:r,type:i="monotonic",textColor:d="red",curveColor:c=H.colors.accent2,gridStep:h=.25,gridColor:p=H.colors.elevation2,controlPointRadius:g=14,controlPointColor:m=H.colors.vivid1})=>{let u=s(null),[f,v]=l(),b=a(o=>{let t=o.getPoints();e?.(t)},[e]),x=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(d),[f,d]),n(()=>{f?.setCurveColor("idle",c)},[f,c]),n(()=>{f?.setControlPointColor("idle",m)},[f,m]),n(()=>{if(f)return f.setCurveThickness(4),f.on("movePoint",x),f.on("releasePoint",b),f.on("pointAdded",b),f.on("pointRemoved",b),f.draw(),()=>{f.off("movePoint",x),f.off("releasePoint",b),f.off("pointAdded",b),f.off("pointRemoved",b)}},[f,b,x]),n(()=>{u.current&&v(new eW(u.current,1024,1024))},[u]),t(eB,{ref:u})},eU=i.div``,eJ=i.div`
|
|
1134
1139
|
font-family: var(--leva-fonts-mono);
|
|
1135
1140
|
font-size: 0.7rem;
|
|
1136
1141
|
color: ${({theme:e})=>e.colors.whitePrimary};
|
|
1137
|
-
`,eJ=i.div`
|
|
1138
|
-
border-bottom: 1px solid ${({theme:e})=>e.colors.elevation1};
|
|
1139
1142
|
`,eK=i.div`
|
|
1143
|
+
border-bottom: 1px solid ${({theme:e})=>e.colors.elevation1};
|
|
1144
|
+
`,eY=i.div`
|
|
1140
1145
|
padding: 0.2rem 0.4rem;
|
|
1141
1146
|
font-size: 0.7rem;
|
|
1142
1147
|
color: ${({theme:e})=>e.colors.highlight2};
|
|
@@ -1147,11 +1152,11 @@ let e,o;import{jsx as t,jsxs as r}from"react/jsx-runtime";import i from"@emotion
|
|
|
1147
1152
|
grid-template-columns: ${({oneLineLabels:e})=>e?"1fr":"auto 10rem"};
|
|
1148
1153
|
row-gap: 0.1rem;
|
|
1149
1154
|
column-gap: 0.4rem;
|
|
1150
|
-
`,
|
|
1155
|
+
`,eX=i.div`
|
|
1151
1156
|
display: flex;
|
|
1152
1157
|
flex-direction: column;
|
|
1153
1158
|
gap: 0.4rem;
|
|
1154
1159
|
background: ${({theme:e})=>e.colors.elevation2};
|
|
1155
1160
|
padding: 0.4rem 0.1rem;
|
|
1156
|
-
`,
|
|
1161
|
+
`,eq=i.div``;export{U as Modal,ew as Checker,e$ as RadioGroup,eP as Input,eF as DropdownInput,eR as ColorInput,eD as NumberInput,eM as Button,eH as Select,eG as Slider,eV as SplineEditor,eU as ConfigRowLabel,eJ as ConfigRowControl,eK as ConfigRowSeparator,eY as ConfigRow,eX as ConfigPanel,eq as ConfigRowInner};
|
|
1157
1162
|
//# sourceMappingURL=components.js.map
|