@linkdlab/funcnodes_react_flow 0.3.18 → 0.3.19

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.
@@ -153,5 +153,5 @@ function(e,t){const n=vL(e,t);return"production"!==process.env.NODE_ENV?(...t)=>
153
153
  * content-type
154
154
  * Copyright(c) 2015 Douglas Christopher Wilson
155
155
  * MIT Licensed
156
- */var ZB=function(){if(XB)return $B;XB=1;var e=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,t=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,n=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,r=/\\([\u000b\u0020-\u00ff])/g,o=/([\\"])/g,i=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function a(e){var r=String(e);if(n.test(r))return r;if(r.length>0&&!t.test(r))throw new TypeError("invalid parameter value");return'"'+r.replace(o,"\\$1")+'"'}function s(e){this.parameters=Object.create(null),this.type=e}return $B.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.parameters,r=e.type;if(!r||!i.test(r))throw new TypeError("invalid type");var o=r;if(t&&"object"==typeof t)for(var s,l=Object.keys(t).sort(),c=0;c<l.length;c++){if(s=l[c],!n.test(s))throw new TypeError("invalid parameter name");o+="; "+s+"="+a(t[s])}return o},$B.parse=function(t){if(!t)throw new TypeError("argument string is required");var n="object"==typeof t?function(e){var t;"function"==typeof e.getHeader?t=e.getHeader("content-type"):"object"==typeof e.headers&&(t=e.headers&&e.headers["content-type"]);if("string"!=typeof t)throw new TypeError("content-type header is missing from object");return t}(t):t;if("string"!=typeof n)throw new TypeError("argument string is required to be a string");var o=n.indexOf(";"),a=-1!==o?n.slice(0,o).trim():n.trim();if(!i.test(a))throw new TypeError("invalid media type");var l=new s(a.toLowerCase());if(-1!==o){var c,u,d;for(e.lastIndex=o;u=e.exec(n);){if(u.index!==o)throw new TypeError("invalid parameter format");o+=u[0].length,c=u[1].toLowerCase(),34===(d=u[2]).charCodeAt(0)&&-1!==(d=d.slice(1,-1)).indexOf("\\")&&(d=d.replace(r,"$1")),l.parameters[c]=d}if(o!==n.length)throw new TypeError("invalid parameter format")}return l},$B}(),YB=new Map,UB=function(e){return e.cloneNode(!0)},JB=function(){return"file:"===window.location.protocol},KB=function(e,t,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){try{if(!/\.svg/i.test(e)&&2===r.readyState){var t=r.getResponseHeader("Content-Type");if(!t)throw new Error("Content type not found");var o=ZB.parse(t).type;if("image/svg+xml"!==o&&"text/plain"!==o)throw new Error("Invalid content type: ".concat(o))}if(4===r.readyState){if(404===r.status||null===r.responseXML)throw new Error(JB()?"Note: SVG injection ajax calls do not work locally without adjusting security settings in your browser. Or consider using a local webserver.":"Unable to load SVG file: "+e);if(!(200===r.status||JB()&&0===r.status))throw new Error("There was a problem injecting the SVG: "+r.status+" "+r.statusText);n(null,r)}}catch(e){if(r.abort(),!(e instanceof Error))throw e;n(e,r)}},r.open("GET",e),r.withCredentials=t,r.overrideMimeType&&r.overrideMimeType("text/xml"),r.send()},qB={},QB=function(e,t){qB[e]=qB[e]||[],qB[e].push(t)},eV=function(e,t,n){if(YB.has(e)){var r=YB.get(e);if(void 0===r)return void QB(e,n);if(r instanceof SVGSVGElement)return void n(null,UB(r))}YB.set(e,void 0),QB(e,n),KB(e,t,(function(t,n){var r;t?YB.set(e,t):(null===(r=n.responseXML)||void 0===r?void 0:r.documentElement)instanceof SVGSVGElement&&YB.set(e,n.responseXML.documentElement),function(e){for(var t=function(t,n){setTimeout((function(){if(Array.isArray(qB[e])){var n=YB.get(e),r=qB[e][t];n instanceof SVGSVGElement&&r(null,UB(n)),n instanceof Error&&r(n),t===qB[e].length-1&&delete qB[e]}}),0)},n=0,r=qB[e].length;n<r;n++)t(n)}(e)}))},tV=function(e,t,n){KB(e,t,(function(e,t){var r;e?n(e):(null===(r=t.responseXML)||void 0===r?void 0:r.documentElement)instanceof SVGSVGElement&&n(null,t.responseXML.documentElement)}))},nV=0,rV=[],oV={},iV="http://www.w3.org/1999/xlink",aV=function(e,t,n,r,o,i,a){var s=e.getAttribute("data-src")||e.getAttribute("src");if(s){if(-1!==rV.indexOf(e))return rV.splice(rV.indexOf(e),1),void(e=null);rV.push(e),e.setAttribute("src",""),(r?eV:tV)(s,o,(function(r,o){if(!o)return rV.splice(rV.indexOf(e),1),e=null,void a(r);var l=e.getAttribute("id");l&&o.setAttribute("id",l);var c=e.getAttribute("title");c&&o.setAttribute("title",c);var u=e.getAttribute("width");u&&o.setAttribute("width",u);var d=e.getAttribute("height");d&&o.setAttribute("height",d);var f=Array.from(new Set(Zd(Zd(Zd([],(o.getAttribute("class")||"").split(" "),!0),["injected-svg"],!1),(e.getAttribute("class")||"").split(" "),!0))).join(" ").trim();o.setAttribute("class",f);var p=e.getAttribute("style");p&&o.setAttribute("style",p),o.setAttribute("data-src",s);var h=[].filter.call(e.attributes,(function(e){return/^data-\w[\w-]*$/.test(e.name)}));if(Array.prototype.forEach.call(h,(function(e){e.name&&e.value&&o.setAttribute(e.name,e.value)})),n){var m,g,y,b,v,w={clipPath:["clip-path"],"color-profile":["color-profile"],cursor:["cursor"],filter:["filter"],linearGradient:["fill","stroke"],marker:["marker","marker-start","marker-mid","marker-end"],mask:["mask"],path:[],pattern:["fill","stroke"],radialGradient:["fill","stroke"]};Object.keys(w).forEach((function(e){m=e,y=w[e];for(var t=function(e,t){var n;b=g[e].id,v=b+"-"+ ++nV,Array.prototype.forEach.call(y,(function(e){for(var t=0,r=(n=o.querySelectorAll("["+e+'*="'+b+'"]')).length;t<r;t++){var i=n[t].getAttribute(e);i&&!i.match(new RegExp('url\\("?#'+b+'"?\\)'))||n[t].setAttribute(e,"url(#"+v+")")}}));for(var r=o.querySelectorAll("[*|href]"),i=[],a=0,s=r.length;a<s;a++){var l=r[a].getAttributeNS(iV,"href");l&&l.toString()==="#"+g[e].id&&i.push(r[a])}for(var c=0,u=i.length;c<u;c++)i[c].setAttributeNS(iV,"href","#"+v);g[e].id=v},n=0,r=(g=o.querySelectorAll(m+"[id]")).length;n<r;n++)t(n)}))}o.removeAttribute("xmlns:a");for(var x,C,k=o.querySelectorAll("script"),E=[],S=0,I=k.length;S<I;S++)(C=k[S].getAttribute("type"))&&"application/ecmascript"!==C&&"application/javascript"!==C&&"text/javascript"!==C||((x=k[S].innerText||k[S].textContent)&&E.push(x),o.removeChild(k[S]));if(E.length>0&&("always"===t||"once"===t&&!oV[s])){for(var _=0,A=E.length;_<A;_++)new Function(E[_])(window);oV[s]=!0}var N=o.querySelectorAll("style");if(Array.prototype.forEach.call(N,(function(e){e.textContent+=""})),o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("xmlns:xlink",iV),i(o),!e.parentNode)return rV.splice(rV.indexOf(e),1),e=null,void a(new Error("Parent node is null"));e.parentNode.replaceChild(o,e),rV.splice(rV.indexOf(e),1),e=null,a(null,o)}))}else a(new Error("Invalid data-src or src attribute"))},sV=["afterInjection","beforeInjection","desc","evalScripts","fallback","httpRequestWithCredentials","loading","renumerateIRIElements","src","title","useRequestCache","wrapper"],lV="http://www.w3.org/2000/svg",cV="http://www.w3.org/1999/xlink",uV=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this).initialState={hasError:!1,isLoading:!0},e.state=e.initialState,e._isMounted=!1,e.reactWrapper=void 0,e.nonReactWrapper=void 0,e.refCallback=function(t){e.reactWrapper=t},e}hB(n,t);var r=n.prototype;return r.renderSVG=function(){var e=this;if(this.reactWrapper instanceof function(e){return((null==e?void 0:e.ownerDocument)||document).defaultView||window}(this.reactWrapper).Node){var t,n,r=this.props,o=r.desc,i=r.evalScripts,a=r.httpRequestWithCredentials,s=r.renumerateIRIElements,l=r.src,c=r.title,u=r.useRequestCache,d=this.props.onError,f=this.props.beforeInjection,p=this.props.afterInjection,h=this.props.wrapper;"svg"===h?((t=document.createElementNS(lV,h)).setAttribute("xmlns",lV),t.setAttribute("xmlns:xlink",cV),n=document.createElementNS(lV,h)):(t=document.createElement(h),n=document.createElement(h)),t.appendChild(n),n.dataset.src=l,this.nonReactWrapper=this.reactWrapper.appendChild(t);var m=function(t){e.removeSVG(),e._isMounted?e.setState((function(){return{hasError:!0,isLoading:!1}}),(function(){d(t)})):d(t)};!function(e,t){var n=void 0===t?{}:t,r=n.afterAll,o=void 0===r?function(){}:r,i=n.afterEach,a=void 0===i?function(){}:i,s=n.beforeEach,l=void 0===s?function(){}:s,c=n.cacheRequests,u=void 0===c||c,d=n.evalScripts,f=void 0===d?"never":d,p=n.httpRequestWithCredentials,h=void 0!==p&&p,m=n.renumerateIRIElements,g=void 0===m||m;if(e&&"length"in e)for(var y=0,b=0,v=e.length;b<v;b++)aV(e[b],f,g,u,h,l,(function(t,n){a(t,n),e&&"length"in e&&e.length===++y&&o(y)}));else e?aV(e,f,g,u,h,l,(function(t,n){a(t,n),o(1),e=null})):o(0)}(n,{afterEach:function(t,n){t?m(t):e._isMounted&&e.setState((function(){return{isLoading:!1}}),(function(){try{p(n)}catch(e){m(e)}}))},beforeEach:function(e){if(e.setAttribute("role","img"),o){var t=e.querySelector(":scope > desc");t&&e.removeChild(t);var n=document.createElement("desc");n.innerHTML=o,e.prepend(n)}if(c){var r=e.querySelector(":scope > title");r&&e.removeChild(r);var i=document.createElement("title");i.innerHTML=c,e.prepend(i)}try{f(e)}catch(e){m(e)}},cacheRequests:u,evalScripts:i,httpRequestWithCredentials:a,renumerateIRIElements:s})}},r.removeSVG=function(){var e;null!=(e=this.nonReactWrapper)&&e.parentNode&&(this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper),this.nonReactWrapper=null)},r.componentDidMount=function(){this._isMounted=!0,this.renderSVG()},r.componentDidUpdate=function(e){var t=this;(function(e,t){for(var n in e)if(!(n in t))return!0;for(var r in t)if(e[r]!==t[r])return!0;return!1})(DR({},e),this.props)&&this.setState((function(){return t.initialState}),(function(){t.removeSVG(),t.renderSVG()}))},r.componentWillUnmount=function(){this._isMounted=!1,this.removeSVG()},r.render=function(){var t=this.props;t.afterInjection,t.beforeInjection,t.desc,t.evalScripts;var n=t.fallback;t.httpRequestWithCredentials;var r=t.loading;t.renumerateIRIElements,t.src,t.title,t.useRequestCache;var o=t.wrapper,i=MR(t,sV),a=o;return e.createElement(a,DR({},i,{ref:this.refCallback},"svg"===o?{xmlns:lV,xmlnsXlink:cV}:{}),this.state.isLoading&&r&&e.createElement(r,null),this.state.hasError&&n&&e.createElement(n,null))},n}(e.Component);uV.defaultProps={afterInjection:function(){},beforeInjection:function(){},desc:"",evalScripts:"never",fallback:null,httpRequestWithCredentials:!1,loading:null,onError:function(){},renumerateIRIElements:!0,title:"",useRequestCache:!0,wrapper:"div"},uV.propTypes={afterInjection:vy.func,beforeInjection:vy.func,desc:vy.string,evalScripts:vy.oneOf(["always","once","never"]),fallback:vy.oneOfType([vy.func,vy.object,vy.string]),httpRequestWithCredentials:vy.bool,loading:vy.oneOfType([vy.func,vy.object,vy.string]),onError:vy.func,renumerateIRIElements:vy.bool,src:vy.string.isRequired,title:vy.string,useRequestCache:vy.bool,wrapper:vy.oneOf(["div","span","svg"])};const dV=({value:t,renderoptions:n})=>(void 0===n&&(n={}),void 0===n.format&&(n.format="jpeg"),e.createElement("img",{src:"data:image/"+n.format+";base64, "+t,style:{maxWidth:"100%",maxHeight:"100%"}})),fV=({value:t})=>e.createElement(uV,{src:`data:image/svg+xml;base64,${btoa(t)}`,style:{maxWidth:"100%",maxHeight:"100%"},beforeInjection:e=>{e.classList.add("svg-class-name"),e.setAttribute("style","max-width: 100%; max-height: 100%;"),e.setAttribute("width","100%"),e.setAttribute("height","100%")}}),pV=({io:t})=>{let n=t.fullvalue;if(null==n&&(n=t.value),void 0===n&&(n=""),"string"!=typeof n||n.length%4!=0)return e.createElement("div",null,n);const r=Math.round(3*n.length/4);return e.createElement("div",null,e.createElement("pre",null,"Bytes(",r,")"))},hV=({io:t})=>{let n=t.fullvalue;return void 0===n&&(n=t.value),void 0===n&&(n={}),e.createElement(UD,{data:n})},mV={float:({io:e,inputconverter:t})=>SD({io:e,inputconverter:t,parser:parseFloat}),int:({io:e,inputconverter:t})=>SD({io:e,inputconverter:t,parser:parseInt}),bool:({io:t,inputconverter:n})=>{const r=o(nG),i=void 0===t.value,a=u(null);s((()=>{a.current&&(a.current.indeterminate=i)}),[a,i]);return e.createElement("input",{ref:a,type:"checkbox",className:"styledcheckbox booleaninput",checked:!!n[1](t.value),onChange:e=>{let o=e.target.checked;try{o=n[0](e.target.checked)}catch(e){}r.worker?.set_io_value({nid:t.node,ioid:t.id,value:o,set_default:t.render_options.set_default})},disabled:t.connected})},string:ID,str:ID,color:({io:t})=>{const n=o(nG),r=t.value_options?.colorspace||"hex";let i=!1;return"string"!=typeof t.type&&"anyOf"in t.type&&void 0!==t.type.anyOf&&(i=t.type.anyOf.some((e=>"None"===e))),e.createElement(gO,{onChange:e=>{let o="<NoValue>";e&&(o=e[r]?e[r]():e.hex()),null===e&&(o=null),n.worker?.set_io_value({nid:t.node,ioid:t.id,value:o,set_default:t.render_options.set_default})},inicolordata:t.value,allow_null:i,inicolorspace:r})},select:RD,enum:RD,bytes:pV},gV={Inputrenderer:mV,Outputrenderer:{},HandlePreviewRenderer:{bytes:pV},DataOverlayRenderer:{},DataPreviewViewRenderer:{string:({io:t})=>{let n=t.fullvalue;return null==n&&(n=t.value),n=void 0===n?"":JSON.stringify(t.value).replace(/\\n/g,"\n"),e.createElement("div",null,e.createElement("pre",null,n))},table:({io:t})=>{let n=t.fullvalue;return null==n&&(n=t.value),void 0===n&&(n=[]),e.createElement(HB,{tabledata:n})},image:({io:t})=>{let n=t.fullvalue;return null==n&&(n=t.value),void 0===n&&(n=""),e.createElement(dV,{value:n})},svg:({io:t})=>{let n=t.fullvalue;return null==n&&(n=t.value),void 0===n&&(n=""),e.createElement(fV,{value:n})},dict:hV,bytes:pV},DataViewRenderer:{},InLineRenderer:{bytes:({io:e})=>{let t=e.fullvalue;null==t&&(t=e.value),t=void 0===t?"":JSON.stringify(e.value).replace(/\\n/g,"\n");return`Bytes(${Math.round(3*t.length/4)})`}}},yV=(e,t)=>{const n=t.options||{},r=void 0===n.overwrite||n.overwrite;switch(t.type){case"EXTEND_INPUT_RENDER":return!r&&e.Inputrenderer[t.payload.type]?e:{...e,Inputrenderer:{...e.Inputrenderer,[t.payload.type]:t.payload.component}};case"EXTEND_OUTPUT_RENDER":return!r&&e.Outputrenderer[t.payload.type]?e:{...e,Outputrenderer:{...e.Outputrenderer,[t.payload.type]:t.payload.component}};case"EXTEND_HANDLE_PREVIEW_RENDER":return!r&&e.HandlePreviewRenderer[t.payload.type]?e:{...e,HandlePreviewRenderer:{...e.HandlePreviewRenderer,[t.payload.type]:t.payload.component}};case"EXTEND_DATA_OVERLAY_RENDER":return!r&&e.DataOverlayRenderer[t.payload.type]?e:{...e,DataOverlayRenderer:{...e.DataOverlayRenderer,[t.payload.type]:t.payload.component}};case"EXTEND_DATA_PREVIEW_RENDER":return!r&&e.DataPreviewViewRenderer[t.payload.type]?e:{...e,DataPreviewViewRenderer:{...e.DataPreviewViewRenderer,[t.payload.type]:t.payload.component}};case"EXTEND_DATA_VIEW_RENDER":return!r&&e.DataViewRenderer[t.payload.type]?e:{...e,DataViewRenderer:{...e.DataViewRenderer,[t.payload.type]:t.payload.component}};case"EXTEND_FROM_PLUGIN":let n=!1;const o=[[t.payload.plugin.input_renderers||{},e.Inputrenderer],[t.payload.plugin.output_renderers||{},e.Outputrenderer],[t.payload.plugin.handle_preview_renderers||{},e.HandlePreviewRenderer],[t.payload.plugin.data_overlay_renderers||{},e.DataOverlayRenderer],[t.payload.plugin.data_preview_renderers||{},e.DataPreviewViewRenderer],[t.payload.plugin.data_view_renderers||{},e.DataViewRenderer]];for(const[e,t]of o){if(Object.keys(e).length>0)if(r)n=!0;else for(const r in e)if(!t[r]){n=!0;break}if(n)break}if(!n)return e;for(const[e,t]of o)for(const n in e)!r&&t[n]||(t[n]=e[n]);return{...e};default:return e}},bV=({children:t,plugins:n,fnrf_zst:r})=>{const[o,i]=v(yV,gV),a=(e,t)=>{i({type:"EXTEND_FROM_PLUGIN",payload:{plugin:e},options:t})};return s((()=>{for(const t in n){const o=n[t].RendererPlugin;o&&a(o);const i=n[t].renderpluginfactory;i&&a(i({React:e,fnrf_zst:r}))}}),[n]),e.createElement(vV.Provider,{value:{Inputrenderer:o.Inputrenderer,Outputrenderer:o.Outputrenderer,HandlePreviewRenderer:o.HandlePreviewRenderer,DataOverlayRenderer:o.DataOverlayRenderer,DataPreviewViewRenderer:o.DataPreviewViewRenderer,DataViewRenderer:o.DataViewRenderer,InLineRenderer:o.InLineRenderer,extendInputRenderMapping:(e,t,n)=>{i({type:"EXTEND_INPUT_RENDER",payload:{type:e,component:t},options:n})},extendOutputRenderMapping:(e,t,n)=>{i({type:"EXTEND_OUTPUT_RENDER",payload:{type:e,component:t},options:n})},extendHandlePreviewRenderMapping:(e,t,n)=>{i({type:"EXTEND_HANDLE_PREVIEW_RENDER",payload:{type:e,component:t},options:n})},extendDataOverlayRenderMapping:(e,t,n)=>{i({type:"EXTEND_DATA_OVERLAY_RENDER",payload:{type:e,component:t},options:n})},extendDataPreviewRenderMapping:(e,t,n)=>{i({type:"EXTEND_DATA_PREVIEW_RENDER",payload:{type:e,component:t},options:n})},extendDataViewRenderMapping:(e,t,n)=>{i({type:"EXTEND_DATA_VIEW_RENDER",payload:{type:e,component:t},options:n})},extendFromPlugin:a}},t)},vV=i({Inputrenderer:gV.Inputrenderer,Outputrenderer:gV.Outputrenderer,HandlePreviewRenderer:gV.HandlePreviewRenderer,DataOverlayRenderer:gV.DataOverlayRenderer,DataPreviewViewRenderer:gV.DataPreviewViewRenderer,DataViewRenderer:gV.DataViewRenderer,InLineRenderer:gV.InLineRenderer,extendInputRenderMapping:(e,t,n)=>{},extendOutputRenderMapping:(e,t,n)=>{},extendHandlePreviewRenderMapping:(e,t,n)=>{},extendDataOverlayRenderMapping:(e,t,n)=>{},extendDataPreviewRenderMapping:(e,t,n)=>{},extendDataViewRenderMapping:(e,t,n)=>{},extendFromPlugin:(e,t)=>{}}),wV=({component:t,...n})=>e.createElement(t,{...n}),xV=e=>{const t=o(nG).render_options(),[n]=CV(e.type,t.typemap||{});if(!n)return hV;const{DataOverlayRenderer:r,DataPreviewViewRenderer:i}=o(vV);return r[n]?r[n]:i[n]?i[n]:hV},CV=(e,t)=>{if("string"==typeof e)return e in t?[t[e],e]:[e,e];if("allOf"in e&&void 0!==e.allOf)return[void 0,void 0];if("anyOf"in e&&void 0!==e.anyOf){const n=e.anyOf.map((e=>CV(e,t)));for(const e of n)switch(e[0]){case"bool":return["bool",e[1]];case"enum":return["enum",e[1]];case"float":return["float",e[1]];case"int":return["int",e[1]];case"string":case"str":return["string",e[1]]}return[void 0,void 0]}return"type"in e&&void 0!==e.type&&"enum"===e.type?["enum","enum"]:[void 0,void 0]},kV=({io:t,typestring:n,preview:r,...i})=>{const[a,s]=c(!1),[l,u]=c(!1),d=e.useContext(nG),[f,p]=t?(e=>{const t=o(nG).render_options(),[n]=CV(e.type,t.typemap||{}),{HandlePreviewRenderer:r,DataPreviewViewRenderer:i}=o(vV),a=xV(e);return n?r[n]?[r[n],a]:i[n]?[i[n],a]:[hV,a]:[hV,a]})(t):[void 0,void 0],h=d.local_state((()=>d.reactflowRef));return e.createElement(iO,{open:a||l,onOpenChange:u},e.createElement(aO,{asChild:!0},e.createElement(Ai,{id:t.id,"data-type":n,...i})),e.createElement(sO,{container:h},e.createElement(lO,{className:"iotooltipcontent",sideOffset:5},e.createElement("div",{className:"iotooltip_container"},e.createElement("div",{className:"iotooltip_header"},a?e.createElement(ub,{onClick:()=>s(!1)}):e.createElement(cb,{onClick:()=>s(!0)}),p&&e.createElement(hb,{title:t.full_id,trigger:e.createElement(tb,null),onOpenChange:e=>{e&&t.try_get_full_value&&t.try_get_full_value(),s(e)}},e.createElement(wV,{component:p,io:t}))),f?e.createElement(wV,{component:f,io:t}):`no preview available for "${n}"`),e.createElement(cO,{className:"iotooltipcontentarrow"}))))},EV={"":[e=>e,e=>e],str_to_json:[e=>JSON.parse(e),e=>"string"==typeof e?e:JSON.stringify(e)],str_to_list:[e=>{try{const t=JSON.parse(e);return Array.isArray(t)?t:[t]}catch(t){try{return JSON.parse("["+e+"]")}catch(e){}}throw new Error("Invalid list")},e=>JSON.stringify(e)]},SV=({io:t})=>{const n=o(nG).render_options(),[r,i]=CV(t.render_options.type,n.typemap||{}),{Inputrenderer:a}=o(vV),s=r?t.value_options?.options?RD:a[r]:void 0,l=EV[(i&&n.inputconverter?.[i])??""];return e.createElement("div",{className:"nodeinput","data-type":r},e.createElement(kV,{io:t,typestring:r,position:Ho.Left,type:"target"}),s&&e.createElement("div",{className:"iovaluefield nodrag","data-type":r},e.createElement(s,{io:t,inputconverter:l})),e.createElement("div",{className:"ioname"},t.name),e.createElement(kV,{io:t,typestring:r,position:Ho.Right,type:"source"}))},IV=({io:t,typestring:n})=>{const{InLineRenderer:r}=o(vV);if(n&&r[n])return e.createElement("div",null,r[n]({io:t}));let i=t.fullvalue;return null==i&&(i=t.value),i=void 0===i?"":JSON.stringify(i).replace(/\\n/g,"\n"),i.length>63&&(i=i.slice(0,60)+"..."),e.createElement("div",null,i)},_V=({io:t})=>{const n=o(nG).render_options(),[r]=CV(t.type,n.typemap||{}),{Outputrenderer:i}=o(vV),a=r?i[r]:void 0;return e.createElement("div",{className:"nodeoutput","data-type":r},e.createElement(kV,{io:t,typestring:r,position:Ho.Right,type:"source"}),e.createElement("div",{className:"ioname"},t.name),a?e.createElement("div",{className:"iovaluefield nodrag"},e.createElement(a,{io:t})):e.createElement("div",{className:"iovaluefield"},e.createElement(IV,{io:t,typestring:r})))};function AV(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,"0")}`}function NV(e,t){const n=["","K","M","G","T"];let r=0;for(;e>=t&&r<n.length-1;)e/=t,r++;return[e.toFixed(2),n[r]]}const OV=({state:t,className:n="reacttqdm",...r})=>{const o=u(null),i=u(null);s((()=>{const e=()=>{o.current&&i.current&&function(e,t,n={}){const{maxFontSize:r=100,minFontSize:o=6,decrementFactor:i=.9}=n;if(!e||!t)return;if(i>=1||i<=0)throw new Error("decrementFactor must be between 0 and 1");const a=e.getBoundingClientRect(),s=a.width,l=a.height;let c=r;t.style.whiteSpace="nowrap",t.style.display="inline-block",t.style.fontSize=c+"px";let u=t.getBoundingClientRect();for(;(u.width>s||u.height>l)&&c>o;)c*=i,t.style.fontSize=c+"px",u=t.getBoundingClientRect()}(o.current,i.current,{maxFontSize:12,decrementFactor:.9})};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]);const a=t.total?t.n/t.total*100:0;return e.createElement("div",{ref:o,className:n,...r},e.createElement("div",{style:{position:"relative",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"}},e.createElement("div",{className:n+"-bar",style:{position:"absolute",width:"100%",height:"100%",overflow:"hidden"}},e.createElement("div",{className:n+"-progress",style:{width:`${a}%`,height:"100%"}})),e.createElement("div",{className:n+"-text",ref:i},function(e={n:0,elapsed:0,ascii:!1,unit:"it",unit_scale:!1,unit_divisor:1e3}){let t=e.total??null;const{n:n,unit_scale:r,elapsed:o,unit:i,unit_divisor:a,prefix:s="",rate:l,postfix:c=null,initial:u=0}=e;null!==t&&n>=t+.5&&(t=null);let d=n,f=t,p=l;r&&!0!==r&&1!==r&&(null!==t&&(f=t*r),d=n*r,void 0!==l&&(p=l*r));const h=AV(o);void 0===p&&o>0&&(p=(d-u)/o);const m=p?1/p:void 0,[g,y]=p?NV(p,a):[void 0,""],[b,v]=m?NV(m,1e3):[void 0,""],w=m&&m>1?b?`${b}${v}s/`+i:"?":(g||"?")+`${y}${i}/s`,x=r?NV(d,a).join(""):d.toString(),C=r&&null!==f?NV(f,a).join(""):f?.toString()??"?",k=p?AV(p&&null!==f?(f-d)/p:0):"?",E=s?`${s}: `:"";if(null!==t){const e=` ${x}/${C} [${h} < ${k}, ${w}${c??""}]`;return`${E}${(d/t*100).toFixed(0)}%${e}`}return`${E}${x}${i} [${h}, ${w}${c??""}]`}(t))))},RV=({node_data:t})=>{const n=o(nG);return e.createElement("div",{className:"nodeheader",title:t.description||t.node_name},e.createElement("div",{className:"nodeheader_element"},e.createElement(fb,{fontSize:"inherit",className:"triggerbutton",onClick:()=>{n.on_node_action({type:"trigger",from_remote:!1,id:t.id})}}),e.createElement(db,{fontSize:"inherit",onClick:async()=>{n.logger.info("nodestatus",await(n.worker?.get_node_status(t.id)))}})),e.createElement("div",{className:"nodeheader_element nodeheader_title"},e.createElement("div",{className:"nodeheader_title_text"},t.node_name)),e.createElement("div",{className:"nodeheader_element"},e.createElement(sb,{fontSize:"inherit"})))},MV=({node_data:t})=>{const n=t.render_options?.data?.src?t.io[t.render_options?.data?.src]:void 0,[r,i]=n?(e=>{const t=o(nG).render_options(),[n]=CV(e.type,t.typemap||{}),r=xV(e),{DataPreviewViewRenderer:i,DataViewRenderer:a}=o(vV);return n?a[n]?[a[n],r]:i[n]?[i[n],r]:[hV,r]:[hV,r]})(n):[void 0,void 0];return e.createElement("div",{className:"nodrag nodedatabody","data-src":t.render_options?.data?.src||""},r&&n&&e.createElement(hb,{title:n.full_id,trigger:e.createElement("div",{className:"nodedatabutton"},e.createElement(wV,{component:r,io:n})),onOpenChange:e=>{e&&n?.try_get_full_value&&n?.try_get_full_value()}},e.createElement(wV,{component:i,io:n})))},TV=({node_data:t})=>{const n=Object.values(t.io).filter((e=>e.is_input)),r=Object.values(t.io).filter((e=>!e.is_input));return t.render_options,e.createElement("div",{className:"nodebody"},r.map((t=>t.hidden?null:e.createElement(_V,{key:t.id,io:t}))),e.createElement(MV,{node_data:t}),n.map((t=>t.hidden?null:e.createElement(SV,{key:t.id,io:t}))))},PV=({node_data:t})=>{const[n,r]=c(t.name);s((()=>{r(t.name)}),[t]);const i=o(nG);return e.createElement("input",{className:"nodename_input",value:n,onChange:e=>{r(e.target.value)},onBlur:e=>{const n=e.target.value;i.on_node_action({type:"update",from_remote:!1,id:t.id,node:{name:n}})}})},DV=({node_data:t})=>t.progress?e.createElement(OV,{style:{height:"idle"===t.progress.prefix?"0px":void 0},state:t.progress,className:"nodeprogress"}):null,jV=({node_data:t})=>e.createElement("div",{className:"nodefooter"},t.error&&e.createElement("div",{className:"nodeerror"},t.error),e.createElement(DV,{node_data:t})),LV=({io:t})=>{const n=e.useContext(nG).render_options(),[r,o]=CV(t.render_options.type,n.typemap||{}),{Inputrenderer:i}=e.useContext(vV),a=r?t.value_options?.options?RD:i[r]:void 0,s=EV[(o&&n.inputconverter?.[o])??""];return e.createElement("div",{className:"nodesettings_component"},e.createElement("div",null,t.name),a&&e.createElement(a,{io:t,inputconverter:s}),e.createElement("div",null,e.createElement("label",null,"hidden:",e.createElement("input",{className:"styledcheckbox",type:"checkbox",disabled:t.connected,onChange:e=>{t.set_hidden?.(e.target.checked)},checked:t.hidden}))))},FV=({io:t})=>e.createElement("div",{className:"nodesettings_component"},e.createElement("div",null,t.name),e.createElement("div",null,e.createElement("label",null,"hidden:",e.createElement("input",{className:"styledcheckbox",type:"checkbox",disabled:t.connected,onChange:e=>{t.set_hidden?.(e.target.checked)},checked:t.hidden})))),zV=({nodestore:t})=>{const n=t(),r=Object.values(n.io).filter((e=>e.is_input)),o=Object.values(n.io).filter((e=>!e.is_input));return e.createElement("div",{className:"nodesettings_content"},e.createElement("div",{className:"nodesettings_section"},e.createElement("div",{className:"nodesettings_component"},e.createElement("div",null,"Name"),e.createElement("div",null,e.createElement(PV,{node_data:n})))),e.createElement("div",{className:"nodesettings_section"},e.createElement("div",null,"Inputs"),r.map((t=>e.createElement(LV,{io:t,key:t.id})))),e.createElement("div",{className:"nodesettings_section"},e.createElement("div",null,"Outputs"),o.map((t=>e.createElement(FV,{io:t,key:t.id})))))},BV=()=>{const t=e.useContext(nG),n=t.local_state((e=>e.selected_nodes));if(0===n.length)return e.createElement("div",null,"Node Settings");if(n.length>1)return e.createElement("div",null,"Multiple Nodes Selected");const r=t.nodespace.get_node(n[0]);return r?e.createElement(zV,{nodestore:r}):e.createElement("div",null,"Node not found")},VV=()=>{const t=e.useContext(nG),n=t.local_settings((e=>e.view_settings.expand_node_props)),r=t.local_settings((e=>e.update_view_settings));return e.createElement(LC,{maxSize:"300px",direction:"left",expanded:void 0!==n&&n,containerClassName:"pos-right pos-top bg1 h-12",className:"nodesettings_content",onExpandChange:e=>{r({expand_node_props:e})}},e.createElement(BV,null))},GV=e=>({nodes:e.nodes,edges:e.edges,onNodesChange:e.onNodesChange,onEdgesChange:e.onEdgesChange,onConnect:e.onConnect}),WV={default:({data:t})=>{const n=t.UseNodeStore(),r=n.properties["frontend:collapsed"]||!1,{visualTrigger:i}=(e=>{const t=o(nG),[n,r]=c(!1);return s((()=>{t.worker?.call_hooks("node_mounted",e.id)}),[t.worker,e.id]),s((()=>{let t;return e.in_trigger&&!n?r(!0):n&&(t=setTimeout((()=>r(!1)),200)),()=>clearTimeout(t)}),[e.in_trigger,n]),{visualTrigger:n}})(n);return e.createElement(e.Fragment,null,e.createElement("div",{className:"innernode"+(i?" intrigger":"")+(n.error?" error":"")},e.createElement(RV,{node_data:n}),e.createElement(PV,{node_data:n}),r?null:e.createElement(TV,{node_data:n}),e.createElement(jV,{node_data:n})))}},HV={default:({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:a,targetPosition:s,data:l,...c})=>{const[u]=ri({sourceX:n,sourceY:r,sourcePosition:a,targetX:o,targetY:i,targetPosition:s});return e.createElement(e.Fragment,null,e.createElement(Do,{id:t,path:u,...c}))}},XV=()=>{const t=fa();return o(nG).rf_instance=t,e.createElement(e.Fragment,null)},$V=()=>{const t=o(nG),n=Qi("Delete"),r=co(Vs,fe),i=co(Bs,fe);if(n){for(const n of r)if(n.selected){if(!t.worker)return e.createElement(e.Fragment,null);if(!n.source||!n.target)return e.createElement(e.Fragment,null);if(!n.sourceHandle||!n.targetHandle)return e.createElement(e.Fragment,null);t.worker.remove_edge({src_nid:n.source,src_ioid:n.sourceHandle,trg_nid:n.target,trg_ioid:n.targetHandle})}for(const n of i)if(n.selected){if(!t.worker)return e.createElement(e.Fragment,null);t.worker.remove_node(n.id)}}return e.createElement(e.Fragment,null)},ZV=({id:t,top:n,left:r,right:i,bottom:a,...s})=>{const{getNode:c,setNodes:u,addNodes:d,setEdges:f}=fa(),p=o(nG),h=l((()=>{const e=c(t);if(!e)return;const n={x:e.position.x+50,y:e.position.y+50};d({...e,id:`${e.id}-copy`,position:n})}),[t,c,d]),m=l((()=>{p.on_node_action({type:"delete",id:t,from_remote:!1})}),[t,u,f]),g=p.nodespace.get_node(t,!1);if(!g)return e.createElement(e.Fragment,null," ");const y=g();return e.createElement("div",{style:{top:n,left:r,right:i,bottom:a},className:"context-menu",...s},e.createElement("p",{style:{fontWeight:"bold"}},e.createElement("small",null,y.name)),e.createElement("button",{onClick:h},"duplicate"),e.createElement("button",{onClick:m},"delete"))},YV=t=>{const n=o(nG),r=u(null);s((()=>{n.reactflowRef=r.current}),[r]);const[i,a]=c(null),d=l((()=>a(null)),[a]),{nodes:f,edges:p,onNodesChange:h,onEdgesChange:m,onConnect:g}=n.useReactFlowStore(AN(GV));return e.createElement("div",{className:"reactflowlayer"},e.createElement(zs,{nodes:f,edges:p,onNodesChange:h,onEdgesChange:m,onConnect:g,nodeTypes:WV,edgeTypes:HV,minZoom:t.minZoom,maxZoom:t.maxZoom,fitView:!0,onSelectionChange:({nodes:e,edges:t})=>{const r=n.local_state.getState();n.local_state.setState({...r,selected_nodes:e.map((e=>e.id)),selected_edges:t.map((e=>e.id))})},ref:r,onPaneClick:d,panOnDrag:!t.static},e.createElement(XV,null),e.createElement($V,null),e.createElement(ol,{color:"#888",gap:16,size:1}),t.minimap&&e.createElement(Ks,{nodeStrokeWidth:3,pannable:!t.static,zoomable:!t.static,zoomStep:3}),i&&e.createElement(ZV,{onClick:d,...i})))},UV=i(void 0),JV=n(((t,n)=>{const{asChild:r,children:o,className:i,style:a,...s}=t,[l,d]=c(!1),f=u(null),[p,h]=c(null),[m,g]=c({}),y=t.htime||300,b=t.vtime||300,v=t.hdelay||0,C=t.vdelay||200;w(n,(()=>f.current),[]);let k;if(r&&e.isValidElement(o)){const t=o,n=[t.props.className,i,"smooth-expand",l?"smooth-expand-expanded":""].filter(Boolean).join(" "),r={...t.props.style,...a,...m};k=e.cloneElement(t,{ref:f,className:n,style:r,...s})}else k=e.createElement("div",{ref:f,...s,className:`smooth-expand ${l?"smooth-expand-expanded":""} ${i||""}`,style:{...a,...m}},o);const E=e.createElement(UV.Provider,{value:{isExpanded:l,toggleExpand:async()=>{f.current&&(l?await(async()=>{if(!f.current)return;if(!p)return;const e={transitionProperty:"width, left, height, top",transitionDuration:`${y}ms, ${y}ms, ${b}ms, ${b}ms`};g((t=>({...t,...e})));const[t,n,r,o]=p,i=new Promise((e=>{setTimeout((()=>{g((e=>({...e,left:`${t}px`,width:`${r}px`}))),e()}),C)})),a=new Promise((e=>{setTimeout((()=>{g((e=>({...e,top:`${n}px`,height:`${o}px`}))),e()}),v)})),s=Math.max(y+v,b+C),l=new Promise((e=>{setTimeout((()=>{e()}),s)}));await Promise.all([i,a,l]),f.current.style.transition="",g({}),d(!1)})():await(async()=>{if(!f.current)return;f.current.style.transition="none",f.current.style.position="",f.current.style.top="",f.current.style.left="",f.current.style.width="",f.current.style.height="";const e=f.current.getBoundingClientRect();h([e.left,e.top,e.width,e.height]),f.current.style.transition="none",g({position:"absolute",top:`${e.top}px`,left:`${e.left}px`,width:`${e.width}px`,height:`${e.height}px`}),g((e=>({...e,transitionProperty:"width, left, height, top",transitionDuration:`${y}ms, ${y}ms, ${b}ms, ${b}ms`}))),d(!0);const t=new Promise((e=>{setTimeout((()=>{g((e=>({...e,left:"0px",width:"100vw"}))),e()}),v)})),n=new Promise((e=>{setTimeout((()=>{g((e=>({...e,top:"0px",height:"100vh"}))),e()}),C)})),r=Math.max(y+v,b+C),o=new Promise((e=>{setTimeout((()=>{e()}),r)}));await Promise.all([t,n,o])})())}}},k);return l?x.createPortal(E,document.body):E}));JV.Trigger=function({children:t}){const n=o(UV);if(!n)throw new Error("SmoothExpandComponent.Trigger must be used within a SmoothExpandComponent");return e.createElement("div",{style:{cursor:"pointer"},onClick:n.toggleExpand},t)},JV.Expanded=function({children:t}){const n=o(UV);if(!n)throw new Error("SmoothExpandComponent.Expanded must be used within a SmoothExpandComponent");return n.isExpanded?e.createElement(e.Fragment,null,t):null},JV.Collapsed=function({children:t}){const n=o(UV);if(!n)throw new Error("SmoothExpandComponent.Collapsed must be used within a SmoothExpandComponent");return n.isExpanded?null:e.createElement(e.Fragment,null,t)};const KV=e.createContext(void 0),qV=n(((t,n)=>{const{asChild:r,children:o,className:i,style:a,...d}=t,f=u(null);w(n,(()=>f.current),[]);const[p,h]=c(!1),m=l((async()=>{try{const e=f.current;if(!e)return;if(p){const e=document;e.exitFullscreen?await e.exitFullscreen():e.mozCancelFullScreen?await e.mozCancelFullScreen():e.webkitExitFullscreen?await e.webkitExitFullscreen():e.msExitFullscreen&&await e.msExitFullscreen(),h(!1)}else e.requestFullscreen?await e.requestFullscreen():e.mozRequestFullScreen?await e.mozRequestFullScreen():e.webkitRequestFullscreen?await e.webkitRequestFullscreen():e.msRequestFullscreen&&await e.msRequestFullscreen(),h(!0)}catch(e){console.error("Error toggling fullscreen",e)}}),[p]);let g;if(s((()=>{const e=()=>{const e=document.fullscreenElement;h(!!e)};return document.addEventListener("fullscreenchange",e),document.addEventListener("webkitfullscreenchange",e),document.addEventListener("mozfullscreenchange",e),document.addEventListener("MSFullscreenChange",e),()=>{document.removeEventListener("fullscreenchange",e),document.removeEventListener("webkitfullscreenchange",e),document.removeEventListener("mozfullscreenchange",e),document.removeEventListener("MSFullscreenChange",e)}}),[]),r&&e.isValidElement(o)){const t=o,n=[t.props.className,i].filter(Boolean).join(" "),r={...t.props.style,...a};g=e.cloneElement(t,{ref:f,className:n,style:r,...d})}else g=e.createElement("div",{ref:f,...d,className:i,style:a},o);return e.createElement(KV.Provider,{value:{isFullScreen:p,toggleFullscreen:m}},g)}));qV.Trigger=function({children:t}){const n=e.useContext(KV);if(!n)throw new Error("FullScreenComponent.Trigger must be used within a FullScreenComponent");return e.createElement("div",{style:{cursor:"pointer"},onClick:n.toggleFullscreen},t)},qV.InFullScreen=function({children:t}){const n=e.useContext(KV);if(!n)throw new Error("FullScreenComponent.Expanded must be used within a FullScreenComponent");return n.isFullScreen?e.createElement(e.Fragment,null,t):null},qV.OutFullScreen=function({children:t}){const n=e.useContext(KV);if(!n)throw new Error("FullScreenComponent.Collapsed must be used within a FullScreenComponent");return n.isFullScreen?null:e.createElement(e.Fragment,null,t)};const QV=({fnrf_zst:t,header:n,flow:r,library:o})=>{const[i,a]=c(t.options.worker),s=e.useRef(null);t.workermanager&&(t.workermanager.on_setWorker=a),t.set_worker(i),e.useEffect((()=>{t.auto_progress()}),[]),e.useEffect((()=>{t.local_state.setState({funcnodescontainerRef:s.current})}),[s]);const l=t.plugins();return e.createElement(bV,{plugins:l,fnrf_zst:t},e.createElement(nG.Provider,{value:t},e.createElement(JV,{asChild:!0},e.createElement(qV,{asChild:!0},e.createElement(PC,{style:{height:"100%",width:"100%"}},e.createElement("div",{ref:s,className:"funcnodesreactflowcontainer funcnodescontainer"},n.show&&e.createElement(WC,{...n}),e.createElement("div",{className:"funcnodesreactflowbody"},e.createElement(YV,{...r}),i&&o.show&&e.createElement(IN,null),i&&r.showNodeSettings&&e.createElement(VV,null)),e.createElement("div",{className:"funcnodesflaotingmenu"},e.createElement(qV.OutFullScreen,null,r.allowExpand&&e.createElement(JV.Trigger,null,e.createElement(JV.Expanded,null,e.createElement(rb,{size:"xl",style:{padding:"4px"}})),e.createElement(JV.Collapsed,null,e.createElement(ob,{size:"xl",style:{padding:"4px"}})))),r.allowFullScreen&&e.createElement(qV.Trigger,null,e.createElement(qV.OutFullScreen,null,e.createElement(tb,{size:"xl",style:{padding:"4px"}})),e.createElement(qV.InFullScreen,null,e.createElement(nb,{size:"xl",style:{padding:"4px"}}))))))))))},eG={},tG={id:"",debug:!1,useWorkerManager:!0,show_library:!0,header:{show:!0,showmenu:!0},flow:{minimap:!0,static:!1,minZoom:.1,maxZoom:5,allowFullScreen:!0,allowExpand:!0,showNodeSettings:!0},library:{show:!0}},nG=i(ml(tG)),rG=t=>{let n=q(t,{...tG,id:Hu()}).new_obj;if(!n.useWorkerManager&&void 0===n.worker)return e.createElement("div",null,"Error: If you don't use a worker manager, you must provide a default worker.");if(t.useWorkerManager&&void 0===t.workermanager_url)return e.createElement("div",null,"Error: If you use a worker manager, you must provide a worker manager url.");if(void 0===window.fnrf_zst&&(window.fnrf_zst=eG),void 0===eG[n.id]){const e=ml(n);eG[n.id]=e}if(n.worker&&n.worker.set_zustand(eG[n.id]),eG[n.id].options.debug=n.debug,n.useWorkerManager){const e=new Zu(n.workermanager_url,eG[n.id]);eG[n.id].workermanager=e}return e.createElement(QV,{fnrf_zst:eG[n.id],header:n.header,library:n.library,flow:n.flow})},oG={set_io_value:({nid:e,ioid:t,value:n,set_default:r=!1})=>{const i=o(nG);i.worker?.set_io_value({nid:e,ioid:t,value:n,set_default:r})}},iG=t=>{const n=new fl("FuncNodes",t.debug?"debug":"info");n.debug("Initalizing FuncNodes with props:",t);let r=q(t,{...tG,id:Hu()}).new_obj;if(void 0===t.worker&&void 0!==t.worker_url&&(r.useWorkerManager=!1,r.worker=new $u({url:t.worker_url,uuid:r.id,on_sync_complete:r.on_sync_complete})),void 0!==r.worker){const e=ml(r);r.worker.set_zustand(e)}if(void 0!==t.fnw_url){if(void 0===r.worker)throw new Error("defining fnw_url requires a worker to be defined");const e=async function(e,t=!0){try{const n=await fetch(e);if(!n.ok)throw new Error(`Failed to fetch from URL: ${n.status} ${n.statusText}`);const r=await n.blob();return await new Promise(((e,n)=>{const o=new FileReader;o.onload=()=>{const r=o.result;"string"!=typeof r&&(n("Failed to convert URL to Base64: No result from FileReader"),n(o.error)),e(t?r.split(",")[1]:r)},o.onerror=()=>n(o.error),o.readAsDataURL(r)}))}catch(e){throw console.error("Error converting URL to Base64:",e),e}}(t.fnw_url),n=r.worker.on_sync_complete,o=async t=>{const r=await e;t.on_sync_complete=n,await t.update_from_export(r)};r.worker.on_sync_complete=o}return n.debug("Initalizing FuncnodesReactFlow with props:",r),e.createElement("div",{className:"FuncnodesApp"},e.createElement(rG,{...r}))};export{nG as FuncNodesContext,ml as FuncNodesReactFlowZustand,Xu as FuncNodesWorker,rG as FuncnodesReactFlow,YV as ReactFlowLayer,bV as RenderMappingProvider,$u as WebSocketWorker,oe as assert_full_node,q as deep_update,iG as default,oG as helperfunctions};
156
+ */var ZB=function(){if(XB)return $B;XB=1;var e=/; *([!#$%&'*+.^_`|~0-9A-Za-z-]+) *= *("(?:[\u000b\u0020\u0021\u0023-\u005b\u005d-\u007e\u0080-\u00ff]|\\[\u000b\u0020-\u00ff])*"|[!#$%&'*+.^_`|~0-9A-Za-z-]+) */g,t=/^[\u000b\u0020-\u007e\u0080-\u00ff]+$/,n=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/,r=/\\([\u000b\u0020-\u00ff])/g,o=/([\\"])/g,i=/^[!#$%&'*+.^_`|~0-9A-Za-z-]+\/[!#$%&'*+.^_`|~0-9A-Za-z-]+$/;function a(e){var r=String(e);if(n.test(r))return r;if(r.length>0&&!t.test(r))throw new TypeError("invalid parameter value");return'"'+r.replace(o,"\\$1")+'"'}function s(e){this.parameters=Object.create(null),this.type=e}return $B.format=function(e){if(!e||"object"!=typeof e)throw new TypeError("argument obj is required");var t=e.parameters,r=e.type;if(!r||!i.test(r))throw new TypeError("invalid type");var o=r;if(t&&"object"==typeof t)for(var s,l=Object.keys(t).sort(),c=0;c<l.length;c++){if(s=l[c],!n.test(s))throw new TypeError("invalid parameter name");o+="; "+s+"="+a(t[s])}return o},$B.parse=function(t){if(!t)throw new TypeError("argument string is required");var n="object"==typeof t?function(e){var t;"function"==typeof e.getHeader?t=e.getHeader("content-type"):"object"==typeof e.headers&&(t=e.headers&&e.headers["content-type"]);if("string"!=typeof t)throw new TypeError("content-type header is missing from object");return t}(t):t;if("string"!=typeof n)throw new TypeError("argument string is required to be a string");var o=n.indexOf(";"),a=-1!==o?n.slice(0,o).trim():n.trim();if(!i.test(a))throw new TypeError("invalid media type");var l=new s(a.toLowerCase());if(-1!==o){var c,u,d;for(e.lastIndex=o;u=e.exec(n);){if(u.index!==o)throw new TypeError("invalid parameter format");o+=u[0].length,c=u[1].toLowerCase(),34===(d=u[2]).charCodeAt(0)&&-1!==(d=d.slice(1,-1)).indexOf("\\")&&(d=d.replace(r,"$1")),l.parameters[c]=d}if(o!==n.length)throw new TypeError("invalid parameter format")}return l},$B}(),YB=new Map,UB=function(e){return e.cloneNode(!0)},JB=function(){return"file:"===window.location.protocol},KB=function(e,t,n){var r=new XMLHttpRequest;r.onreadystatechange=function(){try{if(!/\.svg/i.test(e)&&2===r.readyState){var t=r.getResponseHeader("Content-Type");if(!t)throw new Error("Content type not found");var o=ZB.parse(t).type;if("image/svg+xml"!==o&&"text/plain"!==o)throw new Error("Invalid content type: ".concat(o))}if(4===r.readyState){if(404===r.status||null===r.responseXML)throw new Error(JB()?"Note: SVG injection ajax calls do not work locally without adjusting security settings in your browser. Or consider using a local webserver.":"Unable to load SVG file: "+e);if(!(200===r.status||JB()&&0===r.status))throw new Error("There was a problem injecting the SVG: "+r.status+" "+r.statusText);n(null,r)}}catch(e){if(r.abort(),!(e instanceof Error))throw e;n(e,r)}},r.open("GET",e),r.withCredentials=t,r.overrideMimeType&&r.overrideMimeType("text/xml"),r.send()},qB={},QB=function(e,t){qB[e]=qB[e]||[],qB[e].push(t)},eV=function(e,t,n){if(YB.has(e)){var r=YB.get(e);if(void 0===r)return void QB(e,n);if(r instanceof SVGSVGElement)return void n(null,UB(r))}YB.set(e,void 0),QB(e,n),KB(e,t,(function(t,n){var r;t?YB.set(e,t):(null===(r=n.responseXML)||void 0===r?void 0:r.documentElement)instanceof SVGSVGElement&&YB.set(e,n.responseXML.documentElement),function(e){for(var t=function(t,n){setTimeout((function(){if(Array.isArray(qB[e])){var n=YB.get(e),r=qB[e][t];n instanceof SVGSVGElement&&r(null,UB(n)),n instanceof Error&&r(n),t===qB[e].length-1&&delete qB[e]}}),0)},n=0,r=qB[e].length;n<r;n++)t(n)}(e)}))},tV=function(e,t,n){KB(e,t,(function(e,t){var r;e?n(e):(null===(r=t.responseXML)||void 0===r?void 0:r.documentElement)instanceof SVGSVGElement&&n(null,t.responseXML.documentElement)}))},nV=0,rV=[],oV={},iV="http://www.w3.org/1999/xlink",aV=function(e,t,n,r,o,i,a){var s=e.getAttribute("data-src")||e.getAttribute("src");if(s){if(-1!==rV.indexOf(e))return rV.splice(rV.indexOf(e),1),void(e=null);rV.push(e),e.setAttribute("src",""),(r?eV:tV)(s,o,(function(r,o){if(!o)return rV.splice(rV.indexOf(e),1),e=null,void a(r);var l=e.getAttribute("id");l&&o.setAttribute("id",l);var c=e.getAttribute("title");c&&o.setAttribute("title",c);var u=e.getAttribute("width");u&&o.setAttribute("width",u);var d=e.getAttribute("height");d&&o.setAttribute("height",d);var f=Array.from(new Set(Zd(Zd(Zd([],(o.getAttribute("class")||"").split(" "),!0),["injected-svg"],!1),(e.getAttribute("class")||"").split(" "),!0))).join(" ").trim();o.setAttribute("class",f);var p=e.getAttribute("style");p&&o.setAttribute("style",p),o.setAttribute("data-src",s);var h=[].filter.call(e.attributes,(function(e){return/^data-\w[\w-]*$/.test(e.name)}));if(Array.prototype.forEach.call(h,(function(e){e.name&&e.value&&o.setAttribute(e.name,e.value)})),n){var m,g,y,b,v,w={clipPath:["clip-path"],"color-profile":["color-profile"],cursor:["cursor"],filter:["filter"],linearGradient:["fill","stroke"],marker:["marker","marker-start","marker-mid","marker-end"],mask:["mask"],path:[],pattern:["fill","stroke"],radialGradient:["fill","stroke"]};Object.keys(w).forEach((function(e){m=e,y=w[e];for(var t=function(e,t){var n;b=g[e].id,v=b+"-"+ ++nV,Array.prototype.forEach.call(y,(function(e){for(var t=0,r=(n=o.querySelectorAll("["+e+'*="'+b+'"]')).length;t<r;t++){var i=n[t].getAttribute(e);i&&!i.match(new RegExp('url\\("?#'+b+'"?\\)'))||n[t].setAttribute(e,"url(#"+v+")")}}));for(var r=o.querySelectorAll("[*|href]"),i=[],a=0,s=r.length;a<s;a++){var l=r[a].getAttributeNS(iV,"href");l&&l.toString()==="#"+g[e].id&&i.push(r[a])}for(var c=0,u=i.length;c<u;c++)i[c].setAttributeNS(iV,"href","#"+v);g[e].id=v},n=0,r=(g=o.querySelectorAll(m+"[id]")).length;n<r;n++)t(n)}))}o.removeAttribute("xmlns:a");for(var x,C,k=o.querySelectorAll("script"),E=[],S=0,I=k.length;S<I;S++)(C=k[S].getAttribute("type"))&&"application/ecmascript"!==C&&"application/javascript"!==C&&"text/javascript"!==C||((x=k[S].innerText||k[S].textContent)&&E.push(x),o.removeChild(k[S]));if(E.length>0&&("always"===t||"once"===t&&!oV[s])){for(var _=0,A=E.length;_<A;_++)new Function(E[_])(window);oV[s]=!0}var N=o.querySelectorAll("style");if(Array.prototype.forEach.call(N,(function(e){e.textContent+=""})),o.setAttribute("xmlns","http://www.w3.org/2000/svg"),o.setAttribute("xmlns:xlink",iV),i(o),!e.parentNode)return rV.splice(rV.indexOf(e),1),e=null,void a(new Error("Parent node is null"));e.parentNode.replaceChild(o,e),rV.splice(rV.indexOf(e),1),e=null,a(null,o)}))}else a(new Error("Invalid data-src or src attribute"))},sV=["afterInjection","beforeInjection","desc","evalScripts","fallback","httpRequestWithCredentials","loading","renumerateIRIElements","src","title","useRequestCache","wrapper"],lV="http://www.w3.org/2000/svg",cV="http://www.w3.org/1999/xlink",uV=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return(e=t.call.apply(t,[this].concat(r))||this).initialState={hasError:!1,isLoading:!0},e.state=e.initialState,e._isMounted=!1,e.reactWrapper=void 0,e.nonReactWrapper=void 0,e.refCallback=function(t){e.reactWrapper=t},e}hB(n,t);var r=n.prototype;return r.renderSVG=function(){var e=this;if(this.reactWrapper instanceof function(e){return((null==e?void 0:e.ownerDocument)||document).defaultView||window}(this.reactWrapper).Node){var t,n,r=this.props,o=r.desc,i=r.evalScripts,a=r.httpRequestWithCredentials,s=r.renumerateIRIElements,l=r.src,c=r.title,u=r.useRequestCache,d=this.props.onError,f=this.props.beforeInjection,p=this.props.afterInjection,h=this.props.wrapper;"svg"===h?((t=document.createElementNS(lV,h)).setAttribute("xmlns",lV),t.setAttribute("xmlns:xlink",cV),n=document.createElementNS(lV,h)):(t=document.createElement(h),n=document.createElement(h)),t.appendChild(n),n.dataset.src=l,this.nonReactWrapper=this.reactWrapper.appendChild(t);var m=function(t){e.removeSVG(),e._isMounted?e.setState((function(){return{hasError:!0,isLoading:!1}}),(function(){d(t)})):d(t)};!function(e,t){var n=void 0===t?{}:t,r=n.afterAll,o=void 0===r?function(){}:r,i=n.afterEach,a=void 0===i?function(){}:i,s=n.beforeEach,l=void 0===s?function(){}:s,c=n.cacheRequests,u=void 0===c||c,d=n.evalScripts,f=void 0===d?"never":d,p=n.httpRequestWithCredentials,h=void 0!==p&&p,m=n.renumerateIRIElements,g=void 0===m||m;if(e&&"length"in e)for(var y=0,b=0,v=e.length;b<v;b++)aV(e[b],f,g,u,h,l,(function(t,n){a(t,n),e&&"length"in e&&e.length===++y&&o(y)}));else e?aV(e,f,g,u,h,l,(function(t,n){a(t,n),o(1),e=null})):o(0)}(n,{afterEach:function(t,n){t?m(t):e._isMounted&&e.setState((function(){return{isLoading:!1}}),(function(){try{p(n)}catch(e){m(e)}}))},beforeEach:function(e){if(e.setAttribute("role","img"),o){var t=e.querySelector(":scope > desc");t&&e.removeChild(t);var n=document.createElement("desc");n.innerHTML=o,e.prepend(n)}if(c){var r=e.querySelector(":scope > title");r&&e.removeChild(r);var i=document.createElement("title");i.innerHTML=c,e.prepend(i)}try{f(e)}catch(e){m(e)}},cacheRequests:u,evalScripts:i,httpRequestWithCredentials:a,renumerateIRIElements:s})}},r.removeSVG=function(){var e;null!=(e=this.nonReactWrapper)&&e.parentNode&&(this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper),this.nonReactWrapper=null)},r.componentDidMount=function(){this._isMounted=!0,this.renderSVG()},r.componentDidUpdate=function(e){var t=this;(function(e,t){for(var n in e)if(!(n in t))return!0;for(var r in t)if(e[r]!==t[r])return!0;return!1})(DR({},e),this.props)&&this.setState((function(){return t.initialState}),(function(){t.removeSVG(),t.renderSVG()}))},r.componentWillUnmount=function(){this._isMounted=!1,this.removeSVG()},r.render=function(){var t=this.props;t.afterInjection,t.beforeInjection,t.desc,t.evalScripts;var n=t.fallback;t.httpRequestWithCredentials;var r=t.loading;t.renumerateIRIElements,t.src,t.title,t.useRequestCache;var o=t.wrapper,i=MR(t,sV),a=o;return e.createElement(a,DR({},i,{ref:this.refCallback},"svg"===o?{xmlns:lV,xmlnsXlink:cV}:{}),this.state.isLoading&&r&&e.createElement(r,null),this.state.hasError&&n&&e.createElement(n,null))},n}(e.Component);uV.defaultProps={afterInjection:function(){},beforeInjection:function(){},desc:"",evalScripts:"never",fallback:null,httpRequestWithCredentials:!1,loading:null,onError:function(){},renumerateIRIElements:!0,title:"",useRequestCache:!0,wrapper:"div"},uV.propTypes={afterInjection:vy.func,beforeInjection:vy.func,desc:vy.string,evalScripts:vy.oneOf(["always","once","never"]),fallback:vy.oneOfType([vy.func,vy.object,vy.string]),httpRequestWithCredentials:vy.bool,loading:vy.oneOfType([vy.func,vy.object,vy.string]),onError:vy.func,renumerateIRIElements:vy.bool,src:vy.string.isRequired,title:vy.string,useRequestCache:vy.bool,wrapper:vy.oneOf(["div","span","svg"])};const dV=({value:t,renderoptions:n})=>(void 0===n&&(n={}),void 0===n.format&&(n.format="jpeg"),e.createElement("img",{src:"data:image/"+n.format+";base64, "+t,style:{maxWidth:"100%",maxHeight:"100%"}})),fV=({value:t})=>e.createElement(uV,{src:`data:image/svg+xml;base64,${btoa(t)}`,style:{maxWidth:"100%",maxHeight:"100%"},beforeInjection:e=>{e.classList.add("svg-class-name"),e.setAttribute("style","max-width: 100%; max-height: 100%;"),e.setAttribute("width","100%"),e.setAttribute("height","100%")}}),pV=({io:t})=>{let n=t.fullvalue;if(null==n&&(n=t.value),void 0===n&&(n=""),"string"!=typeof n||n.length%4!=0)return e.createElement("div",null,n);const r=Math.round(3*n.length/4);return e.createElement("div",null,e.createElement("pre",null,"Bytes(",r,")"))},hV=({io:t})=>{let n=t.fullvalue;return void 0===n&&(n=t.value),void 0===n&&(n={}),e.createElement(UD,{data:n})},mV={float:({io:e,inputconverter:t})=>SD({io:e,inputconverter:t,parser:parseFloat}),int:({io:e,inputconverter:t})=>SD({io:e,inputconverter:t,parser:parseInt}),bool:({io:t,inputconverter:n})=>{const r=o(nG),i=void 0===t.value,a=u(null);s((()=>{a.current&&(a.current.indeterminate=i)}),[a,i]);return e.createElement("input",{ref:a,type:"checkbox",className:"styledcheckbox booleaninput",checked:!!n[1](t.value),onChange:e=>{let o=e.target.checked;try{o=n[0](e.target.checked)}catch(e){}r.worker?.set_io_value({nid:t.node,ioid:t.id,value:o,set_default:t.render_options.set_default})},disabled:t.connected})},string:ID,str:ID,color:({io:t})=>{const n=o(nG),r=t.value_options?.colorspace||"hex";let i=!1;return"string"!=typeof t.type&&"anyOf"in t.type&&void 0!==t.type.anyOf&&(i=t.type.anyOf.some((e=>"None"===e))),e.createElement(gO,{onChange:e=>{let o="<NoValue>";e&&(o=e[r]?e[r]():e.hex()),null===e&&(o=null),n.worker?.set_io_value({nid:t.node,ioid:t.id,value:o,set_default:t.render_options.set_default})},inicolordata:t.value,allow_null:i,inicolorspace:r})},select:RD,enum:RD,bytes:pV},gV={Inputrenderer:mV,Outputrenderer:{},HandlePreviewRenderer:{bytes:pV},DataOverlayRenderer:{},DataPreviewViewRenderer:{string:({io:t})=>{let n=t.fullvalue;return null==n&&(n=t.value),n=void 0===n?"":JSON.stringify(t.value).replace(/\\n/g,"\n"),e.createElement("div",null,e.createElement("pre",null,n))},table:({io:t})=>{let n=t.fullvalue;return null==n&&(n=t.value),void 0===n&&(n=[]),e.createElement(HB,{tabledata:n})},image:({io:t})=>{let n=t.fullvalue;return null==n&&(n=t.value),void 0===n&&(n=""),e.createElement(dV,{value:n})},svg:({io:t})=>{let n=t.fullvalue;return null==n&&(n=t.value),void 0===n&&(n=""),e.createElement(fV,{value:n})},dict:hV,bytes:pV},DataViewRenderer:{},InLineRenderer:{bytes:({io:e})=>{let t=e.fullvalue;null==t&&(t=e.value),t=void 0===t?"":JSON.stringify(e.value).replace(/\\n/g,"\n");return`Bytes(${Math.round(3*t.length/4)})`}}},yV=(e,t)=>{const n=t.options||{},r=void 0===n.overwrite||n.overwrite;switch(t.type){case"EXTEND_INPUT_RENDER":return!r&&e.Inputrenderer[t.payload.type]?e:{...e,Inputrenderer:{...e.Inputrenderer,[t.payload.type]:t.payload.component}};case"EXTEND_OUTPUT_RENDER":return!r&&e.Outputrenderer[t.payload.type]?e:{...e,Outputrenderer:{...e.Outputrenderer,[t.payload.type]:t.payload.component}};case"EXTEND_HANDLE_PREVIEW_RENDER":return!r&&e.HandlePreviewRenderer[t.payload.type]?e:{...e,HandlePreviewRenderer:{...e.HandlePreviewRenderer,[t.payload.type]:t.payload.component}};case"EXTEND_DATA_OVERLAY_RENDER":return!r&&e.DataOverlayRenderer[t.payload.type]?e:{...e,DataOverlayRenderer:{...e.DataOverlayRenderer,[t.payload.type]:t.payload.component}};case"EXTEND_DATA_PREVIEW_RENDER":return!r&&e.DataPreviewViewRenderer[t.payload.type]?e:{...e,DataPreviewViewRenderer:{...e.DataPreviewViewRenderer,[t.payload.type]:t.payload.component}};case"EXTEND_DATA_VIEW_RENDER":return!r&&e.DataViewRenderer[t.payload.type]?e:{...e,DataViewRenderer:{...e.DataViewRenderer,[t.payload.type]:t.payload.component}};case"EXTEND_FROM_PLUGIN":let n=!1;const o=[[t.payload.plugin.input_renderers||{},e.Inputrenderer],[t.payload.plugin.output_renderers||{},e.Outputrenderer],[t.payload.plugin.handle_preview_renderers||{},e.HandlePreviewRenderer],[t.payload.plugin.data_overlay_renderers||{},e.DataOverlayRenderer],[t.payload.plugin.data_preview_renderers||{},e.DataPreviewViewRenderer],[t.payload.plugin.data_view_renderers||{},e.DataViewRenderer]];for(const[e,t]of o){if(Object.keys(e).length>0)if(r)n=!0;else for(const r in e)if(!t[r]){n=!0;break}if(n)break}if(!n)return e;for(const[e,t]of o)for(const n in e)!r&&t[n]||(t[n]=e[n]);return{...e};default:return e}},bV=({children:t,plugins:n,fnrf_zst:r})=>{const[o,i]=v(yV,gV),a=(e,t)=>{i({type:"EXTEND_FROM_PLUGIN",payload:{plugin:e},options:t})};return s((()=>{for(const t in n){const o=n[t].RendererPlugin;o&&a(o);const i=n[t].renderpluginfactory;i&&a(i({React:e,fnrf_zst:r}))}}),[n]),e.createElement(vV.Provider,{value:{Inputrenderer:o.Inputrenderer,Outputrenderer:o.Outputrenderer,HandlePreviewRenderer:o.HandlePreviewRenderer,DataOverlayRenderer:o.DataOverlayRenderer,DataPreviewViewRenderer:o.DataPreviewViewRenderer,DataViewRenderer:o.DataViewRenderer,InLineRenderer:o.InLineRenderer,extendInputRenderMapping:(e,t,n)=>{i({type:"EXTEND_INPUT_RENDER",payload:{type:e,component:t},options:n})},extendOutputRenderMapping:(e,t,n)=>{i({type:"EXTEND_OUTPUT_RENDER",payload:{type:e,component:t},options:n})},extendHandlePreviewRenderMapping:(e,t,n)=>{i({type:"EXTEND_HANDLE_PREVIEW_RENDER",payload:{type:e,component:t},options:n})},extendDataOverlayRenderMapping:(e,t,n)=>{i({type:"EXTEND_DATA_OVERLAY_RENDER",payload:{type:e,component:t},options:n})},extendDataPreviewRenderMapping:(e,t,n)=>{i({type:"EXTEND_DATA_PREVIEW_RENDER",payload:{type:e,component:t},options:n})},extendDataViewRenderMapping:(e,t,n)=>{i({type:"EXTEND_DATA_VIEW_RENDER",payload:{type:e,component:t},options:n})},extendFromPlugin:a}},t)},vV=i({Inputrenderer:gV.Inputrenderer,Outputrenderer:gV.Outputrenderer,HandlePreviewRenderer:gV.HandlePreviewRenderer,DataOverlayRenderer:gV.DataOverlayRenderer,DataPreviewViewRenderer:gV.DataPreviewViewRenderer,DataViewRenderer:gV.DataViewRenderer,InLineRenderer:gV.InLineRenderer,extendInputRenderMapping:(e,t,n)=>{},extendOutputRenderMapping:(e,t,n)=>{},extendHandlePreviewRenderMapping:(e,t,n)=>{},extendDataOverlayRenderMapping:(e,t,n)=>{},extendDataPreviewRenderMapping:(e,t,n)=>{},extendDataViewRenderMapping:(e,t,n)=>{},extendFromPlugin:(e,t)=>{}}),wV=({component:t,...n})=>e.createElement(t,{...n}),xV=e=>{const t=o(nG).render_options(),[n]=CV(e.type,t.typemap||{});if(!n)return hV;const{DataOverlayRenderer:r,DataPreviewViewRenderer:i}=o(vV);return r[n]?r[n]:i[n]?i[n]:hV},CV=(e,t)=>{if("string"==typeof e)return e in t?[t[e],e]:[e,e];if("allOf"in e&&void 0!==e.allOf)return[void 0,void 0];if("anyOf"in e&&void 0!==e.anyOf){const n=e.anyOf.map((e=>CV(e,t)));for(const e of n)switch(e[0]){case"bool":return["bool",e[1]];case"enum":return["enum",e[1]];case"float":return["float",e[1]];case"int":return["int",e[1]];case"string":case"str":return["string",e[1]]}return[void 0,void 0]}return"type"in e&&void 0!==e.type&&"enum"===e.type?["enum","enum"]:[void 0,void 0]},kV=({io:t,typestring:n,preview:r,...i})=>{const[a,s]=c(!1),[l,u]=c(!1),d=e.useContext(nG),[f,p]=t?(e=>{const t=o(nG).render_options(),[n]=CV(e.type,t.typemap||{}),{HandlePreviewRenderer:r,DataPreviewViewRenderer:i}=o(vV),a=xV(e);return n?r[n]?[r[n],a]:i[n]?[i[n],a]:[hV,a]:[hV,a]})(t):[void 0,void 0],h=d.local_state((()=>d.reactflowRef));return e.createElement(iO,{open:a||l,onOpenChange:u},e.createElement(aO,{asChild:!0},e.createElement(Ai,{id:t.id,"data-type":n,...i})),e.createElement(sO,{container:h},e.createElement(lO,{className:"iotooltipcontent",sideOffset:5},e.createElement("div",{className:"iotooltip_container"},e.createElement("div",{className:"iotooltip_header"},a?e.createElement(ub,{onClick:()=>s(!1)}):e.createElement(cb,{onClick:()=>s(!0)}),p&&e.createElement(hb,{title:t.full_id,trigger:e.createElement(tb,null),onOpenChange:e=>{e&&t.try_get_full_value&&t.try_get_full_value(),s(e)}},e.createElement(wV,{component:p,io:t}))),f?e.createElement(wV,{component:f,io:t}):`no preview available for "${n}"`),e.createElement(cO,{className:"iotooltipcontentarrow"}))))},EV={"":[e=>e,e=>e],str_to_json:[e=>JSON.parse(e),e=>"string"==typeof e?e:JSON.stringify(e)],str_to_list:[e=>{try{const t=JSON.parse(e);return Array.isArray(t)?t:[t]}catch(t){try{return JSON.parse("["+e+"]")}catch(e){}}throw new Error("Invalid list")},e=>JSON.stringify(e)]},SV=({io:t})=>{const n=o(nG).render_options(),[r,i]=CV(t.render_options.type,n.typemap||{}),{Inputrenderer:a}=o(vV),s=r?t.value_options?.options?RD:a[r]:void 0,l=EV[(i&&n.inputconverter?.[i])??""];return e.createElement("div",{className:"nodeinput","data-type":r},e.createElement(kV,{io:t,typestring:r,position:Ho.Left,type:"target"}),s&&e.createElement("div",{className:"iovaluefield nodrag","data-type":r},e.createElement(s,{io:t,inputconverter:l})),e.createElement("div",{className:"ioname"},t.name),e.createElement(kV,{io:t,typestring:r,position:Ho.Right,type:"source"}))},IV=({io:t,typestring:n})=>{const{InLineRenderer:r}=o(vV);if(n&&r[n])return e.createElement("div",null,r[n]({io:t}));let i=t.fullvalue;return null==i&&(i=t.value),i=void 0===i?"":JSON.stringify(i).replace(/\\n/g,"\n"),i.length>63&&(i=i.slice(0,60)+"..."),e.createElement("div",null,i)},_V=({io:t})=>{const n=o(nG).render_options(),[r]=CV(t.type,n.typemap||{}),{Outputrenderer:i}=o(vV),a=r?i[r]:void 0;return e.createElement("div",{className:"nodeoutput","data-type":r},e.createElement(kV,{io:t,typestring:r,position:Ho.Right,type:"source"}),e.createElement("div",{className:"ioname"},t.name),a?e.createElement("div",{className:"iovaluefield nodrag"},e.createElement(a,{io:t})):e.createElement("div",{className:"iovaluefield"},e.createElement(IV,{io:t,typestring:r})))};function AV(e){return`${Math.floor(e/60)}:${Math.floor(e%60).toString().padStart(2,"0")}`}function NV(e,t){const n=["","K","M","G","T"];let r=0;for(;e>=t&&r<n.length-1;)e/=t,r++;return[e.toFixed(2),n[r]]}const OV=({state:t,className:n="reacttqdm",...r})=>{const o=u(null),i=u(null);s((()=>{const e=()=>{o.current&&i.current&&function(e,t,n={}){const{maxFontSize:r=100,minFontSize:o=6,decrementFactor:i=.9}=n;if(!e||!t)return;if(i>=1||i<=0)throw new Error("decrementFactor must be between 0 and 1");const a=e.getBoundingClientRect(),s=a.width,l=a.height;let c=r;t.style.whiteSpace="nowrap",t.style.display="inline-block",t.style.fontSize=c+"px";let u=t.getBoundingClientRect();for(;(u.width>s||u.height>l)&&c>o;)c*=i,t.style.fontSize=c+"px",u=t.getBoundingClientRect()}(o.current,i.current,{maxFontSize:12,decrementFactor:.9})};return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[t]);const a=t.total?t.n/t.total*100:0;return e.createElement("div",{ref:o,className:n,...r},e.createElement("div",{style:{position:"relative",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"}},e.createElement("div",{className:n+"-bar",style:{position:"absolute",width:"100%",height:"100%",overflow:"hidden"}},e.createElement("div",{className:n+"-progress",style:{width:`${a}%`,height:"100%"}})),e.createElement("div",{className:n+"-text",ref:i},function(e={n:0,elapsed:0,ascii:!1,unit:"it",unit_scale:!1,unit_divisor:1e3}){let t=e.total??null;const{n:n,unit_scale:r,elapsed:o,unit:i,unit_divisor:a,prefix:s="",rate:l,postfix:c=null,initial:u=0}=e;null!==t&&n>=t+.5&&(t=null);let d=n,f=t,p=l;r&&!0!==r&&1!==r&&(null!==t&&(f=t*r),d=n*r,void 0!==l&&(p=l*r));const h=AV(o);void 0===p&&o>0&&(p=(d-u)/o);const m=p?1/p:void 0,[g,y]=p?NV(p,a):[void 0,""],[b,v]=m?NV(m,1e3):[void 0,""],w=m&&m>1?b?`${b}${v}s/`+i:"?":(g||"?")+`${y}${i}/s`,x=r?NV(d,a).join(""):d.toString(),C=r&&null!==f?NV(f,a).join(""):f?.toString()??"?",k=p?AV(p&&null!==f?(f-d)/p:0):"?",E=s?`${s}: `:"";if(null!==t){const e=` ${x}/${C} [${h} < ${k}, ${w}${c??""}]`;return`${E}${(d/t*100).toFixed(0)}%${e}`}return`${E}${x}${i} [${h}, ${w}${c??""}]`}(t))))},RV=({node_data:t})=>{const n=o(nG);return e.createElement("div",{className:"nodeheader",title:t.description||t.node_name},e.createElement("div",{className:"nodeheader_element"},e.createElement(fb,{fontSize:"inherit",className:"triggerbutton",onClick:()=>{n.on_node_action({type:"trigger",from_remote:!1,id:t.id})}}),e.createElement(db,{fontSize:"inherit",onClick:async()=>{n.logger.info("nodestatus",await(n.worker?.get_node_status(t.id)))}})),e.createElement("div",{className:"nodeheader_element nodeheader_title"},e.createElement("div",{className:"nodeheader_title_text"},t.node_name)),e.createElement("div",{className:"nodeheader_element"},e.createElement(sb,{fontSize:"inherit"})))},MV=({node_data:t})=>{const n=t.render_options?.data?.src?t.io[t.render_options?.data?.src]:void 0,[r,i]=n?(e=>{const t=o(nG).render_options(),[n]=CV(e.type,t.typemap||{}),r=xV(e),{DataPreviewViewRenderer:i,DataViewRenderer:a}=o(vV);return n?a[n]?[a[n],r]:i[n]?[i[n],r]:[hV,r]:[hV,r]})(n):[void 0,void 0];return e.createElement("div",{className:"nodrag nodedatabody","data-src":t.render_options?.data?.src||""},r&&n&&e.createElement(hb,{title:n.full_id,trigger:e.createElement("div",{className:"nodedatabutton"},e.createElement(wV,{component:r,io:n})),onOpenChange:e=>{e&&n?.try_get_full_value&&n?.try_get_full_value()}},e.createElement(wV,{component:i,io:n})))},TV=({node_data:t})=>{const n=Object.values(t.io).filter((e=>e.is_input)),r=Object.values(t.io).filter((e=>!e.is_input));return t.render_options,e.createElement("div",{className:"nodebody"},r.map((t=>t.hidden?null:e.createElement(_V,{key:t.id,io:t}))),e.createElement(MV,{node_data:t}),n.map((t=>t.hidden?null:e.createElement(SV,{key:t.id,io:t}))))},PV=({node_data:t})=>{const[n,r]=c(t.name);s((()=>{r(t.name)}),[t]);const i=o(nG);return e.createElement("input",{className:"nodename_input",value:n,onChange:e=>{r(e.target.value)},onBlur:e=>{const n=e.target.value;i.on_node_action({type:"update",from_remote:!1,id:t.id,node:{name:n}})}})},DV=({node_data:t})=>t.progress?e.createElement(OV,{style:{height:"idle"===t.progress.prefix?"0px":void 0},state:t.progress,className:"nodeprogress"}):null,jV=({node_data:t})=>e.createElement("div",{className:"nodefooter"},t.error&&e.createElement("div",{className:"nodeerror"},t.error),e.createElement(DV,{node_data:t})),LV=({io:t})=>{const n=e.useContext(nG).render_options(),[r,o]=CV(t.render_options.type,n.typemap||{}),{Inputrenderer:i}=e.useContext(vV),a=r?t.value_options?.options?RD:i[r]:void 0,s=EV[(o&&n.inputconverter?.[o])??""];return e.createElement("div",{className:"nodesettings_component"},e.createElement("div",null,t.name),a&&e.createElement(a,{io:t,inputconverter:s}),e.createElement("div",null,e.createElement("label",null,"hidden:",e.createElement("input",{className:"styledcheckbox",type:"checkbox",disabled:t.connected,onChange:e=>{t.set_hidden?.(e.target.checked)},checked:t.hidden}))))},FV=({io:t})=>e.createElement("div",{className:"nodesettings_component"},e.createElement("div",null,t.name),e.createElement("div",null,e.createElement("label",null,"hidden:",e.createElement("input",{className:"styledcheckbox",type:"checkbox",disabled:t.connected,onChange:e=>{t.set_hidden?.(e.target.checked)},checked:t.hidden})))),zV=({nodestore:t})=>{const n=t(),r=Object.values(n.io).filter((e=>e.is_input)),o=Object.values(n.io).filter((e=>!e.is_input));return e.createElement("div",{className:"nodesettings_content"},e.createElement("div",{className:"nodesettings_section"},e.createElement("div",{className:"nodesettings_component"},e.createElement("div",null,"Name"),e.createElement("div",null,e.createElement(PV,{node_data:n})))),e.createElement("div",{className:"nodesettings_section"},e.createElement("div",null,"Inputs"),r.map((t=>e.createElement(LV,{io:t,key:t.id})))),e.createElement("div",{className:"nodesettings_section"},e.createElement("div",null,"Outputs"),o.map((t=>e.createElement(FV,{io:t,key:t.id})))))},BV=()=>{const t=e.useContext(nG),n=t.local_state((e=>e.selected_nodes));if(0===n.length)return e.createElement("div",null,"Node Settings");if(n.length>1)return e.createElement("div",null,"Multiple Nodes Selected");const r=t.nodespace.get_node(n[0]);return r?e.createElement(zV,{nodestore:r}):e.createElement("div",null,"Node not found")},VV=()=>{const t=e.useContext(nG),n=t.local_settings((e=>e.view_settings.expand_node_props)),r=t.local_settings((e=>e.update_view_settings));return e.createElement(LC,{maxSize:"300px",direction:"left",expanded:void 0!==n&&n,containerClassName:"pos-right pos-top bg1 h-12",className:"nodesettings_content",onExpandChange:e=>{r({expand_node_props:e})}},e.createElement(BV,null))},GV=e=>({nodes:e.nodes,edges:e.edges,onNodesChange:e.onNodesChange,onEdgesChange:e.onEdgesChange,onConnect:e.onConnect}),WV={default:({data:t})=>{const n=t.UseNodeStore(),r=n.properties["frontend:collapsed"]||!1,{visualTrigger:i}=(e=>{const t=o(nG),[n,r]=c(!1);return s((()=>{t.worker?.call_hooks("node_mounted",e.id)}),[t.worker,e.id]),s((()=>{let t;return e.in_trigger&&!n?r(!0):n&&(t=setTimeout((()=>r(!1)),200)),()=>clearTimeout(t)}),[e.in_trigger,n]),{visualTrigger:n}})(n);return e.createElement(e.Fragment,null,e.createElement("div",{className:"innernode"+(i?" intrigger":"")+(n.error?" error":"")},e.createElement(RV,{node_data:n}),e.createElement(PV,{node_data:n}),r?null:e.createElement(TV,{node_data:n}),e.createElement(jV,{node_data:n})))}},HV={default:({id:t,sourceX:n,sourceY:r,targetX:o,targetY:i,sourcePosition:a,targetPosition:s,data:l,...c})=>{const[u]=ri({sourceX:n,sourceY:r,sourcePosition:a,targetX:o,targetY:i,targetPosition:s});return e.createElement(e.Fragment,null,e.createElement(Do,{id:t,path:u,...c}))}},XV=()=>{const t=fa();return o(nG).rf_instance=t,e.createElement(e.Fragment,null)},$V=()=>{const t=o(nG),n=Qi("Delete"),r=co(Vs,fe),i=co(Bs,fe);if(n){for(const n of r)if(n.selected){if(!t.worker)return e.createElement(e.Fragment,null);if(!n.source||!n.target)return e.createElement(e.Fragment,null);if(!n.sourceHandle||!n.targetHandle)return e.createElement(e.Fragment,null);t.worker.remove_edge({src_nid:n.source,src_ioid:n.sourceHandle,trg_nid:n.target,trg_ioid:n.targetHandle})}for(const n of i)if(n.selected){if(!t.worker)return e.createElement(e.Fragment,null);t.worker.remove_node(n.id)}}return e.createElement(e.Fragment,null)},ZV=({id:t,top:n,left:r,right:i,bottom:a,...s})=>{const{getNode:c,setNodes:u,addNodes:d,setEdges:f}=fa(),p=o(nG),h=l((()=>{const e=c(t);if(!e)return;const n={x:e.position.x+50,y:e.position.y+50};d({...e,id:`${e.id}-copy`,position:n})}),[t,c,d]),m=l((()=>{p.on_node_action({type:"delete",id:t,from_remote:!1})}),[t,u,f]),g=p.nodespace.get_node(t,!1);if(!g)return e.createElement(e.Fragment,null," ");const y=g();return e.createElement("div",{style:{top:n,left:r,right:i,bottom:a},className:"context-menu",...s},e.createElement("p",{style:{fontWeight:"bold"}},e.createElement("small",null,y.name)),e.createElement("button",{onClick:h},"duplicate"),e.createElement("button",{onClick:m},"delete"))},YV=t=>{const n=o(nG),r=u(null);s((()=>{n.reactflowRef=r.current}),[r]);const[i,a]=c(null),d=l((()=>a(null)),[a]),{nodes:f,edges:p,onNodesChange:h,onEdgesChange:m,onConnect:g}=n.useReactFlowStore(AN(GV));return e.createElement("div",{className:"reactflowlayer"},e.createElement(zs,{nodes:f,edges:p,onNodesChange:h,onEdgesChange:m,onConnect:g,nodeTypes:WV,edgeTypes:HV,minZoom:t.minZoom,maxZoom:t.maxZoom,fitView:!0,onSelectionChange:({nodes:e,edges:t})=>{const r=n.local_state.getState();n.local_state.setState({...r,selected_nodes:e.map((e=>e.id)),selected_edges:t.map((e=>e.id))})},ref:r,onPaneClick:d,panOnDrag:!t.static},e.createElement(XV,null),e.createElement($V,null),e.createElement(ol,{color:"#888",gap:16,size:1}),t.minimap&&e.createElement(Ks,{nodeStrokeWidth:3,pannable:!t.static,zoomable:!t.static,zoomStep:3}),i&&e.createElement(ZV,{onClick:d,...i})))},UV=i(void 0),JV=n(((t,n)=>{const{asChild:r,children:o,className:i,style:a,...s}=t,[l,d]=c(!1),f=u(null),[p,h]=c(null),[m,g]=c({}),y=t.htime||300,b=t.vtime||300,v=t.hdelay||0,C=t.vdelay||200;w(n,(()=>f.current),[]);let k;if(r&&e.isValidElement(o)){const t=o,n=[t.props.className,i,"smooth-expand",l?"smooth-expand-expanded":""].filter(Boolean).join(" "),r={...t.props.style,...a,...m};k=e.cloneElement(t,{ref:f,className:n,style:r,...s})}else k=e.createElement("div",{ref:f,...s,className:`smooth-expand ${l?"smooth-expand-expanded":""} ${i||""}`,style:{...a,...m}},o);const E=e.createElement(UV.Provider,{value:{isExpanded:l,toggleExpand:async()=>{f.current&&(l?await(async()=>{if(!f.current)return;if(!p)return;const e={transitionProperty:"width, left, height, top",transitionDuration:`${y}ms, ${y}ms, ${b}ms, ${b}ms`};g((t=>({...t,...e})));const[t,n,r,o]=p,i=new Promise((e=>{setTimeout((()=>{g((e=>({...e,left:`${t}px`,width:`${r}px`}))),e()}),C)})),a=new Promise((e=>{setTimeout((()=>{g((e=>({...e,top:`${n}px`,height:`${o}px`}))),e()}),v)})),s=Math.max(y+v,b+C),l=new Promise((e=>{setTimeout((()=>{e()}),s)}));await Promise.all([i,a,l]),f.current.style.transition="",g({}),d(!1)})():await(async()=>{if(!f.current)return;f.current.style.transition="none",f.current.style.position="",f.current.style.top="",f.current.style.left="",f.current.style.width="",f.current.style.height="";const e=f.current.getBoundingClientRect();h([e.left,e.top,e.width,e.height]),f.current.style.transition="none",g({position:"absolute",top:`${e.top}px`,left:`${e.left}px`,width:`${e.width}px`,height:`${e.height}px`}),g((e=>({...e,transitionProperty:"width, left, height, top",transitionDuration:`${y}ms, ${y}ms, ${b}ms, ${b}ms`}))),d(!0);const t=new Promise((e=>{setTimeout((()=>{g((e=>({...e,left:"0px",width:"100vw"}))),e()}),v)})),n=new Promise((e=>{setTimeout((()=>{g((e=>({...e,top:"0px",height:"100vh"}))),e()}),C)})),r=Math.max(y+v,b+C),o=new Promise((e=>{setTimeout((()=>{e()}),r)}));await Promise.all([t,n,o])})())}}},k);return l?x.createPortal(E,document.body):E}));JV.Trigger=function({children:t}){const n=o(UV);if(!n)throw new Error("SmoothExpandComponent.Trigger must be used within a SmoothExpandComponent");return e.createElement("div",{style:{cursor:"pointer"},onClick:n.toggleExpand},t)},JV.Expanded=function({children:t}){const n=o(UV);if(!n)throw new Error("SmoothExpandComponent.Expanded must be used within a SmoothExpandComponent");return n.isExpanded?e.createElement(e.Fragment,null,t):null},JV.Collapsed=function({children:t}){const n=o(UV);if(!n)throw new Error("SmoothExpandComponent.Collapsed must be used within a SmoothExpandComponent");return n.isExpanded?null:e.createElement(e.Fragment,null,t)};const KV=e.createContext(void 0),qV=n(((t,n)=>{const{asChild:r,children:o,className:i,style:a,...d}=t,f=u(null);w(n,(()=>f.current),[]);const[p,h]=c(!1),m=l((async()=>{try{const e=f.current;if(!e)return;if(p){const e=document;e.exitFullscreen?await e.exitFullscreen():e.mozCancelFullScreen?await e.mozCancelFullScreen():e.webkitExitFullscreen?await e.webkitExitFullscreen():e.msExitFullscreen&&await e.msExitFullscreen(),h(!1)}else e.requestFullscreen?await e.requestFullscreen():e.mozRequestFullScreen?await e.mozRequestFullScreen():e.webkitRequestFullscreen?await e.webkitRequestFullscreen():e.msRequestFullscreen&&await e.msRequestFullscreen(),h(!0)}catch(e){console.error("Error toggling fullscreen",e)}}),[p]);let g;if(s((()=>{const e=()=>{const e=document.fullscreenElement;h(!!e)};return document.addEventListener("fullscreenchange",e),document.addEventListener("webkitfullscreenchange",e),document.addEventListener("mozfullscreenchange",e),document.addEventListener("MSFullscreenChange",e),()=>{document.removeEventListener("fullscreenchange",e),document.removeEventListener("webkitfullscreenchange",e),document.removeEventListener("mozfullscreenchange",e),document.removeEventListener("MSFullscreenChange",e)}}),[]),r&&e.isValidElement(o)){const t=o,n=[t.props.className,i].filter(Boolean).join(" "),r={...t.props.style,...a};g=e.cloneElement(t,{ref:f,className:n,style:r,...d})}else g=e.createElement("div",{ref:f,...d,className:i,style:a},o);return e.createElement(KV.Provider,{value:{isFullScreen:p,toggleFullscreen:m}},g)}));qV.Trigger=function({children:t}){const n=e.useContext(KV);if(!n)throw new Error("FullScreenComponent.Trigger must be used within a FullScreenComponent");return e.createElement("div",{style:{cursor:"pointer"},onClick:n.toggleFullscreen},t)},qV.InFullScreen=function({children:t}){const n=e.useContext(KV);if(!n)throw new Error("FullScreenComponent.Expanded must be used within a FullScreenComponent");return n.isFullScreen?e.createElement(e.Fragment,null,t):null},qV.OutFullScreen=function({children:t}){const n=e.useContext(KV);if(!n)throw new Error("FullScreenComponent.Collapsed must be used within a FullScreenComponent");return n.isFullScreen?null:e.createElement(e.Fragment,null,t)};const QV=({fnrf_zst:t,header:n,flow:r,library:o})=>{const[i,a]=c(t.options.worker),s=e.useRef(null);t.workermanager&&(t.workermanager.on_setWorker=a),t.set_worker(i),e.useEffect((()=>{t.auto_progress()}),[]),e.useEffect((()=>{t.local_state.setState({funcnodescontainerRef:s.current})}),[s]);const l=t.plugins();return e.createElement(bV,{plugins:l,fnrf_zst:t},e.createElement(nG.Provider,{value:t},e.createElement(JV,{asChild:!0},e.createElement(qV,{asChild:!0},e.createElement(PC,{style:{height:"100%",width:"100%",display:"flex",flexDirection:"column",flex:1}},e.createElement("div",{ref:s,className:"funcnodesreactflowcontainer funcnodescontainer"},n.show&&e.createElement(WC,{...n}),e.createElement("div",{className:"funcnodesreactflowbody"},e.createElement(YV,{...r}),i&&o.show&&e.createElement(IN,null),i&&r.showNodeSettings&&e.createElement(VV,null)),e.createElement("div",{className:"funcnodesflaotingmenu"},e.createElement(qV.OutFullScreen,null,r.allowExpand&&e.createElement(JV.Trigger,null,e.createElement(JV.Expanded,null,e.createElement(rb,{size:"xl",style:{padding:"4px"}})),e.createElement(JV.Collapsed,null,e.createElement(ob,{size:"xl",style:{padding:"4px"}})))),r.allowFullScreen&&e.createElement(qV.Trigger,null,e.createElement(qV.OutFullScreen,null,e.createElement(tb,{size:"xl",style:{padding:"4px"}})),e.createElement(qV.InFullScreen,null,e.createElement(nb,{size:"xl",style:{padding:"4px"}}))))))))))},eG={},tG={id:"",debug:!1,useWorkerManager:!0,show_library:!0,header:{show:!0,showmenu:!0},flow:{minimap:!0,static:!1,minZoom:.1,maxZoom:5,allowFullScreen:!0,allowExpand:!0,showNodeSettings:!0},library:{show:!0}},nG=i(ml(tG)),rG=t=>{let n=q(t,{...tG,id:Hu()}).new_obj;if(!n.useWorkerManager&&void 0===n.worker)return e.createElement("div",null,"Error: If you don't use a worker manager, you must provide a default worker.");if(t.useWorkerManager&&void 0===t.workermanager_url)return e.createElement("div",null,"Error: If you use a worker manager, you must provide a worker manager url.");if(void 0===window.fnrf_zst&&(window.fnrf_zst=eG),void 0===eG[n.id]){const e=ml(n);eG[n.id]=e}if(n.worker&&n.worker.set_zustand(eG[n.id]),eG[n.id].options.debug=n.debug,n.useWorkerManager){const e=new Zu(n.workermanager_url,eG[n.id]);eG[n.id].workermanager=e}return e.createElement(QV,{fnrf_zst:eG[n.id],header:n.header,library:n.library,flow:n.flow})},oG={set_io_value:({nid:e,ioid:t,value:n,set_default:r=!1})=>{const i=o(nG);i.worker?.set_io_value({nid:e,ioid:t,value:n,set_default:r})}},iG=t=>{const n=new fl("FuncNodes",t.debug?"debug":"info");n.debug("Initalizing FuncNodes with props:",t);let r=q(t,{...tG,id:Hu()}).new_obj;if(void 0===t.worker&&void 0!==t.worker_url&&(r.useWorkerManager=!1,r.worker=new $u({url:t.worker_url,uuid:r.id,on_sync_complete:r.on_sync_complete})),void 0!==r.worker){const e=ml(r);r.worker.set_zustand(e)}if(void 0!==t.fnw_url){if(void 0===r.worker)throw new Error("defining fnw_url requires a worker to be defined");const e=async function(e,t=!0){try{const n=await fetch(e);if(!n.ok)throw new Error(`Failed to fetch from URL: ${n.status} ${n.statusText}`);const r=await n.blob();return await new Promise(((e,n)=>{const o=new FileReader;o.onload=()=>{const r=o.result;"string"!=typeof r&&(n("Failed to convert URL to Base64: No result from FileReader"),n(o.error)),e(t?r.split(",")[1]:r)},o.onerror=()=>n(o.error),o.readAsDataURL(r)}))}catch(e){throw console.error("Error converting URL to Base64:",e),e}}(t.fnw_url),n=r.worker.on_sync_complete,o=async t=>{const r=await e;t.on_sync_complete=n,await t.update_from_export(r)};r.worker.on_sync_complete=o}return n.debug("Initalizing FuncnodesReactFlow with props:",r),e.createElement("div",{className:"FuncnodesApp"},e.createElement(rG,{...r}))};export{nG as FuncNodesContext,ml as FuncNodesReactFlowZustand,Xu as FuncNodesWorker,rG as FuncnodesReactFlow,YV as ReactFlowLayer,bV as RenderMappingProvider,$u as WebSocketWorker,oe as assert_full_node,q as deep_update,iG as default,oG as helperfunctions};
157
157
  //# sourceMappingURL=index.esm.mjs.map