likec4 1.56.0 → 1.58.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__app__/codegen/react.mjs +7 -8
- package/__app__/codegen/webcomponent.mjs +77 -736
- package/__app__/src/aichat/index.mjs +8 -0
- package/__app__/src/chunks/AIChat.mjs +959 -0
- package/__app__/src/chunks/DiagramActorProvider.mjs +7638 -0
- package/__app__/src/chunks/LikeC4Styles.mjs +1866 -0
- package/__app__/src/chunks/Markdown.mjs +146 -0
- package/__app__/src/chunks/NavigationPanel.mjs +61 -0
- package/__app__/src/chunks/ProjectsOverview.mjs +540 -0
- package/__app__/src/chunks/adhoc-editor.mjs +3386 -0
- package/__app__/src/chunks/es.mjs +439 -0
- package/__app__/src/chunks/hooks.mjs +145 -0
- package/__app__/src/chunks/libs/@dagrejs/dagre.mjs +1894 -0
- package/__app__/src/chunks/libs/@floating-ui.mjs +2218 -0
- package/__app__/src/chunks/libs/@mantine.mjs +12070 -0
- package/__app__/src/chunks/libs/@tabler/icons-react.mjs +252 -0
- package/__app__/src/chunks/libs/@tanstack-ai.mjs +1768 -0
- package/__app__/src/chunks/libs/@tanstack.mjs +2718 -0
- package/__app__/src/chunks/libs/@xstate/react.mjs +1982 -0
- package/__app__/src/chunks/libs/@xyflow/react.mjs +5256 -0
- package/__app__/src/chunks/libs/bezier-js.mjs +1003 -0
- package/__app__/src/chunks/libs/d3.mjs +2842 -0
- package/__app__/src/chunks/libs/fast-equals.mjs +268 -0
- package/__app__/src/chunks/libs/framer.mjs +5872 -0
- package/__app__/src/chunks/libs/remeda.mjs +642 -0
- package/__app__/src/chunks/libs/zod.mjs +3170 -0
- package/__app__/src/chunks/rolldown-runtime.mjs +23 -0
- package/__app__/src/chunks/styled-system.mjs +1040 -0
- package/__app__/src/fonts.css +1 -1
- package/__app__/src/main.mjs +14847 -1
- package/__app__/src/style.css +1 -1
- package/config/schema.json +14 -41
- package/dist/chunks/enableServer.mjs +1 -0
- package/dist/chunks/filenames.mjs +2 -2
- package/dist/chunks/index2.d.mts +2057 -722
- package/dist/chunks/libs/@chevrotain/gast.mjs +1 -1
- package/dist/chunks/libs/@logtape/logtape.mjs +4 -3
- package/dist/chunks/libs/@ts-graphviz/ast.mjs +3 -0
- package/dist/chunks/libs/@ts-graphviz/common.d.mts +9 -0
- package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -0
- package/dist/chunks/libs/chevrotain-allstar.mjs +2 -2
- package/dist/chunks/libs/chevrotain.mjs +26 -26
- package/dist/chunks/libs/langium.d.mts +5 -5
- package/dist/chunks/libs/langium.mjs +10 -10
- package/dist/chunks/libs/merge-error-cause.mjs +1 -1
- package/dist/chunks/libs/pako.mjs +3 -1
- package/dist/chunks/libs/pretty-ms.mjs +1 -1
- package/dist/chunks/libs/remeda.mjs +1 -1
- package/dist/chunks/libs/ufo.mjs +1 -1
- package/dist/chunks/libs/unstorage.mjs +1 -1
- package/dist/chunks/libs/which.mjs +1 -1
- package/dist/chunks/libs/zod.d.mts +60 -25
- package/dist/chunks/libs/zod.mjs +65 -0
- package/dist/chunks/node.mjs +84 -56
- package/dist/chunks/sequence-view.mjs +1 -1
- package/dist/chunks/vite-plugin.mjs +593 -0
- package/dist/cli/index.mjs +184 -141
- package/dist/index.d.mts +2 -131
- package/dist/index.mjs +1 -1
- package/dist/model/index.d.mts +2 -2
- package/dist/vite-plugin/index.d.mts +53 -2
- package/dist/vite-plugin/index.mjs +1 -1
- package/dist/vite-plugin/internal/index.d.mts +327 -4
- package/dist/vite-plugin/internal/index.mjs +946 -1
- package/package.json +85 -72
- package/react/index.d.mts +174 -73
- package/react/index.mjs +42468 -38926
- package/vite-plugin-modules.d.ts +4 -0
- package/__app__/chunks/ColorSchemeToggle.mjs +0 -1
- package/__app__/chunks/DiagramActorProvider.mjs +0 -10
- package/__app__/chunks/Fallback.mjs +0 -1
- package/__app__/chunks/Header.mjs +0 -13
- package/__app__/chunks/IconRenderer.mjs +0 -1
- package/__app__/chunks/LikeC4Diagram.mjs +0 -19
- package/__app__/chunks/LikeC4ModelContext.mjs +0 -1
- package/__app__/chunks/LikeC4ModelContext2.mjs +0 -1
- package/__app__/chunks/LikeC4Styles.mjs +0 -48
- package/__app__/chunks/NavigationPanel.mjs +0 -1
- package/__app__/chunks/StaticLikeC4Diagram.mjs +0 -1
- package/__app__/chunks/ViewReact.mjs +0 -1
- package/__app__/chunks/__root.mjs +0 -1
- package/__app__/chunks/adhoc-editor.mjs +0 -1
- package/__app__/chunks/hooks.mjs +0 -1
- package/__app__/chunks/libs/@dagrejs/dagre.mjs +0 -1
- package/__app__/chunks/libs/@floating-ui/core.mjs +0 -1
- package/__app__/chunks/libs/@floating-ui/dom.mjs +0 -1
- package/__app__/chunks/libs/@floating-ui/react.mjs +0 -1
- package/__app__/chunks/libs/@mantine/core.mjs +0 -41
- package/__app__/chunks/libs/@mantine/hooks.mjs +0 -1
- package/__app__/chunks/libs/@nanostores/react.mjs +0 -1
- package/__app__/chunks/libs/@react-hookz/web.mjs +0 -1
- package/__app__/chunks/libs/@tabler/icons-react.mjs +0 -15
- package/__app__/chunks/libs/@tanstack/history.mjs +0 -1
- package/__app__/chunks/libs/@tanstack/react-router.mjs +0 -3
- package/__app__/chunks/libs/@tanstack/router-core.mjs +0 -1
- package/__app__/chunks/libs/@xstate/react.mjs +0 -1
- package/__app__/chunks/libs/@xstate/store.mjs +0 -1
- package/__app__/chunks/libs/@xyflow/react.mjs +0 -7
- package/__app__/chunks/libs/@zag-js/anatomy.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/collection.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/core.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/react.mjs +0 -1
- package/__app__/chunks/libs/@zag-js/tree-view.mjs +0 -1
- package/__app__/chunks/libs/bezier-js.mjs +0 -1
- package/__app__/chunks/libs/d3-path.mjs +0 -1
- package/__app__/chunks/libs/d3-shape.mjs +0 -1
- package/__app__/chunks/libs/fast-equals.mjs +0 -1
- package/__app__/chunks/libs/framer-motion.mjs +0 -9
- package/__app__/chunks/libs/html-to-image.mjs +0 -2
- package/__app__/chunks/libs/motion-dom.mjs +0 -1
- package/__app__/chunks/libs/motion.mjs +0 -1
- package/__app__/chunks/libs/nanostores.mjs +0 -1
- package/__app__/chunks/libs/react-error-boundary.mjs +0 -1
- package/__app__/chunks/libs/react-resizable-panels.mjs +0 -1
- package/__app__/chunks/libs/remeda.mjs +0 -1
- package/__app__/chunks/libs/xstate.mjs +0 -1
- package/__app__/chunks/libs/zod.mjs +0 -39
- package/__app__/chunks/rolldown-runtime.mjs +0 -1
- package/__app__/chunks/safeCtx.mjs +0 -1
- package/__app__/chunks/searchParams.mjs +0 -1
- package/__app__/chunks/single-index.mjs +0 -1
- package/__app__/chunks/styled-system.mjs +0 -1
- package/__app__/chunks/styles.css.mjs +0 -1
- package/__app__/chunks/useLikeC4Project.mjs +0 -1
- package/__app__/chunks/useUpdateEffect.mjs +0 -1
- package/__app__/src/pages/AdHocViewEditor.mjs +0 -1
- package/__app__/src/pages/EmbedPage.mjs +0 -1
- package/__app__/src/pages/ExportPage.mjs +0 -1
- package/__app__/src/pages/ProjectsOverview.mjs +0 -1
- package/__app__/src/pages/ViewAsD2.mjs +0 -1
- package/__app__/src/pages/ViewAsDot.mjs +0 -1
- package/__app__/src/pages/ViewAsMmd.mjs +0 -1
- package/__app__/src/pages/ViewAsPuml.mjs +0 -1
- package/__app__/src/pages/ViewEditor.mjs +0 -1
- package/__app__/src/pages/ViewReact.mjs +0 -1
- package/__app__/src/routeTree.gen.mjs +0 -1
- package/__app__/src/routes/__root.mjs +0 -1
- package/__app__/src/routes/_single/adhoc.mjs +0 -1
- package/__app__/src/routes/_single/embed._viewId.mjs +0 -1
- package/__app__/src/routes/_single/export._viewId.mjs +0 -1
- package/__app__/src/routes/_single/route.mjs +0 -1
- package/__app__/src/routes/_single/single-index.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.d2.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.dot.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.index.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.mmd.mjs +0 -1
- package/__app__/src/routes/_single/view._viewId.puml.mjs +0 -1
- package/__app__/src/routes/_single/webcomponent._.mjs +0 -33
- package/__app__/src/routes/index.mjs +0 -1
- package/__app__/src/routes/project._projectId/-components.mjs +0 -1
- package/__app__/src/routes/project._projectId/adhoc.mjs +0 -1
- package/__app__/src/routes/project._projectId/embed._viewId.mjs +0 -1
- package/__app__/src/routes/project._projectId/export._viewId.mjs +0 -1
- package/__app__/src/routes/project._projectId/index.mjs +0 -1
- package/__app__/src/routes/project._projectId/route.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.index.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +0 -1
- package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +0 -1
- package/__app__/src/routes/projects.mjs +0 -1
- package/dist/chunks/libs/@chevrotain/utils.mjs +0 -1
- package/dist/chunks/libs/@hono/mcp.mjs +0 -45
- package/dist/chunks/libs/@hono/node-server.mjs +0 -1
- package/dist/chunks/libs/@logtape/logtape.d.mts +0 -1023
- package/dist/chunks/libs/@modelcontextprotocol/sdk.mjs +0 -12
- package/dist/chunks/libs/ajv.mjs +0 -1
- package/dist/chunks/libs/ansi-align.mjs +0 -2
- package/dist/chunks/libs/ansi-regex.mjs +0 -1
- package/dist/chunks/libs/ansi-styles.mjs +0 -1
- package/dist/chunks/libs/atomically.mjs +0 -1
- package/dist/chunks/libs/boxen.mjs +0 -22
- package/dist/chunks/libs/conf.mjs +0 -1
- package/dist/chunks/libs/defu.mjs +0 -1
- package/dist/chunks/libs/destr.mjs +0 -1
- package/dist/chunks/libs/find-up-simple.mjs +0 -1
- package/dist/chunks/libs/get-port.mjs +0 -1
- package/dist/chunks/libs/hono.mjs +0 -1
- package/dist/chunks/libs/is-docker.mjs +0 -1
- package/dist/chunks/libs/is-error-instance.mjs +0 -1
- package/dist/chunks/libs/is-inside-container.mjs +0 -1
- package/dist/chunks/libs/is-plain-obj.mjs +0 -1
- package/dist/chunks/libs/isexe.mjs +0 -1
- package/dist/chunks/libs/ky.mjs +0 -3
- package/dist/chunks/libs/p-debounce.mjs +0 -1
- package/dist/chunks/libs/p-limit.mjs +0 -1
- package/dist/chunks/libs/p-timeout.mjs +0 -1
- package/dist/chunks/libs/package-up.mjs +0 -1
- package/dist/chunks/libs/parse-ms.mjs +0 -1
- package/dist/chunks/libs/safe-stringify.mjs +0 -1
- package/dist/chunks/libs/strip-indent.mjs +0 -1
- package/dist/chunks/libs/tinyrainbow.mjs +0 -1
- package/dist/chunks/libs/ts-graphviz.d.mts +0 -12
- package/dist/chunks/libs/ts-graphviz.mjs +0 -4
- package/dist/chunks/libs/vscode-languageserver.mjs +0 -1
- package/dist/chunks/libs/word-wrap.mjs +0 -12
- package/dist/chunks/plugin.mjs +0 -400
- package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.d.mts +0 -269
- package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/birpc.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/fast-equals.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/nanostores.d.mts +0 -59
- package/dist/vite-plugin/internal/chunks/libs/nanostores.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/libs/remeda.mjs +0 -1
- package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +0 -1
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{i as e,s as t}from"../../rolldown-runtime.mjs";import{p as n}from"../@tanstack/react-router.mjs";import r,{createContext as a,forwardRef as o,memo as s,useCallback as c,useContext as l,useEffect as u,useLayoutEffect as d,useMemo as f,useRef as p,useState as m}from"react";import{Fragment as h,jsx as g,jsxs as _}from"react/jsx-runtime";import{createPortal as v}from"react-dom";function cc(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=cc(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var y={value:()=>{}};function dispatch(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new Dispatch(n)}function Dispatch(e){this._=e}function parseTypenames$1(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}e(parseTypenames$1,`parseTypenames`),Dispatch.prototype=dispatch.prototype={constructor:Dispatch,on:function(e,t){var n=this._,r=parseTypenames$1(e+``,n),a,o=-1,s=r.length;if(arguments.length<2){for(;++o<s;)if((a=(e=r[o]).type)&&(a=get$1(n[a],e.name)))return a;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++o<s;)if(a=(e=r[o]).type)n[a]=set$1(n[a],e.name,t);else if(t==null)for(a in n)n[a]=set$1(n[a],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new Dispatch(e)},call:function(e,t){if((a=arguments.length-2)>0)for(var n=Array(a),r=0,a,o;r<a;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(o=this._[e],r=0,a=o.length;r<a;++r)o[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],a=0,o=r.length;a<o;++a)r[a].value.apply(t,n)}};function get$1(e,t){for(var n=0,r=e.length,a;n<r;++n)if((a=e[n]).name===t)return a.value}e(get$1,`get`);function set$1(e,t,n){for(var r=0,a=e.length;r<a;++r)if(e[r].name===t){e[r]=y,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}e(set$1,`set`);var b={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function namespace_default(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),b.hasOwnProperty(t)?{space:b[t],local:e}:e}e(namespace_default,`default`);function creatorInherit(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function creatorFixed(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function creator_default(e){var t=namespace_default(e);return(t.local?creatorFixed:creatorInherit)(t)}e(creator_default,`default`);function none(){}function selector_default(e){return e==null?none:function(){return this.querySelector(e)}}e(selector_default,`default`);function select_default$2(e){typeof e!=`function`&&(e=selector_default(e));for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a)for(var o=t[a],s=o.length,c=r[a]=Array(s),l,u,d=0;d<s;++d)(l=o[d])&&(u=e.call(l,l.__data__,d,o))&&(`__data__`in l&&(u.__data__=l.__data__),c[d]=u);return new Selection$1(r,this._parents)}e(select_default$2,`default`);function array(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function empty(){return[]}function selectorAll_default(e){return e==null?empty:function(){return this.querySelectorAll(e)}}e(selectorAll_default,`default`);function arrayAll(e){return function(){return array(e.apply(this,arguments))}}function selectAll_default$1(e){e=typeof e==`function`?arrayAll(e):selectorAll_default(e);for(var t=this._groups,n=t.length,r=[],a=[],o=0;o<n;++o)for(var s=t[o],c=s.length,l,u=0;u<c;++u)(l=s[u])&&(r.push(e.call(l,l.__data__,u,s)),a.push(l));return new Selection$1(r,a)}e(selectAll_default$1,`default`);function matcher_default(e){return function(){return this.matches(e)}}e(matcher_default,`default`);function childMatcher(e){return function(t){return t.matches(e)}}var x=Array.prototype.find;function childFind(e){return function(){return x.call(this.children,e)}}function childFirst(){return this.firstElementChild}function selectChild_default(e){return this.select(e==null?childFirst:childFind(typeof e==`function`?e:childMatcher(e)))}e(selectChild_default,`default`);var S=Array.prototype.filter;function children(){return Array.from(this.children)}function childrenFilter(e){return function(){return S.call(this.children,e)}}function selectChildren_default(e){return this.selectAll(e==null?children:childrenFilter(typeof e==`function`?e:childMatcher(e)))}e(selectChildren_default,`default`);function filter_default$1(e){typeof e!=`function`&&(e=matcher_default(e));for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a)for(var o=t[a],s=o.length,c=r[a]=[],l,u=0;u<s;++u)(l=o[u])&&e.call(l,l.__data__,u,o)&&c.push(l);return new Selection$1(r,this._parents)}e(filter_default$1,`default`);function sparse_default(e){return Array(e.length)}e(sparse_default,`default`);function enter_default(){return new Selection$1(this._enter||this._groups.map(sparse_default),this._parents)}e(enter_default,`default`);function EnterNode(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}EnterNode.prototype={constructor:EnterNode,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function constant_default$3(e){return function(){return e}}e(constant_default$3,`default`);function bindIndex(e,t,n,r,a,o){for(var s=0,c,l=t.length,u=o.length;s<u;++s)(c=t[s])?(c.__data__=o[s],r[s]=c):n[s]=new EnterNode(e,o[s]);for(;s<l;++s)(c=t[s])&&(a[s]=c)}function bindKey(e,t,n,r,a,o,s){var c,l,u=new Map,d=t.length,f=o.length,p=Array(d),m;for(c=0;c<d;++c)(l=t[c])&&(p[c]=m=s.call(l,l.__data__,c,t)+``,u.has(m)?a[c]=l:u.set(m,l));for(c=0;c<f;++c)m=s.call(e,o[c],c,o)+``,(l=u.get(m))?(r[c]=l,l.__data__=o[c],u.delete(m)):n[c]=new EnterNode(e,o[c]);for(c=0;c<d;++c)(l=t[c])&&u.get(p[c])===l&&(a[c]=l)}function datum(e){return e.__data__}function data_default(e,t){if(!arguments.length)return Array.from(this,datum);var n=t?bindKey:bindIndex,r=this._parents,a=this._groups;typeof e!=`function`&&(e=constant_default$3(e));for(var o=a.length,s=Array(o),c=Array(o),l=Array(o),u=0;u<o;++u){var d=r[u],f=a[u],p=f.length,m=arraylike(e.call(d,d&&d.__data__,u,r)),h=m.length,g=c[u]=Array(h),_=s[u]=Array(h);n(d,f,g,_,l[u]=Array(p),m,t);for(var v=0,y=0,b,x;v<h;++v)if(b=g[v]){for(v>=y&&(y=v+1);!(x=_[y])&&++y<h;);b._next=x||null}}return s=new Selection$1(s,r),s._enter=c,s._exit=l,s}e(data_default,`default`);function arraylike(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function exit_default(){return new Selection$1(this._exit||this._groups.map(sparse_default),this._parents)}e(exit_default,`default`);function join_default(e,t,n){var r=this.enter(),a=this,o=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(a=t(a),a&&=a.selection()),n==null?o.remove():n(o),r&&a?r.merge(a).order():a}e(join_default,`default`);function merge_default$1(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,a=n.length,o=r.length,s=Math.min(a,o),c=Array(a),l=0;l<s;++l)for(var u=n[l],d=r[l],f=u.length,p=c[l]=Array(f),m,h=0;h<f;++h)(m=u[h]||d[h])&&(p[h]=m);for(;l<a;++l)c[l]=n[l];return new Selection$1(c,this._parents)}e(merge_default$1,`default`);function order_default(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],a=r.length-1,o=r[a],s;--a>=0;)(s=r[a])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}e(order_default,`default`);function sort_default(e){e||=ascending;function compareNode(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a){for(var o=t[a],s=o.length,c=r[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(compareNode)}return new Selection$1(r,this._parents).order()}e(sort_default,`default`);function ascending(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function call_default(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}e(call_default,`default`);function nodes_default(){return Array.from(this)}e(nodes_default,`default`);function node_default(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],a=0,o=r.length;a<o;++a){var s=r[a];if(s)return s}return null}e(node_default,`default`);function size_default(){let e=0;for(let t of this)++e;return e}e(size_default,`default`);function empty_default(){return!this.node()}e(empty_default,`default`);function each_default(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var a=t[n],o=0,s=a.length,c;o<s;++o)(c=a[o])&&e.call(c,c.__data__,o,a);return this}e(each_default,`default`);function attrRemove$1(e){return function(){this.removeAttribute(e)}}e(attrRemove$1,`attrRemove`);function attrRemoveNS$1(e){return function(){this.removeAttributeNS(e.space,e.local)}}e(attrRemoveNS$1,`attrRemoveNS`);function attrConstant$1(e,t){return function(){this.setAttribute(e,t)}}e(attrConstant$1,`attrConstant`);function attrConstantNS$1(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}e(attr_default$1,`default`),e(attrConstantNS$1,`attrConstantNS`);function attrFunction$1(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}e(attrFunction$1,`attrFunction`);function attrFunctionNS$1(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}e(attrFunctionNS$1,`attrFunctionNS`);function attr_default$1(e,t){var n=namespace_default(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?attrRemoveNS$1:attrRemove$1:typeof t==`function`?n.local?attrFunctionNS$1:attrFunction$1:n.local?attrConstantNS$1:attrConstant$1)(n,t))}function window_default(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}e(window_default,`default`);function styleRemove$1(e){return function(){this.style.removeProperty(e)}}e(styleRemove$1,`styleRemove`);function styleConstant$1(e,t,n){return function(){this.style.setProperty(e,t,n)}}e(styleConstant$1,`styleConstant`),e(style_default$1,`default`);function styleFunction$1(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}e(styleFunction$1,`styleFunction`);function style_default$1(e,t,n){return arguments.length>1?this.each((t==null?styleRemove$1:typeof t==`function`?styleFunction$1:styleConstant$1)(e,t,n??``)):styleValue(this.node(),e)}function styleValue(e,t){return e.style.getPropertyValue(t)||window_default(e).getComputedStyle(e,null).getPropertyValue(t)}function propertyRemove(e){return function(){delete this[e]}}function propertyConstant(e,t){return function(){this[e]=t}}function propertyFunction(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function property_default(e,t){return arguments.length>1?this.each((t==null?propertyRemove:typeof t==`function`?propertyFunction:propertyConstant)(e,t)):this.node()[e]}e(property_default,`default`);function classArray(e){return e.trim().split(/^|\s+/)}function classList(e){return e.classList||new ClassList(e)}function ClassList(e){this._node=e,this._names=classArray(e.getAttribute(`class`)||``)}ClassList.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function classedAdd(e,t){for(var n=classList(e),r=-1,a=t.length;++r<a;)n.add(t[r])}function classedRemove(e,t){for(var n=classList(e),r=-1,a=t.length;++r<a;)n.remove(t[r])}function classedTrue(e){return function(){classedAdd(this,e)}}function classedFalse(e){return function(){classedRemove(this,e)}}function classedFunction(e,t){return function(){(t.apply(this,arguments)?classedAdd:classedRemove)(this,e)}}function classed_default(e,t){var n=classArray(e+``);if(arguments.length<2){for(var r=classList(this.node()),a=-1,o=n.length;++a<o;)if(!r.contains(n[a]))return!1;return!0}return this.each((typeof t==`function`?classedFunction:t?classedTrue:classedFalse)(n,t))}e(classed_default,`default`);function textRemove(){this.textContent=``}function textConstant$1(e){return function(){this.textContent=e}}e(textConstant$1,`textConstant`);function textFunction$1(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}e(text_default$1,`default`),e(textFunction$1,`textFunction`);function text_default$1(e){return arguments.length?this.each(e==null?textRemove:(typeof e==`function`?textFunction$1:textConstant$1)(e)):this.node().textContent}function htmlRemove(){this.innerHTML=``}function htmlConstant(e){return function(){this.innerHTML=e}}function htmlFunction(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function html_default(e){return arguments.length?this.each(e==null?htmlRemove:(typeof e==`function`?htmlFunction:htmlConstant)(e)):this.node().innerHTML}e(html_default,`default`);function raise(){this.nextSibling&&this.parentNode.appendChild(this)}function raise_default(){return this.each(raise)}e(raise_default,`default`);function lower(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function lower_default(){return this.each(lower)}e(lower_default,`default`);function append_default(e){var t=typeof e==`function`?e:creator_default(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}e(append_default,`default`);function constantNull(){return null}function insert_default(e,t){var n=typeof e==`function`?e:creator_default(e),r=t==null?constantNull:typeof t==`function`?t:selector_default(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}e(insert_default,`default`);function remove(){var e=this.parentNode;e&&e.removeChild(this)}function remove_default$1(){return this.each(remove)}e(remove_default$1,`default`);function selection_cloneShallow(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function selection_cloneDeep(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function clone_default(e){return this.select(e?selection_cloneDeep:selection_cloneShallow)}e(clone_default,`default`);function datum_default(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}e(datum_default,`default`);function contextListener(e){return function(t){e.call(this,t,this.__data__)}}function parseTypenames(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function onRemove(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,a=t.length,o;n<a;++n)o=t[n],(!e.type||o.type===e.type)&&o.name===e.name?this.removeEventListener(o.type,o.listener,o.options):t[++r]=o;++r?t.length=r:delete this.__on}}}function onAdd(e,t,n){return function(){var r=this.__on,a,o=contextListener(t);if(r){for(var s=0,c=r.length;s<c;++s)if((a=r[s]).type===e.type&&a.name===e.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=o,a.options=n),a.value=t;return}}this.addEventListener(e.type,o,n),a={type:e.type,name:e.name,value:t,listener:o,options:n},r?r.push(a):this.__on=[a]}}function on_default$1(e,t,n){var r=parseTypenames(e+``),a,o=r.length,s;if(arguments.length<2){var c=this.node().__on;if(c){for(var l=0,u=c.length,d;l<u;++l)for(a=0,d=c[l];a<o;++a)if((s=r[a]).type===d.type&&s.name===d.name)return d.value}return}for(c=t?onAdd:onRemove,a=0;a<o;++a)this.each(c(r[a],t,n));return this}e(on_default$1,`default`);function dispatchEvent(e,t,n){var r=window_default(e),a=r.CustomEvent;typeof a==`function`?a=new a(t,n):(a=r.document.createEvent(`Event`),n?(a.initEvent(t,n.bubbles,n.cancelable),a.detail=n.detail):a.initEvent(t,!1,!1)),e.dispatchEvent(a)}function dispatchConstant(e,t){return function(){return dispatchEvent(this,e,t)}}function dispatchFunction(e,t){return function(){return dispatchEvent(this,e,t.apply(this,arguments))}}function dispatch_default(e,t){return this.each((typeof t==`function`?dispatchFunction:dispatchConstant)(e,t))}e(dispatch_default,`default`);function*iterator_default(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],a=0,o=r.length,s;a<o;++a)(s=r[a])&&(yield s)}e(iterator_default,`default`);var C=[null];function Selection$1(e,t){this._groups=e,this._parents=t}e(Selection$1,`Selection`);function selection(){return new Selection$1([[document.documentElement]],C)}function selection_selection(){return this}Selection$1.prototype=selection.prototype={constructor:Selection$1,select:select_default$2,selectAll:selectAll_default$1,selectChild:selectChild_default,selectChildren:selectChildren_default,filter:filter_default$1,data:data_default,enter:enter_default,exit:exit_default,join:join_default,merge:merge_default$1,selection:selection_selection,order:order_default,sort:sort_default,call:call_default,nodes:nodes_default,node:node_default,size:size_default,empty:empty_default,each:each_default,attr:attr_default$1,style:style_default$1,property:property_default,classed:classed_default,text:text_default$1,html:html_default,raise:raise_default,lower:lower_default,append:append_default,insert:insert_default,remove:remove_default$1,clone:clone_default,datum:datum_default,on:on_default$1,dispatch:dispatch_default,[Symbol.iterator]:iterator_default};function select_default$1(e){return typeof e==`string`?new Selection$1([[document.querySelector(e)]],[document.documentElement]):new Selection$1([[e]],C)}e(select_default$1,`default`);function sourceEvent_default(e){let t;for(;t=e.sourceEvent;)e=t;return e}e(sourceEvent_default,`default`);function pointer_default(e,t){if(e=sourceEvent_default(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var a=t.getBoundingClientRect();return[e.clientX-a.left-t.clientLeft,e.clientY-a.top-t.clientTop]}}return[e.pageX,e.pageY]}e(pointer_default,`default`);const w={passive:!1},T={capture:!0,passive:!1};function nopropagation$1(e){e.stopImmediatePropagation()}e(nopropagation$1,`nopropagation`),e(noevent_default$1,`default`);function noevent_default$1(e){e.preventDefault(),e.stopImmediatePropagation()}function nodrag_default(e){var t=e.document.documentElement,n=select_default$1(e).on(`dragstart.drag`,noevent_default$1,T);`onselectstart`in t?n.on(`selectstart.drag`,noevent_default$1,T):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}e(nodrag_default,`default`);function yesdrag(e,t){var n=e.document.documentElement,r=select_default$1(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,noevent_default$1,T),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var E=e(e=>()=>e,`default`);function DragEvent(e,{sourceEvent:t,subject:n,target:r,identifier:a,active:o,x:s,y:c,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:a,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}DragEvent.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function defaultFilter$1(e){return!e.ctrlKey&&!e.button}e(defaultFilter$1,`defaultFilter`);function defaultContainer(){return this.parentNode}function defaultSubject(e,t){return t??{x:e.x,y:e.y}}function defaultTouchable$1(){return navigator.maxTouchPoints||`ontouchstart`in this}e(drag_default,`default`),e(defaultTouchable$1,`defaultTouchable`);function drag_default(){var e=defaultFilter$1,t=defaultContainer,n=defaultSubject,r=defaultTouchable$1,a={},o=dispatch(`start`,`drag`,`end`),s=0,c,l,u,d,f=0;function drag(e){e.on(`mousedown.drag`,mousedowned).filter(r).on(`touchstart.drag`,touchstarted).on(`touchmove.drag`,touchmoved,w).on(`touchend.drag touchcancel.drag`,touchended).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function mousedowned(n,r){if(!(d||!e.call(this,n,r))){var a=beforestart(this,t.call(this,n,r),n,r,`mouse`);a&&(select_default$1(n.view).on(`mousemove.drag`,mousemoved,T).on(`mouseup.drag`,mouseupped,T),nodrag_default(n.view),nopropagation$1(n),u=!1,c=n.clientX,l=n.clientY,a(`start`,n))}}function mousemoved(e){if(noevent_default$1(e),!u){var t=e.clientX-c,n=e.clientY-l;u=t*t+n*n>f}a.mouse(`drag`,e)}function mouseupped(e){select_default$1(e.view).on(`mousemove.drag mouseup.drag`,null),yesdrag(e.view,u),noevent_default$1(e),a.mouse(`end`,e)}function touchstarted(n,r){if(e.call(this,n,r)){var a=n.changedTouches,o=t.call(this,n,r),s=a.length,c,l;for(c=0;c<s;++c)(l=beforestart(this,o,n,r,a[c].identifier,a[c]))&&(nopropagation$1(n),l(`start`,n,a[c]))}}function touchmoved(e){var t=e.changedTouches,n=t.length,r,o;for(r=0;r<n;++r)(o=a[t[r].identifier])&&(noevent_default$1(e),o(`drag`,e,t[r]))}function touchended(e){var t=e.changedTouches,n=t.length,r,o;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),r=0;r<n;++r)(o=a[t[r].identifier])&&(nopropagation$1(e),o(`end`,e,t[r]))}function beforestart(e,t,r,c,l,u){var d=o.copy(),f=pointer_default(u||r,t),p,m,h;if((h=n.call(e,new DragEvent(`beforestart`,{sourceEvent:r,target:drag,identifier:l,active:s,x:f[0],y:f[1],dx:0,dy:0,dispatch:d}),c))!=null)return p=h.x-f[0]||0,m=h.y-f[1]||0,function gesture(n,r,o){var u=f,g;switch(n){case`start`:a[l]=gesture,g=s++;break;case`end`:delete a[l],--s;case`drag`:f=pointer_default(o||r,t),g=s;break}d.call(n,e,new DragEvent(n,{sourceEvent:r,subject:h,target:drag,identifier:l,active:g,x:f[0]+p,y:f[1]+m,dx:f[0]-u[0],dy:f[1]-u[1],dispatch:d}),c)}}return drag.filter=function(t){return arguments.length?(e=typeof t==`function`?t:E(!!t),drag):e},drag.container=function(e){return arguments.length?(t=typeof e==`function`?e:E(e),drag):t},drag.subject=function(e){return arguments.length?(n=typeof e==`function`?e:E(e),drag):n},drag.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:E(!!e),drag):r},drag.on=function(){var e=o.on.apply(o,arguments);return e===o?drag:e},drag.clickDistance=function(e){return arguments.length?(f=(e=+e)*e,drag):Math.sqrt(f)},drag}function define_default(e,t,n){e.prototype=t.prototype=n,n.constructor=e}e(define_default,`default`);function extend(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Color(){}var D=.7,O=1/D,k=`\\s*([+-]?\\d+)\\s*`,A=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,j=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,M=/^#([0-9a-f]{3,8})$/,N=RegExp(`^rgb\\(${k},${k},${k}\\)$`),P=RegExp(`^rgb\\(${j},${j},${j}\\)$`),F=RegExp(`^rgba\\(${k},${k},${k},${A}\\)$`),I=RegExp(`^rgba\\(${j},${j},${j},${A}\\)$`),L=RegExp(`^hsl\\(${A},${j},${j}\\)$`),R=RegExp(`^hsla\\(${A},${j},${j},${A}\\)$`),z={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};define_default(Color,color,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:color_formatHex,formatHex:color_formatHex,formatHex8:color_formatHex8,formatHsl:color_formatHsl,formatRgb:color_formatRgb,toString:color_formatRgb});function color_formatHex(){return this.rgb().formatHex()}function color_formatHex8(){return this.rgb().formatHex8()}function color_formatHsl(){return hslConvert(this).formatHsl()}function color_formatRgb(){return this.rgb().formatRgb()}function color(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=M.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?rgbn(t):n===3?new Rgb(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?rgba(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?rgba(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=N.exec(e))?new Rgb(t[1],t[2],t[3],1):(t=P.exec(e))?new Rgb(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=F.exec(e))?rgba(t[1],t[2],t[3],t[4]):(t=I.exec(e))?rgba(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=L.exec(e))?hsla(t[1],t[2]/100,t[3]/100,1):(t=R.exec(e))?hsla(t[1],t[2]/100,t[3]/100,t[4]):z.hasOwnProperty(e)?rgbn(z[e]):e===`transparent`?new Rgb(NaN,NaN,NaN,0):null}function rgbn(e){return new Rgb(e>>16&255,e>>8&255,e&255,1)}function rgba(e,t,n,r){return r<=0&&(e=t=n=NaN),new Rgb(e,t,n,r)}function rgbConvert(e){return e instanceof Color||(e=color(e)),e?(e=e.rgb(),new Rgb(e.r,e.g,e.b,e.opacity)):new Rgb}function rgb(e,t,n,r){return arguments.length===1?rgbConvert(e):new Rgb(e,t,n,r??1)}function Rgb(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}define_default(Rgb,rgb,extend(Color,{brighter(e){return e=e==null?O:O**+e,new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?D:D**+e,new Rgb(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Rgb(clampi(this.r),clampi(this.g),clampi(this.b),clampa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:rgb_formatHex,formatHex:rgb_formatHex,formatHex8:rgb_formatHex8,formatRgb:rgb_formatRgb,toString:rgb_formatRgb}));function rgb_formatHex(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}`}function rgb_formatHex8(){return`#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity)?1:this.opacity)*255)}`}function rgb_formatRgb(){let e=clampa(this.opacity);return`${e===1?`rgb(`:`rgba(`}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${e===1?`)`:`, ${e})`}`}function clampa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function clampi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function hex(e){return e=clampi(e),(e<16?`0`:``)+e.toString(16)}function hsla(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Hsl(e,t,n,r)}function hslConvert(e){if(e instanceof Hsl)return new Hsl(e.h,e.s,e.l,e.opacity);if(e instanceof Color||(e=color(e)),!e)return new Hsl;if(e instanceof Hsl)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,a=Math.min(t,n,r),o=Math.max(t,n,r),s=NaN,c=o-a,l=(o+a)/2;return c?(s=t===o?(n-r)/c+(n<r)*6:n===o?(r-t)/c+2:(t-n)/c+4,c/=l<.5?o+a:2-o-a,s*=60):c=l>0&&l<1?0:s,new Hsl(s,c,l,e.opacity)}function hsl(e,t,n,r){return arguments.length===1?hslConvert(e):new Hsl(e,t,n,r??1)}function Hsl(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}define_default(Hsl,hsl,extend(Color,{brighter(e){return e=e==null?O:O**+e,new Hsl(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?D:D**+e,new Hsl(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,a=2*n-r;return new Rgb(hsl2rgb(e>=240?e-240:e+120,a,r),hsl2rgb(e,a,r),hsl2rgb(e<120?e+240:e-120,a,r),this.opacity)},clamp(){return new Hsl(clamph(this.h),clampt(this.s),clampt(this.l),clampa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=clampa(this.opacity);return`${e===1?`hsl(`:`hsla(`}${clamph(this.h)}, ${clampt(this.s)*100}%, ${clampt(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function clamph(e){return e=(e||0)%360,e<0?e+360:e}function clampt(e){return Math.max(0,Math.min(1,e||0))}function hsl2rgb(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}function basis(e,t,n,r,a){var o=e*e,s=o*e;return((1-3*e+3*o-s)*t+(4-6*o+3*s)*n+(1+3*e+3*o-3*s)*r+s*a)/6}function basis_default(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),a=e[r],o=e[r+1],s=r>0?e[r-1]:2*a-o,c=r<t-1?e[r+2]:2*o-a;return basis((n-r/t)*t,s,a,o,c)}}e(basis_default,`default`);function basisClosed_default(e){var t=e.length;return function(n){var r=Math.floor(((n%=1)<0?++n:n)*t),a=e[(r+t-1)%t],o=e[r%t],s=e[(r+1)%t],c=e[(r+2)%t];return basis((n-r/t)*t,a,o,s,c)}}e(basisClosed_default,`default`);var B=e(e=>()=>e,`default`);function linear(e,t){return function(n){return e+n*t}}function exponential(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function gamma(e){return(e=+e)==1?nogamma:function(t,n){return n-t?exponential(t,n,e):B(isNaN(t)?n:t)}}function nogamma(e,t){var n=t-e;return n?linear(e,n):B(isNaN(e)?t:e)}var V=(function rgbGamma(t){var n=gamma(t);function rgb$1(e,t){var r=n((e=rgb(e)).r,(t=rgb(t)).r),a=n(e.g,t.g),o=n(e.b,t.b),s=nogamma(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=a(t),e.b=o(t),e.opacity=s(t),e+``}}return e(rgb$1,`rgb`),rgb$1.gamma=rgbGamma,rgb$1})(1);function numberArray_default(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),a;return function(o){for(a=0;a<n;++a)r[a]=e[a]*(1-o)+t[a]*o;return r}}e(numberArray_default,`default`);function isNumberArray(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function genericArray(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,a=Array(r),o=Array(n),s;for(s=0;s<r;++s)a[s]=value_default(e[s],t[s]);for(;s<n;++s)o[s]=t[s];return function(e){for(s=0;s<r;++s)o[s]=a[s](e);return o}}function date_default(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}e(date_default,`default`);function number_default(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}e(number_default,`default`);function object_default(e,t){var n={},r={},a;for(a in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)a in e?n[a]=value_default(e[a],t[a]):r[a]=t[a];return function(e){for(a in n)r[a]=n[a](e);return r}}e(object_default,`default`);var H=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,U=new RegExp(H.source,`g`);function zero(e){return function(){return e}}function one(e){return function(t){return e(t)+``}}function string_default(e,t){var n=H.lastIndex=U.lastIndex=0,r,a,o,s=-1,c=[],l=[];for(e+=``,t+=``;(r=H.exec(e))&&(a=U.exec(t));)(o=a.index)>n&&(o=t.slice(n,o),c[s]?c[s]+=o:c[++s]=o),(r=r[0])===(a=a[0])?c[s]?c[s]+=a:c[++s]=a:(c[++s]=null,l.push({i:s,x:number_default(r,a)})),n=U.lastIndex;return n<t.length&&(o=t.slice(n),c[s]?c[s]+=o:c[++s]=o),c.length<2?l[0]?one(l[0].x):zero(t):(t=l.length,function(e){for(var n=0,r;n<t;++n)c[(r=l[n]).i]=r.x(e);return c.join(``)})}e(string_default,`default`);function value_default(e,t){var n=typeof t,r;return t==null||n===`boolean`?B(t):(n===`number`?number_default:n===`string`?(r=color(t))?(t=r,V):string_default:t instanceof color?V:t instanceof Date?date_default:isNumberArray(t)?numberArray_default:Array.isArray(t)?genericArray:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?object_default:number_default)(e,t)}e(value_default,`default`);var W=180/Math.PI,G={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function decompose_default(e,t,n,r,a,o){var s,c,l;return(s=Math.sqrt(e*e+t*t))&&(e/=s,t/=s),(l=e*n+t*r)&&(n-=e*l,r-=t*l),(c=Math.sqrt(n*n+r*r))&&(n/=c,r/=c,l/=c),e*r<t*n&&(e=-e,t=-t,l=-l,s=-s),{translateX:a,translateY:o,rotate:Math.atan2(t,e)*W,skewX:Math.atan(l)*W,scaleX:s,scaleY:c}}e(decompose_default,`default`);var K;function parseCss(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?G:decompose_default(t.a,t.b,t.c,t.d,t.e,t.f)}function parseSvg(e){return e==null||(K||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),K.setAttribute(`transform`,e),!(e=K.transform.baseVal.consolidate()))?G:(e=e.matrix,decompose_default(e.a,e.b,e.c,e.d,e.e,e.f))}function interpolateTransform(e,t,n,r){function pop(e){return e.length?e.pop()+` `:``}function translate(e,r,a,o,s,c){if(e!==a||r!==o){var l=s.push(`translate(`,null,t,null,n);c.push({i:l-4,x:number_default(e,a)},{i:l-2,x:number_default(r,o)})}else (a||o)&&s.push(`translate(`+a+t+o+n)}function rotate(e,t,n,a){e===t?t&&n.push(pop(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(pop(n)+`rotate(`,null,r)-2,x:number_default(e,t)}))}function skewX(e,t,n,a){e===t?t&&n.push(pop(n)+`skewX(`+t+r):a.push({i:n.push(pop(n)+`skewX(`,null,r)-2,x:number_default(e,t)})}function scale(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(pop(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:number_default(e,n)},{i:s-2,x:number_default(t,r)})}else (n!==1||r!==1)&&a.push(pop(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],a=[];return t=e(t),n=e(n),translate(t.translateX,t.translateY,n.translateX,n.translateY,r,a),rotate(t.rotate,n.rotate,r,a),skewX(t.skewX,n.skewX,r,a),scale(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,a),t=n=null,function(e){for(var t=-1,n=a.length,o;++t<n;)r[(o=a[t]).i]=o.x(e);return r.join(``)}}}var ee=interpolateTransform(parseCss,`px, `,`px)`,`deg)`),te=interpolateTransform(parseSvg,`, `,`)`,`)`),ne=1e-12;function cosh(e){return((e=Math.exp(e))+1/e)/2}function sinh(e){return((e=Math.exp(e))-1/e)/2}function tanh(e){return((e=Math.exp(2*e))-1)/(e+1)}var q=(function zoomRho(e,t,n){function zoom(r,a){var o=r[0],s=r[1],c=r[2],l=a[0],u=a[1],d=a[2],f=l-o,p=u-s,m=f*f+p*p,i,h;if(m<ne)h=Math.log(d/c)/e,i=function(t){return[o+t*f,s+t*p,c*Math.exp(e*t*h)]};else{var g=Math.sqrt(m),_=(d*d-c*c+n*m)/(2*c*t*g),v=(d*d-c*c-n*m)/(2*d*t*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/e,i=function(n){var r=n*h,a=cosh(y),l=c/(t*g)*(a*tanh(e*r+y)-sinh(y));return[o+l*f,s+l*p,c*a/cosh(e*r+y)]}}return i.duration=h*1e3*e/Math.SQRT2,i}return zoom.rho=function(e){var t=Math.max(.001,+e),n=t*t;return zoomRho(t,n,n*n)},zoom})(Math.SQRT2,2,4),J=0,re=0,ie=0,ae=1e3,oe,se,ce=0,Y=0,le=0,ue=typeof performance==`object`&&performance.now?performance:Date,de=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function now(){return Y||=(de(clearNow),ue.now()+le)}function clearNow(){Y=0}function Timer(){this._call=this._time=this._next=null}Timer.prototype=timer.prototype={constructor:Timer,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?now():+n)+(t==null?0:+t),!this._next&&se!==this&&(se?se._next=this:oe=this,se=this),this._call=e,this._time=n,sleep()},stop:function(){this._call&&(this._call=null,this._time=1/0,sleep())}};function timer(e,t,n){var r=new Timer;return r.restart(e,t,n),r}function timerFlush(){now(),++J;for(var e=oe,t;e;)(t=Y-e._time)>=0&&e._call.call(void 0,t),e=e._next;--J}function wake(){Y=(ce=ue.now())+le,J=re=0;try{timerFlush()}finally{J=0,nap(),Y=0}}function poke(){var e=ue.now(),t=e-ce;t>ae&&(le-=t,ce=e)}function nap(){for(var e,t=oe,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:oe=n);se=e,sleep(r)}function sleep(e){J||(re&&=clearTimeout(re),e-Y>24?(e<1/0&&(re=setTimeout(wake,e-ue.now()-le)),ie&&=clearInterval(ie)):(ie||=(ce=ue.now(),setInterval(poke,ae)),J=1,de(wake)))}function timeout_default(e,t,n){var r=new Timer;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}e(timeout_default,`default`);var fe=dispatch(`start`,`end`,`cancel`,`interrupt`),pe=[];function schedule_default(e,t,n,r,a,o){var s=e.__transition;if(!s)e.__transition={};else if(n in s)return;create(e,n,{name:t,index:r,group:a,on:fe,tween:pe,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}e(schedule_default,`default`);function init(e,t){var n=get(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function set(e,t){var n=get(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function get(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function create(e,t,n){var r=e.__transition,a;r[t]=n,n.timer=timer(schedule,0,n.time);function schedule(e){n.state=1,n.timer.restart(start,n.delay,n.time),n.delay<=e&&start(e-n.delay)}function start(o){var s,c,l,u;if(n.state!==1)return stop();for(s in r)if(u=r[s],u.name===n.name){if(u.state===3)return timeout_default(start);u.state===4?(u.state=6,u.timer.stop(),u.on.call(`interrupt`,e,e.__data__,u.index,u.group),delete r[s]):+s<t&&(u.state=6,u.timer.stop(),u.on.call(`cancel`,e,e.__data__,u.index,u.group),delete r[s])}if(timeout_default(function(){n.state===3&&(n.state=4,n.timer.restart(tick,n.delay,n.time),tick(o))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,a=Array(l=n.tween.length),s=0,c=-1;s<l;++s)(u=n.tween[s].value.call(e,e.__data__,n.index,n.group))&&(a[++c]=u);a.length=c+1}}function tick(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(stop),n.state=5,1),o=-1,s=a.length;++o<s;)a[o].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),stop())}function stop(){for(var a in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function interrupt_default$1(e,t){var n=e.__transition,r,a,o=!0,s;if(n){for(s in t=t==null?null:t+``,n){if((r=n[s]).name!==t){o=!1;continue}a=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(a?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[s]}o&&delete e.__transition}}e(interrupt_default$1,`default`);function interrupt_default(e){return this.each(function(){interrupt_default$1(this,e)})}e(interrupt_default,`default`);function tweenRemove(e,t){var n,r;return function(){var a=set(this,e),o=a.tween;if(o!==n){r=n=o;for(var s=0,c=r.length;s<c;++s)if(r[s].name===t){r=r.slice(),r.splice(s,1);break}}a.tween=r}}function tweenFunction(e,t,n){var r,a;if(typeof n!=`function`)throw Error();return function(){var o=set(this,e),s=o.tween;if(s!==r){a=(r=s).slice();for(var c={name:t,value:n},l=0,u=a.length;l<u;++l)if(a[l].name===t){a[l]=c;break}l===u&&a.push(c)}o.tween=a}}function tween_default(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=get(this.node(),n).tween,a=0,o=r.length,s;a<o;++a)if((s=r[a]).name===e)return s.value;return null}return this.each((t==null?tweenRemove:tweenFunction)(n,e,t))}e(tween_default,`default`);function tweenValue(e,t,n){var r=e._id;return e.each(function(){var e=set(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return get(e,r).value[t]}}function interpolate_default(e,t){var n;return(typeof t==`number`?number_default:t instanceof color?V:(n=color(t))?(t=n,V):string_default)(e,t)}e(interpolate_default,`default`);function attrRemove(e){return function(){this.removeAttribute(e)}}function attrRemoveNS(e){return function(){this.removeAttributeNS(e.space,e.local)}}function attrConstant(e,t,n){var r,a=n+``,o;return function(){var s=this.getAttribute(e);return s===a?null:s===r?o:o=t(r=s,n)}}function attrConstantNS(e,t,n){var r,a=n+``,o;return function(){var s=this.getAttributeNS(e.space,e.local);return s===a?null:s===r?o:o=t(r=s,n)}}function attrFunction(e,t,n){var r,a,o;return function(){var s,c=n(this),l;return c==null?void this.removeAttribute(e):(s=this.getAttribute(e),l=c+``,s===l?null:s===r&&l===a?o:(a=l,o=t(r=s,c)))}}function attrFunctionNS(e,t,n){var r,a,o;return function(){var s,c=n(this),l;return c==null?void this.removeAttributeNS(e.space,e.local):(s=this.getAttributeNS(e.space,e.local),l=c+``,s===l?null:s===r&&l===a?o:(a=l,o=t(r=s,c)))}}function attr_default(e,t){var n=namespace_default(e),r=n===`transform`?te:interpolate_default;return this.attrTween(e,typeof t==`function`?(n.local?attrFunctionNS:attrFunction)(n,r,tweenValue(this,`attr.`+e,t)):t==null?(n.local?attrRemoveNS:attrRemove)(n):(n.local?attrConstantNS:attrConstant)(n,r,t))}e(attr_default,`default`);function attrInterpolate(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function attrInterpolateNS(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function attrTweenNS(e,t){var n,r;function tween(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&attrInterpolateNS(e,a)),n}return tween._value=t,tween}function attrTween(e,t){var n,r;function tween(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&attrInterpolate(e,a)),n}return tween._value=t,tween}function attrTween_default(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=namespace_default(e);return this.tween(n,(r.local?attrTweenNS:attrTween)(r,t))}e(attrTween_default,`default`);function delayFunction(e,t){return function(){init(this,e).delay=+t.apply(this,arguments)}}function delayConstant(e,t){return t=+t,function(){init(this,e).delay=t}}function delay_default(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?delayFunction:delayConstant)(t,e)):get(this.node(),t).delay}e(delay_default,`default`);function durationFunction(e,t){return function(){set(this,e).duration=+t.apply(this,arguments)}}function durationConstant(e,t){return t=+t,function(){set(this,e).duration=t}}function duration_default(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?durationFunction:durationConstant)(t,e)):get(this.node(),t).duration}e(duration_default,`default`);function easeConstant(e,t){if(typeof t!=`function`)throw Error();return function(){set(this,e).ease=t}}function ease_default(e){var t=this._id;return arguments.length?this.each(easeConstant(t,e)):get(this.node(),t).ease}e(ease_default,`default`);function easeVarying(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();set(this,e).ease=n}}function easeVarying_default(e){if(typeof e!=`function`)throw Error();return this.each(easeVarying(this._id,e))}e(easeVarying_default,`default`);function filter_default(e){typeof e!=`function`&&(e=matcher_default(e));for(var t=this._groups,n=t.length,r=Array(n),a=0;a<n;++a)for(var o=t[a],s=o.length,c=r[a]=[],l,u=0;u<s;++u)(l=o[u])&&e.call(l,l.__data__,u,o)&&c.push(l);return new Transition(r,this._parents,this._name,this._id)}e(filter_default,`default`);function merge_default(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,a=n.length,o=Math.min(r,a),s=Array(r),c=0;c<o;++c)for(var l=t[c],u=n[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<r;++c)s[c]=t[c];return new Transition(s,this._parents,this._name,this._id)}e(merge_default,`default`);function start(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function onFunction(e,t,n){var r,a,o=start(t)?init:set;return function(){var s=o(this,e),c=s.on;c!==r&&(a=(r=c).copy()).on(t,n),s.on=a}}function on_default(e,t){var n=this._id;return arguments.length<2?get(this.node(),n).on.on(e):this.each(onFunction(n,e,t))}e(on_default,`default`);function removeFunction(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function remove_default(){return this.on(`end.remove`,removeFunction(this._id))}e(remove_default,`default`);function select_default(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=selector_default(e));for(var r=this._groups,a=r.length,o=Array(a),s=0;s<a;++s)for(var c=r[s],l=c.length,u=o[s]=Array(l),d,f,p=0;p<l;++p)(d=c[p])&&(f=e.call(d,d.__data__,p,c))&&(`__data__`in d&&(f.__data__=d.__data__),u[p]=f,schedule_default(u[p],t,n,p,u,get(d,n)));return new Transition(o,this._parents,t,n)}e(select_default,`default`);function selectAll_default(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=selectorAll_default(e));for(var r=this._groups,a=r.length,o=[],s=[],c=0;c<a;++c)for(var l=r[c],u=l.length,d,f=0;f<u;++f)if(d=l[f]){for(var p=e.call(d,d.__data__,f,l),m,h=get(d,n),g=0,_=p.length;g<_;++g)(m=p[g])&&schedule_default(m,t,n,g,p,h);o.push(p),s.push(d)}return new Transition(o,s,t,n)}e(selectAll_default,`default`);var me=selection.prototype.constructor;function selection_default(){return new me(this._groups,this._parents)}e(selection_default,`default`);function styleNull(e,t){var n,r,a;return function(){var o=styleValue(this,e),s=(this.style.removeProperty(e),styleValue(this,e));return o===s?null:o===n&&s===r?a:a=t(n=o,r=s)}}function styleRemove(e){return function(){this.style.removeProperty(e)}}function styleConstant(e,t,n){var r,a=n+``,o;return function(){var s=styleValue(this,e);return s===a?null:s===r?o:o=t(r=s,n)}}function styleFunction(e,t,n){var r,a,o;return function(){var s=styleValue(this,e),c=n(this),l=c+``;return c??(l=c=(this.style.removeProperty(e),styleValue(this,e))),s===l?null:s===r&&l===a?o:(a=l,o=t(r=s,c))}}function styleMaybeRemove(e,t){var n,r,a,o=`style.`+t,s=`end.`+o,c;return function(){var l=set(this,e),u=l.on,d=l.value[o]==null?c||=styleRemove(t):void 0;(u!==n||a!==d)&&(r=(n=u).copy()).on(s,a=d),l.on=r}}function style_default(e,t,n){var r=(e+=``)==`transform`?ee:interpolate_default;return t==null?this.styleTween(e,styleNull(e,r)).on(`end.style.`+e,styleRemove(e)):typeof t==`function`?this.styleTween(e,styleFunction(e,r,tweenValue(this,`style.`+e,t))).each(styleMaybeRemove(this._id,e)):this.styleTween(e,styleConstant(e,r,t),n).on(`end.style.`+e,null)}e(style_default,`default`);function styleInterpolate(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function styleTween(e,t,n){var r,a;function tween(){var o=t.apply(this,arguments);return o!==a&&(r=(a=o)&&styleInterpolate(e,o,n)),r}return tween._value=t,tween}function styleTween_default(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,styleTween(e,t,n??``))}e(styleTween_default,`default`);function textConstant(e){return function(){this.textContent=e}}function textFunction(e){return function(){var t=e(this);this.textContent=t??``}}function text_default(e){return this.tween(`text`,typeof e==`function`?textFunction(tweenValue(this,`text`,e)):textConstant(e==null?``:e+``))}e(text_default,`default`);function textInterpolate(e){return function(t){this.textContent=e.call(this,t)}}function textTween(e){var t,n;function tween(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&textInterpolate(r)),t}return tween._value=e,tween}function textTween_default(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,textTween(e))}e(textTween_default,`default`);function transition_default$1(){for(var e=this._name,t=this._id,n=newId(),r=this._groups,a=r.length,o=0;o<a;++o)for(var s=r[o],c=s.length,l,u=0;u<c;++u)if(l=s[u]){var d=get(l,t);schedule_default(l,e,n,u,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Transition(r,this._parents,e,n)}e(transition_default$1,`default`);function end_default(){var e,t,n=this,r=n._id,a=n.size();return new Promise(function(o,s){var c={value:s},l={value:function(){--a===0&&o()}};n.each(function(){var n=set(this,r),a=n.on;a!==e&&(t=(e=a).copy(),t._.cancel.push(c),t._.interrupt.push(c),t._.end.push(l)),n.on=t}),a===0&&o()})}e(end_default,`default`);var he=0;function Transition(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function transition(e){return selection().transition(e)}function newId(){return++he}var X=selection.prototype;Transition.prototype=transition.prototype={constructor:Transition,select:select_default,selectAll:selectAll_default,selectChild:X.selectChild,selectChildren:X.selectChildren,filter:filter_default,merge:merge_default,selection:selection_default,transition:transition_default$1,call:X.call,nodes:X.nodes,node:X.node,size:X.size,empty:X.empty,each:X.each,on:on_default,attr:attr_default,attrTween:attrTween_default,style:style_default,styleTween:styleTween_default,text:text_default,textTween:textTween_default,remove:remove_default,tween:tween_default,delay:delay_default,duration:duration_default,ease:ease_default,easeVarying:easeVarying_default,end:end_default,[Symbol.iterator]:X[Symbol.iterator]};function cubicInOut(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var ge={time:null,delay:0,duration:250,ease:cubicInOut};function inherit(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function transition_default(e){var t,n;e instanceof Transition?(t=e._id,e=e._name):(t=newId(),(n=ge).time=now(),e=e==null?null:e+``);for(var r=this._groups,a=r.length,o=0;o<a;++o)for(var s=r[o],c=s.length,l,u=0;u<c;++u)(l=s[u])&&schedule_default(l,e,t,u,s,n||inherit(l,t));return new Transition(r,this._parents,e,t)}e(transition_default,`default`),selection.prototype.interrupt=interrupt_default,selection.prototype.transition=transition_default;var _e=e(e=>()=>e,`default`);function ZoomEvent(e,{sourceEvent:t,target:n,transform:r,dispatch:a}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:a}})}function Transform(e,t,n){this.k=e,this.x=t,this.y=n}Transform.prototype={constructor:Transform,scale:function(e){return e===1?this:new Transform(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Transform(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var ve=new Transform(1,0,0);transform.prototype=Transform.prototype;function transform(e){for(;!e.__zoom;)if(!(e=e.parentNode))return ve;return e.__zoom}function nopropagation(e){e.stopImmediatePropagation()}function noevent_default(e){e.preventDefault(),e.stopImmediatePropagation()}e(noevent_default,`default`);function defaultFilter(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function defaultExtent(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute(`viewBox`)?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function defaultTransform(){return this.__zoom||ve}function defaultWheelDelta(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function defaultTouchable(){return navigator.maxTouchPoints||`ontouchstart`in this}function defaultConstrain(e,t,n){var r=e.invertX(t[0][0])-n[0][0],a=e.invertX(t[1][0])-n[1][0],o=e.invertY(t[0][1])-n[0][1],s=e.invertY(t[1][1])-n[1][1];return e.translate(a>r?(r+a)/2:Math.min(0,r)||Math.max(0,a),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function zoom_default(){var e=defaultFilter,t=defaultExtent,n=defaultConstrain,r=defaultWheelDelta,a=defaultTouchable,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],c=250,l=q,u=dispatch(`start`,`zoom`,`end`),d,f,p,m=500,h=150,g=0,_=10;function zoom(e){e.property(`__zoom`,defaultTransform).on(`wheel.zoom`,wheeled,{passive:!1}).on(`mousedown.zoom`,mousedowned).on(`dblclick.zoom`,dblclicked).filter(a).on(`touchstart.zoom`,touchstarted).on(`touchmove.zoom`,touchmoved).on(`touchend.zoom touchcancel.zoom`,touchended).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}zoom.transform=function(e,t,n,r){var a=e.selection?e.selection():e;a.property(`__zoom`,defaultTransform),e===a?a.interrupt().each(function(){gesture(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):schedule(e,t,n,r)},zoom.scaleBy=function(e,t,n,r){zoom.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},zoom.scaleTo=function(e,r,a,o){zoom.transform(e,function(){var e=t.apply(this,arguments),o=this.__zoom,c=a==null?centroid(e):typeof a==`function`?a.apply(this,arguments):a,l=o.invert(c),u=typeof r==`function`?r.apply(this,arguments):r;return n(translate(scale(o,u),c,l),e,s)},a,o)},zoom.translateBy=function(e,r,a,o){zoom.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof a==`function`?a.apply(this,arguments):a),t.apply(this,arguments),s)},null,o)},zoom.translateTo=function(e,r,a,o,c){zoom.transform(e,function(){var e=t.apply(this,arguments),c=this.__zoom,l=o==null?centroid(e):typeof o==`function`?o.apply(this,arguments):o;return n(ve.translate(l[0],l[1]).scale(c.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof a==`function`?-a.apply(this,arguments):-a),e,s)},o,c)};function scale(e,t){return t=Math.max(o[0],Math.min(o[1],t)),t===e.k?e:new Transform(t,e.x,e.y)}function translate(e,t,n){var r=t[0]-n[0]*e.k,a=t[1]-n[1]*e.k;return r===e.x&&a===e.y?e:new Transform(e.k,r,a)}function centroid(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function schedule(e,n,r,a){e.on(`start.zoom`,function(){gesture(this,arguments).event(a).start()}).on(`interrupt.zoom end.zoom`,function(){gesture(this,arguments).event(a).end()}).tween(`zoom`,function(){var e=this,o=arguments,s=gesture(e,o).event(a),c=t.apply(e,o),u=r==null?centroid(c):typeof r==`function`?r.apply(e,o):r,d=Math.max(c[1][0]-c[0][0],c[1][1]-c[0][1]),f=e.__zoom,p=typeof n==`function`?n.apply(e,o):n,m=l(f.invert(u).concat(d/f.k),p.invert(u).concat(d/p.k));return function(e){if(e===1)e=p;else{var t=m(e),n=d/t[2];e=new Transform(n,u[0]-t[0]*n,u[1]-t[1]*n)}s.zoom(null,e)}})}function gesture(e,t,n){return!n&&e.__zooming||new Gesture(e,t)}function Gesture(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}Gesture.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=select_default$1(this.that).datum();u.call(e,this.that,new ZoomEvent(e,{sourceEvent:this.sourceEvent,target:zoom,type:e,transform:this.that.__zoom,dispatch:u}),t)}};function wheeled(t,...a){if(!e.apply(this,arguments))return;var c=gesture(this,a).event(t),l=this.__zoom,u=Math.max(o[0],Math.min(o[1],l.k*2**r.apply(this,arguments))),d=pointer_default(t);if(c.wheel)(c.mouse[0][0]!==d[0]||c.mouse[0][1]!==d[1])&&(c.mouse[1]=l.invert(c.mouse[0]=d)),clearTimeout(c.wheel);else if(l.k===u)return;else c.mouse=[d,l.invert(d)],interrupt_default$1(this),c.start();noevent_default(t),c.wheel=setTimeout(wheelidled,h),c.zoom(`mouse`,n(translate(scale(l,u),c.mouse[0],c.mouse[1]),c.extent,s));function wheelidled(){c.wheel=null,c.end()}}function mousedowned(t,...r){if(p||!e.apply(this,arguments))return;var a=t.currentTarget,o=gesture(this,r,!0).event(t),c=select_default$1(t.view).on(`mousemove.zoom`,mousemoved,!0).on(`mouseup.zoom`,mouseupped,!0),l=pointer_default(t,a),u=t.clientX,d=t.clientY;nodrag_default(t.view),nopropagation(t),o.mouse=[l,this.__zoom.invert(l)],interrupt_default$1(this),o.start();function mousemoved(e){if(noevent_default(e),!o.moved){var t=e.clientX-u,r=e.clientY-d;o.moved=t*t+r*r>g}o.event(e).zoom(`mouse`,n(translate(o.that.__zoom,o.mouse[0]=pointer_default(e,a),o.mouse[1]),o.extent,s))}function mouseupped(e){c.on(`mousemove.zoom mouseup.zoom`,null),yesdrag(e.view,o.moved),noevent_default(e),o.event(e).end()}}function dblclicked(r,...a){if(e.apply(this,arguments)){var o=this.__zoom,l=pointer_default(r.changedTouches?r.changedTouches[0]:r,this),u=o.invert(l),d=o.k*(r.shiftKey?.5:2),f=n(translate(scale(o,d),l,u),t.apply(this,a),s);noevent_default(r),c>0?select_default$1(this).transition().duration(c).call(schedule,f,l,r):select_default$1(this).call(zoom.transform,f,l,r)}}function touchstarted(t,...n){if(e.apply(this,arguments)){var r=t.touches,a=r.length,o=gesture(this,n,t.changedTouches.length===a).event(t),s,c,l,u;for(nopropagation(t),c=0;c<a;++c)l=r[c],u=pointer_default(l,this),u=[u,this.__zoom.invert(u),l.identifier],o.touch0?!o.touch1&&o.touch0[2]!==u[2]&&(o.touch1=u,o.taps=0):(o.touch0=u,s=!0,o.taps=1+!!d);d&&=clearTimeout(d),s&&(o.taps<2&&(f=u[0],d=setTimeout(function(){d=null},m)),interrupt_default$1(this),o.start())}}function touchmoved(e,...t){if(this.__zooming){var r=gesture(this,t).event(e),a=e.changedTouches,o=a.length,c,l,u,d;for(noevent_default(e),c=0;c<o;++c)l=a[c],u=pointer_default(l,this),r.touch0&&r.touch0[2]===l.identifier?r.touch0[0]=u:r.touch1&&r.touch1[2]===l.identifier&&(r.touch1[0]=u);if(l=r.that.__zoom,r.touch1){var f=r.touch0[0],p=r.touch0[1],m=r.touch1[0],h=r.touch1[1],g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g,_=(_=h[0]-p[0])*_+(_=h[1]-p[1])*_;l=scale(l,Math.sqrt(g/_)),u=[(f[0]+m[0])/2,(f[1]+m[1])/2],d=[(p[0]+h[0])/2,(p[1]+h[1])/2]}else if(r.touch0)u=r.touch0[0],d=r.touch0[1];else return;r.zoom(`touch`,n(translate(l,u,d),r.extent,s))}}function touchended(e,...t){if(this.__zooming){var n=gesture(this,t).event(e),r=e.changedTouches,a=r.length,o,s;for(nopropagation(e),p&&clearTimeout(p),p=setTimeout(function(){p=null},m),o=0;o<a;++o)s=r[o],n.touch0&&n.touch0[2]===s.identifier?delete n.touch0:n.touch1&&n.touch1[2]===s.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(s=pointer_default(s,this),Math.hypot(f[0]-s[0],f[1]-s[1])<_)){var c=select_default$1(this).on(`dblclick.zoom`);c&&c.apply(this,arguments)}}}return zoom.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:_e(+e),zoom):r},zoom.filter=function(t){return arguments.length?(e=typeof t==`function`?t:_e(!!t),zoom):e},zoom.touchable=function(e){return arguments.length?(a=typeof e==`function`?e:_e(!!e),zoom):a},zoom.extent=function(e){return arguments.length?(t=typeof e==`function`?e:_e([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),zoom):t},zoom.scaleExtent=function(e){return arguments.length?(o[0]=+e[0],o[1]=+e[1],zoom):[o[0],o[1]]},zoom.translateExtent=function(e){return arguments.length?(s[0][0]=+e[0][0],s[1][0]=+e[1][0],s[0][1]=+e[0][1],s[1][1]=+e[1][1],zoom):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},zoom.constrain=function(e){return arguments.length?(n=e,zoom):n},zoom.duration=function(e){return arguments.length?(c=+e,zoom):c},zoom.interpolate=function(e){return arguments.length?(l=e,zoom):l},zoom.on=function(){var e=u.on.apply(u,arguments);return e===u?zoom:e},zoom.clickDistance=function(e){return arguments.length?(g=(e=+e)*e,zoom):Math.sqrt(g)},zoom.tapDistance=function(e){return arguments.length?(_=+e,zoom):_},zoom}e(zoom_default,`default`);const Z={error001:()=>`[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001`,error002:()=>`It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.`,error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The React Flow parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>`useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.`,error015:()=>`It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.`},ye=[[-1/0,-1/0],[1/0,1/0]],be=[`Enter`,` `,`Escape`],xe={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`};var Se;(function(e){e.Strict=`strict`,e.Loose=`loose`})(Se||={});var Ce;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(Ce||={});var we;(function(e){e.Partial=`partial`,e.Full=`full`})(we||={});const Te={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Ee;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})(Ee||={});var De;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(De||={});var Q;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(Q||={});const Oe={[Q.Left]:Q.Right,[Q.Right]:Q.Left,[Q.Top]:Q.Bottom,[Q.Bottom]:Q.Top};function getConnectionStatus(e){return e===null?null:e?`valid`:`invalid`}const isEdgeBase=e=>`id`in e&&`source`in e&&`target`in e,isNodeBase=e=>`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),isInternalNodeBase=e=>`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),getNodePositionWithOrigin=(e,t=[0,0])=>{let{width:n,height:r}=getNodeDimensions(e),a=e.origin??t,o=n*a[0],s=r*a[1];return{x:e.position.x-o,y:e.position.y-s}},getNodesBounds=(e,t={nodeOrigin:[0,0]})=>e.length===0?{x:0,y:0,width:0,height:0}:boxToRect(e.reduce((e,n)=>{let r=typeof n==`string`,a=!t.nodeLookup&&!r?n:void 0;return t.nodeLookup&&(a=r?t.nodeLookup.get(n):isInternalNodeBase(n)?n:t.nodeLookup.get(n.id)),getBoundsOfBoxes(e,a?nodeToBox(a,t.nodeOrigin):{x:0,y:0,x2:0,y2:0})},{x:1/0,y:1/0,x2:-1/0,y2:-1/0})),getInternalNodesBounds=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=getBoundsOfBoxes(n,nodeToBox(e)),r=!0)}),r?boxToRect(n):{x:0,y:0,width:0,height:0}},getNodesInside=(e,t,[n,r,a]=[0,0,1],o=!1,s=!1)=>{let c={...pointToRendererPoint(t,[n,r,a]),width:t.width/a,height:t.height/a},l=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(s&&!n||r)continue;let a=e.width??t.width??t.initialWidth??null,u=e.height??t.height??t.initialHeight??null,d=getOverlappingArea(c,nodeToRect(t)),f=(a??0)*(u??0),p=o&&d>0;(!t.internals.handleBounds||p||d>=f||t.dragging)&&l.push(t)}return l},getConnectedEdges=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function getFitViewNodes(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{e.measured.width&&e.measured.height&&(t?.includeHiddenNodes||!e.hidden)&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function fitViewport({nodes:e,width:t,height:n,panZoom:r,minZoom:a,maxZoom:o},s){if(e.size===0)return Promise.resolve(!0);let c=getViewportForBounds(getInternalNodesBounds(getFitViewNodes(e,s)),t,n,s?.minZoom??a,s?.maxZoom??o,s?.padding??.1);return await r.setViewport(c,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),Promise.resolve(!0)}function calculateNodePosition({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:a,onError:o}){let s=n.get(e),c=s.parentId?n.get(s.parentId):void 0,{x:l,y:u}=c?c.internals.positionAbsolute:{x:0,y:0},d=s.origin??r,f=s.extent||a;if(s.extent===`parent`&&!s.expandParent)if(!c)o?.(`005`,Z.error005());else{let e=c.measured.width,t=c.measured.height;e&&t&&(f=[[l,u],[l+e,u+t]])}else c&&isCoordinateExtent(s.extent)&&(f=[[s.extent[0][0]+l,s.extent[0][1]+u],[s.extent[1][0]+l,s.extent[1][1]+u]]);let p=isCoordinateExtent(f)?clampPosition(t,f,s.measured):t;return(s.measured.width===void 0||s.measured.height===void 0)&&o?.(`015`,Z.error015()),{position:{x:p.x-l+(s.measured.width??0)*d[0],y:p.y-u+(s.measured.height??0)*d[1]},positionAbsolute:p}}async function getElementsToRemove({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:a}){let o=new Set(e.map(e=>e.id)),s=[];for(let e of n){if(e.deletable===!1)continue;let t=o.has(e.id),n=!t&&e.parentId&&s.find(t=>t.id===e.parentId);(t||n)&&s.push(e)}let c=new Set(t.map(e=>e.id)),l=r.filter(e=>e.deletable!==!1),u=getConnectedEdges(s,l);for(let e of l)c.has(e.id)&&!u.find(t=>t.id===e.id)&&u.push(e);if(!a)return{edges:u,nodes:s};let d=await a({nodes:s,edges:u});return typeof d==`boolean`?d?{edges:u,nodes:s}:{edges:[],nodes:[]}:d}const clamp=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),clampPosition=(e={x:0,y:0},t,n)=>({x:clamp(e.x,t[0][0],t[1][0]-(n?.width??0)),y:clamp(e.y,t[0][1],t[1][1]-(n?.height??0))});function clampPositionToParent(e,t,n){let{width:r,height:a}=getNodeDimensions(n),{x:o,y:s}=n.internals.positionAbsolute;return clampPosition(e,[[o,s],[o+r,s+a]],t)}const calcAutoPanVelocity=(e,t,n)=>e<t?clamp(Math.abs(e-t),1,t)/t:e>n?-clamp(Math.abs(e-n),1,t)/t:0,calcAutoPan=(e,t,n=15,r=40)=>[calcAutoPanVelocity(e.x,r,t.width-r)*n,calcAutoPanVelocity(e.y,r,t.height-r)*n],getBoundsOfBoxes=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),rectToBox=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),boxToRect=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),nodeToRect=(e,t=[0,0])=>{let{x:n,y:r}=isInternalNodeBase(e)?e.internals.positionAbsolute:getNodePositionWithOrigin(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},nodeToBox=(e,t=[0,0])=>{let{x:n,y:r}=isInternalNodeBase(e)?e.internals.positionAbsolute:getNodePositionWithOrigin(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},getBoundsOfRects=(e,t)=>boxToRect(getBoundsOfBoxes(rectToBox(e),rectToBox(t))),getOverlappingArea=(e,t)=>{let n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},isRectObject=e=>isNumeric(e.width)&&isNumeric(e.height)&&isNumeric(e.x)&&isNumeric(e.y),isNumeric=e=>!isNaN(e)&&isFinite(e),devWarn=(e,t)=>{},snapPosition=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),pointToRendererPoint=({x:e,y:t},[n,r,a],o=!1,s=[1,1])=>{let c={x:(e-n)/a,y:(t-r)/a};return o?snapPosition(c,s):c},rendererPointToPoint=({x:e,y:t},[n,r,a])=>({x:e*a+n,y:t*a+r});function parsePadding(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function parsePaddings(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=parsePadding(e,n),a=parsePadding(e,t);return{top:r,right:a,bottom:r,left:a,x:a*2,y:r*2}}if(typeof e==`object`){let r=parsePadding(e.top??e.y??0,n),a=parsePadding(e.bottom??e.y??0,n),o=parsePadding(e.left??e.x??0,t),s=parsePadding(e.right??e.x??0,t);return{top:r,right:s,bottom:a,left:o,x:o+s,y:r+a}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function calculateAppliedPaddings(e,t,n,r,a,o){let{x:s,y:c}=rendererPointToPoint(e,[t,n,r]),{x:l,y:u}=rendererPointToPoint({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=a-l,f=o-u;return{left:Math.floor(s),top:Math.floor(c),right:Math.floor(d),bottom:Math.floor(f)}}const getViewportForBounds=(e,t,n,r,a,o)=>{let s=parsePaddings(o,t,n),c=(t-s.x)/e.width,l=(n-s.y)/e.height,u=clamp(Math.min(c,l),r,a),d=e.x+e.width/2,f=e.y+e.height/2,p=t/2-d*u,m=n/2-f*u,h=calculateAppliedPaddings(e,p,m,u,t,n),g={left:Math.min(h.left-s.left,0),top:Math.min(h.top-s.top,0),right:Math.min(h.right-s.right,0),bottom:Math.min(h.bottom-s.bottom,0)};return{x:p-g.left+g.right,y:m-g.top+g.bottom,zoom:u}},isMacOs=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function isCoordinateExtent(e){return e!=null&&e!==`parent`}function getNodeDimensions(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function nodeHasDimensions(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function evaluateAbsolutePosition(e,t={width:0,height:0},n,r,a){let o={...e},s=r.get(n);if(s){let e=s.origin||a;o.x+=s.internals.positionAbsolute.x-(t.width??0)*e[0],o.y+=s.internals.positionAbsolute.y-(t.height??0)*e[1]}return o}function areSetsEqual(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function withResolvers(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function mergeAriaLabelConfig(e){return{...xe,...e||{}}}function getPointerPosition(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:a}){let{x:o,y:s}=getEventPosition(e),c=pointToRendererPoint({x:o-(a?.left??0),y:s-(a?.top??0)},r),{x:l,y:u}=n?snapPosition(c,t):c;return{xSnapped:l,ySnapped:u,...c}}const getDimensions=e=>({width:e.offsetWidth,height:e.offsetHeight}),getHostForElement=e=>e?.getRootNode?.()||window?.document,ke=[`INPUT`,`SELECT`,`TEXTAREA`];function isInputDOMNode(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?ke.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}const isMouseEvent=e=>`clientX`in e,getEventPosition=(e,t)=>{let n=isMouseEvent(e),r=n?e.clientX:e.touches?.[0].clientX,a=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:a-(t?.top??0)}},getHandleBounds=(e,t,n,r,a)=>{let o=t.querySelectorAll(`.${e}`);return!o||!o.length?null:Array.from(o).map(t=>{let o=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:a,position:t.getAttribute(`data-handlepos`),x:(o.left-n.left)/r,y:(o.top-n.top)/r,...getDimensions(t)}})};function getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:a,sourceControlY:o,targetControlX:s,targetControlY:c}){let l=e*.125+a*.375+s*.375+n*.125,u=t*.125+o*.375+c*.375+r*.125;return[l,u,Math.abs(l-e),Math.abs(u-t)]}function calculateControlOffset(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function getControlWithCurvature({pos:e,x1:t,y1:n,x2:r,y2:a,c:o}){switch(e){case Q.Left:return[t-calculateControlOffset(t-r,o),n];case Q.Right:return[t+calculateControlOffset(r-t,o),n];case Q.Top:return[t,n-calculateControlOffset(n-a,o)];case Q.Bottom:return[t,n+calculateControlOffset(a-n,o)]}}function getBezierPath({sourceX:e,sourceY:t,sourcePosition:n=Q.Bottom,targetX:r,targetY:a,targetPosition:o=Q.Top,curvature:s=.25}){let[c,l]=getControlWithCurvature({pos:n,x1:e,y1:t,x2:r,y2:a,c:s}),[u,d]=getControlWithCurvature({pos:o,x1:r,y1:a,x2:e,y2:t,c:s}),[f,p,m,h]=getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:r,targetY:a,sourceControlX:c,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${t} C${c},${l} ${u},${d} ${r},${a}`,f,p,m,h]}function getEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:r}){let a=Math.abs(n-e)/2,o=n<e?n+a:n-a,s=Math.abs(r-t)/2;return[o,r<t?r+s:r-s,a,s]}function getElevatedEdgeZIndex({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:a=!1,zIndexMode:o=`basic`}){return o===`manual`?r:(a&&n?r+1e3:r)+Math.max(e.parentId||a&&e.selected?e.internals.z:0,t.parentId||a&&t.selected?t.internals.z:0)}function isEdgeVisible({sourceNode:e,targetNode:t,width:n,height:r,transform:a}){let o=getBoundsOfBoxes(nodeToBox(e),nodeToBox(t));return o.x===o.x2&&(o.x2+=1),o.y===o.y2&&(o.y2+=1),getOverlappingArea({x:-a[0]/a[2],y:-a[1]/a[2],width:n/a[2],height:r/a[2]},boxToRect(o))>0}const getEdgeId=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,connectionExists=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),addEdge=(e,t,n={})=>{if(!e.source||!e.target)return Z.error006(),t;let r=n.getEdgeId||getEdgeId,a;return a=isEdgeBase(e)?{...e}:{...e,id:r(e)},connectionExists(a,t)?t:(a.sourceHandle===null&&delete a.sourceHandle,a.targetHandle===null&&delete a.targetHandle,t.concat(a))};function getStraightPath({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[a,o,s,c]=getEdgeCenter({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,a,o,s,c]}const Ae={[Q.Left]:{x:-1,y:0},[Q.Right]:{x:1,y:0},[Q.Top]:{x:0,y:-1},[Q.Bottom]:{x:0,y:1}},getDirection=({source:e,sourcePosition:t=Q.Bottom,target:n})=>t===Q.Left||t===Q.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},distance=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function getPoints({source:e,sourcePosition:t=Q.Bottom,target:n,targetPosition:r=Q.Top,center:a,offset:o,stepPosition:s}){let c=Ae[t],l=Ae[r],u={x:e.x+c.x*o,y:e.y+c.y*o},d={x:n.x+l.x*o,y:n.y+l.y*o},f=getDirection({source:u,sourcePosition:t,target:d}),p=f.x===0?`y`:`x`,m=f[p],h=[],g,_,v={x:0,y:0},y={x:0,y:0},[,,b,x]=getEdgeCenter({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(c[p]*l[p]===-1){p===`x`?(g=a.x??u.x+(d.x-u.x)*s,_=a.y??(u.y+d.y)/2):(g=a.x??(u.x+d.x)/2,_=a.y??u.y+(d.y-u.y)*s);let e=[{x:g,y:u.y},{x:g,y:d.y}],t=[{x:u.x,y:_},{x:d.x,y:_}];h=c[p]===m?p===`x`?e:t:p===`x`?t:e}else{let a=[{x:u.x,y:d.y}],s=[{x:d.x,y:u.y}];if(h=p===`x`?c.x===m?s:a:c.y===m?a:s,t===r){let t=Math.abs(e[p]-n[p]);if(t<=o){let r=Math.min(o-1,o-t);c[p]===m?v[p]=(u[p]>e[p]?-1:1)*r:y[p]=(d[p]>n[p]?-1:1)*r}}if(t!==r){let e=p===`x`?`y`:`x`,t=c[p]===l[e],n=u[e]>d[e],r=u[e]<d[e];(c[p]===1&&(!t&&n||t&&r)||c[p]!==1&&(!t&&r||t&&n))&&(h=p===`x`?a:s)}let f={x:u.x+v.x,y:u.y+v.y},b={x:d.x+y.x,y:d.y+y.y};Math.max(Math.abs(f.x-h[0].x),Math.abs(b.x-h[0].x))>=Math.max(Math.abs(f.y-h[0].y),Math.abs(b.y-h[0].y))?(g=(f.x+b.x)/2,_=h[0].y):(g=h[0].x,_=(f.y+b.y)/2)}let S={x:u.x+v.x,y:u.y+v.y},C={x:d.x+y.x,y:d.y+y.y};return[[e,...S.x!==h[0].x||S.y!==h[0].y?[S]:[],...h,...C.x!==h[h.length-1].x||C.y!==h[h.length-1].y?[C]:[],n],g,_,b,x]}function getBend(e,t,n,r){let a=Math.min(distance(e,t)/2,distance(t,n)/2,r),{x:o,y:s}=t;if(e.x===o&&o===n.x||e.y===s&&s===n.y)return`L${o} ${s}`;if(e.y===s){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${o+a*t},${s}Q ${o},${s} ${o},${s+a*r}`}let c=e.x<n.x?1:-1;return`L ${o},${s+a*(e.y<n.y?-1:1)}Q ${o},${s} ${o+a*c},${s}`}function getSmoothStepPath({sourceX:e,sourceY:t,sourcePosition:n=Q.Bottom,targetX:r,targetY:a,targetPosition:o=Q.Top,borderRadius:s=5,centerX:c,centerY:l,offset:u=20,stepPosition:d=.5}){let[f,p,m,h,g]=getPoints({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:a},targetPosition:o,center:{x:c,y:l},offset:u,stepPosition:d}),_=`M${f[0].x} ${f[0].y}`;for(let e=1;e<f.length-1;e++)_+=getBend(f[e-1],f[e],f[e+1],s);return _+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[_,p,m,h,g]}function isNodeInitialized(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function getEdgePosition(e){let{sourceNode:t,targetNode:n}=e;if(!isNodeInitialized(t)||!isNodeInitialized(n))return null;let r=t.internals.handleBounds||toHandleBounds(t.handles),a=n.internals.handleBounds||toHandleBounds(n.handles),o=getHandle$1(r?.source??[],e.sourceHandle),s=getHandle$1(e.connectionMode===Se.Strict?a?.target??[]:(a?.target??[]).concat(a?.source??[]),e.targetHandle);if(!o||!s)return e.onError?.(`008`,Z.error008(o?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let c=o?.position||Q.Bottom,l=s?.position||Q.Top,u=getHandlePosition(t,o,c),d=getHandlePosition(n,s,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:c,targetPosition:l}}function toHandleBounds(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function getHandlePosition(e,t,n=Q.Left,r=!1){let a=(t?.x??0)+e.internals.positionAbsolute.x,o=(t?.y??0)+e.internals.positionAbsolute.y,{width:s,height:c}=t??getNodeDimensions(e);if(r)return{x:a+s/2,y:o+c/2};switch(t?.position??n){case Q.Top:return{x:a+s/2,y:o};case Q.Right:return{x:a+s,y:o+c/2};case Q.Bottom:return{x:a+s/2,y:o+c};case Q.Left:return{x:a,y:o+c/2}}}function getHandle$1(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function getMarkerId(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function createMarkerIds(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:a}){let o=new Set;return e.reduce((e,s)=>([s.markerStart||r,s.markerEnd||a].forEach(r=>{if(r&&typeof r==`object`){let a=getMarkerId(r,t);o.has(a)||(e.push({id:a,color:r.color||n,...r}),o.add(a))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}function getNodeToolbarTransform(e,t,n,r,a){let o=.5;a===`start`?o=0:a===`end`&&(o=1);let s=[(e.x+e.width*o)*t.zoom+t.x,e.y*t.zoom+t.y-r],c=[-100*o,-100];switch(n){case Q.Right:s=[(e.x+e.width)*t.zoom+t.x+r,(e.y+e.height*o)*t.zoom+t.y],c=[0,-100*o];break;case Q.Bottom:s[1]=(e.y+e.height)*t.zoom+t.y+r,c[1]=0;break;case Q.Left:s=[e.x*t.zoom+t.x-r,(e.y+e.height*o)*t.zoom+t.y],c=[-100,-100*o];break}return`translate(${s[0]}px, ${s[1]}px) translate(${c[0]}%, ${c[1]}%)`}const je=1e3,Me={nodeOrigin:[0,0],nodeExtent:ye,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Ne={...Me,checkEquality:!0};function mergeObjects(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function updateAbsolutePositions(e,t,n){let r=mergeObjects(Me,n);for(let n of e.values())if(n.parentId)updateChildNode(n,e,t,r);else{let e=clampPosition(getNodePositionWithOrigin(n,r.nodeOrigin),isCoordinateExtent(n.extent)?n.extent:r.nodeExtent,getNodeDimensions(n));n.internals.positionAbsolute=e}}function parseHandles(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let a={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(a):t.type===`target`&&r.push(a)}return{source:n,target:r}}function isManualZIndexMode(e){return e===`manual`}function adoptUserNodes(e,t,n,r={}){let a=mergeObjects(Ne,r),o={i:0},s=new Map(t),c=a?.elevateNodesOnSelect&&!isManualZIndexMode(a.zIndexMode)?je:0,l=e.length>0,u=!1;t.clear(),n.clear();for(let d of e){let e=s.get(d.id);if(a.checkEquality&&d===e?.internals.userNode)t.set(d.id,e);else{let n=clampPosition(getNodePositionWithOrigin(d,a.nodeOrigin),isCoordinateExtent(d.extent)?d.extent:a.nodeExtent,getNodeDimensions(d));e={...a.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:n,handleBounds:parseHandles(d,e),z:calculateZ(d,c,a.zIndexMode),userNode:d}},t.set(d.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(l=!1),d.parentId&&updateChildNode(e,t,n,r,o),u||=d.selected??!1}return{nodesInitialized:l,hasSelectedNodes:u}}function updateParentLookup(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function updateChildNode(e,t,n,r,a){let{elevateNodesOnSelect:o,nodeOrigin:s,nodeExtent:c,zIndexMode:l}=mergeObjects(Me,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}updateParentLookup(e,n),a&&!d.parentId&&d.internals.rootParentIndex===void 0&&l===`auto`&&(d.internals.rootParentIndex=++a.i,d.internals.z=d.internals.z+a.i*10),a&&d.internals.rootParentIndex!==void 0&&(a.i=d.internals.rootParentIndex);let{x:f,y:p,z:m}=calculateChildXYZ(e,d,s,c,o&&!isManualZIndexMode(l)?je:0,l),{positionAbsolute:h}=e.internals,g=f!==h.x||p!==h.y;(g||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:g?{x:f,y:p}:h,z:m}})}function calculateZ(e,t,n){let r=isNumeric(e.zIndex)?e.zIndex:0;return isManualZIndexMode(n)?r:r+(e.selected?t:0)}function calculateChildXYZ(e,t,n,r,a,o){let{x:s,y:c}=t.internals.positionAbsolute,l=getNodeDimensions(e),u=getNodePositionWithOrigin(e,n),d=isCoordinateExtent(e.extent)?clampPosition(u,e.extent,l):u,f=clampPosition({x:s+d.x,y:c+d.y},r,l);e.extent===`parent`&&(f=clampPositionToParent(f,l,t));let p=calculateZ(e,a,o),m=t.internals.z??0;return{x:f.x,y:f.y,z:m>=p?m+1:p}}function handleExpandParent(e,t,n,r=[0,0]){let a=[],o=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=getBoundsOfRects(o.get(n.parentId)?.expandedRect??nodeToRect(e),n.rect);o.set(n.parentId,{expandedRect:r,parent:e})}return o.size>0&&o.forEach(({expandedRect:t,parent:o},s)=>{let c=o.internals.positionAbsolute,l=getNodeDimensions(o),u=o.origin??r,d=t.x<c.x?Math.round(Math.abs(c.x-t.x)):0,f=t.y<c.y?Math.round(Math.abs(c.y-t.y)):0,p=Math.max(l.width,Math.round(t.width)),m=Math.max(l.height,Math.round(t.height)),h=(p-l.width)*u[0],g=(m-l.height)*u[1];(d>0||f>0||h||g)&&(a.push({id:s,type:`position`,position:{x:o.position.x-d+h,y:o.position.y-f+g}}),n.get(s)?.forEach(t=>{e.some(e=>e.id===t.id)||a.push({id:t.id,type:`position`,position:{x:t.position.x+d,y:t.position.y+f}})})),(l.width<t.width||l.height<t.height||d||f)&&a.push({id:s,type:`dimensions`,setAttributes:!0,dimensions:{width:p+(d?u[0]*d-h:0),height:m+(f?u[1]*f-g:0)}})}),a}function updateNodeInternals(e,t,n,r,a,o,s){let c=r?.querySelector(`.xyflow__viewport`),l=!1;if(!c)return{changes:[],updatedInternals:l};let u=[],d=window.getComputedStyle(c),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),l=!0;continue}let c=getDimensions(r.nodeElement),d=e.measured.width!==c.width||e.measured.height!==c.height;if(c.width&&c.height&&(d||!e.internals.handleBounds||r.force)){let m=r.nodeElement.getBoundingClientRect(),h=isCoordinateExtent(e.extent)?e.extent:o,{positionAbsolute:g}=e.internals;e.parentId&&e.extent===`parent`?g=clampPositionToParent(g,c,t.get(e.parentId)):h&&(g=clampPosition(g,h,c));let _={...e,measured:c,internals:{...e.internals,positionAbsolute:g,handleBounds:{source:getHandleBounds(`source`,r.nodeElement,m,f,e.id),target:getHandleBounds(`target`,r.nodeElement,m,f,e.id)}}};t.set(e.id,_),e.parentId&&updateChildNode(_,t,n,{nodeOrigin:a,zIndexMode:s}),l=!0,d&&(u.push({id:e.id,type:`dimensions`,dimensions:c}),e.expandParent&&e.parentId&&p.push({id:e.id,parentId:e.parentId,rect:nodeToRect(_,a)}))}}if(p.length>0){let e=handleExpandParent(p,t,n,a);u.push(...e)}return{changes:u,updatedInternals:l}}async function panBy({delta:e,panZoom:t,transform:n,translateExtent:r,width:a,height:o}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);let s=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[a,o]],r),c=!!s&&(s.x!==n[0]||s.y!==n[1]||s.k!==n[2]);return Promise.resolve(c)}function addConnectionToLookup(e,t,n,r,a,o){let s=a,c=r.get(s)||new Map;r.set(s,c.set(n,t)),s=`${a}-${e}`;let l=r.get(s)||new Map;if(r.set(s,l.set(n,t)),o){s=`${a}-${e}-${o}`;let c=r.get(s)||new Map;r.set(s,c.set(n,t))}}function updateConnectionLookup(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:a,sourceHandle:o=null,targetHandle:s=null}=r,c={edgeId:r.id,source:n,target:a,sourceHandle:o,targetHandle:s},l=`${n}-${o}--${a}-${s}`;addConnectionToLookup(`source`,c,`${a}-${s}--${n}-${o}`,e,n,o),addConnectionToLookup(`target`,c,l,e,a,s),t.set(r.id,r)}}function isParentSelected(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:isParentSelected(n,t):!1}function hasSelector(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function getDragItems(e,t,n,r){let a=new Map;for(let[o,s]of e)if((s.selected||s.id===r)&&(!s.parentId||!isParentSelected(s,e))&&(s.draggable||t&&s.draggable===void 0)){let t=e.get(o);t&&a.set(o,{id:o,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return a}function getEventHandlerParams({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let a=[];for(let[e,o]of t){let t=n.get(e)?.internals.userNode;t&&a.push({...t,position:o.position,dragging:r})}if(!e)return[a[0],a];let o=n.get(e)?.internals.userNode;return[o?{...o,position:t.get(e)?.position||o.position,dragging:r}:a[0],a]}function calculateSnapOffset({dragItems:e,snapGrid:t,x:n,y:r}){let a=e.values().next().value;if(!a)return null;let o={x:n-a.distance.x,y:r-a.distance.y},s=snapPosition(o,t);return{x:s.x-o.x,y:s.y-o.y}}function XYDrag({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:a}){let o={x:null,y:null},s=0,c=new Map,l=!1,u={x:0,y:0},d=null,f=!1,p=null,m=!1,h=!1,g=null;function update({noDragClassName:_,handleSelector:v,domNode:y,isSelectable:b,nodeId:x,nodeClickDistance:S=0}){p=select_default$1(y);function updateNodes({x:e,y:n}){let{nodeLookup:a,nodeExtent:s,snapGrid:l,snapToGrid:u,nodeOrigin:d,onNodeDrag:f,onSelectionDrag:p,onError:m,updateNodePositions:_}=t();o={x:e,y:n};let v=!1,y=c.size>1,b=y&&s?rectToBox(getInternalNodesBounds(c)):null,S=y&&u?calculateSnapOffset({dragItems:c,snapGrid:l,x:e,y:n}):null;for(let[t,r]of c){if(!a.has(t))continue;let o={x:e-r.distance.x,y:n-r.distance.y};u&&(o=S?{x:Math.round(o.x+S.x),y:Math.round(o.y+S.y)}:snapPosition(o,l));let c=null;if(y&&s&&!r.extent&&b){let{positionAbsolute:e}=r.internals,t=e.x-b.x+s[0][0],n=e.x+r.measured.width-b.x2+s[1][0],a=e.y-b.y+s[0][1],o=e.y+r.measured.height-b.y2+s[1][1];c=[[t,a],[n,o]]}let{position:f,positionAbsolute:p}=calculateNodePosition({nodeId:t,nextPosition:o,nodeLookup:a,nodeExtent:c||s,nodeOrigin:d,onError:m});v=v||r.position.x!==f.x||r.position.y!==f.y,r.position=f,r.internals.positionAbsolute=p}if(h||=v,v&&(_(c,!0),g&&(r||f||!x&&p))){let[e,t]=getEventHandlerParams({nodeId:x,dragItems:c,nodeLookup:a});r?.(g,c,e,t),f?.(g,e,t),x||p?.(g,t)}}async function autoPan(){if(!d)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:a}=t();if(!a){l=!1,cancelAnimationFrame(s);return}let[c,f]=calcAutoPan(u,d,r);(c!==0||f!==0)&&(o.x=(o.x??0)-c/e[2],o.y=(o.y??0)-f/e[2],await n({x:c,y:f})&&updateNodes(o)),s=requestAnimationFrame(autoPan)}function startDrag(r){let{nodeLookup:a,multiSelectionActive:s,nodesDraggable:l,transform:u,snapGrid:p,snapToGrid:m,selectNodesOnDrag:h,onNodeDragStart:g,onSelectionDragStart:_,unselectNodesAndEdges:v}=t();f=!0,(!h||!b)&&!s&&x&&(a.get(x)?.selected||v()),b&&h&&x&&e?.(x);let y=getPointerPosition(r.sourceEvent,{transform:u,snapGrid:p,snapToGrid:m,containerBounds:d});if(o=y,c=getDragItems(a,l,y,x),c.size>0&&(n||g||!x&&_)){let[e,t]=getEventHandlerParams({nodeId:x,dragItems:c,nodeLookup:a});n?.(r.sourceEvent,c,e,t),g?.(r.sourceEvent,e,t),x||_?.(r.sourceEvent,t)}}let C=drag_default().clickDistance(S).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:a,snapGrid:s,snapToGrid:c}=t();d=n?.getBoundingClientRect()||null,m=!1,h=!1,g=e.sourceEvent,r===0&&startDrag(e),o=getPointerPosition(e.sourceEvent,{transform:a,snapGrid:s,snapToGrid:c,containerBounds:d}),u=getEventPosition(e.sourceEvent,d)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:a,snapToGrid:s,nodeDragThreshold:p,nodeLookup:h}=t(),_=getPointerPosition(e.sourceEvent,{transform:r,snapGrid:a,snapToGrid:s,containerBounds:d});if(g=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||x&&!h.has(x))&&(m=!0),!m){if(!l&&n&&f&&(l=!0,autoPan()),!f){let t=getEventPosition(e.sourceEvent,d),n=t.x-u.x,r=t.y-u.y;Math.sqrt(n*n+r*r)>p&&startDrag(e)}(o.x!==_.xSnapped||o.y!==_.ySnapped)&&c&&f&&(u=getEventPosition(e.sourceEvent,d),updateNodes(_))}}).on(`end`,e=>{if(!(!f||m)&&(l=!1,f=!1,cancelAnimationFrame(s),c.size>0)){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:o,onSelectionDragStop:s}=t();if(h&&=(r(c,!1),!1),a||o||!x&&s){let[t,r]=getEventHandlerParams({nodeId:x,dragItems:c,nodeLookup:n,dragging:!1});a?.(e.sourceEvent,c,t,r),o?.(e.sourceEvent,t,r),x||s?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!_||!hasSelector(t,`.${_}`,y))&&(!v||hasSelector(t,v,y))});p.call(C)}function destroy(){p?.on(`.drag`,null)}return{update,destroy}}function getNodesWithinDistance(e,t,n){let r=[],a={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())getOverlappingArea(a,nodeToRect(e))>0&&r.push(e);return r}function getClosestHandle(e,t,n,r){let a=[],o=1/0,s=getNodesWithinDistance(e,n,t+250);for(let n of s){let s=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let c of s){if(r.nodeId===c.nodeId&&r.type===c.type&&r.id===c.id)continue;let{x:s,y:l}=getHandlePosition(n,c,c.position,!0),u=Math.sqrt((s-e.x)**2+(l-e.y)**2);u>t||(u<o?(a=[{...c,x:s,y:l}],o=u):u===o&&a.push({...c,x:s,y:l}))}}if(!a.length)return null;if(a.length>1){let e=r.type===`source`?`target`:`source`;return a.find(t=>t.type===e)??a[0]}return a[0]}function getHandle(e,t,n,r,a,o=!1){let s=r.get(e);if(!s)return null;let c=a===`strict`?s.internals.handleBounds?.[t]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],l=(n?c?.find(e=>e.id===n):c?.[0])??null;return l&&o?{...l,...getHandlePosition(s,l,l.position,!0)}:l}function getHandleType(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function isConnectionValid(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const alwaysValid=()=>!0;function onPointerDown(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:a,edgeUpdaterType:o,isTarget:s,domNode:c,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:f,panBy:p,cancelConnection:m,onConnectStart:h,onConnect:g,onConnectEnd:_,isValidConnection:v=alwaysValid,onReconnectEnd:y,updateConnection:b,getTransform:x,getFromHandle:S,autoPanSpeed:C,dragThreshold:w=1,handleDomNode:T}){let E=getHostForElement(e.target),D=0,O,{x:k,y:A}=getEventPosition(e),j=getHandleType(o,T),M=c?.getBoundingClientRect(),N=!1;if(!M||!j)return;let P=getHandle(a,j,r,l,t);if(!P)return;let F=getEventPosition(e,M),I=!1,L=null,R=!1,z=null;function autoPan(){if(!d||!M)return;let[e,t]=calcAutoPan(F,M,C);p({x:e,y:t}),D=requestAnimationFrame(autoPan)}let B={...P,nodeId:a,type:j,position:P.position},V=l.get(a),H={inProgress:!0,isValid:null,from:getHandlePosition(V,B,Q.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:V,to:F,toHandle:null,toPosition:Oe[B.position],toNode:null,pointer:F};function startConnection(){N=!0,b(H),h?.(e,{nodeId:a,handleId:r,handleType:j})}w===0&&startConnection();function onPointerMove(e){if(!N){let{x:t,y:n}=getEventPosition(e),r=t-k,a=n-A;if(!(r*r+a*a>w*w))return;startConnection()}if(!S()||!B){onPointerUp(e);return}let o=x();F=getEventPosition(e,M),O=getClosestHandle(pointToRendererPoint(F,o,!1,[1,1]),n,l,B),I||=(autoPan(),!0);let c=isValidHandle(e,{handle:O,connectionMode:t,fromNodeId:a,fromHandleId:r,fromType:s?`target`:`source`,isValidConnection:v,doc:E,lib:u,flowId:f,nodeLookup:l});z=c.handleDomNode,L=c.connection,R=isConnectionValid(!!O,c.isValid);let d=l.get(a),p=d?getHandlePosition(d,B,Q.Left,!0):H.from,m={...H,from:p,isValid:R,to:c.toHandle&&R?rendererPointToPoint({x:c.toHandle.x,y:c.toHandle.y},o):F,toHandle:c.toHandle,toPosition:R&&c.toHandle?c.toHandle.position:Oe[B.position],toNode:c.toHandle?l.get(c.toHandle.nodeId):null,pointer:F};b(m),H=m}function onPointerUp(e){if(!(`touches`in e&&e.touches.length>0)){if(N){(O||z)&&L&&R&&g?.(L);let{inProgress:t,...n}=H,r={...n,toPosition:H.toHandle?H.toPosition:null};_?.(e,r),o&&y?.(e,r)}m(),cancelAnimationFrame(D),I=!1,R=!1,L=null,z=null,E.removeEventListener(`mousemove`,onPointerMove),E.removeEventListener(`mouseup`,onPointerUp),E.removeEventListener(`touchmove`,onPointerMove),E.removeEventListener(`touchend`,onPointerUp)}}E.addEventListener(`mousemove`,onPointerMove),E.addEventListener(`mouseup`,onPointerUp),E.addEventListener(`touchmove`,onPointerMove),E.addEventListener(`touchend`,onPointerUp)}function isValidHandle(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:a,fromType:o,doc:s,lib:c,flowId:l,isValidConnection:u=alwaysValid,nodeLookup:d}){let f=o===`target`,p=t?s.querySelector(`.${c}-flow__handle[data-id="${l}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:m,y:h}=getEventPosition(e),g=s.elementFromPoint(m,h),_=g?.classList.contains(`${c}-flow__handle`)?g:p,v={handleDomNode:_,isValid:!1,connection:null,toHandle:null};if(_){let e=getHandleType(void 0,_),t=_.getAttribute(`data-nodeid`),o=_.getAttribute(`data-handleid`),s=_.classList.contains(`connectable`),c=_.classList.contains(`connectableend`);if(!t||!e)return v;let l={source:f?t:r,sourceHandle:f?o:a,target:f?r:t,targetHandle:f?a:o};v.connection=l,v.isValid=s&&c&&(n===Se.Strict?f&&e===`source`||!f&&e===`target`:t!==r||o!==a)&&u(l),v.toHandle=getHandle(t,e,o,d,n,!0)}return v}const Pe={onPointerDown,isValid:isValidHandle};function XYMinimap({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let a=select_default$1(e);function update({translateExtent:e,width:o,height:s,zoomStep:c=1,pannable:l=!0,zoomable:u=!0,inversePan:d=!1}){let zoomHandler=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),a=e.sourceEvent.ctrlKey&&isMacOs()?10:1,o=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*c,s=r[2]*2**(o*a);t.scaleTo(s)},f=[0,0],panStartHandler=e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])},panHandler=a=>{let c=n();if(a.sourceEvent.type!==`mousemove`&&a.sourceEvent.type!==`touchmove`||!t)return;let l=[a.sourceEvent.clientX??a.sourceEvent.touches[0].clientX,a.sourceEvent.clientY??a.sourceEvent.touches[0].clientY],u=[l[0]-f[0],l[1]-f[1]];f=l;let p=r()*Math.max(c[2],Math.log(c[2]))*(d?-1:1),m={x:c[0]-u[0]*p,y:c[1]-u[1]*p},h=[[0,0],[o,s]];t.setViewportConstrained({x:m.x,y:m.y,zoom:c[2]},h,e)},p=zoom_default().on(`start`,panStartHandler).on(`zoom`,l?panHandler:null).on(`zoom.wheel`,u?zoomHandler:null);a.call(p,{})}function destroy(){a.on(`zoom`,null)}return{update,destroy,pointer:pointer_default}}const transformToViewport=e=>({x:e.x,y:e.y,zoom:e.k}),viewportToTransform=({x:e,y:t,zoom:n})=>ve.translate(e,t).scale(n),isWrappedWithClass=(e,t)=>e.target.closest(`.${t}`),isRightClickPan=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),defaultEase=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,getD3Transition=(e,t=0,n=defaultEase,r=()=>{})=>{let a=typeof t==`number`&&t>0;return a||r(),a?e.transition().duration(t).ease(n).on(`end`,r):e},wheelDelta=e=>{let t=e.ctrlKey&&isMacOs()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function createPanOnScrollHandler({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:a,panOnScrollSpeed:o,zoomOnPinch:s,onPanZoomStart:c,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(isWrappedWithClass(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let f=n.property(`__zoom`).k||1;if(d.ctrlKey&&s){let e=pointer_default(d),t=f*2**wheelDelta(d);r.scaleTo(n,t,e,d);return}let p=d.deltaMode===1?20:1,m=a===Ce.Vertical?0:d.deltaX*p,h=a===Ce.Horizontal?0:d.deltaY*p;!isMacOs()&&d.shiftKey&&a!==Ce.Vertical&&(m=d.deltaY*p,h=0),r.translateBy(n,-(m/f)*o,-(h/f)*o,{internal:!0});let g=transformToViewport(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l?.(d,g),e.panScrollTimeout=setTimeout(()=>{u?.(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,c?.(d,g))}}function createZoomOnScrollHandler({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,a){let o=r.type===`wheel`,s=!t&&o&&!r.ctrlKey,c=isWrappedWithClass(r,e);if(r.ctrlKey&&o&&c&&r.preventDefault(),s||c)return null;r.preventDefault(),n.call(this,r,a)}}function createPanZoomStartHandler({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let a=transformToViewport(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=a,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,a)}}function createPanZoomHandler({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:a}){return o=>{e.usedRightMouseButton=!!(n&&isRightClickPan(t,e.mouseButton??0)),o.sourceEvent?.sync||r([o.transform.x,o.transform.y,o.transform.k]),a&&!o.sourceEvent?.internal&&a?.(o.sourceEvent,transformToViewport(o.transform))}}function createPanZoomEndHandler({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:a,onPaneContextMenu:o}){return s=>{if(!s.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,o&&isRightClickPan(t,e.mouseButton??0)&&!e.usedRightMouseButton&&s.sourceEvent&&o(s.sourceEvent),e.usedRightMouseButton=!1,r(!1),a)){let t=transformToViewport(s.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{a?.(s.sourceEvent,t)},n?150:0)}}}function createFilter({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=e||t,m=n&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(isWrappedWithClass(f,`${u}-flow__node`)||isWrappedWithClass(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!a&&!o&&!n||s||d&&!h||isWrappedWithClass(f,c)&&h||isWrappedWithClass(f,l)&&(!h||a&&h&&!e)||!n&&f.ctrlKey&&h)return!1;if(!n&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!r&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(r)&&!r.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h)&&g}}function XYPanZoom({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:a,onPanZoom:o,onPanZoomStart:s,onPanZoomEnd:c,onDraggingChange:l}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{x:0,y:0,zoom:0},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=zoom_default().scaleExtent([t,n]).translateExtent(r),p=select_default$1(e).call(f);setViewportConstrained({x:a.x,y:a.y,zoom:clamp(a.zoom,t,n)},[[0,0],[d.width,d.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(wheelDelta);function setTransform(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?value_default:q).transform(getD3Transition(p,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)}function update({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:a,panOnDrag:d,panOnScrollMode:g,panOnScrollSpeed:_,preventScrolling:v,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,zoomActivationKeyPressed:S,lib:C,onTransformChange:w,connectionInProgress:T,paneClickDistance:E,selectionOnDrag:D}){r&&!u.isZoomingOrPanning&&destroy();let O=a&&!S&&!r;f.clickDistance(D?1/0:!isNumeric(E)||E<0?0:E);let k=O?createPanOnScrollHandler({zoomPanValues:u,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:g,panOnScrollSpeed:_,zoomOnPinch:y,onPanZoomStart:s,onPanZoom:o,onPanZoomEnd:c}):createZoomOnScrollHandler({noWheelClassName:e,preventScrolling:v,d3ZoomHandler:m});if(p.on(`wheel.zoom`,k,{passive:!1}),!r){let e=createPanZoomStartHandler({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:s});f.on(`start`,e);let t=createPanZoomHandler({zoomPanValues:u,panOnDrag:d,onPaneContextMenu:!!n,onPanZoom:o,onTransformChange:w});f.on(`zoom`,t);let r=createPanZoomEndHandler({zoomPanValues:u,panOnDrag:d,panOnScroll:a,onPaneContextMenu:n,onPanZoomEnd:c,onDraggingChange:l});f.on(`end`,r)}let A=createFilter({zoomActivationKeyPressed:S,panOnDrag:d,zoomOnScroll:b,panOnScroll:a,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:C,connectionInProgress:T});f.filter(A),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function destroy(){f.on(`zoom`,null)}async function setViewportConstrained(e,t,n){let r=viewportToTransform(e),a=f?.constrain()(r,t,n);return a&&await setTransform(a),new Promise(e=>e(a))}async function setViewport(e,t){let n=viewportToTransform(e);return await setTransform(n,t),new Promise(e=>e(n))}function syncViewport(e){if(p){let t=viewportToTransform(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function getViewport(){let e=p?transform(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}function scaleTo(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?value_default:q).scaleTo(getD3Transition(p,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)}function scaleBy(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?value_default:q).scaleBy(getD3Transition(p,t?.duration,t?.ease,()=>n(!0)),e)}):Promise.resolve(!1)}function setScaleExtent(e){f?.scaleExtent(e)}function setTranslateExtent(e){f?.translateExtent(e)}function setClickDistance(e){let t=!isNumeric(e)||e<0?0:e;f?.clickDistance(t)}return{update,destroy,setViewport,setViewportConstrained,getViewport,scaleTo,scaleBy,setScaleExtent,setTranslateExtent,syncViewport,setClickDistance}}var Fe;(function(e){e.Line=`line`,e.Handle=`handle`})(Fe||={});function getResizeDirection({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:a,affectsY:o}){let s=e-t,c=n-r,l=[s>0?1:s<0?-1:0,c>0?1:c<0?-1:0];return s&&a&&(l[0]*=-1),c&&o&&(l[1]*=-1),l}function getControlDirection(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function getLowerExtentClamp(e,t){return Math.max(0,t-e)}function getUpperExtentClamp(e,t){return Math.max(0,e-t)}function getSizeClamp(e,t,n){return Math.max(0,t-e,e-n)}function xor(e,t){return e?!t:t}function getDimensionsAfterResize(e,t,n,r,a,o,s,c){let{affectsX:l,affectsY:u}=t,{isHorizontal:d,isVertical:f}=t,p=d&&f,{xSnapped:m,ySnapped:h}=n,{minWidth:g,maxWidth:_,minHeight:v,maxHeight:y}=r,{x:b,y:x,width:S,height:C,aspectRatio:w}=e,T=Math.floor(d?m-e.pointerX:0),E=Math.floor(f?h-e.pointerY:0),D=S+(l?-T:T),O=C+(u?-E:E),k=-o[0]*S,A=-o[1]*C,j=getSizeClamp(D,g,_),M=getSizeClamp(O,v,y);if(s){let e=0,t=0;l&&T<0?e=getLowerExtentClamp(b+T+k,s[0][0]):!l&&T>0&&(e=getUpperExtentClamp(b+D+k,s[1][0])),u&&E<0?t=getLowerExtentClamp(x+E+A,s[0][1]):!u&&E>0&&(t=getUpperExtentClamp(x+O+A,s[1][1])),j=Math.max(j,e),M=Math.max(M,t)}if(c){let e=0,t=0;l&&T>0?e=getUpperExtentClamp(b+T,c[0][0]):!l&&T<0&&(e=getLowerExtentClamp(b+D,c[1][0])),u&&E>0?t=getUpperExtentClamp(x+E,c[0][1]):!u&&E<0&&(t=getLowerExtentClamp(x+O,c[1][1])),j=Math.max(j,e),M=Math.max(M,t)}if(a){if(d){let e=getSizeClamp(D/w,v,y)*w;if(j=Math.max(j,e),s){let e=0;e=!l&&!u||l&&!u&&p?getUpperExtentClamp(x+A+D/w,s[1][1])*w:getLowerExtentClamp(x+A+(l?T:-T)/w,s[0][1])*w,j=Math.max(j,e)}if(c){let e=0;e=!l&&!u||l&&!u&&p?getLowerExtentClamp(x+D/w,c[1][1])*w:getUpperExtentClamp(x+(l?T:-T)/w,c[0][1])*w,j=Math.max(j,e)}}if(f){let e=getSizeClamp(O*w,g,_)/w;if(M=Math.max(M,e),s){let e=0;e=!l&&!u||u&&!l&&p?getUpperExtentClamp(b+O*w+k,s[1][0])/w:getLowerExtentClamp(b+(u?E:-E)*w+k,s[0][0])/w,M=Math.max(M,e)}if(c){let e=0;e=!l&&!u||u&&!l&&p?getLowerExtentClamp(b+O*w,c[1][0])/w:getUpperExtentClamp(b+(u?E:-E)*w,c[0][0])/w,M=Math.max(M,e)}}}E+=E<0?M:-M,T+=T<0?j:-j,a&&(p?D>O*w?E=(xor(l,u)?-T:T)/w:T=(xor(l,u)?-E:E)*w:d?(E=T/w,u=l):(T=E*w,l=u));let N=l?b+T:b,P=u?x+E:x;return{width:S+(l?-T:T),height:C+(u?-E:E),x:o[0]*T*(l?-1:1)+N,y:o[1]*E*(u?-1:1)+P}}const Ie={width:0,height:0,x:0,y:0},Le={...Ie,pointerX:0,pointerY:0,aspectRatio:1};function nodeToParentExtent(e){return[[0,0],[e.measured.width,e.measured.height]]}function nodeToChildExtent(e,t,n){let r=t.position.x+e.position.x,a=t.position.y+e.position.y,o=e.measured.width??0,s=e.measured.height??0,c=n[0]*o,l=n[1]*s;return[[r-c,a-l],[r+o-c,a+s-l]]}function XYResizer({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:a}){let o=select_default$1(e),s={controlDirection:getControlDirection(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function update({controlPosition:e,boundaries:c,keepAspectRatio:l,resizeDirection:u,onResizeStart:d,onResize:f,onResizeEnd:p,shouldResize:m}){let h={...Ie},g={...Le};s={boundaries:c,resizeDirection:u,keepAspectRatio:l,controlDirection:getControlDirection(e)};let _,v=null,y=[],b,x,S,C=!1,w=drag_default().on(`start`,e=>{let{nodeLookup:r,transform:a,snapGrid:o,snapToGrid:s,nodeOrigin:c,paneDomNode:l}=n();if(_=r.get(t),!_)return;v=l?.getBoundingClientRect()??null;let{xSnapped:u,ySnapped:f}=getPointerPosition(e.sourceEvent,{transform:a,snapGrid:o,snapToGrid:s,containerBounds:v});h={width:_.measured.width??0,height:_.measured.height??0,x:_.position.x??0,y:_.position.y??0},g={...h,pointerX:u,pointerY:f,aspectRatio:h.width/h.height},b=void 0,_.parentId&&(_.extent===`parent`||_.expandParent)&&(b=r.get(_.parentId),x=b&&_.extent===`parent`?nodeToParentExtent(b):void 0),y=[],S=void 0;for(let[e,n]of r)if(n.parentId===t&&(y.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=nodeToChildExtent(n,_,n.origin??c);S=S?[[Math.min(e[0][0],S[0][0]),Math.min(e[0][1],S[0][1])],[Math.max(e[1][0],S[1][0]),Math.max(e[1][1],S[1][1])]]:e}d?.(e,{...h})}).on(`drag`,e=>{let{transform:t,snapGrid:a,snapToGrid:o,nodeOrigin:c}=n(),l=getPointerPosition(e.sourceEvent,{transform:t,snapGrid:a,snapToGrid:o,containerBounds:v}),u=[];if(!_)return;let{x:d,y:p,width:w,height:T}=h,E={},D=_.origin??c,{width:O,height:k,x:A,y:j}=getDimensionsAfterResize(g,s.controlDirection,l,s.boundaries,s.keepAspectRatio,D,x,S),M=O!==w,N=k!==T,P=A!==d&&M,F=j!==p&&N;if(!P&&!F&&!M&&!N)return;if((P||F||D[0]===1||D[1]===1)&&(E.x=P?A:h.x,E.y=F?j:h.y,h.x=E.x,h.y=E.y,y.length>0)){let e=A-d,t=j-p;for(let n of y)n.position={x:n.position.x-e+D[0]*(O-w),y:n.position.y-t+D[1]*(k-T)},u.push(n)}if((M||N)&&(E.width=M&&(!s.resizeDirection||s.resizeDirection===`horizontal`)?O:h.width,E.height=N&&(!s.resizeDirection||s.resizeDirection===`vertical`)?k:h.height,h.width=E.width,h.height=E.height),b&&_.expandParent){let e=D[0]*(E.width??0);E.x&&E.x<e&&(h.x=e,g.x-=E.x-e);let t=D[1]*(E.height??0);E.y&&E.y<t&&(h.y=t,g.y-=E.y-t)}let I=getResizeDirection({width:h.width,prevWidth:w,height:h.height,prevHeight:T,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),L={...h,direction:I};m?.(e,L)!==!1&&(C=!0,f?.(e,L),r(E,u))}).on(`end`,e=>{C&&=(p?.(e,{...h}),a?.({...h}),!1)});o.call(w)}function destroy(){o.on(`.drag`,null)}return{update,destroy}}var Re=t(n(),1);const createStoreImpl=e=>{let t,n=new Set,setState=(e,r)=>{let a=typeof e==`function`?e(t):e;if(!Object.is(a,t)){let e=t;t=r??(typeof a!=`object`||!a)?a:Object.assign({},t,a),n.forEach(n=>n(t,e))}},getState=()=>t,getInitialState=()=>a,subscribe=e=>(n.add(e),()=>n.delete(e)),destroy=()=>{(import.meta.env?import.meta.env.MODE:void 0)!==`production`&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()},r={setState,getState,getInitialState,subscribe,destroy},a=t=e(setState,getState,r);return r},ze=e(e=>e?createStoreImpl(e):createStoreImpl,`createStore`),{useDebugValue:Be}=r,{useSyncExternalStoreWithSelector:Ve}=Re.default,identity=e=>e;function useStoreWithEqualityFn(e,t=identity,n){let r=Ve(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Be(r),r}const createWithEqualityFnImpl=(e,t)=>{let n=ze(e),useBoundStoreWithEqualityFn=(e,r=t)=>useStoreWithEqualityFn(n,e,r);return Object.assign(useBoundStoreWithEqualityFn,n),useBoundStoreWithEqualityFn},createWithEqualityFn=(e,t)=>e?createWithEqualityFnImpl(e,t):createWithEqualityFnImpl;function shallow$1(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const He=a(null),Ue=He.Provider,We=Z.error001();function useStore(e,t){let n=l(He);if(n===null)throw Error(We);return useStoreWithEqualityFn(n,e,t)}function useStoreApi(){let e=l(He);if(e===null)throw Error(We);return f(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Ge={display:`none`},Ke={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},qe=`react-flow__node-desc`,Je=`react-flow__edge-desc`,ariaLiveSelector=e=>e.ariaLiveMessage,ariaLabelConfigSelector=e=>e.ariaLabelConfig;function AriaLiveMessage({rfId:e}){let t=useStore(ariaLiveSelector);return g(`div`,{id:`react-flow__aria-live-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:Ke,children:t})}function A11yDescriptions({rfId:e,disableKeyboardA11y:t}){let n=useStore(ariaLabelConfigSelector);return _(h,{children:[g(`div`,{id:`${qe}-${e}`,style:Ge,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),g(`div`,{id:`${Je}-${e}`,style:Ge,children:n[`edge.a11yDescription.default`]}),!t&&g(AriaLiveMessage,{rfId:e})]})}const Ye=o(({position:e=`top-left`,children:t,className:n,style:r,...a},o)=>g(`div`,{className:cc([`react-flow__panel`,n,...`${e}`.split(`-`)]),style:r,ref:o,...a,children:t}));Ye.displayName=`Panel`;function Attribution({proOptions:e,position:t=`bottom-right`}){return e?.hideAttribution?null:g(Ye,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev`,children:g(`a`,{href:`https://reactflow.dev`,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}const selector$m=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},selectId=e=>e.id;function areEqual(e,t){return shallow$1(e.selectedNodes.map(selectId),t.selectedNodes.map(selectId))&&shallow$1(e.selectedEdges.map(selectId),t.selectedEdges.map(selectId))}function SelectionListenerInner({onSelectionChange:e}){let t=useStoreApi(),{selectedNodes:n,selectedEdges:r}=useStore(selector$m,areEqual);return u(()=>{let a={nodes:n,edges:r};e?.(a),t.getState().onSelectionChangeHandlers.forEach(e=>e(a))},[n,r,e]),null}const changeSelector=e=>!!e.onSelectionChangeHandlers;function SelectionListener({onSelectionChange:e}){let t=useStore(changeSelector);return e||t?g(SelectionListenerInner,{onSelectionChange:e}):null}const Xe=typeof window<`u`?d:u,Ze=[0,0],Qe={x:0,y:0,zoom:1},$e=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],selector$l=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),et={translateExtent:ye,nodeOrigin:Ze,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function StoreUpdater(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:a,setTranslateExtent:o,setNodeExtent:s,reset:c,setDefaultNodesAndEdges:l}=useStore(selector$l,shallow$1),u=useStoreApi();Xe(()=>(l(e.defaultNodes,e.defaultEdges),()=>{d.current=et,c()}),[]);let d=p(et);return Xe(()=>{for(let c of $e){let l=e[c];l!==d.current[c]&&e[c]!==void 0&&(c===`nodes`?t(l):c===`edges`?n(l):c===`minZoom`?r(l):c===`maxZoom`?a(l):c===`translateExtent`?o(l):c===`nodeExtent`?s(l):c===`ariaLabelConfig`?u.setState({ariaLabelConfig:mergeAriaLabelConfig(l)}):c===`fitView`?u.setState({fitViewQueued:l}):c===`fitViewOptions`?u.setState({fitViewOptions:l}):u.setState({[c]:l}))}d.current=e},$e.map(t=>e[t])),null}function getMediaQuery(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function useColorModeClass(e){let[t,n]=m(e===`system`?null:e);return u(()=>{if(e!==`system`){n(e);return}let t=getMediaQuery(),updateColorModeClass=()=>n(t?.matches?`dark`:`light`);return updateColorModeClass(),t?.addEventListener(`change`,updateColorModeClass),()=>{t?.removeEventListener(`change`,updateColorModeClass)}},[e]),t===null?getMediaQuery()?.matches?`dark`:`light`:t}const tt=typeof document<`u`?document:null;function useKeyPress(e=null,t={target:tt,actInsideInputWithModifier:!0}){let[n,r]=m(!1),a=p(!1),o=p(new Set([])),[s,c]=f(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(`+`,`
|
|
2
|
-
`).replace(`
|
|
3
|
-
|
|
4
|
-
`,`
|
|
5
|
-
+`).split(`
|
|
6
|
-
`));return[t,t.reduce((e,t)=>e.concat(...t),[])]}return[[],[]]},[e]);return u(()=>{let n=t?.target??tt,l=t?.actInsideInputWithModifier??!0;if(e!==null){let downHandler=e=>{if(a.current=e.ctrlKey||e.metaKey||e.shiftKey||e.altKey,(!a.current||a.current&&!l)&&isInputDOMNode(e))return!1;let n=useKeyOrCode(e.code,c);if(o.current.add(e[n]),isMatchingKey(s,o.current,!1)){let n=e.composedPath?.()?.[0]||e.target,o=n?.nodeName===`BUTTON`||n?.nodeName===`A`;t.preventDefault!==!1&&(a.current||!o)&&e.preventDefault(),r(!0)}},upHandler=e=>{let t=useKeyOrCode(e.code,c);isMatchingKey(s,o.current,!0)?(r(!1),o.current.clear()):o.current.delete(e[t]),e.key===`Meta`&&o.current.clear(),a.current=!1},resetHandler=()=>{o.current.clear(),r(!1)};return n?.addEventListener(`keydown`,downHandler),n?.addEventListener(`keyup`,upHandler),window.addEventListener(`blur`,resetHandler),window.addEventListener(`contextmenu`,resetHandler),()=>{n?.removeEventListener(`keydown`,downHandler),n?.removeEventListener(`keyup`,upHandler),window.removeEventListener(`blur`,resetHandler),window.removeEventListener(`contextmenu`,resetHandler)}}},[e,r]),n}function isMatchingKey(e,t,n){return e.filter(e=>n||e.length===t.size).some(e=>e.every(e=>t.has(e)))}function useKeyOrCode(e,t){return t.includes(e)?`code`:`key`}const useViewportHelper=()=>{let e=useStoreApi();return f(()=>({zoomIn:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1.2,t):Promise.resolve(!1)},zoomOut:t=>{let{panZoom:n}=e.getState();return n?n.scaleBy(1/1.2,t):Promise.resolve(!1)},zoomTo:(t,n)=>{let{panZoom:r}=e.getState();return r?r.scaleTo(t,n):Promise.resolve(!1)},getZoom:()=>e.getState().transform[2],setViewport:async(t,n)=>{let{transform:[r,a,o],panZoom:s}=e.getState();return s?(await s.setViewport({x:t.x??r,y:t.y??a,zoom:t.zoom??o},n),Promise.resolve(!0)):Promise.resolve(!1)},getViewport:()=>{let[t,n,r]=e.getState().transform;return{x:t,y:n,zoom:r}},setCenter:async(t,n,r)=>e.getState().setCenter(t,n,r),fitBounds:async(t,n)=>{let{width:r,height:a,minZoom:o,maxZoom:s,panZoom:c}=e.getState(),l=getViewportForBounds(t,r,a,o,s,n?.padding??.1);return c?(await c.setViewport(l,{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)):Promise.resolve(!1)},screenToFlowPosition:(t,n={})=>{let{transform:r,snapGrid:a,snapToGrid:o,domNode:s}=e.getState();if(!s)return t;let{x:c,y:l}=s.getBoundingClientRect(),u={x:t.x-c,y:t.y-l},d=n.snapGrid??a;return pointToRendererPoint(u,r,n.snapToGrid??o,d)},flowToScreenPosition:t=>{let{transform:n,domNode:r}=e.getState();if(!r)return t;let{x:a,y:o}=r.getBoundingClientRect(),s=rendererPointToPoint(t,n);return{x:s.x+a,y:s.y+o}}}),[])};function applyChanges(e,t){let n=[],r=new Map,a=[];for(let t of e)if(t.type===`add`){a.push(t);continue}else if(t.type===`remove`||t.type===`replace`)r.set(t.id,[t]);else{let e=r.get(t.id);e?e.push(t):r.set(t.id,[t])}for(let e of t){let t=r.get(e.id);if(!t){n.push(e);continue}if(t[0].type===`remove`)continue;if(t[0].type===`replace`){n.push({...t[0].item});continue}let a={...e};for(let e of t)applyChange(e,a);n.push(a)}return a.length&&a.forEach(e=>{e.index===void 0?n.push({...e.item}):n.splice(e.index,0,{...e.item})}),n}function applyChange(e,t){switch(e.type){case`select`:t.selected=e.selected;break;case`position`:e.position!==void 0&&(t.position=e.position),e.dragging!==void 0&&(t.dragging=e.dragging);break;case`dimensions`:e.dimensions!==void 0&&(t.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes===`width`)&&(t.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes===`height`)&&(t.height=e.dimensions.height))),typeof e.resizing==`boolean`&&(t.resizing=e.resizing);break}}function applyNodeChanges(e,t){return applyChanges(e,t)}function applyEdgeChanges(e,t){return applyChanges(e,t)}function createSelectionChange(e,t){return{id:e,type:`select`,selected:t}}function getSelectionChanges(e,t=new Set,n=!1){let r=[];for(let[a,o]of e){let e=t.has(a);!(o.selected===void 0&&!e)&&o.selected!==e&&(n&&(o.selected=e),r.push(createSelectionChange(o.id,e)))}return r}function getElementsDiffChanges({items:e=[],lookup:t}){let n=[],r=new Map(e.map(e=>[e.id,e]));for(let[r,a]of e.entries()){let e=t.get(a.id),o=e?.internals?.userNode??e;o!==void 0&&o!==a&&n.push({id:a.id,item:a,type:`replace`}),o===void 0&&n.push({item:a,type:`add`,index:r})}for(let[e]of t)r.get(e)===void 0&&n.push({id:e,type:`remove`});return n}function elementToRemoveChange(e){return{id:e.id,type:`remove`}}const isNode=e=>isNodeBase(e),isEdge=e=>isEdgeBase(e);function fixedForwardRef(e){return o(e)}function useQueue(e){let[t,n]=m(BigInt(0)),[r]=m(()=>createQueue(()=>n(e=>e+BigInt(1))));return Xe(()=>{let t=r.get();t.length&&(e(t),r.reset())},[t]),r}function createQueue(e){let t=[];return{get:()=>t,reset:()=>{t=[]},push:n=>{t.push(n),e()}}}const nt=a(null);function BatchProvider({children:e}){let t=useStoreApi(),n=useQueue(c(e=>{let{nodes:n=[],setNodes:r,hasDefaultNodes:a,onNodesChange:o,nodeLookup:s,fitViewQueued:c,onNodesChangeMiddlewareMap:l}=t.getState(),u=n;for(let t of e)u=typeof t==`function`?t(u):t;let d=getElementsDiffChanges({items:u,lookup:s});for(let e of l.values())d=e(d);a&&r(u),d.length>0?o?.(d):c&&window.requestAnimationFrame(()=>{let{fitViewQueued:e,nodes:n,setNodes:r}=t.getState();e&&r(n)})},[])),r=useQueue(c(e=>{let{edges:n=[],setEdges:r,hasDefaultEdges:a,onEdgesChange:o,edgeLookup:s}=t.getState(),c=n;for(let t of e)c=typeof t==`function`?t(c):t;a?r(c):o&&o(getElementsDiffChanges({items:c,lookup:s}))},[])),a=f(()=>({nodeQueue:n,edgeQueue:r}),[]);return g(nt.Provider,{value:a,children:e})}function useBatchContext(){let e=l(nt);if(!e)throw Error(`useBatchContext must be used within a BatchProvider`);return e}const selector$k=e=>!!e.panZoom;function useReactFlow(){let e=useViewportHelper(),t=useStoreApi(),n=useBatchContext(),r=useStore(selector$k),a=f(()=>{let getInternalNode=e=>t.getState().nodeLookup.get(e),setNodes=e=>{n.nodeQueue.push(e)},setEdges=e=>{n.edgeQueue.push(e)},getNodeRect=e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState(),a=isNode(e)?e:n.get(e.id),o=a.parentId?evaluateAbsolutePosition(a.position,a.measured,a.parentId,n,r):a.position;return nodeToRect({...a,position:o,width:a.measured?.width??a.width,height:a.measured?.height??a.height})},updateNode=(e,t,n={replace:!1})=>{setNodes(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&isNode(e)?e:{...r,...e}}return r}))},updateEdge=(e,t,n={replace:!1})=>{setEdges(r=>r.map(r=>{if(r.id===e){let e=typeof t==`function`?t(r):t;return n.replace&&isEdge(e)?e:{...r,...e}}return r}))};return{getNodes:()=>t.getState().nodes.map(e=>({...e})),getNode:e=>getInternalNode(e)?.internals.userNode,getInternalNode,getEdges:()=>{let{edges:e=[]}=t.getState();return e.map(e=>({...e}))},getEdge:e=>t.getState().edgeLookup.get(e),setNodes,setEdges,addNodes:e=>{let t=Array.isArray(e)?e:[e];n.nodeQueue.push(e=>[...e,...t])},addEdges:e=>{let t=Array.isArray(e)?e:[e];n.edgeQueue.push(e=>[...e,...t])},toObject:()=>{let{nodes:e=[],edges:n=[],transform:r}=t.getState(),[a,o,s]=r;return{nodes:e.map(e=>({...e})),edges:n.map(e=>({...e})),viewport:{x:a,y:o,zoom:s}}},deleteElements:async({nodes:e=[],edges:n=[]})=>{let{nodes:r,edges:a,onNodesDelete:o,onEdgesDelete:s,triggerNodeChanges:c,triggerEdgeChanges:l,onDelete:u,onBeforeDelete:d}=t.getState(),{nodes:f,edges:p}=await getElementsToRemove({nodesToRemove:e,edgesToRemove:n,nodes:r,edges:a,onBeforeDelete:d}),m=p.length>0,h=f.length>0;if(m){let e=p.map(elementToRemoveChange);s?.(p),l(e)}if(h){let e=f.map(elementToRemoveChange);o?.(f),c(e)}return(h||m)&&u?.({nodes:f,edges:p}),{deletedNodes:f,deletedEdges:p}},getIntersectingNodes:(e,n=!0,r)=>{let a=isRectObject(e),o=a?e:getNodeRect(e),s=r!==void 0;return o?(r||t.getState().nodes).filter(r=>{let c=t.getState().nodeLookup.get(r.id);if(c&&!a&&(r.id===e.id||!c.internals.positionAbsolute))return!1;let l=nodeToRect(s?r:c),u=getOverlappingArea(l,o);return n&&u>0||u>=l.width*l.height||u>=o.width*o.height}):[]},isNodeIntersecting:(e,t,n=!0)=>{let r=isRectObject(e)?e:getNodeRect(e);if(!r)return!1;let a=getOverlappingArea(r,t);return n&&a>0||a>=t.width*t.height||a>=r.width*r.height},updateNode,updateNodeData:(e,t,n={replace:!1})=>{updateNode(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},updateEdge,updateEdgeData:(e,t,n={replace:!1})=>{updateEdge(e,e=>{let r=typeof t==`function`?t(e):t;return n.replace?{...e,data:r}:{...e,data:{...e.data,...r}}},n)},getNodesBounds:e=>{let{nodeLookup:n,nodeOrigin:r}=t.getState();return getNodesBounds(e,{nodeLookup:n,nodeOrigin:r})},getHandleConnections:({type:e,id:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}-${e}${n?`-${n}`:``}`)?.values()??[]),getNodeConnections:({type:e,handleId:n,nodeId:r})=>Array.from(t.getState().connectionLookup.get(`${r}${e?n?`-${e}-${n}`:`-${e}`:``}`)?.values()??[]),fitView:async e=>{let r=t.getState().fitViewResolver??withResolvers();return t.setState({fitViewQueued:!0,fitViewOptions:e,fitViewResolver:r}),n.nodeQueue.push(e=>[...e]),r.promise}}},[]);return f(()=>({...a,...e,viewportInitialized:r}),[r])}const selected=e=>e.selected,rt=typeof window<`u`?window:void 0;function useGlobalKeyHandler({deleteKeyCode:e,multiSelectionKeyCode:t}){let n=useStoreApi(),{deleteElements:r}=useReactFlow(),a=useKeyPress(e,{actInsideInputWithModifier:!1}),o=useKeyPress(t,{target:rt});u(()=>{if(a){let{edges:e,nodes:t}=n.getState();r({nodes:t.filter(selected),edges:e.filter(selected)}),n.setState({nodesSelectionActive:!1})}},[a]),u(()=>{n.setState({multiSelectionActive:o})},[o])}function useResizeHandler(e){let t=useStoreApi();u(()=>{let updateDimensions=()=>{if(!e.current||!(e.current.checkVisibility?.()??!0))return!1;let n=getDimensions(e.current);(n.height===0||n.width===0)&&t.getState().onError?.(`004`,Z.error004()),t.setState({width:n.width||500,height:n.height||500})};if(e.current){updateDimensions(),window.addEventListener(`resize`,updateDimensions);let t=new ResizeObserver(()=>updateDimensions());return t.observe(e.current),()=>{window.removeEventListener(`resize`,updateDimensions),t&&e.current&&t.unobserve(e.current)}}},[])}const it={position:`absolute`,width:`100%`,height:`100%`,top:0,left:0},selector$j=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function ZoomPane({onPaneContextMenu:e,zoomOnScroll:t=!0,zoomOnPinch:n=!0,panOnScroll:r=!1,panOnScrollSpeed:a=.5,panOnScrollMode:o=Ce.Free,zoomOnDoubleClick:s=!0,panOnDrag:l=!0,defaultViewport:d,translateExtent:f,minZoom:m,maxZoom:h,zoomActivationKeyCode:_,preventScrolling:v=!0,children:y,noWheelClassName:b,noPanClassName:x,onViewportChange:S,isControlledViewport:C,paneClickDistance:w,selectionOnDrag:T}){let E=useStoreApi(),D=p(null),{userSelectionActive:O,lib:k,connectionInProgress:A}=useStore(selector$j,shallow$1),j=useKeyPress(_),M=p();useResizeHandler(D);let N=c(e=>{S?.({x:e[0],y:e[1],zoom:e[2]}),C||E.setState({transform:e})},[S,C]);return u(()=>{if(D.current){M.current=XYPanZoom({domNode:D.current,minZoom:m,maxZoom:h,translateExtent:f,viewport:d,onDraggingChange:e=>E.setState(t=>t.paneDragging===e?t:{paneDragging:e}),onPanZoomStart:(e,t)=>{let{onViewportChangeStart:n,onMoveStart:r}=E.getState();r?.(e,t),n?.(t)},onPanZoom:(e,t)=>{let{onViewportChange:n,onMove:r}=E.getState();r?.(e,t),n?.(t)},onPanZoomEnd:(e,t)=>{let{onViewportChangeEnd:n,onMoveEnd:r}=E.getState();r?.(e,t),n?.(t)}});let{x:e,y:t,zoom:n}=M.current.getViewport();return E.setState({panZoom:M.current,transform:[e,t,n],domNode:D.current.closest(`.react-flow`)}),()=>{M.current?.destroy()}}},[]),u(()=>{M.current?.update({onPaneContextMenu:e,zoomOnScroll:t,zoomOnPinch:n,panOnScroll:r,panOnScrollSpeed:a,panOnScrollMode:o,zoomOnDoubleClick:s,panOnDrag:l,zoomActivationKeyPressed:j,preventScrolling:v,noPanClassName:x,userSelectionActive:O,noWheelClassName:b,lib:k,onTransformChange:N,connectionInProgress:A,selectionOnDrag:T,paneClickDistance:w})},[e,t,n,r,a,o,s,l,j,v,x,O,b,k,N,A,T,w]),g(`div`,{className:`react-flow__renderer`,ref:D,style:it,children:y})}const selector$i=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function UserSelection(){let{userSelectionActive:e,userSelectionRect:t}=useStore(selector$i,shallow$1);return e&&t?g(`div`,{className:`react-flow__selection react-flow__container`,style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}const wrapHandler=(e,t)=>n=>{n.target===t.current&&e?.(n)},selector$h=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,connectionInProgress:e.connection.inProgress,dragging:e.paneDragging});function Pane({isSelecting:e,selectionKeyPressed:t,selectionMode:n=we.Full,panOnDrag:r,paneClickDistance:a,selectionOnDrag:o,onSelectionStart:s,onSelectionEnd:c,onPaneClick:l,onPaneContextMenu:u,onPaneScroll:d,onPaneMouseEnter:f,onPaneMouseMove:m,onPaneMouseLeave:h,children:v}){let y=useStoreApi(),{userSelectionActive:b,elementsSelectable:x,dragging:S,connectionInProgress:C}=useStore(selector$h,shallow$1),w=x&&(e||b),T=p(null),E=p(),D=p(new Set),O=p(new Set),k=p(!1),onClick=e=>{if(k.current||C){k.current=!1;return}l?.(e),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},onContextMenu=e=>{if(Array.isArray(r)&&r?.includes(2)){e.preventDefault();return}u?.(e)},A=d?e=>d(e):void 0,onClickCapture=e=>{k.current&&=(e.stopPropagation(),!1)},onPointerDownCapture=n=>{let{domNode:r}=y.getState();if(E.current=r?.getBoundingClientRect(),!E.current)return;let a=n.target===T.current;if(!a&&n.target.closest(`.nokey`)||!e||!(o&&a||t)||n.button!==0||!n.isPrimary)return;n.target?.setPointerCapture?.(n.pointerId),k.current=!1;let{x:s,y:c}=getEventPosition(n.nativeEvent,E.current);y.setState({userSelectionRect:{width:0,height:0,startX:s,startY:c,x:s,y:c}}),a||(n.stopPropagation(),n.preventDefault())},onPointerMove=e=>{let{userSelectionRect:r,transform:o,nodeLookup:c,edgeLookup:l,connectionLookup:u,triggerNodeChanges:d,triggerEdgeChanges:f,defaultEdgeOptions:p,resetSelectedElements:m}=y.getState();if(!E.current||!r)return;let{x:h,y:g}=getEventPosition(e.nativeEvent,E.current),{startX:_,startY:v}=r;if(!k.current){let n=t?0:a;if(Math.hypot(h-_,g-v)<=n)return;m(),s?.(e)}k.current=!0;let b={startX:_,startY:v,x:h<_?h:_,y:g<v?g:v,width:Math.abs(h-_),height:Math.abs(g-v)},x=D.current,S=O.current;D.current=new Set(getNodesInside(c,b,o,n===we.Partial,!0).map(e=>e.id)),O.current=new Set;let C=p?.selectable??!0;for(let e of D.current){let t=u.get(e);if(t)for(let{edgeId:e}of t.values()){let t=l.get(e);t&&(t.selectable??C)&&O.current.add(e)}}areSetsEqual(x,D.current)||d(getSelectionChanges(c,D.current,!0)),areSetsEqual(S,O.current)||f(getSelectionChanges(l,O.current)),y.setState({userSelectionRect:b,userSelectionActive:!0,nodesSelectionActive:!1})},onPointerUp=e=>{e.button===0&&(e.target?.releasePointerCapture?.(e.pointerId),!b&&e.target===T.current&&y.getState().userSelectionRect&&onClick?.(e),y.setState({userSelectionActive:!1,userSelectionRect:null}),k.current&&(c?.(e),y.setState({nodesSelectionActive:D.current.size>0})))};return _(`div`,{className:cc([`react-flow__pane`,{draggable:r===!0||Array.isArray(r)&&r.includes(0),dragging:S,selection:e}]),onClick:w?void 0:wrapHandler(onClick,T),onContextMenu:wrapHandler(onContextMenu,T),onWheel:wrapHandler(A,T),onPointerEnter:w?void 0:f,onPointerMove:w?onPointerMove:m,onPointerUp:w?onPointerUp:void 0,onPointerDownCapture:w?onPointerDownCapture:void 0,onClickCapture:w?onClickCapture:void 0,onPointerLeave:h,ref:T,style:it,children:[v,g(UserSelection,{})]})}function handleNodeClick({id:e,store:t,unselect:n=!1,nodeRef:r}){let{addSelectedNodes:a,unselectNodesAndEdges:o,multiSelectionActive:s,nodeLookup:c,onError:l}=t.getState(),u=c.get(e);if(!u){l?.(`012`,Z.error012(e));return}t.setState({nodesSelectionActive:!1}),u.selected?(n||u.selected&&s)&&(o({nodes:[u],edges:[]}),requestAnimationFrame(()=>r?.current?.blur())):a([e])}function useDrag({nodeRef:e,disabled:t=!1,noDragClassName:n,handleSelector:r,nodeId:a,isSelectable:o,nodeClickDistance:s}){let c=useStoreApi(),[l,d]=m(!1),f=p();return u(()=>{f.current=XYDrag({getStoreItems:()=>c.getState(),onNodeMouseDown:t=>{handleNodeClick({id:t,store:c,nodeRef:e})},onDragStart:()=>{d(!0)},onDragStop:()=>{d(!1)}})},[]),u(()=>{if(!(t||!e.current||!f.current))return f.current.update({noDragClassName:n,handleSelector:r,domNode:e.current,isSelectable:o,nodeId:a,nodeClickDistance:s}),()=>{f.current?.destroy()}},[n,r,t,o,e,a,s]),l}const selectedAndDraggable=e=>t=>t.selected&&(t.draggable||e&&t.draggable===void 0);function useMoveSelectedNodes(){let e=useStoreApi();return c(t=>{let{nodeExtent:n,snapToGrid:r,snapGrid:a,nodesDraggable:o,onError:s,updateNodePositions:c,nodeLookup:l,nodeOrigin:u}=e.getState(),d=new Map,f=selectedAndDraggable(o),p=r?a[0]:5,m=r?a[1]:5,h=t.direction.x*p*t.factor,g=t.direction.y*m*t.factor;for(let[,e]of l){if(!f(e))continue;let t={x:e.internals.positionAbsolute.x+h,y:e.internals.positionAbsolute.y+g};r&&(t=snapPosition(t,a));let{position:o,positionAbsolute:c}=calculateNodePosition({nodeId:e.id,nextPosition:t,nodeLookup:l,nodeExtent:n,nodeOrigin:u,onError:s});e.position=o,e.internals.positionAbsolute=c,d.set(e.id,e)}c(d)},[])}const at=a(null),ot=at.Provider;at.Consumer;const useNodeId=()=>l(at),selector$g=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),connectingSelector=(e,t,n)=>r=>{let{connectionClickStartHandle:a,connectionMode:o,connection:s}=r,{fromHandle:c,toHandle:l,isValid:u}=s,d=l?.nodeId===e&&l?.id===t&&l?.type===n;return{connectingFrom:c?.nodeId===e&&c?.id===t&&c?.type===n,connectingTo:d,clickConnecting:a?.nodeId===e&&a?.id===t&&a?.type===n,isPossibleEndHandle:o===Se.Strict?c?.type!==n:e!==c?.nodeId||t!==c?.id,connectionInProcess:!!c,clickConnectionInProcess:!!a,valid:d&&u}};function HandleComponent({type:e=`source`,position:t=Q.Top,isValidConnection:n,isConnectable:r=!0,isConnectableStart:a=!0,isConnectableEnd:o=!0,id:s,onConnect:c,children:l,className:u,onMouseDown:d,onTouchStart:f,...p},m){let h=s||null,_=e===`target`,v=useStoreApi(),y=useNodeId(),{connectOnClick:b,noPanClassName:x,rfId:S}=useStore(selector$g,shallow$1),{connectingFrom:C,connectingTo:w,clickConnecting:T,isPossibleEndHandle:E,connectionInProcess:D,clickConnectionInProcess:O,valid:k}=useStore(connectingSelector(y,h,e),shallow$1);y||v.getState().onError?.(`010`,Z.error010());let onConnectExtended=e=>{let{defaultEdgeOptions:t,onConnect:n,hasDefaultEdges:r}=v.getState(),a={...t,...e};if(r){let{edges:e,setEdges:t}=v.getState();t(addEdge(a,e))}n?.(a),c?.(a)},onPointerDown=e=>{if(!y)return;let t=isMouseEvent(e.nativeEvent);if(a&&(t&&e.button===0||!t)){let t=v.getState();Pe.onPointerDown(e.nativeEvent,{handleDomNode:e.currentTarget,autoPanOnConnect:t.autoPanOnConnect,connectionMode:t.connectionMode,connectionRadius:t.connectionRadius,domNode:t.domNode,nodeLookup:t.nodeLookup,lib:t.lib,isTarget:_,handleId:h,nodeId:y,flowId:t.rfId,panBy:t.panBy,cancelConnection:t.cancelConnection,onConnectStart:t.onConnectStart,onConnectEnd:(...e)=>v.getState().onConnectEnd?.(...e),updateConnection:t.updateConnection,onConnect:onConnectExtended,isValidConnection:n||((...e)=>v.getState().isValidConnection?.(...e)??!0),getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:t.autoPanSpeed,dragThreshold:t.connectionDragThreshold})}t?d?.(e):f?.(e)},onClick=t=>{let{onClickConnectStart:r,onClickConnectEnd:o,connectionClickStartHandle:s,connectionMode:c,isValidConnection:l,lib:u,rfId:d,nodeLookup:f,connection:p}=v.getState();if(!y||!s&&!a)return;if(!s){r?.(t.nativeEvent,{nodeId:y,handleId:h,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:y,type:e,id:h}});return}let m=getHostForElement(t.target),g=n||l,{connection:_,isValid:b}=Pe.isValid(t.nativeEvent,{handle:{nodeId:y,id:h,type:e},connectionMode:c,fromNodeId:s.nodeId,fromHandleId:s.id||null,fromType:s.type,isValidConnection:g,flowId:d,doc:m,lib:u,nodeLookup:f});b&&_&&onConnectExtended(_);let x=structuredClone(p);delete x.inProgress,x.toPosition=x.toHandle?x.toHandle.position:null,o?.(t,x),v.setState({connectionClickStartHandle:null})};return g(`div`,{"data-handleid":h,"data-nodeid":y,"data-handlepos":t,"data-id":`${S}-${y}-${h}-${e}`,className:cc([`react-flow__handle`,`react-flow__handle-${t}`,`nodrag`,x,u,{source:!_,target:_,connectable:r,connectablestart:a,connectableend:o,clickconnecting:T,connectingfrom:C,connectingto:w,valid:k,connectionindicator:r&&(!D||E)&&(D||O?o:a)}]),onMouseDown:onPointerDown,onTouchStart:onPointerDown,onClick:b?onClick:void 0,ref:m,...p,children:l})}const st=s(fixedForwardRef(HandleComponent));function InputNode({data:e,isConnectable:t,sourcePosition:n=Q.Bottom}){return _(h,{children:[e?.label,g(st,{type:`source`,position:n,isConnectable:t})]})}function DefaultNode({data:e,isConnectable:t,targetPosition:n=Q.Top,sourcePosition:r=Q.Bottom}){return _(h,{children:[g(st,{type:`target`,position:n,isConnectable:t}),e?.label,g(st,{type:`source`,position:r,isConnectable:t})]})}function GroupNode(){return null}function OutputNode({data:e,isConnectable:t,targetPosition:n=Q.Top}){return _(h,{children:[g(st,{type:`target`,position:n,isConnectable:t}),e?.label]})}const ct={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},lt={input:InputNode,default:DefaultNode,output:OutputNode,group:GroupNode};function getNodeInlineStyleDimensions(e){return e.internals.handleBounds===void 0?{width:e.width??e.initialWidth??e.style?.width,height:e.height??e.initialHeight??e.style?.height}:{width:e.width??e.style?.width,height:e.height??e.style?.height}}const selector$f=e=>{let{width:t,height:n,x:r,y:a}=getInternalNodesBounds(e.nodeLookup,{filter:e=>!!e.selected});return{width:isNumeric(t)?t:null,height:isNumeric(n)?n:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${r}px,${a}px)`}};function NodesSelection({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:n}){let r=useStoreApi(),{width:a,height:o,transformString:s,userSelectionActive:c}=useStore(selector$f,shallow$1),l=useMoveSelectedNodes(),d=p(null);u(()=>{n||d.current?.focus({preventScroll:!0})},[n]);let f=!c&&a!==null&&o!==null;if(useDrag({nodeRef:d,disabled:!f}),!f)return null;let m=e?t=>{e(t,r.getState().nodes.filter(e=>e.selected))}:void 0,onKeyDown=e=>{Object.prototype.hasOwnProperty.call(ct,e.key)&&(e.preventDefault(),l({direction:ct[e.key],factor:e.shiftKey?4:1}))};return g(`div`,{className:cc([`react-flow__nodesselection`,`react-flow__container`,t]),style:{transform:s},children:g(`div`,{ref:d,className:`react-flow__nodesselection-rect`,onContextMenu:m,tabIndex:n?void 0:-1,onKeyDown:n?void 0:onKeyDown,style:{width:a,height:o}})})}const ut=typeof window<`u`?window:void 0,selector$e=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function FlowRendererComponent({children:e,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:o,onPaneScroll:s,paneClickDistance:c,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:f,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:h,panActivationKeyCode:v,zoomActivationKeyCode:y,elementsSelectable:b,zoomOnScroll:x,zoomOnPinch:S,panOnScroll:C,panOnScrollSpeed:w,panOnScrollMode:T,zoomOnDoubleClick:E,panOnDrag:D,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,preventScrolling:M,onSelectionContextMenu:N,noWheelClassName:P,noPanClassName:F,disableKeyboardA11y:I,onViewportChange:L,isControlledViewport:R}){let{nodesSelectionActive:z,userSelectionActive:B}=useStore(selector$e,shallow$1),V=useKeyPress(u,{target:ut}),H=useKeyPress(v,{target:ut}),U=H||D,W=H||C,G=d&&U!==!0,K=V||B||G;return useGlobalKeyHandler({deleteKeyCode:l,multiSelectionKeyCode:h}),g(ZoomPane,{onPaneContextMenu:o,elementsSelectable:b,zoomOnScroll:x,zoomOnPinch:S,panOnScroll:W,panOnScrollSpeed:w,panOnScrollMode:T,zoomOnDoubleClick:E,panOnDrag:!V&&U,defaultViewport:O,translateExtent:k,minZoom:A,maxZoom:j,zoomActivationKeyCode:y,preventScrolling:M,noWheelClassName:P,noPanClassName:F,onViewportChange:L,isControlledViewport:R,paneClickDistance:c,selectionOnDrag:G,children:_(Pane,{onSelectionStart:p,onSelectionEnd:m,onPaneClick:t,onPaneMouseEnter:n,onPaneMouseMove:r,onPaneMouseLeave:a,onPaneContextMenu:o,onPaneScroll:s,panOnDrag:U,isSelecting:!!K,selectionMode:f,selectionKeyPressed:V,paneClickDistance:c,selectionOnDrag:G,children:[e,z&&g(NodesSelection,{onSelectionContextMenu:N,noPanClassName:F,disableKeyboardA11y:I})]})})}FlowRendererComponent.displayName=`FlowRenderer`;const dt=s(FlowRendererComponent),selector$d=e=>t=>e?getNodesInside(t.nodeLookup,{x:0,y:0,width:t.width,height:t.height},t.transform,!0).map(e=>e.id):Array.from(t.nodeLookup.keys());function useVisibleNodeIds(e){return useStore(c(selector$d(e),[e]),shallow$1)}const selector$c=e=>e.updateNodeInternals;function useResizeObserver(){let e=useStore(selector$c),[t]=m(()=>typeof ResizeObserver>`u`?null:new ResizeObserver(t=>{let n=new Map;t.forEach(e=>{let t=e.target.getAttribute(`data-id`);n.set(t,{id:t,nodeElement:e.target,force:!0})}),e(n)}));return u(()=>()=>{t?.disconnect()},[t]),t}function useNodeObserver({node:e,nodeType:t,hasDimensions:n,resizeObserver:r}){let a=useStoreApi(),o=p(null),s=p(null),c=p(e.sourcePosition),l=p(e.targetPosition),d=p(t),f=n&&!!e.internals.handleBounds;return u(()=>{o.current&&!e.hidden&&(!f||s.current!==o.current)&&(s.current&&r?.unobserve(s.current),r?.observe(o.current),s.current=o.current)},[f,e.hidden]),u(()=>()=>{s.current&&=(r?.unobserve(s.current),null)},[]),u(()=>{if(o.current){let n=d.current!==t,r=c.current!==e.sourcePosition,s=l.current!==e.targetPosition;(n||r||s)&&(d.current=t,c.current=e.sourcePosition,l.current=e.targetPosition,a.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:o.current,force:!0}]])))}},[e.id,t,e.sourcePosition,e.targetPosition]),o}function NodeWrapper({id:e,onClick:t,onMouseEnter:n,onMouseMove:r,onMouseLeave:a,onContextMenu:o,onDoubleClick:s,nodesDraggable:c,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:f,noDragClassName:p,noPanClassName:m,disableKeyboardA11y:h,rfId:_,nodeTypes:v,nodeClickDistance:y,onError:b}){let{node:x,internals:S,isParent:C}=useStore(t=>{let n=t.nodeLookup.get(e),r=t.parentLookup.has(e);return{node:n,internals:n.internals,isParent:r}},shallow$1),w=x.type||`default`,T=v?.[w]||lt[w];T===void 0&&(b?.(`003`,Z.error003(w)),w=`default`,T=v?.default||lt.default);let E=!!(x.draggable||c&&x.draggable===void 0),D=!!(x.selectable||l&&x.selectable===void 0),O=!!(x.connectable||u&&x.connectable===void 0),k=!!(x.focusable||d&&x.focusable===void 0),A=useStoreApi(),j=nodeHasDimensions(x),M=useNodeObserver({node:x,nodeType:w,hasDimensions:j,resizeObserver:f}),N=useDrag({nodeRef:M,disabled:x.hidden||!E,noDragClassName:p,handleSelector:x.dragHandle,nodeId:e,isSelectable:D,nodeClickDistance:y}),P=useMoveSelectedNodes();if(x.hidden)return null;let F=getNodeDimensions(x),I=getNodeInlineStyleDimensions(x),L=D||E||t||n||r||a,R=n?e=>n(e,{...S.userNode}):void 0,z=r?e=>r(e,{...S.userNode}):void 0,B=a?e=>a(e,{...S.userNode}):void 0,V=o?e=>o(e,{...S.userNode}):void 0,H=s?e=>s(e,{...S.userNode}):void 0,onSelectNodeHandler=n=>{let{selectNodesOnDrag:r,nodeDragThreshold:a}=A.getState();D&&(!r||!E||a>0)&&handleNodeClick({id:e,store:A,nodeRef:M}),t&&t(n,{...S.userNode})},onKeyDown=t=>{if(!(isInputDOMNode(t.nativeEvent)||h)){if(be.includes(t.key)&&D)handleNodeClick({id:e,store:A,unselect:t.key===`Escape`,nodeRef:M});else if(E&&x.selected&&Object.prototype.hasOwnProperty.call(ct,t.key)){t.preventDefault();let{ariaLabelConfig:e}=A.getState();A.setState({ariaLiveMessage:e[`node.a11yDescription.ariaLiveMessage`]({direction:t.key.replace(`Arrow`,``).toLowerCase(),x:~~S.positionAbsolute.x,y:~~S.positionAbsolute.y})}),P({direction:ct[t.key],factor:t.shiftKey?4:1})}}},onFocus=()=>{if(h||!M.current?.matches(`:focus-visible`))return;let{transform:t,width:n,height:r,autoPanOnNodeFocus:a,setCenter:o}=A.getState();a&&(getNodesInside(new Map([[e,x]]),{x:0,y:0,width:n,height:r},t,!0).length>0||o(x.position.x+F.width/2,x.position.y+F.height/2,{zoom:t[2]}))};return g(`div`,{className:cc([`react-flow__node`,`react-flow__node-${w}`,{[m]:E},x.className,{selected:x.selected,selectable:D,parent:C,draggable:E,dragging:N}]),ref:M,style:{zIndex:S.z,transform:`translate(${S.positionAbsolute.x}px,${S.positionAbsolute.y}px)`,pointerEvents:L?`all`:`none`,visibility:j?`visible`:`hidden`,...x.style,...I},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:R,onMouseMove:z,onMouseLeave:B,onContextMenu:V,onClick:onSelectNodeHandler,onDoubleClick:H,onKeyDown:k?onKeyDown:void 0,tabIndex:k?0:void 0,onFocus:k?onFocus:void 0,role:x.ariaRole??(k?`group`:void 0),"aria-roledescription":`node`,"aria-describedby":h?void 0:`${qe}-${_}`,"aria-label":x.ariaLabel,...x.domAttributes,children:g(ot,{value:e,children:g(T,{id:e,data:x.data,type:w,positionAbsoluteX:S.positionAbsolute.x,positionAbsoluteY:S.positionAbsolute.y,selected:x.selected??!1,selectable:D,draggable:E,deletable:x.deletable??!0,isConnectable:O,sourcePosition:x.sourcePosition,targetPosition:x.targetPosition,dragging:N,dragHandle:x.dragHandle,zIndex:S.z,parentId:x.parentId,...F})})})}var ft=s(NodeWrapper);const selector$b=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function NodeRendererComponent(e){let{nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:a,onError:o}=useStore(selector$b,shallow$1),s=useVisibleNodeIds(e.onlyRenderVisibleElements),c=useResizeObserver();return g(`div`,{className:`react-flow__nodes`,style:it,children:s.map(s=>g(ft,{id:s,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:c,nodesDraggable:t,nodesConnectable:n,nodesFocusable:r,elementsSelectable:a,nodeClickDistance:e.nodeClickDistance,onError:o},s))})}NodeRendererComponent.displayName=`NodeRenderer`;const pt=s(NodeRendererComponent);function useVisibleEdgeIds(e){return useStore(c(t=>{if(!e)return t.edges.map(e=>e.id);let n=[];if(t.width&&t.height)for(let e of t.edges){let r=t.nodeLookup.get(e.source),a=t.nodeLookup.get(e.target);r&&a&&isEdgeVisible({sourceNode:r,targetNode:a,width:t.width,height:t.height,transform:t.transform})&&n.push(e.id)}return n},[e]),shallow$1)}const ArrowSymbol=({color:e=`none`,strokeWidth:t=1})=>g(`polyline`,{className:`arrow`,style:{strokeWidth:t,...e&&{stroke:e}},strokeLinecap:`round`,fill:`none`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4`}),ArrowClosedSymbol=({color:e=`none`,strokeWidth:t=1})=>g(`polyline`,{className:`arrowclosed`,style:{strokeWidth:t,...e&&{stroke:e,fill:e}},strokeLinecap:`round`,strokeLinejoin:`round`,points:`-5,-4 0,0 -5,4 -5,-4`}),mt={[De.Arrow]:ArrowSymbol,[De.ArrowClosed]:ArrowClosedSymbol};function useMarkerSymbol(e){let t=useStoreApi();return f(()=>Object.prototype.hasOwnProperty.call(mt,e)?mt[e]:(t.getState().onError?.(`009`,Z.error009(e)),null),[e])}const Marker=({id:e,type:t,color:n,width:r=12.5,height:a=12.5,markerUnits:o=`strokeWidth`,strokeWidth:s,orient:c=`auto-start-reverse`})=>{let l=useMarkerSymbol(t);return l?g(`marker`,{className:`react-flow__arrowhead`,id:e,markerWidth:`${r}`,markerHeight:`${a}`,viewBox:`-10 -10 20 20`,markerUnits:o,orient:c,refX:`0`,refY:`0`,children:g(l,{color:n,strokeWidth:s})}):null},MarkerDefinitions=({defaultColor:e,rfId:t})=>{let n=useStore(e=>e.edges),r=useStore(e=>e.defaultEdgeOptions),a=f(()=>createMarkerIds(n,{id:t,defaultColor:e,defaultMarkerStart:r?.markerStart,defaultMarkerEnd:r?.markerEnd}),[n,r,t,e]);return a.length?g(`svg`,{className:`react-flow__marker`,"aria-hidden":`true`,children:g(`defs`,{children:a.map(e=>g(Marker,{id:e.id,type:e.type,color:e.color,width:e.width,height:e.height,markerUnits:e.markerUnits,strokeWidth:e.strokeWidth,orient:e.orient},e.id))})}):null};MarkerDefinitions.displayName=`MarkerDefinitions`;var ht=s(MarkerDefinitions);function EdgeTextComponent({x:e,y:t,label:n,labelStyle:r,labelShowBg:a=!0,labelBgStyle:o,labelBgPadding:s=[2,4],labelBgBorderRadius:c=2,children:l,className:d,...f}){let[h,v]=m({x:1,y:0,width:0,height:0}),y=cc([`react-flow__edge-textwrapper`,d]),b=p(null);return u(()=>{if(b.current){let e=b.current.getBBox();v({x:e.x,y:e.y,width:e.width,height:e.height})}},[n]),n?_(`g`,{transform:`translate(${e-h.width/2} ${t-h.height/2})`,className:y,visibility:h.width?`visible`:`hidden`,...f,children:[a&&g(`rect`,{width:h.width+2*s[0],x:-s[0],y:-s[1],height:h.height+2*s[1],className:`react-flow__edge-textbg`,style:o,rx:c,ry:c}),g(`text`,{className:`react-flow__edge-text`,y:h.height/2,dy:`0.3em`,ref:b,style:r,children:n}),l]}):null}EdgeTextComponent.displayName=`EdgeText`;const gt=s(EdgeTextComponent);function BaseEdge({path:e,labelX:t,labelY:n,label:r,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return _(h,{children:[g(`path`,{...d,d:e,fill:`none`,className:cc([`react-flow__edge-path`,d.className])}),u?g(`path`,{d:e,fill:`none`,strokeOpacity:0,strokeWidth:u,className:`react-flow__edge-interaction`}):null,r&&isNumeric(t)&&isNumeric(n)?g(gt,{x:t,y:n,label:r,labelStyle:a,labelShowBg:o,labelBgStyle:s,labelBgPadding:c,labelBgBorderRadius:l}):null]})}function getControl({pos:e,x1:t,y1:n,x2:r,y2:a}){return e===Q.Left||e===Q.Right?[.5*(t+r),n]:[t,.5*(n+a)]}function getSimpleBezierPath({sourceX:e,sourceY:t,sourcePosition:n=Q.Bottom,targetX:r,targetY:a,targetPosition:o=Q.Top}){let[s,c]=getControl({pos:n,x1:e,y1:t,x2:r,y2:a}),[l,u]=getControl({pos:o,x1:r,y1:a,x2:e,y2:t}),[d,f,p,m]=getBezierEdgeCenter({sourceX:e,sourceY:t,targetX:r,targetY:a,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${a}`,d,f,p,m]}function createSimpleBezierEdge(e){return s(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:o,sourcePosition:s,targetPosition:c,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,style:h,markerEnd:_,markerStart:v,interactionWidth:y})=>{let[b,x,S]=getSimpleBezierPath({sourceX:n,sourceY:r,sourcePosition:s,targetX:a,targetY:o,targetPosition:c});return g(BaseEdge,{id:e.isInternal?void 0:t,path:b,labelX:x,labelY:S,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,style:h,markerEnd:_,markerStart:v,interactionWidth:y})})}const _t=createSimpleBezierEdge({isInternal:!1}),vt=createSimpleBezierEdge({isInternal:!0});_t.displayName=`SimpleBezierEdge`,vt.displayName=`SimpleBezierEdgeInternal`;function createSmoothStepEdge(e){return s(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:o,label:s,labelStyle:c,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,sourcePosition:m=Q.Bottom,targetPosition:h=Q.Top,markerEnd:_,markerStart:v,pathOptions:y,interactionWidth:b})=>{let[x,S,C]=getSmoothStepPath({sourceX:n,sourceY:r,sourcePosition:m,targetX:a,targetY:o,targetPosition:h,borderRadius:y?.borderRadius,offset:y?.offset,stepPosition:y?.stepPosition});return g(BaseEdge,{id:e.isInternal?void 0:t,path:x,labelX:S,labelY:C,label:s,labelStyle:c,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:_,markerStart:v,interactionWidth:b})})}const yt=createSmoothStepEdge({isInternal:!1}),bt=createSmoothStepEdge({isInternal:!0});yt.displayName=`SmoothStepEdge`,bt.displayName=`SmoothStepEdgeInternal`;function createStepEdge(e){return s(({id:t,...n})=>{let r=e.isInternal?void 0:t;return g(yt,{...n,id:r,pathOptions:f(()=>({borderRadius:0,offset:n.pathOptions?.offset}),[n.pathOptions?.offset])})})}const xt=createStepEdge({isInternal:!1}),St=createStepEdge({isInternal:!0});xt.displayName=`StepEdge`,St.displayName=`StepEdgeInternal`;function createStraightEdge(e){return s(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:o,label:s,labelStyle:c,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:m,markerStart:h,interactionWidth:_})=>{let[v,y,b]=getStraightPath({sourceX:n,sourceY:r,targetX:a,targetY:o});return g(BaseEdge,{id:e.isInternal?void 0:t,path:v,labelX:y,labelY:b,label:s,labelStyle:c,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:f,style:p,markerEnd:m,markerStart:h,interactionWidth:_})})}const Ct=createStraightEdge({isInternal:!1}),wt=createStraightEdge({isInternal:!0});Ct.displayName=`StraightEdge`,wt.displayName=`StraightEdgeInternal`;function createBezierEdge(e){return s(({id:t,sourceX:n,sourceY:r,targetX:a,targetY:o,sourcePosition:s=Q.Bottom,targetPosition:c=Q.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,style:h,markerEnd:_,markerStart:v,pathOptions:y,interactionWidth:b})=>{let[x,S,C]=getBezierPath({sourceX:n,sourceY:r,sourcePosition:s,targetX:a,targetY:o,targetPosition:c,curvature:y?.curvature});return g(BaseEdge,{id:e.isInternal?void 0:t,path:x,labelX:S,labelY:C,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:f,labelBgPadding:p,labelBgBorderRadius:m,style:h,markerEnd:_,markerStart:v,interactionWidth:b})})}const Tt=createBezierEdge({isInternal:!1}),Et=createBezierEdge({isInternal:!0});Tt.displayName=`BezierEdge`,Et.displayName=`BezierEdgeInternal`;const Dt={default:Et,straight:wt,step:St,smoothstep:bt,simplebezier:vt},Ot={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},shiftX=(e,t,n)=>n===Q.Left?e-t:n===Q.Right?e+t:e,shiftY=(e,t,n)=>n===Q.Top?e-t:n===Q.Bottom?e+t:e,kt=`react-flow__edgeupdater`;function EdgeAnchor({position:e,centerX:t,centerY:n,radius:r=10,onMouseDown:a,onMouseEnter:o,onMouseOut:s,type:c}){return g(`circle`,{onMouseDown:a,onMouseEnter:o,onMouseOut:s,className:cc([kt,`${kt}-${c}`]),cx:shiftX(t,r,e),cy:shiftY(n,r,e),r,stroke:`transparent`,fill:`transparent`})}function EdgeUpdateAnchors({isReconnectable:e,reconnectRadius:t,edge:n,sourceX:r,sourceY:a,targetX:o,targetY:s,sourcePosition:c,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:f,setReconnecting:p,setUpdateHover:m}){let v=useStoreApi(),handleEdgeUpdater=(e,t)=>{if(e.button!==0)return;let{autoPanOnConnect:r,domNode:a,connectionMode:o,connectionRadius:s,lib:c,onConnectStart:l,cancelConnection:m,nodeLookup:h,rfId:g,panBy:_,updateConnection:y}=v.getState(),b=t.type===`target`,_onReconnectEnd=(e,r)=>{p(!1),f?.(e,n,t.type,r)},onConnectEdge=e=>u?.(n,e),_onConnectStart=(r,a)=>{p(!0),d?.(e,n,t.type),l?.(r,a)};Pe.onPointerDown(e.nativeEvent,{autoPanOnConnect:r,connectionMode:o,connectionRadius:s,domNode:a,handleId:t.id,nodeId:t.nodeId,nodeLookup:h,isTarget:b,edgeUpdaterType:t.type,lib:c,flowId:g,cancelConnection:m,panBy:_,isValidConnection:(...e)=>v.getState().isValidConnection?.(...e)??!0,onConnect:onConnectEdge,onConnectStart:_onConnectStart,onConnectEnd:(...e)=>v.getState().onConnectEnd?.(...e),onReconnectEnd:_onReconnectEnd,updateConnection:y,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:e.currentTarget})},onReconnectSourceMouseDown=e=>handleEdgeUpdater(e,{nodeId:n.target,id:n.targetHandle??null,type:`target`}),onReconnectTargetMouseDown=e=>handleEdgeUpdater(e,{nodeId:n.source,id:n.sourceHandle??null,type:`source`}),onReconnectMouseEnter=()=>m(!0),onReconnectMouseOut=()=>m(!1);return _(h,{children:[(e===!0||e===`source`)&&g(EdgeAnchor,{position:c,centerX:r,centerY:a,radius:t,onMouseDown:onReconnectSourceMouseDown,onMouseEnter:onReconnectMouseEnter,onMouseOut:onReconnectMouseOut,type:`source`}),(e===!0||e===`target`)&&g(EdgeAnchor,{position:l,centerX:o,centerY:s,radius:t,onMouseDown:onReconnectTargetMouseDown,onMouseEnter:onReconnectMouseEnter,onMouseOut:onReconnectMouseOut,type:`target`})]})}function EdgeWrapper({id:e,edgesFocusable:t,edgesReconnectable:n,elementsSelectable:r,onClick:a,onDoubleClick:o,onContextMenu:s,onMouseEnter:l,onMouseMove:u,onMouseLeave:d,reconnectRadius:h,onReconnect:v,onReconnectStart:y,onReconnectEnd:b,rfId:x,edgeTypes:S,noPanClassName:C,onError:w,disableKeyboardA11y:T}){let E=useStore(t=>t.edgeLookup.get(e)),D=useStore(e=>e.defaultEdgeOptions);E=D?{...D,...E}:E;let O=E.type||`default`,k=S?.[O]||Dt[O];k===void 0&&(w?.(`011`,Z.error011(O)),O=`default`,k=S?.default||Dt.default);let A=!!(E.focusable||t&&E.focusable===void 0),j=v!==void 0&&(E.reconnectable||n&&E.reconnectable===void 0),M=!!(E.selectable||r&&E.selectable===void 0),N=p(null),[P,F]=m(!1),[I,L]=m(!1),R=useStoreApi(),{zIndex:z,sourceX:B,sourceY:V,targetX:H,targetY:U,sourcePosition:W,targetPosition:G}=useStore(c(t=>{let n=t.nodeLookup.get(E.source),r=t.nodeLookup.get(E.target);if(!n||!r)return{zIndex:E.zIndex,...Ot};let a=getEdgePosition({id:e,sourceNode:n,targetNode:r,sourceHandle:E.sourceHandle||null,targetHandle:E.targetHandle||null,connectionMode:t.connectionMode,onError:w});return{zIndex:getElevatedEdgeZIndex({selected:E.selected,zIndex:E.zIndex,sourceNode:n,targetNode:r,elevateOnSelect:t.elevateEdgesOnSelect,zIndexMode:t.zIndexMode}),...a||Ot}},[E.source,E.target,E.sourceHandle,E.targetHandle,E.selected,E.zIndex]),shallow$1),K=f(()=>E.markerStart?`url('#${getMarkerId(E.markerStart,x)}')`:void 0,[E.markerStart,x]),ee=f(()=>E.markerEnd?`url('#${getMarkerId(E.markerEnd,x)}')`:void 0,[E.markerEnd,x]);if(E.hidden||B===null||V===null||H===null||U===null)return null;let onEdgeClick=t=>{let{addSelectedEdges:n,unselectNodesAndEdges:r,multiSelectionActive:o}=R.getState();M&&(R.setState({nodesSelectionActive:!1}),E.selected&&o?(r({nodes:[],edges:[E]}),N.current?.blur()):n([e])),a&&a(t,E)},te=o?e=>{o(e,{...E})}:void 0,ne=s?e=>{s(e,{...E})}:void 0,q=l?e=>{l(e,{...E})}:void 0,J=u?e=>{u(e,{...E})}:void 0,re=d?e=>{d(e,{...E})}:void 0,onKeyDown=t=>{if(!T&&be.includes(t.key)&&M){let{unselectNodesAndEdges:n,addSelectedEdges:r}=R.getState();t.key===`Escape`?(N.current?.blur(),n({edges:[E]})):r([e])}};return g(`svg`,{style:{zIndex:z},children:_(`g`,{className:cc([`react-flow__edge`,`react-flow__edge-${O}`,E.className,C,{selected:E.selected,animated:E.animated,inactive:!M&&!a,updating:P,selectable:M}]),onClick:onEdgeClick,onDoubleClick:te,onContextMenu:ne,onMouseEnter:q,onMouseMove:J,onMouseLeave:re,onKeyDown:A?onKeyDown:void 0,tabIndex:A?0:void 0,role:E.ariaRole??(A?`group`:`img`),"aria-roledescription":`edge`,"data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":E.ariaLabel===null?void 0:E.ariaLabel||`Edge from ${E.source} to ${E.target}`,"aria-describedby":A?`${Je}-${x}`:void 0,ref:N,...E.domAttributes,children:[!I&&g(k,{id:e,source:E.source,target:E.target,type:E.type,selected:E.selected,animated:E.animated,selectable:M,deletable:E.deletable??!0,label:E.label,labelStyle:E.labelStyle,labelShowBg:E.labelShowBg,labelBgStyle:E.labelBgStyle,labelBgPadding:E.labelBgPadding,labelBgBorderRadius:E.labelBgBorderRadius,sourceX:B,sourceY:V,targetX:H,targetY:U,sourcePosition:W,targetPosition:G,data:E.data,style:E.style,sourceHandleId:E.sourceHandle,targetHandleId:E.targetHandle,markerStart:K,markerEnd:ee,pathOptions:`pathOptions`in E?E.pathOptions:void 0,interactionWidth:E.interactionWidth}),j&&g(EdgeUpdateAnchors,{edge:E,isReconnectable:j,reconnectRadius:h,onReconnect:v,onReconnectStart:y,onReconnectEnd:b,sourceX:B,sourceY:V,targetX:H,targetY:U,sourcePosition:W,targetPosition:G,setUpdateHover:F,setReconnecting:L})]})})}var At=s(EdgeWrapper);const selector$a=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function EdgeRendererComponent({defaultMarkerColor:e,onlyRenderVisibleElements:t,rfId:n,edgeTypes:r,noPanClassName:a,onReconnect:o,onEdgeContextMenu:s,onEdgeMouseEnter:c,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:f,onEdgeDoubleClick:p,onReconnectStart:m,onReconnectEnd:h,disableKeyboardA11y:v}){let{edgesFocusable:y,edgesReconnectable:b,elementsSelectable:x,onError:S}=useStore(selector$a,shallow$1),C=useVisibleEdgeIds(t);return _(`div`,{className:`react-flow__edges`,children:[g(ht,{defaultColor:e,rfId:n}),C.map(e=>g(At,{id:e,edgesFocusable:y,edgesReconnectable:b,elementsSelectable:x,noPanClassName:a,onReconnect:o,onContextMenu:s,onMouseEnter:c,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:f,onDoubleClick:p,onReconnectStart:m,onReconnectEnd:h,rfId:n,onError:S,edgeTypes:r,disableKeyboardA11y:v},e))]})}EdgeRendererComponent.displayName=`EdgeRenderer`;const jt=s(EdgeRendererComponent),selector$9=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Viewport({children:e}){return g(`div`,{className:`react-flow__viewport xyflow__viewport react-flow__container`,style:{transform:useStore(selector$9)},children:e})}function useOnInitHandler(e){let t=useReactFlow(),n=p(!1);u(()=>{!n.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),n.current=!0)},[e,t.viewportInitialized])}const selector$8=e=>e.panZoom?.syncViewport;function useViewportSync(e){let t=useStore(selector$8),n=useStoreApi();return u(()=>{e&&(t?.(e),n.setState({transform:[e.x,e.y,e.zoom]}))},[e,t]),null}function storeSelector$1(e){return e.connection.inProgress?{...e.connection,to:pointToRendererPoint(e.connection.to,e.transform)}:{...e.connection}}function getSelector(e){if(e){let combinedSelector=t=>e(storeSelector$1(t));return combinedSelector}return storeSelector$1}function useConnection(e){return useStore(getSelector(e),shallow$1)}const selector$7=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function ConnectionLineWrapper({containerStyle:e,style:t,type:n,component:r}){let{nodesConnectable:a,width:o,height:s,isValid:c,inProgress:l}=useStore(selector$7,shallow$1);return o&&a&&l?g(`svg`,{style:e,width:o,height:s,className:`react-flow__connectionline react-flow__container`,children:g(`g`,{className:cc([`react-flow__connection`,getConnectionStatus(c)]),children:g(ConnectionLine,{style:t,type:n,CustomComponent:r,isValid:c})})}):null}const ConnectionLine=({style:e,type:t=Ee.Bezier,CustomComponent:n,isValid:r})=>{let{inProgress:a,from:o,fromNode:s,fromHandle:c,fromPosition:l,to:u,toNode:d,toHandle:f,toPosition:p,pointer:m}=useConnection();if(!a)return;if(n)return g(n,{connectionLineType:t,connectionLineStyle:e,fromNode:s,fromHandle:c,fromX:o.x,fromY:o.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:p,connectionStatus:getConnectionStatus(r),toNode:d,toHandle:f,pointer:m});let h=``,_={sourceX:o.x,sourceY:o.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:p};switch(t){case Ee.Bezier:[h]=getBezierPath(_);break;case Ee.SimpleBezier:[h]=getSimpleBezierPath(_);break;case Ee.Step:[h]=getSmoothStepPath({..._,borderRadius:0});break;case Ee.SmoothStep:[h]=getSmoothStepPath(_);break;default:[h]=getStraightPath(_)}return g(`path`,{d:h,fill:`none`,className:`react-flow__connection-path`,style:e})};ConnectionLine.displayName=`ConnectionLine`;const Mt={};function useNodeOrEdgeTypesWarning(e=Mt){p(e),useStoreApi(),u(()=>{},[e])}function useStylesLoadedWarning(){useStoreApi(),p(!1),u(()=>{},[])}function GraphViewComponent({nodeTypes:e,edgeTypes:t,onInit:n,onNodeClick:r,onEdgeClick:a,onNodeDoubleClick:o,onEdgeDoubleClick:s,onNodeMouseEnter:c,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:f,onSelectionStart:p,onSelectionEnd:m,connectionLineType:h,connectionLineStyle:v,connectionLineComponent:y,connectionLineContainerStyle:b,selectionKeyCode:x,selectionOnDrag:S,selectionMode:C,multiSelectionKeyCode:w,panActivationKeyCode:T,zoomActivationKeyCode:E,deleteKeyCode:D,onlyRenderVisibleElements:O,elementsSelectable:k,defaultViewport:A,translateExtent:j,minZoom:M,maxZoom:N,preventScrolling:P,defaultMarkerColor:F,zoomOnScroll:I,zoomOnPinch:L,panOnScroll:R,panOnScrollSpeed:z,panOnScrollMode:B,zoomOnDoubleClick:V,panOnDrag:H,onPaneClick:U,onPaneMouseEnter:W,onPaneMouseMove:G,onPaneMouseLeave:K,onPaneScroll:ee,onPaneContextMenu:te,paneClickDistance:ne,nodeClickDistance:q,onEdgeContextMenu:J,onEdgeMouseEnter:re,onEdgeMouseMove:ie,onEdgeMouseLeave:ae,reconnectRadius:oe,onReconnect:se,onReconnectStart:ce,onReconnectEnd:Y,noDragClassName:le,noWheelClassName:ue,noPanClassName:de,disableKeyboardA11y:fe,nodeExtent:pe,rfId:me,viewport:he,onViewportChange:X}){return useNodeOrEdgeTypesWarning(e),useNodeOrEdgeTypesWarning(t),useStylesLoadedWarning(),useOnInitHandler(n),useViewportSync(he),g(dt,{onPaneClick:U,onPaneMouseEnter:W,onPaneMouseMove:G,onPaneMouseLeave:K,onPaneContextMenu:te,onPaneScroll:ee,paneClickDistance:ne,deleteKeyCode:D,selectionKeyCode:x,selectionOnDrag:S,selectionMode:C,onSelectionStart:p,onSelectionEnd:m,multiSelectionKeyCode:w,panActivationKeyCode:T,zoomActivationKeyCode:E,elementsSelectable:k,zoomOnScroll:I,zoomOnPinch:L,zoomOnDoubleClick:V,panOnScroll:R,panOnScrollSpeed:z,panOnScrollMode:B,panOnDrag:H,defaultViewport:A,translateExtent:j,minZoom:M,maxZoom:N,onSelectionContextMenu:f,preventScrolling:P,noDragClassName:le,noWheelClassName:ue,noPanClassName:de,disableKeyboardA11y:fe,onViewportChange:X,isControlledViewport:!!he,children:_(Viewport,{children:[g(jt,{edgeTypes:t,onEdgeClick:a,onEdgeDoubleClick:s,onReconnect:se,onReconnectStart:ce,onReconnectEnd:Y,onlyRenderVisibleElements:O,onEdgeContextMenu:J,onEdgeMouseEnter:re,onEdgeMouseMove:ie,onEdgeMouseLeave:ae,reconnectRadius:oe,defaultMarkerColor:F,noPanClassName:de,disableKeyboardA11y:fe,rfId:me}),g(ConnectionLineWrapper,{style:v,type:h,component:y,containerStyle:b}),g(`div`,{className:`react-flow__edgelabel-renderer`}),g(pt,{nodeTypes:e,onNodeClick:r,onNodeDoubleClick:o,onNodeMouseEnter:c,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:q,onlyRenderVisibleElements:O,noPanClassName:de,noDragClassName:le,disableKeyboardA11y:fe,nodeExtent:pe,rfId:me}),g(`div`,{className:`react-flow__viewport-portal`})]})})}GraphViewComponent.displayName=`GraphView`;const Nt=s(GraphViewComponent),getInitialState=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:a,height:o,fitView:s,fitViewOptions:c,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:f,zIndexMode:p=`basic`}={})=>{let m=new Map,h=new Map,g=new Map,_=new Map,v=r??t??[],y=n??e??[],b=d??[0,0],x=f??ye;updateConnectionLookup(g,_,v);let{nodesInitialized:S}=adoptUserNodes(y,m,h,{nodeOrigin:b,nodeExtent:x,zIndexMode:p}),C=[0,0,1];if(s&&a&&o){let{x:e,y:t,zoom:n}=getViewportForBounds(getInternalNodesBounds(m,{filter:e=>!!((e.width||e.initialWidth)&&(e.height||e.initialHeight))}),a,o,l,u,c?.padding??.1);C=[e,t,n]}return{rfId:`1`,width:a??0,height:o??0,transform:C,nodes:y,nodesInitialized:S,nodeLookup:m,parentLookup:h,edges:v,edgeLookup:_,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:n!==void 0,hasDefaultEdges:r!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:ye,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Se.Strict,domNode:null,paneDragging:!1,noPanClassName:`nopan`,nodeOrigin:b,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:c,fitViewResolver:null,connection:{...Te},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:``,autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:devWarn,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:`react`,debug:!1,ariaLabelConfig:xe,zIndexMode:p,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},createStore=({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:a,height:o,fitView:s,fitViewOptions:c,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,zIndexMode:p})=>createWithEqualityFn((m,h)=>{async function resolveFitView(){let{nodeLookup:e,panZoom:t,fitViewOptions:n,fitViewResolver:r,width:a,height:o,minZoom:s,maxZoom:c}=h();t&&(await fitViewport({nodes:e,width:a,height:o,panZoom:t,minZoom:s,maxZoom:c},n),r?.resolve(!0),m({fitViewResolver:null}))}return{...getInitialState({nodes:e,edges:t,width:a,height:o,fitView:s,fitViewOptions:c,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:f,defaultNodes:n,defaultEdges:r,zIndexMode:p}),setNodes:e=>{let{nodeLookup:t,parentLookup:n,nodeOrigin:r,elevateNodesOnSelect:a,fitViewQueued:o,zIndexMode:s,nodesSelectionActive:c}=h(),{nodesInitialized:l,hasSelectedNodes:u}=adoptUserNodes(e,t,n,{nodeOrigin:r,nodeExtent:f,elevateNodesOnSelect:a,checkEquality:!0,zIndexMode:s}),d=c&&u;o&&l?(resolveFitView(),m({nodes:e,nodesInitialized:l,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:d})):m({nodes:e,nodesInitialized:l,nodesSelectionActive:d})},setEdges:e=>{let{connectionLookup:t,edgeLookup:n}=h();updateConnectionLookup(t,n,e),m({edges:e})},setDefaultNodesAndEdges:(e,t)=>{if(e){let{setNodes:t}=h();t(e),m({hasDefaultNodes:!0})}if(t){let{setEdges:e}=h();e(t),m({hasDefaultEdges:!0})}},updateNodeInternals:e=>{let{triggerNodeChanges:t,nodeLookup:n,parentLookup:r,domNode:a,nodeOrigin:o,nodeExtent:s,debug:c,fitViewQueued:l,zIndexMode:u}=h(),{changes:d,updatedInternals:f}=updateNodeInternals(e,n,r,a,o,s,u);f&&(updateAbsolutePositions(n,r,{nodeOrigin:o,nodeExtent:s,zIndexMode:u}),l?(resolveFitView(),m({fitViewQueued:!1,fitViewOptions:void 0})):m({}),d?.length>0&&(c&&console.log(`React Flow: trigger node changes`,d),t?.(d)))},updateNodePositions:(e,t=!1)=>{let n=[],r=[],{nodeLookup:a,triggerNodeChanges:o,connection:s,updateConnection:c,onNodesChangeMiddlewareMap:l}=h();for(let[o,l]of e){let e=a.get(o),u=!!(e?.expandParent&&e?.parentId&&l?.position),d={id:o,type:`position`,position:u?{x:Math.max(0,l.position.x),y:Math.max(0,l.position.y)}:l.position,dragging:t};if(e&&s.inProgress&&s.fromNode.id===e.id){let t=getHandlePosition(e,s.fromHandle,Q.Left,!0);c({...s,from:t})}u&&e.parentId&&n.push({id:o,parentId:e.parentId,rect:{...l.internals.positionAbsolute,width:l.measured.width??0,height:l.measured.height??0}}),r.push(d)}if(n.length>0){let{parentLookup:e,nodeOrigin:t}=h(),o=handleExpandParent(n,a,e,t);r.push(...o)}for(let e of l.values())r=e(r);o(r)},triggerNodeChanges:e=>{let{onNodesChange:t,setNodes:n,nodes:r,hasDefaultNodes:a,debug:o}=h();e?.length&&(a&&n(applyNodeChanges(e,r)),o&&console.log(`React Flow: trigger node changes`,e),t?.(e))},triggerEdgeChanges:e=>{let{onEdgesChange:t,setEdges:n,edges:r,hasDefaultEdges:a,debug:o}=h();e?.length&&(a&&n(applyEdgeChanges(e,r)),o&&console.log(`React Flow: trigger edge changes`,e),t?.(e))},addSelectedNodes:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:a,triggerEdgeChanges:o}=h();if(t){a(e.map(e=>createSelectionChange(e,!0)));return}a(getSelectionChanges(r,new Set([...e]),!0)),o(getSelectionChanges(n))},addSelectedEdges:e=>{let{multiSelectionActive:t,edgeLookup:n,nodeLookup:r,triggerNodeChanges:a,triggerEdgeChanges:o}=h();if(t){o(e.map(e=>createSelectionChange(e,!0)));return}o(getSelectionChanges(n,new Set([...e]))),a(getSelectionChanges(r,new Set,!0))},unselectNodesAndEdges:({nodes:e,edges:t}={})=>{let{edges:n,nodes:r,nodeLookup:a,triggerNodeChanges:o,triggerEdgeChanges:s}=h(),c=e||r,l=t||n,u=[];for(let e of c){if(!e.selected)continue;let t=a.get(e.id);t&&(t.selected=!1),u.push(createSelectionChange(e.id,!1))}let d=[];for(let e of l)e.selected&&d.push(createSelectionChange(e.id,!1));o(u),s(d)},setMinZoom:e=>{let{panZoom:t,maxZoom:n}=h();t?.setScaleExtent([e,n]),m({minZoom:e})},setMaxZoom:e=>{let{panZoom:t,minZoom:n}=h();t?.setScaleExtent([n,e]),m({maxZoom:e})},setTranslateExtent:e=>{h().panZoom?.setTranslateExtent(e),m({translateExtent:e})},resetSelectedElements:()=>{let{edges:e,nodes:t,triggerNodeChanges:n,triggerEdgeChanges:r,elementsSelectable:a}=h();if(!a)return;let o=t.reduce((e,t)=>t.selected?[...e,createSelectionChange(t.id,!1)]:e,[]),s=e.reduce((e,t)=>t.selected?[...e,createSelectionChange(t.id,!1)]:e,[]);n(o),r(s)},setNodeExtent:e=>{let{nodes:t,nodeLookup:n,parentLookup:r,nodeOrigin:a,elevateNodesOnSelect:o,nodeExtent:s,zIndexMode:c}=h();e[0][0]===s[0][0]&&e[0][1]===s[0][1]&&e[1][0]===s[1][0]&&e[1][1]===s[1][1]||(adoptUserNodes(t,n,r,{nodeOrigin:a,nodeExtent:e,elevateNodesOnSelect:o,checkEquality:!1,zIndexMode:c}),m({nodeExtent:e}))},panBy:e=>{let{transform:t,width:n,height:r,panZoom:a,translateExtent:o}=h();return panBy({delta:e,panZoom:a,transform:t,translateExtent:o,width:n,height:r})},setCenter:async(e,t,n)=>{let{width:r,height:a,maxZoom:o,panZoom:s}=h();if(!s)return Promise.resolve(!1);let c=n?.zoom===void 0?o:n.zoom;return await s.setViewport({x:r/2-e*c,y:a/2-t*c,zoom:c},{duration:n?.duration,ease:n?.ease,interpolate:n?.interpolate}),Promise.resolve(!0)},cancelConnection:()=>{m({connection:{...Te}})},updateConnection:e=>{m({connection:e})},reset:()=>m({...getInitialState()})}},Object.is);function ReactFlowProvider({initialNodes:e,initialEdges:t,defaultNodes:n,defaultEdges:r,initialWidth:a,initialHeight:o,initialMinZoom:s,initialMaxZoom:c,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:f,zIndexMode:p,children:h}){let[_]=m(()=>createStore({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,width:a,height:o,fitView:u,minZoom:s,maxZoom:c,fitViewOptions:l,nodeOrigin:d,nodeExtent:f,zIndexMode:p}));return g(Ue,{value:_,children:g(BatchProvider,{children:h})})}function Wrapper({children:e,nodes:t,edges:n,defaultNodes:r,defaultEdges:a,width:o,height:s,fitView:c,fitViewOptions:u,minZoom:d,maxZoom:f,nodeOrigin:p,nodeExtent:m,zIndexMode:_}){return l(He)?g(h,{children:e}):g(ReactFlowProvider,{initialNodes:t,initialEdges:n,defaultNodes:r,defaultEdges:a,initialWidth:o,initialHeight:s,fitView:c,initialFitViewOptions:u,initialMinZoom:d,initialMaxZoom:f,nodeOrigin:p,nodeExtent:m,zIndexMode:_,children:e})}const Pt={width:`100%`,height:`100%`,overflow:`hidden`,position:`relative`,zIndex:0};function ReactFlow({nodes:e,edges:t,defaultNodes:n,defaultEdges:r,className:a,nodeTypes:o,edgeTypes:s,onNodeClick:l,onEdgeClick:u,onInit:d,onMove:f,onMoveStart:p,onMoveEnd:m,onConnect:h,onConnectStart:v,onConnectEnd:y,onClickConnectStart:b,onClickConnectEnd:x,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:w,onNodeContextMenu:T,onNodeDoubleClick:E,onNodeDragStart:D,onNodeDrag:O,onNodeDragStop:k,onNodesDelete:A,onEdgesDelete:j,onDelete:M,onSelectionChange:N,onSelectionDragStart:P,onSelectionDrag:F,onSelectionDragStop:I,onSelectionContextMenu:L,onSelectionStart:R,onSelectionEnd:z,onBeforeDelete:B,connectionMode:V,connectionLineType:H=Ee.Bezier,connectionLineStyle:U,connectionLineComponent:W,connectionLineContainerStyle:G,deleteKeyCode:K=`Backspace`,selectionKeyCode:ee=`Shift`,selectionOnDrag:te=!1,selectionMode:ne=we.Full,panActivationKeyCode:q=`Space`,multiSelectionKeyCode:J=isMacOs()?`Meta`:`Control`,zoomActivationKeyCode:re=isMacOs()?`Meta`:`Control`,snapToGrid:ie,snapGrid:ae,onlyRenderVisibleElements:oe=!1,selectNodesOnDrag:se,nodesDraggable:ce,autoPanOnNodeFocus:Y,nodesConnectable:le,nodesFocusable:ue,nodeOrigin:de=Ze,edgesFocusable:fe,edgesReconnectable:pe,elementsSelectable:me=!0,defaultViewport:he=Qe,minZoom:X=.5,maxZoom:ge=2,translateExtent:_e=ye,preventScrolling:ve=!0,nodeExtent:Z,defaultMarkerColor:be=`#b1b1b7`,zoomOnScroll:xe=!0,zoomOnPinch:Se=!0,panOnScroll:Te=!1,panOnScrollSpeed:De=.5,panOnScrollMode:Q=Ce.Free,zoomOnDoubleClick:Oe=!0,panOnDrag:ke=!0,onPaneClick:Ae,onPaneMouseEnter:je,onPaneMouseMove:Me,onPaneMouseLeave:Ne,onPaneScroll:Pe,onPaneContextMenu:Fe,paneClickDistance:Ie=1,nodeClickDistance:Le=0,children:Re,onReconnect:ze,onReconnectStart:Be,onReconnectEnd:Ve,onEdgeContextMenu:He,onEdgeDoubleClick:Ue,onEdgeMouseEnter:We,onEdgeMouseMove:Ge,onEdgeMouseLeave:Ke,reconnectRadius:qe=10,onNodesChange:Je,onEdgesChange:Ye,noDragClassName:Xe=`nodrag`,noWheelClassName:$e=`nowheel`,noPanClassName:et=`nopan`,fitView:tt,fitViewOptions:nt,connectOnClick:rt,attributionPosition:it,proOptions:at,defaultEdgeOptions:ot,elevateNodesOnSelect:st=!0,elevateEdgesOnSelect:ct=!1,disableKeyboardA11y:lt=!1,autoPanOnConnect:ut,autoPanOnNodeDrag:dt,autoPanSpeed:ft,connectionRadius:pt,isValidConnection:mt,onError:ht,style:gt,id:_t,nodeDragThreshold:vt,connectionDragThreshold:yt,viewport:bt,onViewportChange:xt,width:St,height:Ct,colorMode:wt=`light`,debug:Tt,onScroll:Et,ariaLabelConfig:Dt,zIndexMode:Ot=`basic`,...kt},At){let jt=_t||`1`,Mt=useColorModeClass(wt),Ft=c(e=>{e.currentTarget.scrollTo({top:0,left:0,behavior:`instant`}),Et?.(e)},[Et]);return g(`div`,{"data-testid":`rf__wrapper`,...kt,onScroll:Ft,style:{...gt,...Pt},ref:At,className:cc([`react-flow`,a,Mt]),id:_t,role:`application`,children:_(Wrapper,{nodes:e,edges:t,width:St,height:Ct,fitView:tt,fitViewOptions:nt,minZoom:X,maxZoom:ge,nodeOrigin:de,nodeExtent:Z,zIndexMode:Ot,children:[g(StoreUpdater,{nodes:e,edges:t,defaultNodes:n,defaultEdges:r,onConnect:h,onConnectStart:v,onConnectEnd:y,onClickConnectStart:b,onClickConnectEnd:x,nodesDraggable:ce,autoPanOnNodeFocus:Y,nodesConnectable:le,nodesFocusable:ue,edgesFocusable:fe,edgesReconnectable:pe,elementsSelectable:me,elevateNodesOnSelect:st,elevateEdgesOnSelect:ct,minZoom:X,maxZoom:ge,nodeExtent:Z,onNodesChange:Je,onEdgesChange:Ye,snapToGrid:ie,snapGrid:ae,connectionMode:V,translateExtent:_e,connectOnClick:rt,defaultEdgeOptions:ot,fitView:tt,fitViewOptions:nt,onNodesDelete:A,onEdgesDelete:j,onDelete:M,onNodeDragStart:D,onNodeDrag:O,onNodeDragStop:k,onSelectionDrag:F,onSelectionDragStart:P,onSelectionDragStop:I,onMove:f,onMoveStart:p,onMoveEnd:m,noPanClassName:et,nodeOrigin:de,rfId:jt,autoPanOnConnect:ut,autoPanOnNodeDrag:dt,autoPanSpeed:ft,onError:ht,connectionRadius:pt,isValidConnection:mt,selectNodesOnDrag:se,nodeDragThreshold:vt,connectionDragThreshold:yt,onBeforeDelete:B,debug:Tt,ariaLabelConfig:Dt,zIndexMode:Ot}),g(Nt,{onInit:d,onNodeClick:l,onEdgeClick:u,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:w,onNodeContextMenu:T,onNodeDoubleClick:E,nodeTypes:o,edgeTypes:s,connectionLineType:H,connectionLineStyle:U,connectionLineComponent:W,connectionLineContainerStyle:G,selectionKeyCode:ee,selectionOnDrag:te,selectionMode:ne,deleteKeyCode:K,multiSelectionKeyCode:J,panActivationKeyCode:q,zoomActivationKeyCode:re,onlyRenderVisibleElements:oe,defaultViewport:he,translateExtent:_e,minZoom:X,maxZoom:ge,preventScrolling:ve,zoomOnScroll:xe,zoomOnPinch:Se,zoomOnDoubleClick:Oe,panOnScroll:Te,panOnScrollSpeed:De,panOnScrollMode:Q,panOnDrag:ke,onPaneClick:Ae,onPaneMouseEnter:je,onPaneMouseMove:Me,onPaneMouseLeave:Ne,onPaneScroll:Pe,onPaneContextMenu:Fe,paneClickDistance:Ie,nodeClickDistance:Le,onSelectionContextMenu:L,onSelectionStart:R,onSelectionEnd:z,onReconnect:ze,onReconnectStart:Be,onReconnectEnd:Ve,onEdgeContextMenu:He,onEdgeDoubleClick:Ue,onEdgeMouseEnter:We,onEdgeMouseMove:Ge,onEdgeMouseLeave:Ke,reconnectRadius:qe,defaultMarkerColor:be,noDragClassName:Xe,noWheelClassName:$e,noPanClassName:et,rfId:jt,disableKeyboardA11y:lt,nodeExtent:Z,viewport:bt,onViewportChange:xt}),g(SelectionListener,{onSelectionChange:N}),Re,g(Attribution,{proOptions:at,position:it}),g(A11yDescriptions,{rfId:jt,disableKeyboardA11y:lt})]})})}var Ft=fixedForwardRef(ReactFlow);const selector$6=e=>e.domNode?.querySelector(`.react-flow__edgelabel-renderer`);function EdgeLabelRenderer({children:e}){let t=useStore(selector$6);return t?v(e,t):null}const selector$5=e=>e.domNode?.querySelector(`.react-flow__viewport-portal`);function ViewportPortal({children:e}){let t=useStore(selector$5);return t?v(e,t):null}Z.error014();function LinePattern({dimensions:e,lineWidth:t,variant:n,className:r}){return g(`path`,{strokeWidth:t,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:cc([`react-flow__background-pattern`,n,r])})}function DotPattern({radius:e,className:t}){return g(`circle`,{cx:e,cy:e,r:e,className:cc([`react-flow__background-pattern`,`dots`,t])})}var $;(function(e){e.Lines=`lines`,e.Dots=`dots`,e.Cross=`cross`})($||={});const It={[$.Dots]:1,[$.Lines]:1,[$.Cross]:6},selector$3=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function BackgroundComponent({id:e,variant:t=$.Dots,gap:n=20,size:r,lineWidth:a=1,offset:o=0,color:s,bgColor:c,style:l,className:u,patternClassName:d}){let f=p(null),{transform:m,patternId:h}=useStore(selector$3,shallow$1),v=r||It[t],y=t===$.Dots,b=t===$.Cross,x=Array.isArray(n)?n:[n,n],S=[x[0]*m[2]||1,x[1]*m[2]||1],C=v*m[2],w=Array.isArray(o)?o:[o,o],T=b?[C,C]:S,E=[w[0]*m[2]||1+T[0]/2,w[1]*m[2]||1+T[1]/2],D=`${h}${e||``}`;return _(`svg`,{className:cc([`react-flow__background`,u]),style:{...l,...it,"--xy-background-color-props":c,"--xy-background-pattern-color-props":s},ref:f,"data-testid":`rf__background`,children:[g(`pattern`,{id:D,x:m[0]%S[0],y:m[1]%S[1],width:S[0],height:S[1],patternUnits:`userSpaceOnUse`,patternTransform:`translate(-${E[0]},-${E[1]})`,children:y?g(DotPattern,{radius:C/2,className:d}):g(LinePattern,{dimensions:T,lineWidth:a,variant:t,className:d})}),g(`rect`,{x:`0`,y:`0`,width:`100%`,height:`100%`,fill:`url(#${D})`})]})}BackgroundComponent.displayName=`Background`;const Lt=s(BackgroundComponent);function PlusIcon(){return g(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 32`,children:g(`path`,{d:`M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z`})})}function MinusIcon(){return g(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 5`,children:g(`path`,{d:`M0 0h32v4.2H0z`})})}function FitViewIcon(){return g(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 32 30`,children:g(`path`,{d:`M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z`})})}function LockIcon(){return g(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:g(`path`,{d:`M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z`})})}function UnlockIcon(){return g(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 25 32`,children:g(`path`,{d:`M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z`})})}function ControlButton({children:e,className:t,...n}){return g(`button`,{type:`button`,className:cc([`react-flow__controls-button`,t]),...n,children:e})}const selector$2=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function ControlsComponent({style:e,showZoom:t=!0,showFitView:n=!0,showInteractive:r=!0,fitViewOptions:a,onZoomIn:o,onZoomOut:s,onFitView:c,onInteractiveChange:l,className:u,children:d,position:f=`bottom-left`,orientation:p=`vertical`,"aria-label":m}){let v=useStoreApi(),{isInteractive:y,minZoomReached:b,maxZoomReached:x,ariaLabelConfig:S}=useStore(selector$2,shallow$1),{zoomIn:C,zoomOut:w,fitView:T}=useReactFlow(),onZoomInHandler=()=>{C(),o?.()},onZoomOutHandler=()=>{w(),s?.()},onFitViewHandler=()=>{T(a),c?.()},onToggleInteractivity=()=>{v.setState({nodesDraggable:!y,nodesConnectable:!y,elementsSelectable:!y}),l?.(!y)};return _(Ye,{className:cc([`react-flow__controls`,p===`horizontal`?`horizontal`:`vertical`,u]),position:f,style:e,"data-testid":`rf__controls`,"aria-label":m??S[`controls.ariaLabel`],children:[t&&_(h,{children:[g(ControlButton,{onClick:onZoomInHandler,className:`react-flow__controls-zoomin`,title:S[`controls.zoomIn.ariaLabel`],"aria-label":S[`controls.zoomIn.ariaLabel`],disabled:x,children:g(PlusIcon,{})}),g(ControlButton,{onClick:onZoomOutHandler,className:`react-flow__controls-zoomout`,title:S[`controls.zoomOut.ariaLabel`],"aria-label":S[`controls.zoomOut.ariaLabel`],disabled:b,children:g(MinusIcon,{})})]}),n&&g(ControlButton,{className:`react-flow__controls-fitview`,onClick:onFitViewHandler,title:S[`controls.fitView.ariaLabel`],"aria-label":S[`controls.fitView.ariaLabel`],children:g(FitViewIcon,{})}),r&&g(ControlButton,{className:`react-flow__controls-interactive`,onClick:onToggleInteractivity,title:S[`controls.interactive.ariaLabel`],"aria-label":S[`controls.interactive.ariaLabel`],children:g(y?UnlockIcon:LockIcon,{})}),d]})}ControlsComponent.displayName=`Controls`,s(ControlsComponent);function MiniMapNodeComponent({id:e,x:t,y:n,width:r,height:a,style:o,color:s,strokeColor:c,strokeWidth:l,className:u,borderRadius:d,shapeRendering:f,selected:p,onClick:m}){let{background:h,backgroundColor:_}=o||{},v=s||h||_;return g(`rect`,{className:cc([`react-flow__minimap-node`,{selected:p},u]),x:t,y:n,rx:d,ry:d,width:r,height:a,style:{fill:v,stroke:c,strokeWidth:l},shapeRendering:f,onClick:m?t=>m(t,e):void 0})}const Rt=s(MiniMapNodeComponent),selectorNodeIds=e=>e.nodes.map(e=>e.id),getAttrFunction=e=>e instanceof Function?e:()=>e;function MiniMapNodes({nodeStrokeColor:e,nodeColor:t,nodeClassName:n=``,nodeBorderRadius:r=5,nodeStrokeWidth:a,nodeComponent:o=Rt,onClick:s}){let c=useStore(selectorNodeIds,shallow$1),l=getAttrFunction(t),u=getAttrFunction(e),d=getAttrFunction(n),f=typeof window>`u`||window.chrome?`crispEdges`:`geometricPrecision`;return g(h,{children:c.map(e=>g(zt,{id:e,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:r,nodeStrokeWidth:a,NodeComponent:o,onClick:s,shapeRendering:f},e))})}function NodeComponentWrapperInner({id:e,nodeColorFunc:t,nodeStrokeColorFunc:n,nodeClassNameFunc:r,nodeBorderRadius:a,nodeStrokeWidth:o,shapeRendering:s,NodeComponent:c,onClick:l}){let{node:u,x:d,y:f,width:p,height:m}=useStore(t=>{let n=t.nodeLookup.get(e);if(!n)return{node:void 0,x:0,y:0,width:0,height:0};let r=n.internals.userNode,{x:a,y:o}=n.internals.positionAbsolute,{width:s,height:c}=getNodeDimensions(r);return{node:r,x:a,y:o,width:s,height:c}},shallow$1);return!u||u.hidden||!nodeHasDimensions(u)?null:g(c,{x:d,y:f,width:p,height:m,style:u.style,selected:!!u.selected,className:r(u),color:t(u),borderRadius:a,strokeColor:n(u),strokeWidth:o,shapeRendering:s,onClick:l,id:u.id})}const zt=s(NodeComponentWrapperInner);var Bt=s(MiniMapNodes);const filterHidden=e=>!e.hidden,selector$1=e=>{let t={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:t,boundingRect:e.nodeLookup.size>0?getBoundsOfRects(getInternalNodesBounds(e.nodeLookup,{filter:filterHidden}),t):t,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}};function MiniMapComponent({style:e,className:t,nodeStrokeColor:n,nodeColor:r,nodeClassName:a=``,nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:l,bgColor:d,maskColor:f,maskStrokeColor:m,maskStrokeWidth:h,position:v=`bottom-right`,onClick:y,onNodeClick:b,pannable:x=!1,zoomable:S=!1,ariaLabel:C,inversePan:w,zoomStep:T=1,offsetScale:E=5}){let D=useStoreApi(),O=p(null),{boundingRect:k,viewBB:A,rfId:j,panZoom:M,translateExtent:N,flowWidth:P,flowHeight:F,ariaLabelConfig:I}=useStore(selector$1,shallow$1),L=e?.width??200,R=e?.height??150,z=k.width/L,B=k.height/R,V=Math.max(z,B),H=V*L,U=V*R,W=E*V,G=k.x-(H-k.width)/2-W,K=k.y-(U-k.height)/2-W,ee=H+W*2,te=U+W*2,ne=`react-flow__minimap-desc-${j}`,q=p(0),J=p();q.current=V,u(()=>{if(O.current&&M)return J.current=XYMinimap({domNode:O.current,panZoom:M,getTransform:()=>D.getState().transform,getViewScale:()=>q.current}),()=>{J.current?.destroy()}},[M]),u(()=>{J.current?.update({translateExtent:N,width:P,height:F,inversePan:w,pannable:x,zoomStep:T,zoomable:S})},[x,S,w,T,N,P,F]);let re=y?e=>{let[t,n]=J.current?.pointer(e)||[0,0];y(e,{x:t,y:n})}:void 0,ie=b?c((e,t)=>{let n=D.getState().nodeLookup.get(t).internals.userNode;b(e,n)},[]):void 0,ae=C??I[`minimap.ariaLabel`];return g(Ye,{position:v,style:{...e,"--xy-minimap-background-color-props":typeof d==`string`?d:void 0,"--xy-minimap-mask-background-color-props":typeof f==`string`?f:void 0,"--xy-minimap-mask-stroke-color-props":typeof m==`string`?m:void 0,"--xy-minimap-mask-stroke-width-props":typeof h==`number`?h*V:void 0,"--xy-minimap-node-background-color-props":typeof r==`string`?r:void 0,"--xy-minimap-node-stroke-color-props":typeof n==`string`?n:void 0,"--xy-minimap-node-stroke-width-props":typeof s==`number`?s:void 0},className:cc([`react-flow__minimap`,t]),"data-testid":`rf__minimap`,children:_(`svg`,{width:L,height:R,viewBox:`${G} ${K} ${ee} ${te}`,className:`react-flow__minimap-svg`,role:`img`,"aria-labelledby":ne,ref:O,onClick:re,children:[ae&&g(`title`,{id:ne,children:ae}),g(Bt,{onClick:ie,nodeColor:r,nodeStrokeColor:n,nodeBorderRadius:o,nodeClassName:a,nodeStrokeWidth:s,nodeComponent:l}),g(`path`,{className:`react-flow__minimap-mask`,d:`M${G-W},${K-W}h${ee+W*2}v${te+W*2}h${-ee-W*2}z
|
|
7
|
-
M${A.x},${A.y}h${A.width}v${A.height}h${-A.width}z`,fillRule:`evenodd`,pointerEvents:`none`})]})})}MiniMapComponent.displayName=`MiniMap`,s(MiniMapComponent);const scaleSelector=e=>t=>e?`${Math.max(1/t.transform[2],1)}`:void 0,Vt={[Fe.Line]:`right`,[Fe.Handle]:`bottom-right`};function ResizeControl({nodeId:e,position:t,variant:n=Fe.Handle,className:r,style:a=void 0,children:o,color:s,minWidth:l=10,minHeight:d=10,maxWidth:f=Number.MAX_VALUE,maxHeight:m=Number.MAX_VALUE,keepAspectRatio:h=!1,resizeDirection:_,autoScale:v=!0,shouldResize:y,onResizeStart:b,onResize:x,onResizeEnd:S}){let C=useNodeId(),w=typeof e==`string`?e:C,T=useStoreApi(),E=p(null),D=n===Fe.Handle,O=useStore(c(scaleSelector(D&&v),[D,v]),shallow$1),k=p(null),A=t??Vt[n];return u(()=>{if(!(!E.current||!w))return k.current||=XYResizer({domNode:E.current,nodeId:w,getStoreItems:()=>{let{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:a,domNode:o}=T.getState();return{nodeLookup:e,transform:t,snapGrid:n,snapToGrid:r,nodeOrigin:a,paneDomNode:o}},onChange:(e,t)=>{let{triggerNodeChanges:n,nodeLookup:r,parentLookup:a,nodeOrigin:o}=T.getState(),s=[],c={x:e.x,y:e.y},l=r.get(w);if(l&&l.expandParent&&l.parentId){let t=l.origin??o,n=e.width??l.measured.width??0,u=e.height??l.measured.height??0,d=handleExpandParent([{id:l.id,parentId:l.parentId,rect:{width:n,height:u,...evaluateAbsolutePosition({x:e.x??l.position.x,y:e.y??l.position.y},{width:n,height:u},l.parentId,r,t)}}],r,a,o);s.push(...d),c.x=e.x?Math.max(t[0]*n,e.x):void 0,c.y=e.y?Math.max(t[1]*u,e.y):void 0}if(c.x!==void 0&&c.y!==void 0){let e={id:w,type:`position`,position:{...c}};s.push(e)}if(e.width!==void 0&&e.height!==void 0){let t={id:w,type:`dimensions`,resizing:!0,setAttributes:_?_===`horizontal`?`width`:`height`:!0,dimensions:{width:e.width,height:e.height}};s.push(t)}for(let e of t){let t={...e,type:`position`};s.push(t)}n(s)},onEnd:({width:e,height:t})=>{let n={id:w,type:`dimensions`,resizing:!1,dimensions:{width:e,height:t}};T.getState().triggerNodeChanges([n])}}),k.current.update({controlPosition:A,boundaries:{minWidth:l,minHeight:d,maxWidth:f,maxHeight:m},keepAspectRatio:h,resizeDirection:_,onResizeStart:b,onResize:x,onResizeEnd:S,shouldResize:y}),()=>{k.current?.destroy()}},[A,l,d,f,m,h,b,x,S,y]),g(`div`,{className:cc([`react-flow__resize-control`,`nodrag`,...A.split(`-`),n,r]),ref:E,style:{...a,scale:O,...s&&{[D?`backgroundColor`:`borderColor`]:s}},children:o})}s(ResizeControl);const selector=e=>e.domNode?.querySelector(`.react-flow__renderer`);function NodeToolbarPortal({children:e}){let t=useStore(selector);return t?v(e,t):null}const nodeEqualityFn=(e,t)=>e?.internals.positionAbsolute.x!==t?.internals.positionAbsolute.x||e?.internals.positionAbsolute.y!==t?.internals.positionAbsolute.y||e?.measured.width!==t?.measured.width||e?.measured.height!==t?.measured.height||e?.selected!==t?.selected||e?.internals.z!==t?.internals.z,nodesEqualityFn=(e,t)=>{if(e.size!==t.size)return!1;for(let[n,r]of e)if(nodeEqualityFn(r,t.get(n)))return!1;return!0},storeSelector=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2],selectedNodesCount:e.nodes.filter(e=>e.selected).length});function NodeToolbar({nodeId:e,children:t,className:n,style:r,isVisible:a,position:o=Q.Top,offset:s=10,align:l=`center`,...u}){let d=useNodeId(),f=useStore(c(t=>(Array.isArray(e)?e:[e||d||``]).reduce((e,n)=>{let r=t.nodeLookup.get(n);return r&&e.set(r.id,r),e},new Map),[e,d]),nodesEqualityFn),{x:p,y:m,zoom:h,selectedNodesCount:_}=useStore(storeSelector,shallow$1);if(!(typeof a==`boolean`?a:f.size===1&&f.values().next().value?.selected&&_===1)||!f.size)return null;let v=getInternalNodesBounds(f),y=Array.from(f.values()),b=Math.max(...y.map(e=>e.internals.z+1));return g(NodeToolbarPortal,{children:g(`div`,{style:{position:`absolute`,transform:getNodeToolbarTransform(v,{x:p,y:m,zoom:h},o,s,l),zIndex:b,...r},className:cc([`react-flow__node-toolbar`,n]),...u,"data-id":y.reduce((e,t)=>`${e}${t.id} `,``).trim(),children:t})})}export{nodeToRect as C,isMacOs as S,getEdgePosition as _,NodeToolbar as a,getSmoothStepPath as b,ViewportPortal as c,Ft as d,useReactFlow as f,getBezierPath as g,Q as h,st as i,applyEdgeChanges as l,useStoreApi as m,$ as n,Ye as o,useStore as p,EdgeLabelRenderer as r,ReactFlowProvider as s,Lt as t,applyNodeChanges as u,getNodeDimensions as v,getViewportForBounds as x,getNodesBounds as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"../../rolldown-runtime.mjs";var createAnatomy=(e,t=[])=>({parts:(...n)=>{if(isEmpty(t))return createAnatomy(e,n);throw Error(`createAnatomy().parts(...) should only be called once. Did you mean to use .extendWith(...) ?`)},extendWith:(...n)=>createAnatomy(e,[...t,...n]),omit:(...n)=>createAnatomy(e,t.filter(e=>!n.includes(e))),rename:e=>createAnatomy(e,t),keys:()=>t,build:()=>[...new Set(t)].reduce((t,n)=>Object.assign(t,{[n]:{selector:[`&[data-scope="${toKebabCase(e)}"][data-part="${toKebabCase(n)}"]`,`& [data-scope="${toKebabCase(e)}"][data-part="${toKebabCase(n)}"]`].join(`, `),attrs:{"data-scope":toKebabCase(e),"data-part":toKebabCase(n)}}}),{})}),toKebabCase=e=>e.replace(/([A-Z])([A-Z])/g,`$1-$2`).replace(/([a-z])([A-Z])/g,`$1-$2`).replace(/[\s_]+/g,`-`).toLowerCase(),isEmpty=e=>e.length===0;export{createAnatomy as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{i as e}from"../../rolldown-runtime.mjs";function toArray(e){return e==null?[]:Array.isArray(e)?e:[e]}var first=e=>e[0],last=e=>e[e.length-1],has=(e,t)=>e.indexOf(t)!==-1,add=(e,...t)=>e.concat(t),t=e((e,...t)=>e.filter(e=>!t.includes(e)),`remove`),uniq=e=>Array.from(new Set(e)),diff=(e,t)=>{let n=new Set(t);return e.filter(e=>!n.has(e))},addOrRemove=(e,n)=>has(e,n)?t(e,n):add(e,n);function partition(e,t){return e.reduce(([e,n],r)=>(t(r)?e.push(r):n.push(r),[e,n]),[[],[]])}var isArrayLike=e=>e?.constructor.name===`Array`,isArrayEqual=(e,t)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!isEqual(e[n],t[n]))return!1;return!0},isEqual=(e,t)=>{if(Object.is(e,t))return!0;if(e==null&&t!=null||e!=null&&t==null)return!1;if(typeof e?.isEqual==`function`&&typeof t?.isEqual==`function`)return e.isEqual(t);if(typeof e==`function`&&typeof t==`function`)return e.toString()===t.toString();if(isArrayLike(e)&&isArrayLike(t))return isArrayEqual(Array.from(e),Array.from(t));if(typeof e!=`object`||typeof t!=`object`)return!1;let n=Object.keys(t??Object.create(null)),r=n.length;for(let t=0;t<r;t++)if(!Reflect.has(e,n[t]))return!1;for(let i=0;i<r;i++){let r=n[i];if(!isEqual(e[r],t[r]))return!1}return!0},isArray=e=>Array.isArray(e),isObjectLike=e=>typeof e==`object`&&!!e,isObject=e=>isObjectLike(e)&&!isArray(e),isString=e=>typeof e==`string`,isFunction=e=>typeof e==`function`,hasProp=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),baseGetTag=e=>Object.prototype.toString.call(e),n=Function.prototype.toString,r=n.call(Object),isPlainObject=e=>{if(!isObjectLike(e)||baseGetTag(e)!=`[object Object]`||isFrameworkElement(e))return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let i=hasProp(t,`constructor`)&&t.constructor;return typeof i==`function`&&i instanceof i&&n.call(i)==r},isReactElement=e=>typeof e==`object`&&!!e&&`$$typeof`in e&&`props`in e,isVueElement=e=>typeof e==`object`&&!!e&&`__v_isVNode`in e,isFrameworkElement=e=>isReactElement(e)||isVueElement(e),identity=e=>e(),callAll=(...e)=>(...t)=>{e.forEach(function(e){e?.(...t)})},{floor:i,abs:a,round:o,min:s,max:c,pow:l,sign:u}=Math;function compact(e){if(!isPlainObject(e)||e===void 0)return e;let t=Reflect.ownKeys(e).filter(e=>typeof e==`string`),n={};for(let r of t){let t=e[r];t!==void 0&&(n[r]=compact(t))}return n}function splitProps(e,t){let n={},r={},i=new Set(t),a=Reflect.ownKeys(e);for(let t of a)i.has(t)?r[t]=e[t]:n[t]=e[t];return[r,n]}var createSplitProps=e=>function split(t){return splitProps(t,e)};function warn(...e){e.length===1?e[0]:e[1],e.length===2&&e[0]}function ensure(e,t){if(e==null)throw Error(t())}var d=Object.defineProperty,__defNormalProp=(e,t,n)=>t in e?d(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__publicField=(e,t,n)=>__defNormalProp(e,typeof t==`symbol`?t:t+``,n);function access(e,t,n){for(let r=0;r<t.length;r++)e=n.getChildren(e,t.slice(r+1))[t[r]];return e}function ancestorIndexPaths(e){let t=sortIndexPaths(e),n=[],r=new Set;for(let e of t){let t=e.join();r.has(t)||(r.add(t),n.push(e))}return n}function compareIndexPaths(e,t){for(let n=0;n<Math.min(e.length,t.length);n++){if(e[n]<t[n])return-1;if(e[n]>t[n])return 1}return e.length-t.length}function sortIndexPaths(e){return e.sort(compareIndexPaths)}function find(e,t){let n;return visit(e,{...t,onEnter:(e,r)=>{if(t.predicate(e,r))return n=e,`stop`}}),n}function findAll(e,t){let n=[];return visit(e,{onEnter:(e,r)=>{t.predicate(e,r)&&n.push(e)},getChildren:t.getChildren}),n}function findIndexPath(e,t){let n;return visit(e,{onEnter:(e,r)=>{if(t.predicate(e,r))return n=[...r],`stop`},getChildren:t.getChildren}),n}function reduce(e,t){let n=t.initialResult;return visit(e,{...t,onEnter:(e,r)=>{n=t.nextResult(n,e,r)}}),n}function flatMap(e,t){return reduce(e,{...t,initialResult:[],nextResult:(e,n,r)=>(e.push(...t.transform(n,r)),e)})}function filter(e,t){let{predicate:n,create:r,getChildren:i}=t,filterRecursive=(e,t)=>{let a=i(e,t),o=[];a.forEach((e,n)=>{let r=filterRecursive(e,[...t,n]);r&&o.push(r)});let s=t.length===0,c=n(e,t),l=o.length>0;return s||c||l?r(e,o,t):null};return filterRecursive(e,[])||r(e,[],[])}function flatten(e,t){let n=[],r=0,i=new Map,a=new Map;return visit(e,{getChildren:t.getChildren,onEnter:(e,o)=>{i.has(e)||i.set(e,r++);let s=t.getChildren(e,o);s.forEach(t=>{a.has(t)||a.set(t,e),i.has(t)||i.set(t,r++)});let c=s.length>0?s.map(e=>i.get(e)):void 0,l=a.get(e),u=l?i.get(l):void 0,d=i.get(e);n.push({...e,_children:c,_parent:u,_index:d})}}),n}function insertOperation(e,t){return{type:`insert`,index:e,nodes:t}}function removeOperation(e){return{type:`remove`,indexes:e}}function replaceOperation(){return{type:`replace`}}function splitIndexPath(e){return[e.slice(0,-1),e[e.length-1]]}function getInsertionOperations(e,t,n=new Map){let[r,i]=splitIndexPath(e);for(let e=r.length-1;e>=0;e--){let t=r.slice(0,e).join();switch(n.get(t)?.type){case`remove`:continue}n.set(t,replaceOperation())}let a=n.get(r.join());switch(a?.type){case`remove`:n.set(r.join(),{type:`removeThenInsert`,removeIndexes:a.indexes,insertIndex:i,insertNodes:t});break;default:n.set(r.join(),insertOperation(i,t))}return n}function getRemovalOperations(e){let t=new Map,n=new Map;for(let t of e){let e=t.slice(0,-1).join(),r=n.get(e)??[];r.push(t[t.length-1]),n.set(e,r.sort((e,t)=>e-t))}for(let n of e)for(let e=n.length-2;e>=0;e--){let r=n.slice(0,e).join();t.has(r)||t.set(r,replaceOperation())}for(let[e,r]of n)t.set(e,removeOperation(r));return t}function getReplaceOperations(e,t){let n=new Map,[r,i]=splitIndexPath(e);for(let e=r.length-1;e>=0;e--){let t=r.slice(0,e).join();n.set(t,replaceOperation())}return n.set(r.join(),{type:`removeThenInsert`,removeIndexes:[i],insertIndex:i,insertNodes:[t]}),n}function mutate(e,t,n){return map(e,{...n,getChildren:(e,r)=>{let i=r.join();switch(t.get(i)?.type){case`replace`:case`remove`:case`removeThenInsert`:case`insert`:return n.getChildren(e,r);default:return[]}},transform:(e,r,i)=>{let a=i.join(),o=t.get(a);switch(o?.type){case`remove`:return n.create(e,r.filter((e,t)=>!o.indexes.includes(t)),i);case`removeThenInsert`:let t=r.filter((e,t)=>!o.removeIndexes.includes(t)),a=o.removeIndexes.reduce((e,t)=>t<e?e-1:e,o.insertIndex);return n.create(e,splice(t,a,0,...o.insertNodes),i);case`insert`:return n.create(e,splice(r,o.index,0,...o.nodes),i);case`replace`:return n.create(e,r,i);default:return e}}})}function splice(e,t,n,...r){return[...e.slice(0,t),...r,...e.slice(t+n)]}function map(e,t){let n={};return visit(e,{...t,onLeave:(e,r)=>{let i=[0,...r],a=i.join(),o=t.transform(e,n[a]??[],r),s=i.slice(0,-1).join(),c=n[s]??[];c.push(o),n[s]=c}}),n[``][0]}function insert2(e,t){let{nodes:n,at:r}=t;if(r.length===0)throw Error(`Can't insert nodes at the root`);return mutate(e,getInsertionOperations(r,n),t)}function replace(e,t){return t.at.length===0?t.node:mutate(e,getReplaceOperations(t.at,t.node),t)}function remove(e,t){if(t.indexPaths.length===0)return e;for(let e of t.indexPaths)if(e.length===0)throw Error(`Can't remove the root node`);return mutate(e,getRemovalOperations(t.indexPaths),t)}function move2(e,t){if(t.indexPaths.length===0)return e;for(let e of t.indexPaths)if(e.length===0)throw Error(`Can't move the root node`);if(t.to.length===0)throw Error(`Can't move nodes to the root`);let n=ancestorIndexPaths(t.indexPaths),r=n.map(n=>access(e,n,t));return mutate(e,getInsertionOperations(t.to,r,getRemovalOperations(n)),t)}function visit(e,t){let{onEnter:n,onLeave:r,getChildren:i}=t,a=[],o=[{node:e}],s=t.reuseIndexPath?()=>a:()=>a.slice();for(;o.length>0;){let e=o[o.length-1];if(e.state===void 0){let t=n?.(e.node,s());if(t===`stop`)return;e.state=t===`skip`?-1:0}let t=e.children||i(e.node,s());if(e.children||=t,e.state!==-1){if(e.state<t.length){let n=e.state;a.push(n),o.push({node:t[n]}),e.state=n+1;continue}if(r?.(e.node,s())===`stop`)return}a.pop(),o.pop()}}var f=class _TreeCollection{constructor(e){this.options=e,__publicField(this,`rootNode`),__publicField(this,`isEqual`,e=>isEqual(this.rootNode,e.rootNode)),__publicField(this,`getNodeChildren`,e=>this.options.nodeToChildren?.(e)??p.nodeToChildren(e)??[]),__publicField(this,`resolveIndexPath`,e=>typeof e==`string`?this.getIndexPath(e):e),__publicField(this,`resolveNode`,e=>{let t=this.resolveIndexPath(e);return t?this.at(t):void 0}),__publicField(this,`getNodeChildrenCount`,e=>this.options.nodeToChildrenCount?.(e)??p.nodeToChildrenCount(e)),__publicField(this,`getNodeValue`,e=>this.options.nodeToValue?.(e)??p.nodeToValue(e)),__publicField(this,`getNodeDisabled`,e=>this.options.isNodeDisabled?.(e)??p.isNodeDisabled(e)),__publicField(this,`stringify`,e=>{let t=this.findNode(e);return t?this.stringifyNode(t):null}),__publicField(this,`stringifyNode`,e=>this.options.nodeToString?.(e)??p.nodeToString(e)),__publicField(this,`getFirstNode`,(e=this.rootNode,t={})=>{let n;return visit(e,{getChildren:this.getNodeChildren,onEnter:(r,i)=>{if(!this.isSameNode(r,e)){if(t.skip?.({value:this.getNodeValue(r),node:r,indexPath:i}))return`skip`;if(!n&&i.length>0&&!this.getNodeDisabled(r))return n=r,`stop`}}}),n}),__publicField(this,`getLastNode`,(e=this.rootNode,t={})=>{let n;return visit(e,{getChildren:this.getNodeChildren,onEnter:(r,i)=>{if(!this.isSameNode(r,e)){if(t.skip?.({value:this.getNodeValue(r),node:r,indexPath:i}))return`skip`;i.length>0&&!this.getNodeDisabled(r)&&(n=r)}}}),n}),__publicField(this,`at`,e=>access(this.rootNode,e,{getChildren:this.getNodeChildren})),__publicField(this,`findNode`,(e,t=this.rootNode)=>find(t,{getChildren:this.getNodeChildren,predicate:t=>this.getNodeValue(t)===e})),__publicField(this,`findNodes`,(e,t=this.rootNode)=>{let n=new Set(e.filter(e=>e!=null));return findAll(t,{getChildren:this.getNodeChildren,predicate:e=>n.has(this.getNodeValue(e))})}),__publicField(this,`sort`,e=>e.reduce((e,t)=>{let n=this.getIndexPath(t);return n&&e.push({value:t,indexPath:n}),e},[]).sort((e,t)=>compareIndexPaths(e.indexPath,t.indexPath)).map(({value:e})=>e)),__publicField(this,`getIndexPath`,e=>findIndexPath(this.rootNode,{getChildren:this.getNodeChildren,predicate:t=>this.getNodeValue(t)===e})),__publicField(this,`getValue`,e=>{let t=this.at(e);return t?this.getNodeValue(t):void 0}),__publicField(this,`getValuePath`,e=>{if(!e)return[];let t=[],n=[...e];for(;n.length>0;){let e=this.at(n);e&&t.unshift(this.getNodeValue(e)),n.pop()}return t}),__publicField(this,`getDepth`,e=>findIndexPath(this.rootNode,{getChildren:this.getNodeChildren,predicate:t=>this.getNodeValue(t)===e})?.length??0),__publicField(this,`isSameNode`,(e,t)=>this.getNodeValue(e)===this.getNodeValue(t)),__publicField(this,`isRootNode`,e=>this.isSameNode(e,this.rootNode)),__publicField(this,`contains`,(e,t)=>!e||!t?!1:t.slice(0,e.length).every((n,r)=>e[r]===t[r])),__publicField(this,`getNextNode`,(e,t={})=>{let n=!1,r;return visit(this.rootNode,{getChildren:this.getNodeChildren,onEnter:(i,a)=>{if(this.isRootNode(i))return;let o=this.getNodeValue(i);if(t.skip?.({value:o,node:i,indexPath:a}))return o===e&&(n=!0),`skip`;if(n&&!this.getNodeDisabled(i))return r=i,`stop`;o===e&&(n=!0)}}),r}),__publicField(this,`getPreviousNode`,(e,t={})=>{let n,r=!1;return visit(this.rootNode,{getChildren:this.getNodeChildren,onEnter:(i,a)=>{if(this.isRootNode(i))return;let o=this.getNodeValue(i);if(t.skip?.({value:o,node:i,indexPath:a}))return`skip`;if(o===e)return r=!0,`stop`;this.getNodeDisabled(i)||(n=i)}}),r?n:void 0}),__publicField(this,`getParentNodes`,e=>{let t=this.resolveIndexPath(e)?.slice();if(!t)return[];let n=[];for(;t.length>0;){t.pop();let e=this.at(t);e&&!this.isRootNode(e)&&n.unshift(e)}return n}),__publicField(this,`getDescendantNodes`,(e,t)=>{let n=this.resolveNode(e);if(!n)return[];let r=[];return visit(n,{getChildren:this.getNodeChildren,onEnter:(e,n)=>{n.length!==0&&(!t?.withBranch&&this.isBranchNode(e)||r.push(e))}}),r}),__publicField(this,`getDescendantValues`,(e,t)=>this.getDescendantNodes(e,t).map(e=>this.getNodeValue(e))),__publicField(this,`getParentIndexPath`,e=>e.slice(0,-1)),__publicField(this,`getParentNode`,e=>{let t=this.resolveIndexPath(e);return t?this.at(this.getParentIndexPath(t)):void 0}),__publicField(this,`visit`,e=>{let{skip:t,...n}=e;visit(this.rootNode,{...n,getChildren:this.getNodeChildren,onEnter:(e,r)=>{if(!this.isRootNode(e))return t?.({value:this.getNodeValue(e),node:e,indexPath:r})?`skip`:n.onEnter?.(e,r)}})}),__publicField(this,`getPreviousSibling`,e=>{let t=this.getParentNode(e);if(!t)return;let n=this.getNodeChildren(t),r=e[e.length-1];for(;--r>=0;){let e=n[r];if(!this.getNodeDisabled(e))return e}}),__publicField(this,`getNextSibling`,e=>{let t=this.getParentNode(e);if(!t)return;let n=this.getNodeChildren(t),r=e[e.length-1];for(;++r<n.length;){let e=n[r];if(!this.getNodeDisabled(e))return e}}),__publicField(this,`getSiblingNodes`,e=>{let t=this.getParentNode(e);return t?this.getNodeChildren(t):[]}),__publicField(this,`getValues`,(e=this.rootNode)=>flatMap(e,{getChildren:this.getNodeChildren,transform:e=>[this.getNodeValue(e)]}).slice(1)),__publicField(this,`isValidDepth`,(e,t)=>t==null?!0:typeof t==`function`?t(e.length):e.length===t),__publicField(this,`isBranchNode`,e=>this.getNodeChildren(e).length>0||this.getNodeChildrenCount(e)!=null),__publicField(this,`getBranchValues`,(e=this.rootNode,t={})=>{let n=[];return visit(e,{getChildren:this.getNodeChildren,onEnter:(e,r)=>{if(r.length===0)return;let i=this.getNodeValue(e);if(t.skip?.({value:i,node:e,indexPath:r}))return`skip`;this.isBranchNode(e)&&this.isValidDepth(r,t.depth)&&n.push(this.getNodeValue(e))}}),n}),__publicField(this,`flatten`,(e=this.rootNode)=>flatten(e,{getChildren:this.getNodeChildren})),__publicField(this,`_create`,(e,t)=>this.getNodeChildren(e).length>0||t.length>0?{...e,children:t}:{...e}),__publicField(this,`_insert`,(e,t,n)=>this.copy(insert2(e,{at:t,nodes:n,getChildren:this.getNodeChildren,create:this._create}))),__publicField(this,`copy`,e=>new _TreeCollection({...this.options,rootNode:e})),__publicField(this,`_replace`,(e,t,n)=>this.copy(replace(e,{at:t,node:n,getChildren:this.getNodeChildren,create:this._create}))),__publicField(this,`_move`,(e,t,n)=>this.copy(move2(e,{indexPaths:t,to:n,getChildren:this.getNodeChildren,create:this._create}))),__publicField(this,`_remove`,(e,t)=>this.copy(remove(e,{indexPaths:t,getChildren:this.getNodeChildren,create:this._create}))),__publicField(this,`replace`,(e,t)=>this._replace(this.rootNode,e,t)),__publicField(this,`remove`,e=>this._remove(this.rootNode,e)),__publicField(this,`insertBefore`,(e,t)=>this.getParentNode(e)?this._insert(this.rootNode,e,t):void 0),__publicField(this,`insertAfter`,(e,t)=>{if(!this.getParentNode(e))return;let n=[...e.slice(0,-1),e[e.length-1]+1];return this._insert(this.rootNode,n,t)}),__publicField(this,`move`,(e,t)=>this._move(this.rootNode,e,t)),__publicField(this,`filter`,e=>{let t=filter(this.rootNode,{predicate:e,getChildren:this.getNodeChildren,create:this._create});return this.copy(t)}),__publicField(this,`toJSON`,()=>this.getValues(this.rootNode)),this.rootNode=e.rootNode}},p={nodeToValue(e){return typeof e==`string`?e:isObject(e)&&hasProp(e,`value`)?e.value:``},nodeToString(e){return typeof e==`string`?e:isObject(e)&&hasProp(e,`label`)?e.label:p.nodeToValue(e)},isNodeDisabled(e){return isObject(e)&&hasProp(e,`disabled`)?!!e.disabled:!1},nodeToChildren(e){return e.children},nodeToChildrenCount(e){if(isObject(e)&&hasProp(e,`childrenCount`))return e.childrenCount}};export{t as _,compact as a,warn as b,ensure as c,isArray as d,isEqual as f,partition as g,last as h,callAll as i,first as l,isString as m,add as n,createSplitProps as o,isFunction as p,addOrRemove as r,diff as s,f as t,identity as u,toArray as v,uniq as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"../../rolldown-runtime.mjs";import{i as e,m as t}from"./collection.mjs";var n=Object.defineProperty,__defNormalProp=(e,t,r)=>t in e?n(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__publicField=(e,t,n)=>__defNormalProp(e,typeof t==`symbol`?t:t+``,n),wrap=(e,t)=>e.map((n,r)=>e[(Math.max(t,0)+r)%e.length]),isObject=e=>typeof e==`object`&&!!e,dataAttr=e=>e?``:void 0,ariaAttr=e=>e?`true`:void 0,r=1,i=9,a=11,isHTMLElement=e=>isObject(e)&&e.nodeType===r&&typeof e.nodeName==`string`,isDocument=e=>isObject(e)&&e.nodeType===i,isWindow=e=>isObject(e)&&e===e.window,isNode=e=>isObject(e)&&e.nodeType!==void 0,isShadowRoot=e=>isNode(e)&&e.nodeType===a&&`host`in e,isInputElement=e=>isHTMLElement(e)&&e.localName===`input`,isAnchorElement=e=>!!e?.matches(`a[href]`);function isActiveElement(e){return e?getActiveElement(e.getRootNode())===e:!1}var o=/(textarea|select)/;function isEditableElement(e){if(e==null||!isHTMLElement(e))return!1;try{return isInputElement(e)&&e.selectionStart!=null||o.test(e.localName)||e.isContentEditable||e.getAttribute(`contenteditable`)===`true`||e.getAttribute(`contenteditable`)===``}catch{return!1}}function getDocument(e){return isDocument(e)?e:isWindow(e)?e.document:e?.ownerDocument??document}function getWindow(e){return isShadowRoot(e)?getWindow(e.host):isDocument(e)?e.defaultView??window:isHTMLElement(e)?e.ownerDocument?.defaultView??window:window}function getActiveElement(e){let t=e.activeElement;for(;t?.shadowRoot;){let e=t.shadowRoot.activeElement;if(!e||e===t)break;t=e}return t}function getComposedPath(e){return e.composedPath?.()??e.nativeEvent?.composedPath?.()}function getEventTarget(e){return getComposedPath(e)?.[0]??e.target}function isComposingEvent(e){return getNativeEvent(e).isComposing||e.keyCode===229}var isLeftClick=e=>e.button===0,isModifierKey=e=>e.ctrlKey||e.altKey||e.metaKey,s={Up:`ArrowUp`,Down:`ArrowDown`,Esc:`Escape`," ":`Space`,",":`Comma`,Left:`ArrowLeft`,Right:`ArrowRight`},c={ArrowLeft:`ArrowRight`,ArrowRight:`ArrowLeft`};function getEventKey(e,t={}){let{dir:n=`ltr`,orientation:r=`horizontal`}=t,i=e.key;return i=s[i]??i,n===`rtl`&&r===`horizontal`&&i in c&&(i=c[i]),i}function getNativeEvent(e){return e.nativeEvent??e}function getDescriptor(e,t){let{type:n=`HTMLInputElement`,property:r=`value`}=t,i=getWindow(e)[n].prototype;return Object.getOwnPropertyDescriptor(i,r)??{}}function getElementType(e){if(e.localName===`input`)return`HTMLInputElement`;if(e.localName===`textarea`)return`HTMLTextAreaElement`;if(e.localName===`select`)return`HTMLSelectElement`}function setElementValue(e,t,n=`value`){if(!e)return;let r=getElementType(e);r&&getDescriptor(e,{type:r,property:n}).set?.call(e,t),e.setAttribute(n,t)}var l=class _AnimationFrame{constructor(){__publicField(this,`id`,null),__publicField(this,`fn_cleanup`),__publicField(this,`cleanup`,()=>{this.cancel()})}static create(){return new _AnimationFrame}request(e){this.cancel(),this.id=globalThis.requestAnimationFrame(()=>{this.id=null,this.fn_cleanup=e?.()})}cancel(){this.id!==null&&(globalThis.cancelAnimationFrame(this.id),this.id=null),this.fn_cleanup?.(),this.fn_cleanup=void 0}isActive(){return this.id!==null}};function raf(e){let t=l.create();return t.request(e),t.cleanup}var defaultItemToId=e=>e.id;function itemById(e,t,n=defaultItemToId){return e.find(e=>n(e)===t)}function indexOfId(e,t,n=defaultItemToId){let r=itemById(e,t,n);return r?e.indexOf(r):-1}var sanitize=e=>e.split(``).map(e=>{let t=e.charCodeAt(0);return t>0&&t<128?e:t>=128&&t<=255?`/x${t.toString(16)}`.replace(`/`,`\\`):``}).join(``).trim(),getValueText=e=>sanitize(e.dataset?.valuetext??e.textContent??``),match=(e,t)=>e.trim().toLowerCase().startsWith(t.toLowerCase());function getByText(e,t,n,r=defaultItemToId){let i=n?indexOfId(e,n,r):-1,a=n?wrap(e,i):e;return t.length===1&&(a=a.filter(e=>r(e)!==n)),a.find(e=>match(getValueText(e),t))}function getByTypeaheadImpl(e,t){let{state:n,activeId:r,key:i,timeout:a=350,itemToId:o}=t,s=n.keysSoFar+i,c=s.length>1&&Array.from(s).every(e=>e===s[0])?s[0]:s,l=getByText(e.slice(),c,r,o);function cleanup(){clearTimeout(n.timer),n.timer=-1}function update(e){n.keysSoFar=e,cleanup(),e!==``&&(n.timer=+setTimeout(()=>{update(``),cleanup()},a))}return update(s),l}var u=Object.assign(getByTypeaheadImpl,{defaultOptions:{keysSoFar:``,timer:-1},isValidEvent:isValidTypeaheadEvent});function isValidTypeaheadEvent(e){return e.key.length===1&&!e.ctrlKey&&!e.metaKey}var clsx=(...e)=>e.map(e=>e?.trim?.()).filter(Boolean).join(` `),d=/((?:--)?(?:\w+-?)+)\s*:\s*([^;]*)/g,serialize=e=>{let t={},n;for(;n=d.exec(e);)t[n[1]]=n[2];return t},css=(e,n)=>{if(t(e)){if(t(n))return`${e};${n}`;e=serialize(e)}else t(n)&&(n=serialize(n));return Object.assign({},e??{},n??{})};function mergeProps(...t){let n={};for(let r of t){if(!r)continue;for(let t in n){if(t.startsWith(`on`)&&typeof n[t]==`function`&&typeof r[t]==`function`){n[t]=e(r[t],n[t]);continue}if(t===`className`||t===`class`){n[t]=clsx(n[t],r[t]);continue}if(t===`style`){n[t]=css(n[t],r[t]);continue}n[t]=r[t]===void 0?n[t]:r[t]}for(let e in r)n[e]===void 0&&(n[e]=r[e]);let t=Object.getOwnPropertySymbols(r);for(let e of t)n[e]=r[e]}return n}function createGuards(){return{and:(...e)=>function andGuard(t){return e.every(e=>t.guard(e))},or:(...e)=>function orGuard(t){return e.some(e=>t.guard(e))},not:e=>function notGuard(t){return!t.guard(e)}}}function createMachine(e){return e}var f=(e=>(e.NotStarted=`Not Started`,e.Started=`Started`,e.Stopped=`Stopped`,e))(f||{}),p=`__init__`;function createScope(e){let getRootNode=()=>e.getRootNode?.()??document,getDoc=()=>getDocument(getRootNode()),getWin=()=>getDoc().defaultView??window,getActiveElementFn=()=>getActiveElement(getRootNode()),getById=e=>getRootNode().getElementById(e);return{...e,getRootNode,getDoc,getWin,getActiveElement:getActiveElementFn,isActiveElement,getById}}export{raf as _,createScope as a,dataAttr as c,getEventTarget as d,isAnchorElement as f,isModifierKey as g,isLeftClick as h,createMachine as i,u as l,isEditableElement as m,f as n,mergeProps as o,isComposingEvent as p,createGuards as r,ariaAttr as s,p as t,getEventKey as u,setElementValue as v};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"../../rolldown-runtime.mjs";import{a as e,b as t,c as n,m as r,p as i,u as a,v as o}from"./collection.mjs";import{a as s,n as c,t as l}from"./core.mjs";import{useEffect as u,useLayoutEffect as d,useMemo as f,useRef as p,useState as m}from"react";import"react/jsx-runtime";import{flushSync as h}from"react-dom";function createNormalizer(e){return new Proxy({},{get(t,n){return n===`style`?t=>e({style:t}).style:e}})}var createProps=()=>e=>Array.from(new Set(e)),g=globalThis.document===void 0?u:d;function useBindable(e){let t=e().value??e().defaultValue,n=e().isEqual??Object.is,[r]=m(t),[o,s]=m(r),c=e().value!==void 0,l=p(o);l.current=c?e().value:o;let u=p(l.current);g(()=>{u.current=l.current},[o,e().value]);let setFn=t=>{let r=u.current,a=i(t)?t(r):t;e().debug&&console.log(`[bindable > ${e().debug}] setValue`,{next:a,prev:r}),c||s(a),n(a,r)||e().onChange?.(a,r)};function get(){return c?e().value:o}return{initial:r,ref:l,get,set(t){(e().sync?h:a)(()=>setFn(t))},invoke(t,n){e().onChange?.(t,n)},hash(t){return e().hash?.(t)??String(t)}}}useBindable.cleanup=e=>{u(()=>e,[])},useBindable.ref=e=>{let t=p(e);return{get:()=>t.current,set:e=>{t.current=e}}};function useRefs(e){let t=p(e);return{get(e){return t.current[e]},set(e,n){t.current[e]=n}}}var useTrack=(e,t)=>{let n=p(!1),r=p(!1);u(()=>{if(n.current&&r.current)return t();r.current=!0},[...(e??[]).map(e=>typeof e==`function`?e():e)]),u(()=>(n.current=!0,()=>{n.current=!1}),[])};function useMachine(a,u={}){let d=f(()=>{let{id:e,ids:t,getRootNode:n}=u;return s({id:e,ids:t,getRootNode:n})},[u]),debug=(...e)=>{a.debug&&console.log(...e)},m=useProp(a.props?.({props:e(u),scope:d})??u),_=a.context?.({prop:m,bindable:useBindable,scope:d,flush,getContext(){return y},getComputed(){return computed},getRefs(){return w},getEvent(){return getEvent()}}),v=useLiveRef(_),y={get(e){return v.current?.[e].ref.current},set(e,t){v.current?.[e].set(t)},initial(e){return v.current?.[e].initial},hash(e){let t=v.current?.[e].get();return v.current?.[e].hash(t)}},b=p(new Map),x=p(null),S=p(null),C=p({type:``}),getEvent=()=>({...C.current,current(){return C.current},previous(){return S.current}}),getState=()=>({...T,matches(...e){return e.includes(T.ref.current)},hasTag(e){return!!a.states[T.ref.current]?.tags?.includes(e)}}),w=useRefs(a.refs?.({prop:m,context:y})??{}),getParams=()=>({state:getState(),context:y,event:getEvent(),prop:m,send,action,guard,track:useTrack,refs:w,computed,flush,scope:d,choose}),action=e=>{let n=i(e)?e(getParams()):e;if(!n)return;let r=n.map(e=>{let n=a.implementations?.actions?.[e];return n||t(`[zag-js] No implementation found for action "${JSON.stringify(e)}"`),n});for(let e of r)e?.(getParams())},guard=e=>i(e)?e(getParams()):a.implementations?.guards?.[e](getParams()),effect=e=>{let n=i(e)?e(getParams()):e;if(!n)return;let r=n.map(e=>{let n=a.implementations?.effects?.[e];return n||t(`[zag-js] No implementation found for effect "${JSON.stringify(e)}"`),n}),o=[];for(let e of r){let t=e?.(getParams());t&&o.push(t)}return()=>o.forEach(e=>e?.())},choose=e=>o(e).find(e=>{let t=!e.guard;return r(e.guard)?t=!!guard(e.guard):i(e.guard)&&(t=e.guard(getParams())),t}),computed=e=>{n(a.computed,()=>`[zag-js] No computed object found on machine`);let t=a.computed[e];return t({context:y,event:getEvent(),prop:m,refs:w,scope:d,computed})},T=useBindable(()=>({defaultValue:a.initialState({prop:m}),onChange(e,t){t&&(b.current.get(t)?.(),b.current.delete(t)),t&&action(a.states[t]?.exit),action(x.current?.actions);let n=effect(a.states[e]?.effects);if(n&&b.current.set(e,n),t===`__init__`){action(a.entry);let e=effect(a.effects);e&&b.current.set(l,e)}action(a.states[e]?.entry)}})),E=p(void 0),D=p(c.NotStarted);g(()=>{queueMicrotask(()=>{let e=D.current===c.Started;D.current=c.Started,debug(e?`rehydrating...`:`initializing...`);let t=E.current??T.initial;T.invoke(t,e?T.get():l)});let e=b.current,t=T.ref.current;return()=>{debug(`unmounting...`),E.current=t,D.current=c.Stopped,e.forEach(e=>e?.()),b.current=new Map,x.current=null,queueMicrotask(()=>{action(a.exit)})}},[]);let getCurrentState=()=>`ref`in T?T.ref.current:T.get(),send=e=>{queueMicrotask(()=>{if(D.current!==c.Started)return;S.current=C.current,C.current=e;let t=getCurrentState(),n=choose(a.states[t].on?.[e.type]??a.on?.[e.type]);if(!n)return;x.current=n;let r=n.target??t;debug(`transition`,e.type,n.target||t,`(${n.actions})`);let i=r!==t;i?h(()=>T.set(r)):n.reenter&&!i?T.invoke(t,t):action(n.actions??[])})};return a.watch?.(getParams()),{state:getState(),send,context:y,prop:m,scope:d,refs:w,computed,event:getEvent(),getStatus:()=>D.current}}function useLiveRef(e){let t=p(e);return t.current=e,t}function useProp(e){let t=useLiveRef(e);return function get(e){return t.current[e]}}function flush(e){queueMicrotask(()=>{h(()=>e())})}var _=createNormalizer(e=>e);export{useMachine as n,createProps as r,_ as t};
|