funcnodes-react-flow 1.0.2__py3-none-any.whl → 1.0.3__py3-none-any.whl
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.
- funcnodes_react_flow/static/funcnodes_react_flow.es.js +7 -3
- funcnodes_react_flow/static/funcnodes_react_flow.iife.js +2 -2
- {funcnodes_react_flow-1.0.2.dist-info → funcnodes_react_flow-1.0.3.dist-info}/METADATA +1 -1
- {funcnodes_react_flow-1.0.2.dist-info → funcnodes_react_flow-1.0.3.dist-info}/RECORD +7 -7
- {funcnodes_react_flow-1.0.2.dist-info → funcnodes_react_flow-1.0.3.dist-info}/WHEEL +0 -0
- {funcnodes_react_flow-1.0.2.dist-info → funcnodes_react_flow-1.0.3.dist-info}/entry_points.txt +0 -0
- {funcnodes_react_flow-1.0.2.dist-info → funcnodes_react_flow-1.0.3.dist-info}/licenses/LICENSE +0 -0
@@ -52291,13 +52291,17 @@ class Mpe extends ql {
|
|
52291
52291
|
return r.update(n.node), r.getState();
|
52292
52292
|
} else
|
52293
52293
|
this.workerManager.worker && this.workerManager.worker.api.node.locally_update_node(n);
|
52294
|
+
}, this._sync_nodes = () => {
|
52295
|
+
const n = this.reactFlowManager.useReactFlowStore.getState().getNodes(), r = this.nodespace.nodesstates;
|
52296
|
+
for (const o of r.keys())
|
52297
|
+
n.some((a) => a.id === o) || r.delete(o);
|
52294
52298
|
}, this._delete_node = (n) => {
|
52295
|
-
this.context.rf.logger.info("Deleting node", n.id), n.from_remote ? this.reactFlowManager.useReactFlowStore.getState().onNodesChange([
|
52299
|
+
this.context.rf.logger.info("Deleting node", n.id), n.from_remote ? (this.reactFlowManager.useReactFlowStore.getState().onNodesChange([
|
52296
52300
|
{
|
52297
52301
|
type: "remove",
|
52298
52302
|
id: n.id
|
52299
52303
|
}
|
52300
|
-
]) : this.workerManager.worker?.api.node.remove_node(n.id);
|
52304
|
+
]), this._sync_nodes()) : this.workerManager.worker?.api.node.remove_node(n.id);
|
52301
52305
|
}, this._error_action = (n) => (this.context.rf.logger.error("Error", new Error(JSON.stringify(n))), this.on_node_action({
|
52302
52306
|
type: "update",
|
52303
52307
|
id: n.id,
|
@@ -52794,7 +52798,7 @@ const Hpe = (e) => {
|
|
52794
52798
|
);
|
52795
52799
|
};
|
52796
52800
|
window.FuncNodes = rj;
|
52797
|
-
window.FuncNodes.version = "1.0.
|
52801
|
+
window.FuncNodes.version = "1.0.3";
|
52798
52802
|
window.FuncNodes.utils = {
|
52799
52803
|
logger: {
|
52800
52804
|
ConsoleLogger: l1,
|
@@ -822,9 +822,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
822
822
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:g,table:s,tableCell:c,tableRow:u}};function s(y,w,v,S){return f(h(y,v,S),y.align)}function u(y,w,v,S){const E=p(y,v,S),T=f([E]);return T.slice(0,T.indexOf(`
|
823
823
|
`))}function c(y,w,v,S){const E=v.enter("tableCell"),T=v.enter("phrasing"),k=v.containerPhrasing(y,{...S,before:a,after:a});return T(),E(),k}function f(y,w){return mce(y,{align:w,alignDelimiters:r,padding:n,stringLength:o})}function h(y,w,v){const S=y.children;let E=-1;const T=[],k=w.enter("table");for(;++E<S.length;)T[E]=p(S[E],w,v);return k(),T}function p(y,w,v){const S=y.children;let E=-1;const T=[],k=w.enter("tableRow");for(;++E<S.length;)T[E]=c(S[E],y,w,v);return k(),T}function g(y,w,v){let S=m5.inlineCode(y,w,v);return v.stack.includes("tableCell")&&(S=S.replace(/\|/g,"\\$&")),S}}function nfe(){return{exit:{taskListCheckValueChecked:y5,taskListCheckValueUnchecked:y5,paragraph:ofe}}}function rfe(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:ife}}}function y5(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function ofe(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const o=t.children;let a=-1,s;for(;++a<o.length;){const u=o[a];if(u.type==="paragraph"){s=u;break}}s===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function ife(e,t,n,r){const o=e.children[0],a=typeof e.checked=="boolean"&&o&&o.type==="paragraph",s="["+(e.checked?"x":" ")+"] ",u=n.createTracker(r);a&&u.move(s);let c=m5.listItem(e,t,n,{...r,...u.current()});return a&&(c=c.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,f)),c;function f(h){return h+s}}function afe(){return[Lue(),ice(),uce(),Xce(),nfe()]}function sfe(e){return{extensions:[Fue(),ace(e),cce(),tfe(e),rfe()]}}const lfe={tokenize:pfe,partial:!0},v5={tokenize:mfe,partial:!0},b5={tokenize:gfe,partial:!0},x5={tokenize:yfe,partial:!0},ufe={tokenize:vfe,partial:!0},w5={name:"wwwAutolink",tokenize:dfe,previous:S5},_5={name:"protocolAutolink",tokenize:hfe,previous:E5},Qo={name:"emailAutolink",tokenize:ffe,previous:C5},bo={};function cfe(){return{text:bo}}let Ba=48;for(;Ba<123;)bo[Ba]=Qo,Ba++,Ba===58?Ba=65:Ba===91&&(Ba=97);bo[43]=Qo,bo[45]=Qo,bo[46]=Qo,bo[95]=Qo,bo[72]=[Qo,_5],bo[104]=[Qo,_5],bo[87]=[Qo,w5],bo[119]=[Qo,w5];function ffe(e,t,n){const r=this;let o,a;return s;function s(p){return!p1(p)||!C5.call(r,r.previous)||m1(r.events)?n(p):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),u(p))}function u(p){return p1(p)?(e.consume(p),u):p===64?(e.consume(p),c):n(p)}function c(p){return p===46?e.check(ufe,h,f)(p):p===45||p===95||gn(p)?(a=!0,e.consume(p),c):h(p)}function f(p){return e.consume(p),o=!0,c}function h(p){return a&&o&&Cn(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(p)):n(p)}}function dfe(e,t,n){const r=this;return o;function o(s){return s!==87&&s!==119||!S5.call(r,r.previous)||m1(r.events)?n(s):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(lfe,e.attempt(v5,e.attempt(b5,a),n),n)(s))}function a(s){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(s)}}function hfe(e,t,n){const r=this;let o="",a=!1;return s;function s(p){return(p===72||p===104)&&E5.call(r,r.previous)&&!m1(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(p),e.consume(p),u):n(p)}function u(p){if(Cn(p)&&o.length<5)return o+=String.fromCodePoint(p),e.consume(p),u;if(p===58){const g=o.toLowerCase();if(g==="http"||g==="https")return e.consume(p),c}return n(p)}function c(p){return p===47?(e.consume(p),a?f:(a=!0,c)):n(p)}function f(p){return p===null||Cp(p)||vt(p)||$a(p)||kp(p)?n(p):e.attempt(v5,e.attempt(b5,h),n)(p)}function h(p){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(p)}}function pfe(e,t,n){let r=0;return o;function o(s){return(s===87||s===119)&&r<3?(r++,e.consume(s),o):s===46&&r===3?(e.consume(s),a):n(s)}function a(s){return s===null?n(s):t(s)}}function mfe(e,t,n){let r,o,a;return s;function s(f){return f===46||f===95?e.check(x5,c,u)(f):f===null||vt(f)||$a(f)||f!==45&&kp(f)?c(f):(a=!0,e.consume(f),s)}function u(f){return f===95?r=!0:(o=r,r=void 0),e.consume(f),s}function c(f){return o||r||!a?n(f):t(f)}}function gfe(e,t){let n=0,r=0;return o;function o(s){return s===40?(n++,e.consume(s),o):s===41&&r<n?a(s):s===33||s===34||s===38||s===39||s===41||s===42||s===44||s===46||s===58||s===59||s===60||s===63||s===93||s===95||s===126?e.check(x5,t,a)(s):s===null||vt(s)||$a(s)?t(s):(e.consume(s),o)}function a(s){return s===41&&r++,e.consume(s),o}}function yfe(e,t,n){return r;function r(u){return u===33||u===34||u===39||u===41||u===42||u===44||u===46||u===58||u===59||u===63||u===95||u===126?(e.consume(u),r):u===38?(e.consume(u),a):u===93?(e.consume(u),o):u===60||u===null||vt(u)||$a(u)?t(u):n(u)}function o(u){return u===null||u===40||u===91||vt(u)||$a(u)?t(u):r(u)}function a(u){return Cn(u)?s(u):n(u)}function s(u){return u===59?(e.consume(u),r):Cn(u)?(e.consume(u),s):n(u)}}function vfe(e,t,n){return r;function r(a){return e.consume(a),o}function o(a){return gn(a)?n(a):t(a)}}function S5(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||vt(e)}function E5(e){return!Cn(e)}function C5(e){return!(e===47||p1(e))}function p1(e){return e===43||e===45||e===46||e===95||gn(e)}function m1(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const bfe={tokenize:Tfe,partial:!0};function xfe(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:Efe,continuation:{tokenize:Cfe},exit:kfe}},text:{91:{name:"gfmFootnoteCall",tokenize:Sfe},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:wfe,resolveTo:_fe}}}}function wfe(e,t,n){const r=this;let o=r.events.length;const a=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let s;for(;o--;){const c=r.events[o][1];if(c.type==="labelImage"){s=c;break}if(c.type==="gfmFootnoteCall"||c.type==="labelLink"||c.type==="label"||c.type==="image"||c.type==="link")break}return u;function u(c){if(!s||!s._balanced)return n(c);const f=$r(r.sliceSerialize({start:s.end,end:r.now()}));return f.codePointAt(0)!==94||!a.includes(f.slice(1))?n(c):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(c),e.exit("gfmFootnoteCallLabelMarker"),t(c))}}function _fe(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const a={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},s={type:"chunkString",contentType:"string",start:Object.assign({},a.start),end:Object.assign({},a.end)},u=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",o,t],["exit",o,t],["enter",a,t],["enter",s,t],["exit",s,t],["exit",a,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...u),e}function Sfe(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a=0,s;return u;function u(p){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),c}function c(p){return p!==94?n(p):(e.enter("gfmFootnoteCallMarker"),e.consume(p),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",f)}function f(p){if(a>999||p===93&&!s||p===null||p===91||vt(p))return n(p);if(p===93){e.exit("chunkString");const g=e.exit("gfmFootnoteCallString");return o.includes($r(r.sliceSerialize(g)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(p),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(p)}return vt(p)||(s=!0),a++,e.consume(p),p===92?h:f}function h(p){return p===91||p===92||p===93?(e.consume(p),a++,f):f(p)}}function Efe(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let a,s=0,u;return c;function c(w){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),f}function f(w){return w===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",h):n(w)}function h(w){if(s>999||w===93&&!u||w===null||w===91||vt(w))return n(w);if(w===93){e.exit("chunkString");const v=e.exit("gfmFootnoteDefinitionLabelString");return a=$r(r.sliceSerialize(v)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),g}return vt(w)||(u=!0),s++,e.consume(w),w===92?p:h}function p(w){return w===91||w===92||w===93?(e.consume(w),s++,h):h(w)}function g(w){return w===58?(e.enter("definitionMarker"),e.consume(w),e.exit("definitionMarker"),o.includes(a)||o.push(a),Qe(e,y,"gfmFootnoteDefinitionWhitespace")):n(w)}function y(w){return t(w)}}function Cfe(e,t,n){return e.check(yc,t,e.attempt(bfe,t,n))}function kfe(e){e.exit("gfmFootnoteDefinition")}function Tfe(e,t,n){const r=this;return Qe(e,o,"gfmFootnoteDefinitionIndent",5);function o(a){const s=r.events[r.events.length-1];return s&&s[1].type==="gfmFootnoteDefinitionIndent"&&s[2].sliceSerialize(s[1],!0).length===4?t(a):n(a)}}function Afe(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:a,resolveAll:o};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(s,u){let c=-1;for(;++c<s.length;)if(s[c][0]==="enter"&&s[c][1].type==="strikethroughSequenceTemporary"&&s[c][1]._close){let f=c;for(;f--;)if(s[f][0]==="exit"&&s[f][1].type==="strikethroughSequenceTemporary"&&s[f][1]._open&&s[c][1].end.offset-s[c][1].start.offset===s[f][1].end.offset-s[f][1].start.offset){s[c][1].type="strikethroughSequence",s[f][1].type="strikethroughSequence";const h={type:"strikethrough",start:Object.assign({},s[f][1].start),end:Object.assign({},s[c][1].end)},p={type:"strikethroughText",start:Object.assign({},s[f][1].end),end:Object.assign({},s[c][1].start)},g=[["enter",h,u],["enter",s[f][1],u],["exit",s[f][1],u],["enter",p,u]],y=u.parser.constructs.insideSpan.null;y&&er(g,g.length,0,Tp(y,s.slice(f+1,c),u)),er(g,g.length,0,[["exit",p,u],["enter",s[c][1],u],["exit",s[c][1],u],["exit",h,u]]),er(s,f-1,c-f+3,g),c=f+g.length-2;break}}for(c=-1;++c<s.length;)s[c][1].type==="strikethroughSequenceTemporary"&&(s[c][1].type="data");return s}function a(s,u,c){const f=this.previous,h=this.events;let p=0;return g;function g(w){return f===126&&h[h.length-1][1].type!=="characterEscape"?c(w):(s.enter("strikethroughSequenceTemporary"),y(w))}function y(w){const v=ll(f);if(w===126)return p>1?c(w):(s.consume(w),p++,y);if(p<2&&!n)return c(w);const S=s.exit("strikethroughSequenceTemporary"),E=ll(w);return S._open=!E||E===2&&!!v,S._close=!v||v===2&&!!E,u(w)}}}class Rfe{constructor(){this.map=[]}add(t,n,r){Mfe(this,t,n,r)}consume(t){if(this.map.sort(function(a,s){return a[0]-s[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let o=r.pop();for(;o;){for(const a of o)t.push(a);o=r.pop()}this.map.length=0}}function Mfe(e,t,n,r){let o=0;if(!(n===0&&r.length===0)){for(;o<e.map.length;){if(e.map[o][0]===t){e.map[o][1]+=n,e.map[o][2].push(...r);return}o+=1}e.map.push([t,n,r])}}function Ofe(e,t){let n=!1;const r=[];for(;t<e.length;){const o=e[t];if(n){if(o[0]==="enter")o[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const a=r.length-1;r[a]=r[a]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function Nfe(){return{flow:{null:{name:"table",tokenize:Dfe,resolveAll:Pfe}}}}function Dfe(e,t,n){const r=this;let o=0,a=0,s;return u;function u(R){let F=r.events.length-1;for(;F>-1;){const j=r.events[F][1].type;if(j==="lineEnding"||j==="linePrefix")F--;else break}const U=F>-1?r.events[F][1].type:null,W=U==="tableHead"||U==="tableRow"?N:c;return W===N&&r.parser.lazy[r.now().line]?n(R):W(R)}function c(R){return e.enter("tableHead"),e.enter("tableRow"),f(R)}function f(R){return R===124||(s=!0,a+=1),h(R)}function h(R){return R===null?n(R):Oe(R)?a>1?(a=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(R),e.exit("lineEnding"),y):n(R):Ge(R)?Qe(e,h,"whitespace")(R):(a+=1,s&&(s=!1,o+=1),R===124?(e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),s=!0,h):(e.enter("data"),p(R)))}function p(R){return R===null||R===124||vt(R)?(e.exit("data"),h(R)):(e.consume(R),R===92?g:p)}function g(R){return R===92||R===124?(e.consume(R),p):p(R)}function y(R){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(R):(e.enter("tableDelimiterRow"),s=!1,Ge(R)?Qe(e,w,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):w(R))}function w(R){return R===45||R===58?S(R):R===124?(s=!0,e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),v):M(R)}function v(R){return Ge(R)?Qe(e,S,"whitespace")(R):S(R)}function S(R){return R===58?(a+=1,s=!0,e.enter("tableDelimiterMarker"),e.consume(R),e.exit("tableDelimiterMarker"),E):R===45?(a+=1,E(R)):R===null||Oe(R)?A(R):M(R)}function E(R){return R===45?(e.enter("tableDelimiterFiller"),T(R)):M(R)}function T(R){return R===45?(e.consume(R),T):R===58?(s=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(R),e.exit("tableDelimiterMarker"),k):(e.exit("tableDelimiterFiller"),k(R))}function k(R){return Ge(R)?Qe(e,A,"whitespace")(R):A(R)}function A(R){return R===124?w(R):R===null||Oe(R)?!s||o!==a?M(R):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(R)):M(R)}function M(R){return n(R)}function N(R){return e.enter("tableRow"),P(R)}function P(R){return R===124?(e.enter("tableCellDivider"),e.consume(R),e.exit("tableCellDivider"),P):R===null||Oe(R)?(e.exit("tableRow"),t(R)):Ge(R)?Qe(e,P,"whitespace")(R):(e.enter("data"),z(R))}function z(R){return R===null||R===124||vt(R)?(e.exit("data"),P(R)):(e.consume(R),R===92?B:z)}function B(R){return R===92||R===124?(e.consume(R),z):z(R)}}function Pfe(e,t){let n=-1,r=!0,o=0,a=[0,0,0,0],s=[0,0,0,0],u=!1,c=0,f,h,p;const g=new Rfe;for(;++n<e.length;){const y=e[n],w=y[1];y[0]==="enter"?w.type==="tableHead"?(u=!1,c!==0&&(k5(g,t,c,f,h),h=void 0,c=0),f={type:"table",start:Object.assign({},w.start),end:Object.assign({},w.end)},g.add(n,0,[["enter",f,t]])):w.type==="tableRow"||w.type==="tableDelimiterRow"?(r=!0,p=void 0,a=[0,0,0,0],s=[0,n+1,0,0],u&&(u=!1,h={type:"tableBody",start:Object.assign({},w.start),end:Object.assign({},w.end)},g.add(n,0,[["enter",h,t]])),o=w.type==="tableDelimiterRow"?2:h?3:1):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")?(r=!1,s[2]===0&&(a[1]!==0&&(s[0]=s[1],p=Lp(g,t,a,o,void 0,p),a=[0,0,0,0]),s[2]=n)):w.type==="tableCellDivider"&&(r?r=!1:(a[1]!==0&&(s[0]=s[1],p=Lp(g,t,a,o,void 0,p)),a=s,s=[a[1],n,0,0])):w.type==="tableHead"?(u=!0,c=n):w.type==="tableRow"||w.type==="tableDelimiterRow"?(c=n,a[1]!==0?(s[0]=s[1],p=Lp(g,t,a,o,n,p)):s[1]!==0&&(p=Lp(g,t,s,o,n,p)),o=0):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")&&(s[3]=n)}for(c!==0&&k5(g,t,c,f,h),g.consume(t.events),n=-1;++n<t.events.length;){const y=t.events[n];y[0]==="enter"&&y[1].type==="table"&&(y[1]._align=Ofe(t.events,n))}return e}function Lp(e,t,n,r,o,a){const s=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",u="tableContent";n[0]!==0&&(a.end=Object.assign({},cl(t.events,n[0])),e.add(n[0],0,[["exit",a,t]]));const c=cl(t.events,n[1]);if(a={type:s,start:Object.assign({},c),end:Object.assign({},c)},e.add(n[1],0,[["enter",a,t]]),n[2]!==0){const f=cl(t.events,n[2]),h=cl(t.events,n[3]),p={type:u,start:Object.assign({},f),end:Object.assign({},h)};if(e.add(n[2],0,[["enter",p,t]]),r!==2){const g=t.events[n[2]],y=t.events[n[3]];if(g[1].end=Object.assign({},y[1].end),g[1].type="chunkText",g[1].contentType="text",n[3]>n[2]+1){const w=n[2]+1,v=n[3]-n[2]-1;e.add(w,v,[])}}e.add(n[3]+1,0,[["exit",p,t]])}return o!==void 0&&(a.end=Object.assign({},cl(t.events,o)),e.add(o,0,[["exit",a,t]]),a=void 0),a}function k5(e,t,n,r,o){const a=[],s=cl(t.events,n);o&&(o.end=Object.assign({},s),a.push(["exit",o,t])),r.end=Object.assign({},s),a.push(["exit",r,t]),e.add(n+1,0,a)}function cl(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const jfe={name:"tasklistCheck",tokenize:zfe};function Ife(){return{text:{91:jfe}}}function zfe(e,t,n){const r=this;return o;function o(c){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(c):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),a)}function a(c){return vt(c)?(e.enter("taskListCheckValueUnchecked"),e.consume(c),e.exit("taskListCheckValueUnchecked"),s):c===88||c===120?(e.enter("taskListCheckValueChecked"),e.consume(c),e.exit("taskListCheckValueChecked"),s):n(c)}function s(c){return c===93?(e.enter("taskListCheckMarker"),e.consume(c),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),u):n(c)}function u(c){return Oe(c)?t(c):Ge(c)?e.check({tokenize:Lfe},t,n)(c):n(c)}}function Lfe(e,t,n){return Qe(e,r,"whitespace");function r(o){return o===null?n(o):t(o)}}function Ffe(e){return s3([cfe(),xfe(),Afe(e),Nfe(),Ife()])}const $fe={};function Bfe(e){const t=this,n=e||$fe,r=t.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),a=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),s=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(Ffe(n)),a.push(afe()),s.push(sfe(n))}const g1=({availableModule:e})=>{const[t,n]=_.useState(!1),r=()=>n(!t),o=150,a=e.description.length>o?e.description.substring(0,o)+"...":e.description;return x.jsxs("div",{className:"module-description",children:[x.jsx(Aue,{remarkPlugins:[Bfe],children:t?e.description.replace(/\\n/g,`
|
824
824
|
`):a.replace(/\\n/g,`
|
825
|
-
`)}),e.description.length>o&&x.jsx("button",{onClick:r,className:"toggle-description",children:t?"Show less":"Show more"})]})},T5=[">=","==","<=","<",">"],Fp=">=",y1=({availableModule:e,on_change:t})=>{const[n,r]=_.useState(e.version||"latest"),[o,a]=_.useState(Fp),s=c=>{const f=c.target.value;r(f),t(f!=="latest"?o+f:f)},u=c=>{c.target.value!==o&&T5.includes(c.target.value)&&(a(c.target.value),n!=="latest"&&t(c.target.value+n))};return e.releases&&!e.releases.includes(n)&&e.releases.unshift(n),x.jsxs(x.Fragment,{children:[x.jsx("select",{value:o,onChange:u,children:T5.map(c=>x.jsx("option",{value:c,children:c},c))}),x.jsx("select",{onChange:s,value:n,children:e.releases&&e.releases.map(c=>x.jsx("option",{value:c,children:c},c))})]})},Hfe=({availableModule:e,on_remove:t,on_update:n})=>{const[r,o]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name+(e.version?` (${e.version})`:"")}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:o}),x.jsx("button",{className:"update-button",disabled:r===e.version,onClick:()=>{n(e,r)},children:"Update"}),x.jsx("button",{className:"remove-button",onClick:()=>{t(e)},children:"Remove"})]})]})},Vfe=({availableModule:e,on_add:t})=>{const[n,r]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name+(e.version?` (${e.version})`:"")}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:r}),x.jsx("button",{className:"add-button",onClick:()=>{t(e,n)},children:"Add"})]})]})},Ufe=({availableModule:e,on_add:t})=>{const[n,r]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:r}),x.jsx("button",{className:"add-button",onClick:()=>{t(e,n)},children:"Add"})]})]})},qfe=({ins:e})=>{const[t,n]=_.useState(e.name),r=tt(),{lib:o}=_n(),a=()=>{r.worker&&o?.remove_external_worker(e.uuid,e.nodeclassid)},s=()=>{r.worker&&(r.worker.update_external_worker(e.uuid,e.nodeclassid,{name:t}),e.name=t)};return x.jsx(x.Fragment,{children:x.jsx(Lo,{title:e.name,description:"Settings for"+e.name,trigger:x.jsx("div",{children:"Settings"}),buttons:[{text:"Save",onClick:s,close:!0},{text:"Delete",onClick:a,close:!0}],children:x.jsx("div",{children:x.jsxs("div",{children:[x.jsx("label",{htmlFor:"name",children:"Name: "}),x.jsx("input",{type:"text",name:"name",value:t,onChange:u=>n(u.target.value),className:"styledinput"})]})})})})},Gfe=({ins:e,lib:t,filter:n="",parentkey:r})=>{const[o,a]=_.useState(!1),s=()=>a(!o),u=t?.nodes?.filter(c=>c.node_id.toLowerCase().includes(n.toLowerCase()));return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:s,style:{cursor:"pointer"},title:e.name,children:[x.jsx("div",{className:"shelftitle_text",children:e.name}),x.jsx("div",{className:"expandicon "+(o?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(o?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:o&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"libnodeentry",title:e.uuid,children:x.jsx(qfe,{ins:e})}),t&&x.jsxs(x.Fragment,{children:[u&&x.jsx(x.Fragment,{children:u.map(c=>x.jsx(N2,{item:c},r+c.node_id))}),t.subshelves.map(c=>x.jsx(_b,{item:c,filter:n,parentkey:r+c.name},r+c.name))]})]})})})]})},Yfe=({item:e,mod:t,lib:n})=>{const{lib:r}=_n(),[o,a]=_.useState(!1),s=()=>a(!o),u=_.useCallback(()=>{r?.add_external_worker({module:t,cls_module:e.module,cls_name:e.class_name})},[r,t,e]),c=h=>{h.detail===2&&u()},f=e.name||e.module+"."+e.class_name;return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:s,style:{cursor:"pointer"},title:f,children:[x.jsx("div",{className:"shelftitle_text",children:f}),x.jsx("div",{className:"expandicon "+(o?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(o?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:o&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"libnodeentry",onClick:c,title:e.name,children:"New Instance"}),e.instances.map(h=>x.jsx(Gfe,{ins:h,lib:n?.subshelves.find(p=>p.name===h.uuid),parentkey:h.uuid},h.uuid))]})})})]})},Wfe=({externalworkermod:e,lib:t})=>{const[n,r]=_.useState(!1),o=()=>r(!n),a=n;return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:o,style:{cursor:"pointer"},title:e.module,children:[x.jsx("div",{className:"shelftitle_text",children:e.module}),x.jsx("div",{className:"expandicon "+(a?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(a?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:e.worker_classes.map(s=>x.jsx(Yfe,{item:s,mod:e.module,lib:t},s.module+s.class_name))})}),x.jsx("hr",{})]})},Xfe=()=>{const e=tt(),t=e.lib.libstate(),n=tt(),r=n.local_settings(f=>f.view_settings.expand_lib),o=f=>{n.update_view_settings({expand_lib:f})},a=rre("m"),[s,u]=_.useState(""),c=e.worker?.state(f=>f.is_open)??!1;return x.jsx(tb,{maxSize:a?"100%":"18.75rem",direction:a?"down":"right",containerClassName:"pos-left pos-top bg1 h-12",onExpandChange:o,expanded:r===void 0?!0:r,collapseIcons:{up:Fd,down:bu,left:vu,right:Ld},expandIcons:{up:bu,down:Fd,left:Ld,right:vu},children:x.jsxs("div",{className:"libcontainer",children:[x.jsxs("div",{className:"library",children:[x.jsx("div",{className:"libtitle",children:"Lib"}),x.jsx("hr",{className:"hr_prominent"}),x.jsx(Cie,{filter:s,setFilter:u}),x.jsx("div",{className:"vscrollcontainer",children:t.lib.shelves.filter(f=>f.name!=="_external_worker").map(f=>x.jsx(_b,{item:f,filter:s,parentkey:f.name},f.name))}),x.jsx("hr",{}),x.jsx("div",{className:"libtitle",children:"External Worker"}),x.jsx("hr",{className:"hr_prominent"}),x.jsx("div",{className:"vscrollcontainer",children:t.external_worker?.map(f=>x.jsx(Wfe,{externalworkermod:f,lib:t.lib.shelves.find(h=>h.name==="_external_worker")},f.module))}),x.jsx("hr",{})]}),c&&x.jsx("div",{className:"addlib",children:x.jsx(kie,{children:x.jsx("button",{children:"Manage Libraries"})})})]})})},Kfe=({fnrf_zst:e,header:t,flow:n,library:r})=>{const[o,a]=_.useState(e.options.worker||e.getWorkerManager().worker),s=_.useRef(null);e.workermanager&&(e.workermanager.on_setWorker=a),_.useEffect(()=>{e.auto_progress()},[]),_.useEffect(()=>{e.local_state.setState({funcnodescontainerRef:s.current})},[s]);const u=e.plugins();return x.jsx(Hne,{plugins:u,fnrf_zst:e,children:x.jsx(NB,{children:x.jsx(FC.Provider,{value:e,children:x.jsx(bi,{asChild:!0,children:x.jsx(Ao,{asChild:!0,children:x.jsx(EN,{style:{height:"100%",width:"100%",display:"flex",flexDirection:"column",flex:1},children:x.jsxs("div",{ref:s,className:"funcnodesreactflowcontainer funcnodescontainer",children:[t.show&&x.jsx(Eie,{...t}),x.jsxs("div",{className:"funcnodesreactflowbody",children:[x.jsx(noe,{...n}),o&&r.show&&x.jsx(Xfe,{}),o&&n.showNodeSettings&&x.jsx(lre,{})]}),x.jsxs("div",{className:"funcnodesflaotingmenu",children:[x.jsx(Ao.OutFullScreen,{children:n.allowExpand&&x.jsxs(bi.Trigger,{children:[x.jsx(bi.Expanded,{children:x.jsx(_B,{size:"xl",style:{padding:"4px"}})}),x.jsx(bi.Collapsed,{children:x.jsx(SB,{size:"xl",style:{padding:"4px"}})})]})}),n.allowFullScreen&&x.jsxs(Ao.Trigger,{children:[x.jsx(Ao.OutFullScreen,{children:x.jsx(LC,{size:"xl",style:{padding:"4px"}})}),x.jsx(Ao.InFullScreen,{children:x.jsx(wB,{size:"xl",style:{padding:"4px"}})})]})]})]})})})})})})})};class fl{constructor(t){this.context=t}get nodespaceManager(){return this.context.rf.getNodespaceManager()}get libManager(){return this.context.rf.getLibManager()}get workerManager(){return this.context.rf.getWorkerManager()}get stateManager(){return this.context.rf.getStateManager()}get pluginManager(){return this.context.rf.getPluginManager()}get reactFlowManager(){return this.context.rf.getReactFlowManager()}}const A5=({src_nid:e,src_ioid:t,trg_nid:n,trg_ioid:r})=>[`${e}:${t}`,`${n}:${r}`].sort().join("--"),Zfe=({})=>{const e=new Map;return{nodesstates:e,get_node:(t,n=!0)=>{const r=e.get(t);if(!r&&n){const o=e.keys();throw new Error(`Node ${t} not found, available nodes: ${Array.from(o)}`)}return r}}};class Qfe extends fl{constructor(t){super(t),this.on_node_action=n=>{switch(n.type){case"add":return this._add_node(n);case"update":return this._update_node(n);case"delete":return this._delete_node(n);case"error":return this._error_action(n);case"trigger":return this._trigger_action(n);default:this.context.rf.logger.error("Unknown node action",n);return}},this.on_edge_action=n=>{const r=this.reactFlowManager.useReactFlowStore.getState();switch(n.type){case"add":if(n.from_remote){const o=r.getEdges(),a=A5(n);if(o.some(u=>u.id===a))return;const s={id:a,source:n.src_nid,target:n.trg_nid,sourceHandle:n.src_ioid,targetHandle:n.trg_ioid,className:"funcnodes-edge animated",zIndex:1003};this.context.rf.logger.info("Adding edge",s),r.update_edges([...o,s]),this.workerManager.worker?.api.node.get_remote_node_state(n.src_nid),this.workerManager.worker?.api.node.get_remote_node_state(n.trg_nid)}break;case"delete":if(n.from_remote){const o=r.getEdges(),a=A5(n);this.context.rf.logger.info("Deleting edge",a);const s=o.filter(u=>u.id!==a);r.update_edges(s),this.workerManager.worker?.api.node.get_remote_node_state(n.src_nid),this.workerManager.worker?.api.node.get_remote_node_state(n.trg_nid)}break;default:this.context.rf.logger.error("Unknown edge action",n)}},this.on_group_action=n=>{switch(n.type){case"set":return this._set_groups(n.groups);case"update":return this._update_group(n);default:this.context.rf.logger.error("Unknown group action",n)}},this.clear_all=()=>{this.context.rf.logger.debug("Clearing all nodespace"),this.workerManager.worker?.disconnect(),this.workerManager.set_worker(void 0),this.workerManager.workermanager?.setWorker(void 0),this.libManager.lib.libstate.getState().set({lib:{shelves:[]},external_worker:[]}),this.nodespace.nodesstates.clear(),this.reactFlowManager.useReactFlowStore.getState().update_nodes([]),this.reactFlowManager.useReactFlowStore.getState().update_edges([]),this.stateManager.auto_progress()},this.center_node=n=>{if(!this.reactFlowManager.rf_instance)return;n=Array.isArray(n)?n:[n];const r=this.reactFlowManager.useReactFlowStore.getState().getNodes().filter(o=>n.includes(o.id));r.length>0&&this.reactFlowManager.rf_instance?.fitView({padding:.2,nodes:r})},this.auto_resize_group=n=>{const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n);if(o===void 0||o.type!=="group")return;const a=o.data.group.node_ids.map(h=>r.getNode(h)).filter(h=>h!==void 0),s=o.data.group.child_groups.map(h=>r.getNode(h)).filter(h=>h!==void 0),u=[...a,...s],c=this.reactFlowManager.rf_instance?.getNodesBounds(u);if(c===void 0)return;const f={...o,position:{x:c.x,y:c.y},height:c.height,width:c.width};f.data.group.position=[c.x,c.y],r.partial_update_nodes([f])},this.change_group_position=n=>{if(n.position===void 0)return;const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n.id);if(o===void 0||o.type!=="group")return;const a=[...o.data.group.node_ids,...o.data.group.child_groups],s=this.reactFlowManager.rf_instance?.getNodesBounds(a);if(s===void 0)return;const u=n.position.x-s?.x,c=n.position.y-s?.y,f=[];for(const h of a){const p=r.getNode(h);p!==void 0&&f.push({id:h,type:"position",position:{x:p.position.x+u,y:p.position.y+c}})}r.onNodesChange(f)},this.change_fn_node_position=n=>{n.position!==void 0&&this.on_node_action({type:"update",id:n.id,node:{properties:{"frontend:pos":[n.position.x,n.position.y]}},from_remote:!1})},this.change_group_dimensions=n=>{if(n.dimensions===void 0)return;const o=this.reactFlowManager.useReactFlowStore.getState().getNode(n.id);o!==void 0&&this.reactFlowManager.useReactFlowStore.getState().partial_update_nodes($v([n],[o]))},this.change_fn_node_dimensions=n=>{n.dimensions!==void 0&&this.on_node_action({type:"update",id:n.id,node:{properties:{"frontend:size":[n.dimensions.width,n.dimensions.height]}},from_remote:!1})},this._update_group=n=>{if(n.from_remote){const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n.id);if(o===void 0||o.type!=="group")return;const{new_obj:a,change:s}=ha(o.data.group,n.group);s&&(o.data.group=a),r.partial_update_nodes([o])}else this.workerManager.worker&&this.workerManager.worker.api.group.locally_update_group(n)},this._set_groups=n=>{const r=this.reactFlowManager.useReactFlowStore.getState(),{default_nodes:o}=lb(r.getNodes()),a=[...o],s={};for(const c in n){const f=n[c];for(const p of f.node_ids)s[p]=c;for(const p of f.child_groups)s[p]=c;f.position===void 0&&(f.position=[0,0]);const h={id:c,type:"group",data:{group:n[c],id:c},position:{x:f.position[0],y:f.position[1]},zIndex:2};f.parent_group&&(h.data.groupID=f.parent_group),a.push(h)}for(const c of a)c.id in s?c.data.groupID=s[c.id]:c.data.groupID=void 0;const u=ub(a);r.update_nodes(u);for(const c of u.reverse())c.type==="group"&&this.auto_resize_group(c.id)},this._add_node=n=>{this.context.rf.logger.info("add node",n);const r=this.reactFlowManager.useReactFlowStore.getState();if(n.from_remote){let o=this.nodespace.get_node(n.node.id,!1);if(o)return;if(!o)try{o=Wre(n.node),this.nodespace.nodesstates.set(n.node.id,o)}catch(c){this.context.rf.logger.error(`Failed to create node store ${c}`);return}const a=o.getState();this.context.rf.logger.info("Add node",a.id,a.name);const s=toe(o,this.context.rf),u=[...r.getNodes(),s];this.reactFlowManager.useReactFlowStore.getState().update_nodes(u);for(const c of s.io_order)this.workerManager.worker?.api.node.get_io_value({nid:s.id,ioid:c});return setTimeout(()=>{this.workerManager.worker?.api.hooks.call_hooks("node_added",{node:a.id})},0),a}},this._update_node=n=>{if(Object.keys(n.node).length===0){this.context.rf.logger.error("Node update is empty",new Error(JSON.stringify(n)));return}if(n.node.in_trigger&&(n.node.error=void 0),n.from_remote){const r=this.nodespace.get_node(n.id,!1);if(!r){console.error("Node not found to update",n.id);return}return r.update(n.node),r.getState()}else this.workerManager.worker&&this.workerManager.worker.api.node.locally_update_node(n)},this._delete_node=n=>{this.context.rf.logger.info("Deleting node",n.id),n.from_remote?this.reactFlowManager.useReactFlowStore.getState().onNodesChange([{type:"remove",id:n.id}]):this.workerManager.worker?.api.node.remove_node(n.id)},this._error_action=n=>(this.context.rf.logger.error("Error",new Error(JSON.stringify(n))),this.on_node_action({type:"update",id:n.id,node:{in_trigger:!1,error:n.error},from_remote:!0})),this._trigger_action=n=>{if(n.from_remote)return this.on_node_action({type:"update",id:n.id,node:{in_trigger:!0,error:void 0},from_remote:!0});this.workerManager.worker?.api.node.trigger_node(n.id)},this.nodespace=Zfe({})}center_all(){this.reactFlowManager.rf_instance?.fitView({padding:.2})}}const Jfe=()=>({libstate:gr((e,t)=>({lib:{shelves:[]},external_worker:[],set:n=>e(r=>({...r,...n})),get_lib:()=>t().lib,get_external_worker:()=>t().external_worker}))});class ede extends fl{constructor(t){super(t),this.lib=Jfe()}}class tde extends fl{constructor(t){super(t),t.rf.logger.debug("Initializing worker manager handler"),this.workers=gr((n,r)=>({})),this.workerstate=gr((n,r)=>({is_open:!1}))}set_worker(t){t!==this.worker&&(this._unsubscribeFromWorker&&(this._unsubscribeFromWorker(),this._unsubscribeFromWorker=void 0),t?(this.context.rf.logger.debug("Setting worker in worker manager"),this._unsubscribeFromWorker=t.state.subscribe(n=>{this.workerstate.setState(n)}),this.workerstate.setState(t.state.getState())):this.context.rf.logger.debug("Removing worker in worker manager"),this.worker=t,t?.set_zustand(this.context.rf))}}class nde extends fl{constructor(t){super(t),this.progress_state=gr((n,r)=>({message:"please select worker",status:"info",progress:0,blocking:!1})),this.local_settings=gr((n,r)=>({view_settings:{expand_node_props:!1,expand_lib:!1}})),this.local_state=gr((n,r)=>({selected_nodes:[],selected_edges:[],selected_groups:[],funcnodescontainerRef:null}))}set_progress(t){if(t.message==="")return this.auto_progress();const n=this.progress_state.getState(),{new_obj:r,change:o}=ha(n,t);o&&this.progress_state.setState(r)}auto_progress(){const t=this.workerManager.workermanager,n=this.workerManager.worker;if(t!==void 0&&!t.open)return this.set_progress({progress:0,message:"connecting to worker manager",status:"error",blocking:!1});if(n===void 0)return this.set_progress({progress:0,message:"please select worker",status:"error",blocking:!1});if(!n.is_open)return this.set_progress({progress:0,message:"connecting to worker",status:"info",blocking:!0});this.set_progress({progress:1,message:"running",status:"info",blocking:!1})}update_view_settings(t){UN(this.local_settings,{view_settings:t})}}const R5="1.0.0",rde=["1"],ode=e=>{if(!e.v.toString().includes(".")||!rde.includes(e.v.toString().split(".")[0]))throw new Error(`Unsupported version: ${e.v}`);return{...e,v:R5}};class ide extends fl{constructor(t){super(t),this.plugins=gr((n,r)=>({})),this.render_options=gr((n,r)=>({}))}add_plugin(t,n){if(n!==void 0)try{const r=ode(n);this.plugins.setState(o=>({...o,[t]:r}))}catch(r){r instanceof Error?this.context.rf.logger.error(`Error loading plugin ${t}`,r):this.context.rf.logger.error(`Error loading plugin ${t}`,new Error(String(r))),this.stateManager.toaster?.error({title:"Error",description:`Error loading plugin ${t}: ${r instanceof Error?r.message:String(r)}`,duration:5e3})}}update_render_options(t){UN(this.render_options,t)}async add_packed_plugin(t,n){if(n.js)for(const r of n.js){const o=document.createElement("script");o.text=atob(r),document.body.appendChild(o)}if(n.css)for(const r of n.css){const o=document.createElement("style");o.innerHTML=atob(r),document.head.appendChild(o)}if(n.module!==void 0){const r=atob(n.module);try{const a=await new Function("React","FuncNodesReactFlow",`
|
825
|
+
`)}),e.description.length>o&&x.jsx("button",{onClick:r,className:"toggle-description",children:t?"Show less":"Show more"})]})},T5=[">=","==","<=","<",">"],Fp=">=",y1=({availableModule:e,on_change:t})=>{const[n,r]=_.useState(e.version||"latest"),[o,a]=_.useState(Fp),s=c=>{const f=c.target.value;r(f),t(f!=="latest"?o+f:f)},u=c=>{c.target.value!==o&&T5.includes(c.target.value)&&(a(c.target.value),n!=="latest"&&t(c.target.value+n))};return e.releases&&!e.releases.includes(n)&&e.releases.unshift(n),x.jsxs(x.Fragment,{children:[x.jsx("select",{value:o,onChange:u,children:T5.map(c=>x.jsx("option",{value:c,children:c},c))}),x.jsx("select",{onChange:s,value:n,children:e.releases&&e.releases.map(c=>x.jsx("option",{value:c,children:c},c))})]})},Hfe=({availableModule:e,on_remove:t,on_update:n})=>{const[r,o]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name+(e.version?` (${e.version})`:"")}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:o}),x.jsx("button",{className:"update-button",disabled:r===e.version,onClick:()=>{n(e,r)},children:"Update"}),x.jsx("button",{className:"remove-button",onClick:()=>{t(e)},children:"Remove"})]})]})},Vfe=({availableModule:e,on_add:t})=>{const[n,r]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name+(e.version?` (${e.version})`:"")}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:r}),x.jsx("button",{className:"add-button",onClick:()=>{t(e,n)},children:"Add"})]})]})},Ufe=({availableModule:e,on_add:t})=>{const[n,r]=_.useState(Fp+e.version||"latest");return x.jsxs("div",{className:"addable-module",children:[x.jsx("div",{className:"module-name",children:e.name}),x.jsx(Sb,{availableModule:e}),x.jsx(g1,{availableModule:e}),x.jsxs("div",{children:[x.jsx(y1,{availableModule:e,on_change:r}),x.jsx("button",{className:"add-button",onClick:()=>{t(e,n)},children:"Add"})]})]})},qfe=({ins:e})=>{const[t,n]=_.useState(e.name),r=tt(),{lib:o}=_n(),a=()=>{r.worker&&o?.remove_external_worker(e.uuid,e.nodeclassid)},s=()=>{r.worker&&(r.worker.update_external_worker(e.uuid,e.nodeclassid,{name:t}),e.name=t)};return x.jsx(x.Fragment,{children:x.jsx(Lo,{title:e.name,description:"Settings for"+e.name,trigger:x.jsx("div",{children:"Settings"}),buttons:[{text:"Save",onClick:s,close:!0},{text:"Delete",onClick:a,close:!0}],children:x.jsx("div",{children:x.jsxs("div",{children:[x.jsx("label",{htmlFor:"name",children:"Name: "}),x.jsx("input",{type:"text",name:"name",value:t,onChange:u=>n(u.target.value),className:"styledinput"})]})})})})},Gfe=({ins:e,lib:t,filter:n="",parentkey:r})=>{const[o,a]=_.useState(!1),s=()=>a(!o),u=t?.nodes?.filter(c=>c.node_id.toLowerCase().includes(n.toLowerCase()));return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:s,style:{cursor:"pointer"},title:e.name,children:[x.jsx("div",{className:"shelftitle_text",children:e.name}),x.jsx("div",{className:"expandicon "+(o?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(o?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:o&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"libnodeentry",title:e.uuid,children:x.jsx(qfe,{ins:e})}),t&&x.jsxs(x.Fragment,{children:[u&&x.jsx(x.Fragment,{children:u.map(c=>x.jsx(N2,{item:c},r+c.node_id))}),t.subshelves.map(c=>x.jsx(_b,{item:c,filter:n,parentkey:r+c.name},r+c.name))]})]})})})]})},Yfe=({item:e,mod:t,lib:n})=>{const{lib:r}=_n(),[o,a]=_.useState(!1),s=()=>a(!o),u=_.useCallback(()=>{r?.add_external_worker({module:t,cls_module:e.module,cls_name:e.class_name})},[r,t,e]),c=h=>{h.detail===2&&u()},f=e.name||e.module+"."+e.class_name;return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:s,style:{cursor:"pointer"},title:f,children:[x.jsx("div",{className:"shelftitle_text",children:f}),x.jsx("div",{className:"expandicon "+(o?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(o?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:o&&x.jsxs(x.Fragment,{children:[x.jsx("div",{className:"libnodeentry",onClick:c,title:e.name,children:"New Instance"}),e.instances.map(h=>x.jsx(Gfe,{ins:h,lib:n?.subshelves.find(p=>p.name===h.uuid),parentkey:h.uuid},h.uuid))]})})})]})},Wfe=({externalworkermod:e,lib:t})=>{const[n,r]=_.useState(!1),o=()=>r(!n),a=n;return x.jsxs("div",{className:"shelfcontainer",children:[x.jsxs("div",{className:"shelftitle",onClick:o,style:{cursor:"pointer"},title:e.module,children:[x.jsx("div",{className:"shelftitle_text",children:e.module}),x.jsx("div",{className:"expandicon "+(a?"open":"close"),children:x.jsx(xu,{})})]}),x.jsx("div",{className:"libnodecontainer "+(a?"open":"close"),children:x.jsx("div",{className:"libnodecontainer_inner",children:e.worker_classes.map(s=>x.jsx(Yfe,{item:s,mod:e.module,lib:t},s.module+s.class_name))})}),x.jsx("hr",{})]})},Xfe=()=>{const e=tt(),t=e.lib.libstate(),n=tt(),r=n.local_settings(f=>f.view_settings.expand_lib),o=f=>{n.update_view_settings({expand_lib:f})},a=rre("m"),[s,u]=_.useState(""),c=e.worker?.state(f=>f.is_open)??!1;return x.jsx(tb,{maxSize:a?"100%":"18.75rem",direction:a?"down":"right",containerClassName:"pos-left pos-top bg1 h-12",onExpandChange:o,expanded:r===void 0?!0:r,collapseIcons:{up:Fd,down:bu,left:vu,right:Ld},expandIcons:{up:bu,down:Fd,left:Ld,right:vu},children:x.jsxs("div",{className:"libcontainer",children:[x.jsxs("div",{className:"library",children:[x.jsx("div",{className:"libtitle",children:"Lib"}),x.jsx("hr",{className:"hr_prominent"}),x.jsx(Cie,{filter:s,setFilter:u}),x.jsx("div",{className:"vscrollcontainer",children:t.lib.shelves.filter(f=>f.name!=="_external_worker").map(f=>x.jsx(_b,{item:f,filter:s,parentkey:f.name},f.name))}),x.jsx("hr",{}),x.jsx("div",{className:"libtitle",children:"External Worker"}),x.jsx("hr",{className:"hr_prominent"}),x.jsx("div",{className:"vscrollcontainer",children:t.external_worker?.map(f=>x.jsx(Wfe,{externalworkermod:f,lib:t.lib.shelves.find(h=>h.name==="_external_worker")},f.module))}),x.jsx("hr",{})]}),c&&x.jsx("div",{className:"addlib",children:x.jsx(kie,{children:x.jsx("button",{children:"Manage Libraries"})})})]})})},Kfe=({fnrf_zst:e,header:t,flow:n,library:r})=>{const[o,a]=_.useState(e.options.worker||e.getWorkerManager().worker),s=_.useRef(null);e.workermanager&&(e.workermanager.on_setWorker=a),_.useEffect(()=>{e.auto_progress()},[]),_.useEffect(()=>{e.local_state.setState({funcnodescontainerRef:s.current})},[s]);const u=e.plugins();return x.jsx(Hne,{plugins:u,fnrf_zst:e,children:x.jsx(NB,{children:x.jsx(FC.Provider,{value:e,children:x.jsx(bi,{asChild:!0,children:x.jsx(Ao,{asChild:!0,children:x.jsx(EN,{style:{height:"100%",width:"100%",display:"flex",flexDirection:"column",flex:1},children:x.jsxs("div",{ref:s,className:"funcnodesreactflowcontainer funcnodescontainer",children:[t.show&&x.jsx(Eie,{...t}),x.jsxs("div",{className:"funcnodesreactflowbody",children:[x.jsx(noe,{...n}),o&&r.show&&x.jsx(Xfe,{}),o&&n.showNodeSettings&&x.jsx(lre,{})]}),x.jsxs("div",{className:"funcnodesflaotingmenu",children:[x.jsx(Ao.OutFullScreen,{children:n.allowExpand&&x.jsxs(bi.Trigger,{children:[x.jsx(bi.Expanded,{children:x.jsx(_B,{size:"xl",style:{padding:"4px"}})}),x.jsx(bi.Collapsed,{children:x.jsx(SB,{size:"xl",style:{padding:"4px"}})})]})}),n.allowFullScreen&&x.jsxs(Ao.Trigger,{children:[x.jsx(Ao.OutFullScreen,{children:x.jsx(LC,{size:"xl",style:{padding:"4px"}})}),x.jsx(Ao.InFullScreen,{children:x.jsx(wB,{size:"xl",style:{padding:"4px"}})})]})]})]})})})})})})})};class fl{constructor(t){this.context=t}get nodespaceManager(){return this.context.rf.getNodespaceManager()}get libManager(){return this.context.rf.getLibManager()}get workerManager(){return this.context.rf.getWorkerManager()}get stateManager(){return this.context.rf.getStateManager()}get pluginManager(){return this.context.rf.getPluginManager()}get reactFlowManager(){return this.context.rf.getReactFlowManager()}}const A5=({src_nid:e,src_ioid:t,trg_nid:n,trg_ioid:r})=>[`${e}:${t}`,`${n}:${r}`].sort().join("--"),Zfe=({})=>{const e=new Map;return{nodesstates:e,get_node:(t,n=!0)=>{const r=e.get(t);if(!r&&n){const o=e.keys();throw new Error(`Node ${t} not found, available nodes: ${Array.from(o)}`)}return r}}};class Qfe extends fl{constructor(t){super(t),this.on_node_action=n=>{switch(n.type){case"add":return this._add_node(n);case"update":return this._update_node(n);case"delete":return this._delete_node(n);case"error":return this._error_action(n);case"trigger":return this._trigger_action(n);default:this.context.rf.logger.error("Unknown node action",n);return}},this.on_edge_action=n=>{const r=this.reactFlowManager.useReactFlowStore.getState();switch(n.type){case"add":if(n.from_remote){const o=r.getEdges(),a=A5(n);if(o.some(u=>u.id===a))return;const s={id:a,source:n.src_nid,target:n.trg_nid,sourceHandle:n.src_ioid,targetHandle:n.trg_ioid,className:"funcnodes-edge animated",zIndex:1003};this.context.rf.logger.info("Adding edge",s),r.update_edges([...o,s]),this.workerManager.worker?.api.node.get_remote_node_state(n.src_nid),this.workerManager.worker?.api.node.get_remote_node_state(n.trg_nid)}break;case"delete":if(n.from_remote){const o=r.getEdges(),a=A5(n);this.context.rf.logger.info("Deleting edge",a);const s=o.filter(u=>u.id!==a);r.update_edges(s),this.workerManager.worker?.api.node.get_remote_node_state(n.src_nid),this.workerManager.worker?.api.node.get_remote_node_state(n.trg_nid)}break;default:this.context.rf.logger.error("Unknown edge action",n)}},this.on_group_action=n=>{switch(n.type){case"set":return this._set_groups(n.groups);case"update":return this._update_group(n);default:this.context.rf.logger.error("Unknown group action",n)}},this.clear_all=()=>{this.context.rf.logger.debug("Clearing all nodespace"),this.workerManager.worker?.disconnect(),this.workerManager.set_worker(void 0),this.workerManager.workermanager?.setWorker(void 0),this.libManager.lib.libstate.getState().set({lib:{shelves:[]},external_worker:[]}),this.nodespace.nodesstates.clear(),this.reactFlowManager.useReactFlowStore.getState().update_nodes([]),this.reactFlowManager.useReactFlowStore.getState().update_edges([]),this.stateManager.auto_progress()},this.center_node=n=>{if(!this.reactFlowManager.rf_instance)return;n=Array.isArray(n)?n:[n];const r=this.reactFlowManager.useReactFlowStore.getState().getNodes().filter(o=>n.includes(o.id));r.length>0&&this.reactFlowManager.rf_instance?.fitView({padding:.2,nodes:r})},this.auto_resize_group=n=>{const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n);if(o===void 0||o.type!=="group")return;const a=o.data.group.node_ids.map(h=>r.getNode(h)).filter(h=>h!==void 0),s=o.data.group.child_groups.map(h=>r.getNode(h)).filter(h=>h!==void 0),u=[...a,...s],c=this.reactFlowManager.rf_instance?.getNodesBounds(u);if(c===void 0)return;const f={...o,position:{x:c.x,y:c.y},height:c.height,width:c.width};f.data.group.position=[c.x,c.y],r.partial_update_nodes([f])},this.change_group_position=n=>{if(n.position===void 0)return;const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n.id);if(o===void 0||o.type!=="group")return;const a=[...o.data.group.node_ids,...o.data.group.child_groups],s=this.reactFlowManager.rf_instance?.getNodesBounds(a);if(s===void 0)return;const u=n.position.x-s?.x,c=n.position.y-s?.y,f=[];for(const h of a){const p=r.getNode(h);p!==void 0&&f.push({id:h,type:"position",position:{x:p.position.x+u,y:p.position.y+c}})}r.onNodesChange(f)},this.change_fn_node_position=n=>{n.position!==void 0&&this.on_node_action({type:"update",id:n.id,node:{properties:{"frontend:pos":[n.position.x,n.position.y]}},from_remote:!1})},this.change_group_dimensions=n=>{if(n.dimensions===void 0)return;const o=this.reactFlowManager.useReactFlowStore.getState().getNode(n.id);o!==void 0&&this.reactFlowManager.useReactFlowStore.getState().partial_update_nodes($v([n],[o]))},this.change_fn_node_dimensions=n=>{n.dimensions!==void 0&&this.on_node_action({type:"update",id:n.id,node:{properties:{"frontend:size":[n.dimensions.width,n.dimensions.height]}},from_remote:!1})},this._update_group=n=>{if(n.from_remote){const r=this.reactFlowManager.useReactFlowStore.getState(),o=r.getNode(n.id);if(o===void 0||o.type!=="group")return;const{new_obj:a,change:s}=ha(o.data.group,n.group);s&&(o.data.group=a),r.partial_update_nodes([o])}else this.workerManager.worker&&this.workerManager.worker.api.group.locally_update_group(n)},this._set_groups=n=>{const r=this.reactFlowManager.useReactFlowStore.getState(),{default_nodes:o}=lb(r.getNodes()),a=[...o],s={};for(const c in n){const f=n[c];for(const p of f.node_ids)s[p]=c;for(const p of f.child_groups)s[p]=c;f.position===void 0&&(f.position=[0,0]);const h={id:c,type:"group",data:{group:n[c],id:c},position:{x:f.position[0],y:f.position[1]},zIndex:2};f.parent_group&&(h.data.groupID=f.parent_group),a.push(h)}for(const c of a)c.id in s?c.data.groupID=s[c.id]:c.data.groupID=void 0;const u=ub(a);r.update_nodes(u);for(const c of u.reverse())c.type==="group"&&this.auto_resize_group(c.id)},this._add_node=n=>{this.context.rf.logger.info("add node",n);const r=this.reactFlowManager.useReactFlowStore.getState();if(n.from_remote){let o=this.nodespace.get_node(n.node.id,!1);if(o)return;if(!o)try{o=Wre(n.node),this.nodespace.nodesstates.set(n.node.id,o)}catch(c){this.context.rf.logger.error(`Failed to create node store ${c}`);return}const a=o.getState();this.context.rf.logger.info("Add node",a.id,a.name);const s=toe(o,this.context.rf),u=[...r.getNodes(),s];this.reactFlowManager.useReactFlowStore.getState().update_nodes(u);for(const c of s.io_order)this.workerManager.worker?.api.node.get_io_value({nid:s.id,ioid:c});return setTimeout(()=>{this.workerManager.worker?.api.hooks.call_hooks("node_added",{node:a.id})},0),a}},this._update_node=n=>{if(Object.keys(n.node).length===0){this.context.rf.logger.error("Node update is empty",new Error(JSON.stringify(n)));return}if(n.node.in_trigger&&(n.node.error=void 0),n.from_remote){const r=this.nodespace.get_node(n.id,!1);if(!r){console.error("Node not found to update",n.id);return}return r.update(n.node),r.getState()}else this.workerManager.worker&&this.workerManager.worker.api.node.locally_update_node(n)},this._sync_nodes=()=>{const n=this.reactFlowManager.useReactFlowStore.getState().getNodes(),r=this.nodespace.nodesstates;for(const o of r.keys())n.some(a=>a.id===o)||r.delete(o)},this._delete_node=n=>{this.context.rf.logger.info("Deleting node",n.id),n.from_remote?(this.reactFlowManager.useReactFlowStore.getState().onNodesChange([{type:"remove",id:n.id}]),this._sync_nodes()):this.workerManager.worker?.api.node.remove_node(n.id)},this._error_action=n=>(this.context.rf.logger.error("Error",new Error(JSON.stringify(n))),this.on_node_action({type:"update",id:n.id,node:{in_trigger:!1,error:n.error},from_remote:!0})),this._trigger_action=n=>{if(n.from_remote)return this.on_node_action({type:"update",id:n.id,node:{in_trigger:!0,error:void 0},from_remote:!0});this.workerManager.worker?.api.node.trigger_node(n.id)},this.nodespace=Zfe({})}center_all(){this.reactFlowManager.rf_instance?.fitView({padding:.2})}}const Jfe=()=>({libstate:gr((e,t)=>({lib:{shelves:[]},external_worker:[],set:n=>e(r=>({...r,...n})),get_lib:()=>t().lib,get_external_worker:()=>t().external_worker}))});class ede extends fl{constructor(t){super(t),this.lib=Jfe()}}class tde extends fl{constructor(t){super(t),t.rf.logger.debug("Initializing worker manager handler"),this.workers=gr((n,r)=>({})),this.workerstate=gr((n,r)=>({is_open:!1}))}set_worker(t){t!==this.worker&&(this._unsubscribeFromWorker&&(this._unsubscribeFromWorker(),this._unsubscribeFromWorker=void 0),t?(this.context.rf.logger.debug("Setting worker in worker manager"),this._unsubscribeFromWorker=t.state.subscribe(n=>{this.workerstate.setState(n)}),this.workerstate.setState(t.state.getState())):this.context.rf.logger.debug("Removing worker in worker manager"),this.worker=t,t?.set_zustand(this.context.rf))}}class nde extends fl{constructor(t){super(t),this.progress_state=gr((n,r)=>({message:"please select worker",status:"info",progress:0,blocking:!1})),this.local_settings=gr((n,r)=>({view_settings:{expand_node_props:!1,expand_lib:!1}})),this.local_state=gr((n,r)=>({selected_nodes:[],selected_edges:[],selected_groups:[],funcnodescontainerRef:null}))}set_progress(t){if(t.message==="")return this.auto_progress();const n=this.progress_state.getState(),{new_obj:r,change:o}=ha(n,t);o&&this.progress_state.setState(r)}auto_progress(){const t=this.workerManager.workermanager,n=this.workerManager.worker;if(t!==void 0&&!t.open)return this.set_progress({progress:0,message:"connecting to worker manager",status:"error",blocking:!1});if(n===void 0)return this.set_progress({progress:0,message:"please select worker",status:"error",blocking:!1});if(!n.is_open)return this.set_progress({progress:0,message:"connecting to worker",status:"info",blocking:!0});this.set_progress({progress:1,message:"running",status:"info",blocking:!1})}update_view_settings(t){UN(this.local_settings,{view_settings:t})}}const R5="1.0.0",rde=["1"],ode=e=>{if(!e.v.toString().includes(".")||!rde.includes(e.v.toString().split(".")[0]))throw new Error(`Unsupported version: ${e.v}`);return{...e,v:R5}};class ide extends fl{constructor(t){super(t),this.plugins=gr((n,r)=>({})),this.render_options=gr((n,r)=>({}))}add_plugin(t,n){if(n!==void 0)try{const r=ode(n);this.plugins.setState(o=>({...o,[t]:r}))}catch(r){r instanceof Error?this.context.rf.logger.error(`Error loading plugin ${t}`,r):this.context.rf.logger.error(`Error loading plugin ${t}`,new Error(String(r))),this.stateManager.toaster?.error({title:"Error",description:`Error loading plugin ${t}: ${r instanceof Error?r.message:String(r)}`,duration:5e3})}}update_render_options(t){UN(this.render_options,t)}async add_packed_plugin(t,n){if(n.js)for(const r of n.js){const o=document.createElement("script");o.text=atob(r),document.body.appendChild(o)}if(n.css)for(const r of n.css){const o=document.createElement("style");o.innerHTML=atob(r),document.head.appendChild(o)}if(n.module!==void 0){const r=atob(n.module);try{const a=await new Function("React","FuncNodesReactFlow",`
|
826
826
|
return (async () => {
|
827
827
|
${r}
|
828
828
|
return FuncNodesPlugin;
|
829
829
|
})();
|
830
|
-
`)(ls,To);this.add_plugin(t,a)}catch(o){o instanceof Error?this.context.rf.logger.error(`Error building plugin ${t}`,o):this.context.rf.logger.error(`Error building plugin ${t}`,new Error(String(o))),this.stateManager.toaster?.error({title:"Error",description:`Error building plugin ${t}: ${o}`,duration:5e3})}}}}class ade extends fl{constructor(t){super(t),this.on_rf_node_change=n=>{const r=this.useReactFlowStore.getState();for(const o of n)switch(o.type){case"position":if(o.position){const a=r.getNode(o.id);if(a===void 0)continue;a.type==="group"?this.nodespaceManager.change_group_position(o):this.nodespaceManager.change_fn_node_position(o),a.data.groupID&&this.nodespaceManager.auto_resize_group(a.data.groupID)}break;case"dimensions":if(o.dimensions){const a=r.getNode(o.id);if(a===void 0)continue;a.type==="group"?this.nodespaceManager.change_group_dimensions(o):this.nodespaceManager.change_fn_node_dimensions(o),a.data.groupID&&this.nodespaceManager.auto_resize_group(a.data.groupID)}break}},this.on_rf_edge_change=n=>{},this.on_connect=n=>{n.source===null||n.target===null||n.sourceHandle===null||n.targetHandle===null||!this.workerManager.worker||this.workerManager.worker.api.edge.add_edge({src_nid:n.source,src_ioid:n.sourceHandle,trg_nid:n.target,trg_ioid:n.targetHandle,replace:!0})},this.useReactFlowStore=roe({on_node_change:this.on_rf_node_change.bind(this),on_edge_change:this.on_rf_edge_change.bind(this),on_connect:this.on_connect.bind(this)})}}let sde=class{constructor(t){this.reactflowRef=null,this.dev_settings={debug:xp},this.options=t,this.logger=t.logger??new fg("fn",$w);const n={rf:this};this._nodespaceManager=new Qfe(n),this._libManager=new ede(n),this._workerManager=new tde(n),this._stateManager=new nde(n),this._pluginManager=new ide(n),this._reactFlowManager=new ade(n)}getNodespaceManager(){return this._nodespaceManager}getLibManager(){return this._libManager}getWorkerManager(){return this._workerManager}getStateManager(){return this._stateManager}getPluginManager(){return this._pluginManager}getReactFlowManager(){return this._reactFlowManager}get nodespace(){return this._nodespaceManager.nodespace}get on_node_action(){return this._nodespaceManager.on_node_action.bind(this._nodespaceManager)}get on_edge_action(){return this._nodespaceManager.on_edge_action.bind(this._nodespaceManager)}get on_group_action(){return this._nodespaceManager.on_group_action.bind(this._nodespaceManager)}get clear_all(){return this._nodespaceManager.clear_all.bind(this._nodespaceManager)}get center_node(){return this._nodespaceManager.center_node.bind(this._nodespaceManager)}get center_all(){return this._nodespaceManager.center_all.bind(this._nodespaceManager)}get lib(){return this._libManager.lib}get set_worker(){return this._workerManager.set_worker.bind(this._workerManager)}get workermanager(){return this._workerManager.workermanager}set workermanager(t){this._workerManager.workermanager=t}get worker(){return this._workerManager.worker}get workers(){return this._workerManager.workers}get workerstate(){return this._workerManager.workerstate}get _unsubscribeFromWorker(){return this._workerManager._unsubscribeFromWorker?.bind(this._workerManager)}get set_progress(){return this._stateManager.set_progress.bind(this._stateManager)}get auto_progress(){return this._stateManager.auto_progress.bind(this._stateManager)}get progress_state(){return this._stateManager.progress_state}get local_settings(){return this._stateManager.local_settings}get local_state(){return this._stateManager.local_state}update_view_settings(t){this._stateManager.update_view_settings(t)}get plugins(){return this._pluginManager.plugins.bind(this._pluginManager)}get add_plugin(){return this._pluginManager.add_plugin.bind(this._pluginManager)}get add_packed_plugin(){return this._pluginManager.add_packed_plugin.bind(this._pluginManager)}get render_options(){return this._pluginManager.render_options.bind(this._pluginManager)}get update_render_options(){return this._pluginManager.update_render_options.bind(this._pluginManager)}get useReactFlowStore(){return this._reactFlowManager.useReactFlowStore.bind(this._reactFlowManager)}get rf_instance(){return this._reactFlowManager.rf_instance}set rf_instance(t){this._reactFlowManager.rf_instance=t}};const lde=pg(aX,e=>(e.id=By(),e)),ude=e=>{if(!e.useWorkerManager&&e.worker===void 0)throw new Error("If you don't use a worker manager, you must provide a default worker.");if(e.useWorkerManager&&e.workermanager_url===void 0)throw new Error("Error: If you use a worker manager, you must provide a worker managerurl.")},v1={};window.fnrf_zst===void 0&&(window.fnrf_zst=v1);const cde=e=>{const[t,n]=_.useState(void 0),[r,o]=_.useState(void 0),[a,s]=_.useState(!1);if(_.useEffect(()=>{const u=lde(e);u.logger=u.logger||new fg("FuncNodes",u.debug?"debug":"info"),u.logger.debug("Initializing FuncNodes with props:",u),n(u),s(!1)},[e]),_.useEffect(()=>{if(!t)return;t.logger?.debug("Initializing/Getting Zustand store");const u=v1[t.id];if(u===void 0){const c=new sde(t);v1[t.id]=c,o(c)}else o(u),u.options.debug=t.debug},[t?.id,t?.debug]),_.useEffect(()=>{if(!(!t||!r)&&!(t.useWorkerManager||!t.worker_url))if(t.logger?.debug("Worker effect running"),t.worker){t.worker.set_zustand(r);return}else{t.logger?.debug("Creating WebSocket worker");const u=new uR({url:t.worker_url,uuid:t.id,on_sync_complete:t.on_sync_complete});return u.set_zustand(r),n(c=>c&&{...c,worker:u,useWorkerManager:!1}),()=>{t.logger?.debug("Disconnecting worker"),u.disconnect(),n(c=>c&&{...c,worker:void 0})}}},[t?.worker_url,t?.id,t?.useWorkerManager,r,t?.on_sync_complete]),_.useEffect(()=>{if(!t?.fnw_url||!t.worker)return;t.logger?.debug("Loading fnw_url data");let u=!1;const c=t.worker.getSyncManager().on_sync_complete;return(async()=>{try{const h=await Tj(t.fnw_url);!u&&t.worker&&(t.worker.getSyncManager().on_sync_complete=async p=>{await p.update_from_export(h),t.worker.getSyncManager().on_sync_complete=c,c&&c(p)})}catch(h){h instanceof Error?t.logger?.error("Failed to load fnw_url:",h):t.logger?.error("Failed to load fnw_url:",new Error(String(h)))}})(),()=>{u=!0,t.worker&&(t.worker.getSyncManager().on_sync_complete=c)}},[t?.fnw_url,t?.worker]),_.useEffect(()=>{if(!t||!r||!t.useWorkerManager)return;if(!t.workermanager_url)throw new Error("Error: If you use a worker manager, you must provide a worker manager url.");r.logger.info("Worker manager effect running");const u=!r.workermanager,c=r.workermanager&&r.workermanager.wsuri!==t.workermanager_url;if(u||c){r.workermanager&&(r.logger.info("Removing existing worker manager"),r.workermanager.remove(),r.workermanager=void 0),r.logger.info("Creating new worker manager");const f=new iX(t.workermanager_url,r);return r.workermanager=f,n(h=>h&&{...h,workermanager:f}),()=>{r.logger.info("Worker manager cleanup running"),r.workermanager===f?(r.logger.info("Removing worker manager instance"),f.remove(),r.workermanager=void 0):r.logger.info("Worker manager instance mismatch, skipping cleanup")}}else{r.logger.info("Worker manager already initialized with correct URL");return}},[t?.useWorkerManager,t?.workermanager_url,t?.id,r]),_.useEffect(()=>{if(!t||!r||a)return;(t.useWorkerManager?r.workermanager!==void 0:t.worker!==void 0)&&t.on_ready&&typeof t.on_ready=="function"&&(t.logger?.debug("Firing on_ready callback"),t.on_ready({fnrf_zst:r}),s(!0))},[t,r,a,t?.useWorkerManager,r?.workermanager,t?.worker]),t===void 0||r===void 0)return x.jsx("div",{children:"Loading..."});try{ude(t)}catch(u){return x.jsx(Aj,{error:u})}return x.jsx("div",{className:"FuncnodesApp",children:x.jsx(DB,{available_themes:cR,children:x.jsx(cY,{duration:5e3,children:x.jsx(Kfe,{fnrf_zst:r,header:t.header,library:t.library,flow:t.flow})})})})},M5=(e,t)=>{t===void 0&&(t={});const{element:n,eleid:r}=typeof e=="string"?{element:document.getElementById(e),eleid:e}:{element:e,eleid:e.id};pj.createRoot(n).render(x.jsx(_.StrictMode,{children:x.jsx(cde,{...t,id:t.id||r})}))};window.FuncNodes=M5,window.FuncNodes.version="1.0.
|
830
|
+
`)(ls,To);this.add_plugin(t,a)}catch(o){o instanceof Error?this.context.rf.logger.error(`Error building plugin ${t}`,o):this.context.rf.logger.error(`Error building plugin ${t}`,new Error(String(o))),this.stateManager.toaster?.error({title:"Error",description:`Error building plugin ${t}: ${o}`,duration:5e3})}}}}class ade extends fl{constructor(t){super(t),this.on_rf_node_change=n=>{const r=this.useReactFlowStore.getState();for(const o of n)switch(o.type){case"position":if(o.position){const a=r.getNode(o.id);if(a===void 0)continue;a.type==="group"?this.nodespaceManager.change_group_position(o):this.nodespaceManager.change_fn_node_position(o),a.data.groupID&&this.nodespaceManager.auto_resize_group(a.data.groupID)}break;case"dimensions":if(o.dimensions){const a=r.getNode(o.id);if(a===void 0)continue;a.type==="group"?this.nodespaceManager.change_group_dimensions(o):this.nodespaceManager.change_fn_node_dimensions(o),a.data.groupID&&this.nodespaceManager.auto_resize_group(a.data.groupID)}break}},this.on_rf_edge_change=n=>{},this.on_connect=n=>{n.source===null||n.target===null||n.sourceHandle===null||n.targetHandle===null||!this.workerManager.worker||this.workerManager.worker.api.edge.add_edge({src_nid:n.source,src_ioid:n.sourceHandle,trg_nid:n.target,trg_ioid:n.targetHandle,replace:!0})},this.useReactFlowStore=roe({on_node_change:this.on_rf_node_change.bind(this),on_edge_change:this.on_rf_edge_change.bind(this),on_connect:this.on_connect.bind(this)})}}let sde=class{constructor(t){this.reactflowRef=null,this.dev_settings={debug:xp},this.options=t,this.logger=t.logger??new fg("fn",$w);const n={rf:this};this._nodespaceManager=new Qfe(n),this._libManager=new ede(n),this._workerManager=new tde(n),this._stateManager=new nde(n),this._pluginManager=new ide(n),this._reactFlowManager=new ade(n)}getNodespaceManager(){return this._nodespaceManager}getLibManager(){return this._libManager}getWorkerManager(){return this._workerManager}getStateManager(){return this._stateManager}getPluginManager(){return this._pluginManager}getReactFlowManager(){return this._reactFlowManager}get nodespace(){return this._nodespaceManager.nodespace}get on_node_action(){return this._nodespaceManager.on_node_action.bind(this._nodespaceManager)}get on_edge_action(){return this._nodespaceManager.on_edge_action.bind(this._nodespaceManager)}get on_group_action(){return this._nodespaceManager.on_group_action.bind(this._nodespaceManager)}get clear_all(){return this._nodespaceManager.clear_all.bind(this._nodespaceManager)}get center_node(){return this._nodespaceManager.center_node.bind(this._nodespaceManager)}get center_all(){return this._nodespaceManager.center_all.bind(this._nodespaceManager)}get lib(){return this._libManager.lib}get set_worker(){return this._workerManager.set_worker.bind(this._workerManager)}get workermanager(){return this._workerManager.workermanager}set workermanager(t){this._workerManager.workermanager=t}get worker(){return this._workerManager.worker}get workers(){return this._workerManager.workers}get workerstate(){return this._workerManager.workerstate}get _unsubscribeFromWorker(){return this._workerManager._unsubscribeFromWorker?.bind(this._workerManager)}get set_progress(){return this._stateManager.set_progress.bind(this._stateManager)}get auto_progress(){return this._stateManager.auto_progress.bind(this._stateManager)}get progress_state(){return this._stateManager.progress_state}get local_settings(){return this._stateManager.local_settings}get local_state(){return this._stateManager.local_state}update_view_settings(t){this._stateManager.update_view_settings(t)}get plugins(){return this._pluginManager.plugins.bind(this._pluginManager)}get add_plugin(){return this._pluginManager.add_plugin.bind(this._pluginManager)}get add_packed_plugin(){return this._pluginManager.add_packed_plugin.bind(this._pluginManager)}get render_options(){return this._pluginManager.render_options.bind(this._pluginManager)}get update_render_options(){return this._pluginManager.update_render_options.bind(this._pluginManager)}get useReactFlowStore(){return this._reactFlowManager.useReactFlowStore.bind(this._reactFlowManager)}get rf_instance(){return this._reactFlowManager.rf_instance}set rf_instance(t){this._reactFlowManager.rf_instance=t}};const lde=pg(aX,e=>(e.id=By(),e)),ude=e=>{if(!e.useWorkerManager&&e.worker===void 0)throw new Error("If you don't use a worker manager, you must provide a default worker.");if(e.useWorkerManager&&e.workermanager_url===void 0)throw new Error("Error: If you use a worker manager, you must provide a worker managerurl.")},v1={};window.fnrf_zst===void 0&&(window.fnrf_zst=v1);const cde=e=>{const[t,n]=_.useState(void 0),[r,o]=_.useState(void 0),[a,s]=_.useState(!1);if(_.useEffect(()=>{const u=lde(e);u.logger=u.logger||new fg("FuncNodes",u.debug?"debug":"info"),u.logger.debug("Initializing FuncNodes with props:",u),n(u),s(!1)},[e]),_.useEffect(()=>{if(!t)return;t.logger?.debug("Initializing/Getting Zustand store");const u=v1[t.id];if(u===void 0){const c=new sde(t);v1[t.id]=c,o(c)}else o(u),u.options.debug=t.debug},[t?.id,t?.debug]),_.useEffect(()=>{if(!(!t||!r)&&!(t.useWorkerManager||!t.worker_url))if(t.logger?.debug("Worker effect running"),t.worker){t.worker.set_zustand(r);return}else{t.logger?.debug("Creating WebSocket worker");const u=new uR({url:t.worker_url,uuid:t.id,on_sync_complete:t.on_sync_complete});return u.set_zustand(r),n(c=>c&&{...c,worker:u,useWorkerManager:!1}),()=>{t.logger?.debug("Disconnecting worker"),u.disconnect(),n(c=>c&&{...c,worker:void 0})}}},[t?.worker_url,t?.id,t?.useWorkerManager,r,t?.on_sync_complete]),_.useEffect(()=>{if(!t?.fnw_url||!t.worker)return;t.logger?.debug("Loading fnw_url data");let u=!1;const c=t.worker.getSyncManager().on_sync_complete;return(async()=>{try{const h=await Tj(t.fnw_url);!u&&t.worker&&(t.worker.getSyncManager().on_sync_complete=async p=>{await p.update_from_export(h),t.worker.getSyncManager().on_sync_complete=c,c&&c(p)})}catch(h){h instanceof Error?t.logger?.error("Failed to load fnw_url:",h):t.logger?.error("Failed to load fnw_url:",new Error(String(h)))}})(),()=>{u=!0,t.worker&&(t.worker.getSyncManager().on_sync_complete=c)}},[t?.fnw_url,t?.worker]),_.useEffect(()=>{if(!t||!r||!t.useWorkerManager)return;if(!t.workermanager_url)throw new Error("Error: If you use a worker manager, you must provide a worker manager url.");r.logger.info("Worker manager effect running");const u=!r.workermanager,c=r.workermanager&&r.workermanager.wsuri!==t.workermanager_url;if(u||c){r.workermanager&&(r.logger.info("Removing existing worker manager"),r.workermanager.remove(),r.workermanager=void 0),r.logger.info("Creating new worker manager");const f=new iX(t.workermanager_url,r);return r.workermanager=f,n(h=>h&&{...h,workermanager:f}),()=>{r.logger.info("Worker manager cleanup running"),r.workermanager===f?(r.logger.info("Removing worker manager instance"),f.remove(),r.workermanager=void 0):r.logger.info("Worker manager instance mismatch, skipping cleanup")}}else{r.logger.info("Worker manager already initialized with correct URL");return}},[t?.useWorkerManager,t?.workermanager_url,t?.id,r]),_.useEffect(()=>{if(!t||!r||a)return;(t.useWorkerManager?r.workermanager!==void 0:t.worker!==void 0)&&t.on_ready&&typeof t.on_ready=="function"&&(t.logger?.debug("Firing on_ready callback"),t.on_ready({fnrf_zst:r}),s(!0))},[t,r,a,t?.useWorkerManager,r?.workermanager,t?.worker]),t===void 0||r===void 0)return x.jsx("div",{children:"Loading..."});try{ude(t)}catch(u){return x.jsx(Aj,{error:u})}return x.jsx("div",{className:"FuncnodesApp",children:x.jsx(DB,{available_themes:cR,children:x.jsx(cY,{duration:5e3,children:x.jsx(Kfe,{fnrf_zst:r,header:t.header,library:t.library,flow:t.flow})})})})},M5=(e,t)=>{t===void 0&&(t={});const{element:n,eleid:r}=typeof e=="string"?{element:document.getElementById(e),eleid:e}:{element:e,eleid:e.id};pj.createRoot(n).render(x.jsx(_.StrictMode,{children:x.jsx(cde,{...t,id:t.id||r})}))};window.FuncNodes=M5,window.FuncNodes.version="1.0.3",window.FuncNodes.utils={logger:{ConsoleLogger:fg,DivLogger:bj,BaseLogger:cg,DEBUG:mj,INFO:$w,WARN:gj,ERROR:yj}}})();
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: funcnodes-react-flow
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.3
|
4
4
|
Summary: funcnodes frontend for react flow
|
5
5
|
Project-URL: homepage, https://github.com/Linkdlab/funcnodes_react_flow
|
6
6
|
Project-URL: source, https://github.com/Linkdlab/funcnodes_react_flow
|
@@ -14,16 +14,16 @@ funcnodes_react_flow/static/funcnodes_react_flow-logo192.png,sha256=XAIrH5_B6T77
|
|
14
14
|
funcnodes_react_flow/static/funcnodes_react_flow-manifest.json,sha256=ULPYw5A68_eNhxuUVXqxT045yhkurKPSz6hjyGcnmhQ,492
|
15
15
|
funcnodes_react_flow/static/funcnodes_react_flow-style.css,sha256=ynxC-2UGYTNfM-d7gCC95W6eXHR5g6_NP08p4Utt-90,85514
|
16
16
|
funcnodes_react_flow/static/funcnodes_react_flow.css,sha256=MUpI9KvITqvTvEZhHsxyy18gzVHXIs1Wf1QrhTDTjh4,114981
|
17
|
-
funcnodes_react_flow/static/funcnodes_react_flow.es.js,sha256=
|
18
|
-
funcnodes_react_flow/static/funcnodes_react_flow.iife.js,sha256=
|
17
|
+
funcnodes_react_flow/static/funcnodes_react_flow.es.js,sha256=Bf6LaP-vGxo0SMmwbZzde-AmFUONOZL1iubB8zbHQZw,1646348
|
18
|
+
funcnodes_react_flow/static/funcnodes_react_flow.iife.js,sha256=m5nDkCMWkHTEfLCHdHb9n_eXVpFajwyZwCz6qcwtdHg,1103176
|
19
19
|
funcnodes_react_flow/static/index.html,sha256=cjmPHQyEwR_VmZHE1PBCJBg2Zgz62nSfOh9EoyR1TC0,49153
|
20
20
|
funcnodes_react_flow/static/logo.png,sha256=VPvWfSSqRW-Jv7qiVsE6dxcyaB2vJp1JL60x6IA8Sbk,96855
|
21
21
|
funcnodes_react_flow/static/logo192.png,sha256=XAIrH5_B6T77mW4eEP2emYcTkprrwuokSWKoy27v6uU,19826
|
22
22
|
funcnodes_react_flow/static/logo512.png,sha256=9SEEPsgJusj_-fxvDf11ea2YpUKXOdLhSPT3DNRw9e8,65653
|
23
23
|
funcnodes_react_flow/static/manifest.json,sha256=ULPYw5A68_eNhxuUVXqxT045yhkurKPSz6hjyGcnmhQ,492
|
24
24
|
funcnodes_react_flow/static/robots.txt,sha256=kNJLw79pisHhc3OVAimMzKcq3x9WT6sF9IS4xI0crdI,67
|
25
|
-
funcnodes_react_flow-1.0.
|
26
|
-
funcnodes_react_flow-1.0.
|
27
|
-
funcnodes_react_flow-1.0.
|
28
|
-
funcnodes_react_flow-1.0.
|
29
|
-
funcnodes_react_flow-1.0.
|
25
|
+
funcnodes_react_flow-1.0.3.dist-info/METADATA,sha256=HYp5SfC3BynLGJ-qXk3NF0FBTiqrZZ57pX8LeAHDim8,852
|
26
|
+
funcnodes_react_flow-1.0.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
27
|
+
funcnodes_react_flow-1.0.3.dist-info/entry_points.txt,sha256=arCOJKYZeXLYof49cUnoQCTYv6RPYk1ZxStEY95BEv4,151
|
28
|
+
funcnodes_react_flow-1.0.3.dist-info/licenses/LICENSE,sha256=21Lj2q2SYKHMY4768_a3pr3q0jY2VYamAHipoodhMDc,34273
|
29
|
+
funcnodes_react_flow-1.0.3.dist-info/RECORD,,
|
File without changes
|
{funcnodes_react_flow-1.0.2.dist-info → funcnodes_react_flow-1.0.3.dist-info}/entry_points.txt
RENAMED
File without changes
|
{funcnodes_react_flow-1.0.2.dist-info → funcnodes_react_flow-1.0.3.dist-info}/licenses/LICENSE
RENAMED
File without changes
|