@bemedev/mind-flow 1.2.0 → 1.3.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.
@@ -1,2 +1,11 @@
1
+ /**
2
+ * Restricts a number to be within the specified minimum and maximum bounds.
3
+ *
4
+ * @param value - The numerical value to clamp.
5
+ * @param min - The lower boundary limit.
6
+ * @param max - The upper boundary limit.
7
+ *
8
+ * @returns The clamped numerical value between `min` and `max`.
9
+ */
1
10
  export declare const clamp: (value: number, min: number, max: number) => number;
2
11
  //# sourceMappingURL=clamp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"clamp.d.ts","sourceRoot":"","sources":["../../src/helpers/clamp.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,WAE5D,CAAC"}
1
+ {"version":3,"file":"clamp.d.ts","sourceRoot":"","sources":["../../src/helpers/clamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,WAE5D,CAAC"}
package/lib/index.cjs.js CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@bemedev/app/bemedev"),t=require("solid-js/web"),n=require("@bemedev/app-solidjs"),r=require("solid-js"),i=require("@bemedev/app"),a=require("@thisbeyond/solid-dnd");var o=100,s={width:192,height:50},c=s.width,l=s.height,u={content:`<Nouveau nœud>`},d=1.5,f=12,p=6,m=12,h=18,g=18,_=10.5,v=-10.5,y=18,b={x:v,y:18},x={WIDTH:5e3,HEIGHT:3500},S=(e=0)=>({x:e+_,y:18}),C=30,w=5,T={horizontal:55,vertical:40},ee=5,te=3,E=[{id:`node-0`,data:{content:`Some text`,label:`Root node`},position:{x:350,y:100}}],D=(0,e.type)({x:`number`,y:`number`}),ne=(0,e.type)(({use:e})=>({input:e(D),output:e(D)})),O=(0,e.type)({from:`string`,to:`string`}),k=(0,e.type)(({union:e})=>e(`string`,`boolean`,`number`)),A=(0,e.type)(({record:e,use:t})=>e(t(k))),j=(0,e.type)(({use:e})=>({position:e(D),data:e(A)})),M=O,N=(0,e.type)(({optional:e,use:t})=>({width:`number`,height:`number`,output:t(D),input:e(t(D)),inputOffset:e(t(D)),outputOffset:e(t(D))})),re=(0,e.type)({x0:`number`,y0:`number`,x1:`number`,y1:`number`}),ie=(0,e.type)(({intersection:e,use:t})=>e({from:`string`},t(re))),P=(0,e.type)(({optional:e})=>({self:{left:`number`,top:`number`,width:`number`,height:`number`},parent:e({scrollLeft:`number`,scrollTop:`number`,height:`number`,width:`number`})})),ae=`fill-transparent cursor-pointer relative stroke-[rgba(168,168,168,0.4)] stroke-3 stroke-[rgba(168,168,168,1)] stroke-4 z-100 stroke-[rgba(168,168,168,0.8)] pointer-events-all w-[100px] h-[100px] bg-white fill-white pointer-events-none absolute top-0 w-full h-full overflow-hidden overflow-auto h-[150vh] w-[2160px] bg-size-[30px_30px] flex flex-col cursor-grab rounded-md shadow-[1px_1px_11px_-6px_rgba(0,0,0,0.75)] select-none transition-[border,box-shadow] duration-200 ease-in-out hover:shadow-[2px_2px_12px_-6px_rgba(0,0,0,0.75)] draggable border border-[#e38c29] z-[100] border-[#e6d4be] z-[1] items-center justify-end -top-[30px] right-0 transition-all space-x-2 opacity-100 w-0 -right-3 opacity-0 w-6 h-6 fill-[#a11111] rounded-full size-6 bg-green-500 p-0.5 hover:bg-green-600 font-bold text-center overflow-visible bg-blue-500 text-white rounded-lg hover:bg-blue-600 justify-center p-3 border-b border-[#f0f0f0] cursor-default z-[-3] -left-[18px] bg-[#e38b29] w-3 h-3 my-3 -right-[18px] cursor-crosshair mt-3`.split(` `),F=(e,t,n)=>Math.min(Math.max(e,t),n),I=(e,t)=>{let n=(0,r.createContext)(void 0,t);return[t=>(0,r.createComponent)(n.Provider,{value:e(),get children(){return t.children}}),()=>{let e=(0,r.useContext)(n);if(!e)throw Error(`useContext must be used within a Provider`);return e},n]},L=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`,oe=(e=21)=>{let t=``,n=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+=L[n[e]&63];return t},R=(e,t)=>`edge = ${e} => ${t}`,z=e=>`node-${e}`,B=(e,t={width:s.width,height:s.height,inputOffset:b})=>{let n=t.width,r=t.height,i=t.outputOffset??S(n),a=t.inputOffset??b;return{width:n,height:r,output:{x:e.x+i.x,y:e.y+i.y},input:{x:e.x+a.x,y:e.y+a.y},outputOffset:i,inputOffset:a}},se=(0,i.createMachine)({initial:`idle`,on:{SET_BOARD:{actions:[`setBoard`]}},states:{idle:{on:{CONFIGURE:{actions:[`configure`],target:`/construction`},CONFIGURE_EMPTY:`/working`}},construction:{always:{actions:[`buildUI`],target:`/working`}},working:{on:{CONFIGURE:{actions:[`configure`],target:`/construction`},MOVE_IMMEDIATE:{actions:[{name:`buildUI`,description:`Must be in the ui`}]},ADD_CHILD:{actions:[`generateID`,{name:`placeChild`,description:`Must be in the ui`},`linkChild`],target:`/construction`},ADD_PARENT:{actions:[`generateID`,{name:`placeParent`,description:`Must be in the ui`},`selectParent`],target:`/construction`},ADD_SIBLING:{actions:[`generateID`,{name:`placeSibling`,description:`Must be in the ui`},`linkSibling`],target:`/construction`},RESIZE:{actions:[`resize`,`buildUI`]},MOVE:{actions:[`moveNode`,`buildUI`],target:`/construction`},ADD_EDGE:{actions:[`addEdge`],target:`/construction`},START_NEW_EDGE:{actions:[`startNewEdge`]},MOVE_NEW_EDGE:{actions:[`moveNewEdge`]},CLEAR_NEW_EDGE:{actions:[`clearNewEdge`]},DELETE:{actions:[`delete`],target:`/construction`},SELECT:{actions:[`select`]},DESELECT:{actions:[`deselect`]},ZOOM:{actions:[`zoom`]},TOGGLE_ZOOM:{actions:[`toggleZoom`]},SET_BOARD:{actions:[`setBoard`]},SET_NODE_DATA:{actions:[`setNodeData`]},EDIT:{actions:[`edit`]},STOP_EDIT:{actions:[`stopEdit`]}}}}},{eventsMap:(0,e.type)(({intersection:e,use:t,array:n,optional:r})=>({CONFIGURE:{nodes:n(e(t(j),{id:`string`})),edges:n(e(t(M),{id:`string`})),defaultData:r(t(A))},SET_BOARD:t(P),CONFIGURE_EMPTY:`never`,MOVE:{id:`string`,x:`number`,y:`number`},MOVE_IMMEDIATE:{id:`string`,x:`number`,y:`number`},ADD_CHILD:`string`,ADD_PARENT:`never`,ADD_SIBLING:`string`,DELETE:`string`,SELECT:`string`,DESELECT:`never`,EDIT:`string`,STOP_EDIT:`never`,ADD_EDGE:t(O),START_NEW_EDGE:`string`,MOVE_NEW_EDGE:t(D),CLEAR_NEW_EDGE:`never`,ZOOM:`number`,TOGGLE_ZOOM:`never`,RESIZE:{id:`string`,size:{width:`number`,height:`number`}},SET_NODE_DATA:{id:`string`,data:t(A)}})),sync:!0,pContext:(0,e.type)(({union:e,optional:t,record:n,use:r,custom:i})=>({generatedId:e(`string`,`null`),previousZoom:t(`number`),dimensions:n(r(N)),defaultData:t(r(A)),getBoardPosition:i(),clampPosition:i(),calculateDimensions:i()})),context:(0,e.type)(({optional:e,use:t,array:n,record:r})=>({data:e({nodes:n({...t(j),id:`string`}),edges:n({...t(M),id:`string`})}),board:e(t(P)),edgesPositions:r(t(re)),newEdge:e(t(ie)),selected:e(`string`),editing:e(`string`),updatingUI:e(`boolean`),zoom:`number`,bounds:t(D)}))}).provideOptions(({assign:t,batch:n,erase:r,filter:i,action:a})=>({actions:{configure:n(t(`data`,{CONFIGURE:({payload:{nodes:e,edges:t}})=>({nodes:e,edges:t})}),t(`newEdge`,()=>void 0),t(`updatingUI`,()=>!1),a(({pContext:e})=>{e.generatedId=null}),a({CONFIGURE:({payload:{nodes:e,defaultData:t},pContext:n})=>{n.defaultData=t,e.forEach(({id:e,position:t})=>{n.dimensions[e]=B(t)})}})),setNodeData:t(`data.nodes`,{SET_NODE_DATA:({context:{data:e},payload:{id:t,data:n}})=>e?.nodes?.map(e=>e.id===t?{...e,data:{...e.data,...n}}:e)}),setBoard:t(`board`,{SET_BOARD:({payload:e})=>e}),generateID:a(({pContext:e})=>e.generatedId=oe()),select:t(`selected`,{SELECT:({payload:e})=>e}),clearNewEdge:r(`newEdge`),deselect:n(r(`selected`),r(`editing`)),edit:n(t(`editing`,{EDIT:({payload:e})=>e}),t(`selected`,{EDIT:({payload:e})=>e})),stopEdit:r(`editing`),startNewEdge:t(`newEdge`,{START_NEW_EDGE:({payload:e,pContext:{dimensions:t}})=>{let{x:n,y:r}=t[e].output;return{from:e,x0:n,y0:r,x1:n,y1:r}}}),buildUI:n(t(`edgesPositions`,{MOVE:({context:{data:e,edgesPositions:t},payload:n,pContext:{dimensions:r}})=>{let i=e?.edges,a=r[n.id];if(!a)return;let o=a.outputOffset??S(a.width),s=a.inputOffset??b,c={x:n.x+o.x,y:n.y+o.y},l={x:n.x+s.x,y:n.y+s.y};return a.output=c,a.input=l,i?.forEach(({from:e,to:r,id:i})=>{let a=t[i];a&&(e===n.id&&(a.x0=c.x,a.y0=c.y),r===n.id&&(a.x1=l.x,a.y1=l.y))}),t},MOVE_IMMEDIATE:({context:{data:e,edgesPositions:t},payload:n,pContext:{dimensions:r}})=>(e?.edges?.forEach(({from:e,to:i,id:a})=>{let o=r[n.id],s=t[a];if(!(!s||!o)){if(e===n.id){let e=o.outputOffset??S(o.width),t=n.x+e.x,r=n.y+e.y;s.x0=t,s.y0=r,o.output={x:t,y:r}}if(i===n.id){let e=o?.inputOffset??b,t=n.x+e.x,r=n.y+e.y;s.x1=t,s.y1=r,o.input={x:t,y:r}}}}),t),else:({context:{data:e},pContext:{dimensions:t}})=>{let n={};return e?.edges?.forEach(({from:e,id:r,to:i})=>{let a=t[e]?.output,o=t[i]?.input;a&&o&&(n[r]={x0:a.x,y0:a.y,x1:o.x,y1:o.y})}),n}}),t(`updatingUI`,()=>!0)),resize:a({RESIZE:({payload:{id:e,size:{width:t,height:n}},context:{data:r},pContext:{dimensions:i}})=>{let a=i[e];if(!a)return;a.width=t,a.height=n;let o=r?.nodes?.find(t=>t.id===e),s=S(t),c=a.inputOffset??b;a.outputOffset=s,a.inputOffset=c,o?(a.output={x:o.position.x+s.x,y:o.position.y+s.y},a.input={x:o.position.x+c.x,y:o.position.y+c.y}):a.output={x:a.output.x,y:a.output.y}}}),linkChild:n(t(`data.edges`,{ADD_CHILD:({context:{data:t},pContext:n,payload:r})=>{let i=e.toArray.typed(t?.edges),a=n?.generatedId,o=z(a),s=R(r,o);return i.push({id:s,from:r,to:o}),i}}),t(`selected`,({pContext:{generatedId:e}})=>z(e))),linkSibling:n(t(`data.edges`,{ADD_SIBLING:({pContext:t,payload:n,context:{data:r}})=>{let i=e.toArray.typed(r?.edges),a=t?.generatedId,o=i.find(({to:e})=>e===n)?.from;if(!o)return i;let s=z(a),c=R(o,s);return i.push({from:o,to:s,id:c}),i}}),t(`selected`,({pContext:{generatedId:e}})=>z(e))),selectParent:t(`selected`,({pContext:{generatedId:e}})=>z(e)),moveNode:t(`data.nodes`,{MOVE:({context:{data:e},payload:{id:t,x:n,y:r}})=>e?.nodes?.map(e=>e.id===t?{...e,position:{x:n,y:r}}:e)}),delete:n(i(`data.edges`,{DELETE:({id:e,from:t,to:n},r,{payload:i})=>e!==i&&t!==i&&n!==i}),i(`data.nodes`,{DELETE:({id:e},t,{payload:n})=>e!==n}),r(`editing`)),addEdge:n(t(`data.edges`,{ADD_EDGE:({context:e,payload:{from:t,to:n}})=>{let r=e.data?.edges??[],i=R(t,n);return r.some(e=>e.id===i)?r:[...r,{id:i,from:t,to:n}]}}),r(`newEdge`)),zoom:t(`zoom`,{ZOOM:({context:{zoom:e},payload:t,pContext:n})=>{let r=F(e+t,.1,3);return n.previousZoom=void 0,r}}),toggleZoom:t(`zoom`,{TOGGLE_ZOOM:({context:{zoom:e},pContext:t})=>{let n=t.previousZoom;return n===void 0?(t.previousZoom=e,1):(t.previousZoom=void 0,n)}}),placeChild:t(`data.nodes`,{ADD_CHILD:({payload:e,context:{data:t,board:n},pContext:r})=>{if(!n)return t?.nodes;let i=t?.nodes;if(!e)return i;let a=i?.find(t=>t.id===e);if(!a)return i;let o=r.dimensions[e],c=`node-${r.generatedId}`,l=o?.width??s.width,d=o?.height??s.height,f=a.position.x+l+100,p=a.position.y,m=r.clampPosition(n,f,p,l,d),h=r.defaultData??u;return i?.push({id:c,data:{...h},position:m}),r.dimensions[c]=r.calculateDimensions(m,o??s),i}}),placeParent:t(`data.nodes`,{ADD_PARENT:({context:{data:e,zoom:t=1,board:n},pContext:r})=>{if(!n)return e?.nodes;let i=e?.nodes,a=`node-${r.generatedId}`,o=n.parent,c=o?.scrollLeft??0,l=o?.scrollTop??0,d=o?.width??0,f=o?.height??0,p=t,m=(c+d/2)/p,h=(l+f/2)/p,g=r.clampPosition(n,m,h,s.width,s.height),_=r.defaultData??u;return i?.push({id:a,data:{..._},position:g}),r.dimensions[a]=r.calculateDimensions(g,s),i}}),placeSibling:t(`data.nodes`,{ADD_SIBLING:({payload:e,context:{data:t,board:n},pContext:r})=>{if(!n)return t?.nodes;let i=t?.edges,a=t?.nodes,o=i?.find(t=>t.to===e)?.from;if(!o)return a;let c=a?.find(e=>e.id===o);if(!c)return a;let l=r.dimensions[o],d=`node-${r.generatedId}`,f=l?.width??s.width,p=l?.height??s.height,m=c.position.x+f+100,h=c.position.y+100,g=r.clampPosition(n,m,h,f,p),_=r.defaultData??u;return a?.push({id:d,data:{..._},position:g}),r.dimensions[d]=r.calculateDimensions(g,l??s),a}}),moveNewEdge:t(`newEdge`,{MOVE_NEW_EDGE:({context:{newEdge:e,board:t},payload:n,pContext:r})=>{if(!t||!e)return;let{x:i,y:a}=r.getBoardPosition(n.x,n.y,t);return{...e,x1:i,y1:a}}})}})),[V,H]=I(()=>{let e=(0,i.interpret)(se,{context:{zoom:1,edgesPositions:{},bounds:{x:0,y:0}},pContext:{generatedId:null,dimensions:{},getBoardPosition:(t,n,r)=>{if(!r)return{x:t,y:n};let i=e.state.context.zoom;return{x:(t-r.self.left)/i,y:(n-r.self.top)/i}},clampPosition:(t,n,r,i=s.width,a=s.height)=>{let o=t?.parent;if(!o)return{x:n,y:r};let c=e.state.context.zoom??1,l=o.scrollLeft/c+T.horizontal,u=Math.max(l,(o.scrollLeft+o.width)/c-T.horizontal-i),d=o.scrollTop/c+T.vertical,f=Math.max(d,(o.scrollTop+o.height)/c-T.vertical-a);return{x:F(n,l,u),y:F(r,d,f)}},calculateDimensions:(e,t={width:s.width,height:s.height,inputOffset:b})=>{let n=t.width,r=t.height,i=t.outputOffset??S(n),a=t.inputOffset??b;return{width:n,height:r,output:{x:e.x+i.x,y:e.y+i.y},input:{x:e.x+a.x,y:e.y+a.y},outputOffset:i,inputOffset:a}}}});return e.start(),e},{name:`FlowContext`}),ce=Object.prototype.hasOwnProperty;function le(e,t,n){for(n of e.keys())if(U(n,t))return n}function U(e,t){var n,r,i;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&U(e[r],t[r]););return r===-1}if(n===Set){if(e.size!==t.size)return!1;for(r of e)if(i=r,i&&typeof i==`object`&&(i=le(t,i),!i)||!t.has(i))return!1;return!0}if(n===Map){if(e.size!==t.size)return!1;for(r of e)if(i=r[0],i&&typeof i==`object`&&(i=le(t,i),!i)||!U(r[1],t.get(i)))return!1;return!0}if(n===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(n===DataView){if((r=e.byteLength)===t.byteLength)for(;r--&&e.getInt8(r)===t.getInt8(r););return r===-1}if(ArrayBuffer.isView(e)){if((r=e.byteLength)===t.byteLength)for(;r--&&e[r]===t[r];);return r===-1}if(!n||typeof e==`object`){for(n in r=0,e)if(ce.call(e,n)&&++r&&!ce.call(t,n)||!(n in t)||!U(e[n],t[n]))return!1;return Object.keys(t).length===r}}return e!==e&&t!==t}var ue=()=>{let e=H(),t=(0,n.createState)(e,{selector:({context:e})=>e.zoom}),r=(0,n.createState)(e,{selector:({context:e})=>e.board}),[i,{addTransformer:o,removeTransformer:s,onDragStart:c,onDragEnd:l}]=(0,a.useDragDropContext)(),u={id:`clamp-to-container`,order:100,callback:e=>{let n=r()?.self,a=i.active.draggable;if(!n||!a)return e;let o=a.node;if(!o)return e;let s=t(),c=T.horizontal,l=Math.max(c,n.width/s-o.offsetWidth-T.horizontal),u=T.vertical,d=Math.max(u,n.height/s-o.offsetHeight-T.vertical),f=(c-o.offsetLeft)*s,p=(l-o.offsetLeft)*s,m=(u-o.offsetTop)*s,h=(d-o.offsetTop)*s;return{x:Math.min(Math.max(e.x,f),p),y:Math.min(Math.max(e.y,m),h)}}};return c(({draggable:e})=>{o(`draggables`,e.id,u)}),l(({draggable:e})=>{s(`draggables`,e.id,u.id)}),null},de=(0,t.template)(`<svg><path class="relative cursor-pointer fill-transparent"></svg>`,!1,!0,!1),fe=(0,t.template)(`<svg><g cursor=pointer style=pointer-events:all;z-index:30><circle cx=0 cy=0 r=12 fill="rgba(168, 168, 168, 1)"></circle><svg fill=currentColor stroke-width=0 xmlns=http://www.w3.org/2000/svg class="h-25 w-25 bg-white fill-white"width=20 height=20 viewBox="0 0 20 20"color=white x=-10 y=-10><path d="M10.185,1.417c-4.741,0-8.583,3.842-8.583,8.583c0,4.74,3.842,8.582,8.583,8.582S18.768,14.74,18.768,10C18.768,5.259,14.926,1.417,10.185,1.417 M10.185,17.68c-4.235,0-7.679-3.445-7.679-7.68c0-4.235,3.444-7.679,7.679-7.679S17.864,5.765,17.864,10C17.864,14.234,14.42,17.68,10.185,17.68 M10.824,10l2.842-2.844c0.178-0.176,0.178-0.46,0-0.637c-0.177-0.178-0.461-0.178-0.637,0l-2.844,2.841L7.341,6.52c-0.176-0.178-0.46-0.178-0.637,0c-0.178,0.176-0.178,0.461,0,0.637L9.546,10l-2.841,2.844c-0.178,0.176-0.178,0.461,0,0.637c0.178,0.178,0.459,0.178,0.637,0l2.844-2.841l2.844,2.841c0.178,0.178,0.459,0.178,0.637,0c0.178-0.176,0.178-0.461,0-0.637L10.824,10z"></svg>`,!1,!0,!1),pe=e=>e*100/200,me=e=>{if(!e)return``;let{x0:t,y0:n,x1:r,y1:i}=e;return`M ${t} ${n} C ${t+pe(Math.abs(r-t))} ${n}, ${r-pe(Math.abs(r-t))} ${i}, ${r} ${i}`},he=e=>{let i=H(),a=(0,n.createState)(i,{selector:({context:{newEdge:t,edgesPositions:n}})=>e.isNew?t:n[e.id],equals:U}),o=(0,n.createState)(i,{selector:t=>t.context.selected===e.id}),s=()=>{let e=a();return e?{x:e.x0+(e.x1-e.x0)/2,y:e.y0+(e.y1-e.y0)/2}:{x:0,y:0}};return(0,t.createComponent)(r.Show,{get when(){return a()},children:n=>[(()=>{var r=(0,t.getNextElement)(de);return r.$$mousedown=t=>(t.stopPropagation(),i.send({type:`SELECT`,payload:e.id})),(0,t.effect)(i=>{var a={"stroke-[rgba(168,168,168,0.4)] stroke-3 z-200":!!e.isNew,"stroke-[rgba(168,168,168,1)] stroke-4 z-100":o()&&!e.isNew,"stroke-[rgba(168,168,168,0.8)] stroke-3":!o()&&!e.isNew},s=e.isNew?`none`:`all`,c=me(n());return i.e=(0,t.classList)(r,a,i.e),s!==i.t&&(0,t.setStyleProperty)(r,`pointer-events`,i.t=s),c!==i.a&&(0,t.setAttribute)(r,`d`,i.a=c),i},{e:void 0,t:void 0,a:void 0}),(0,t.runHydrationEvents)(),r})(),(0,t.createComponent)(r.Show,{get when(){return o()},get children(){var n=(0,t.getNextElement)(fe);return n.$$mousedown=t=>{t.stopPropagation(),i.send({type:`DELETE`,payload:e.id})},(0,t.effect)(()=>(0,t.setAttribute)(n,`transform`,`translate(${s().x}, ${s().y})`)),(0,t.runHydrationEvents)(),n}})]})};(0,t.delegateEvents)([`mousedown`]);var ge=(0,t.template)(`<svg class="pointer-events-none h-full w-full overflow-visible"><!$><!/><!$><!/>`),_e=()=>{let e=H(),i=(0,n.createState)(e,{selector:e=>!!e.context.newEdge}),a=(0,n.createState)(e,{selector:({context:e})=>Object.keys(e.edgesPositions??{}),equals:(e,t)=>e.length===t.length});return(()=>{var e=(0,t.getNextElement)(ge),n=e.firstChild,[o,s]=(0,t.getNextMarker)(n.nextSibling),c=o.nextSibling,[l,u]=(0,t.getNextMarker)(c.nextSibling);return(0,t.insert)(e,(0,t.createComponent)(r.Show,{get when(){return i()},get children(){return(0,t.createComponent)(he,{id:`__#new-edge#__TEMP`,isNew:!0})}}),o,s),(0,t.insert)(e,(0,t.createComponent)(r.For,{get each(){return a()},children:e=>(0,t.createComponent)(he,{id:e})}),l,u),e})()},ve=(e,t)=>{let n=n=>{e.contains(n.target)||t()?.()};document.body.addEventListener(`click`,n),(0,r.onCleanup)(()=>document.body.removeEventListener(`click`,n))},ye=(e,t)=>{let n,i=!1,a=()=>{n!==void 0&&(clearTimeout(n),n=void 0)},o=()=>{let t=e.ownerDocument?.activeElement??document.activeElement;return!!t&&e.contains(t)},s=e=>{a();let r=t();if(!r)return;let i,o=0;typeof r==`function`?i=r:Array.isArray(r)?(i=r[0],o=r[1]??0):typeof r==`object`&&(i=r.callback??r.onMouseOut,o=r.delay??0),i&&(o>0?n=setTimeout(()=>{i?.(e),n=void 0},o):i(e))},c=()=>{i=!0,a()},l=e=>{i=!1,!o()&&s(e)},u=()=>{a()},d=t=>{let n=t.relatedTarget;!(n&&e.contains(n))&&!i&&s(t)};e.addEventListener(`mouseleave`,l),e.addEventListener(`mouseenter`,c),e.addEventListener(`focusin`,u),e.addEventListener(`focusout`,d),(0,r.onCleanup)(()=>{a(),e.removeEventListener(`mouseleave`,l),e.removeEventListener(`mouseenter`,c),e.removeEventListener(`focusin`,u),e.removeEventListener(`focusout`,d)})},be=e=>t=>{let n=H(),r=new ResizeObserver(t=>{let r=t[0].target;if(!r)return;let i=r.clientWidth,a=r.clientHeight;i>0&&a>0&&n.send({type:`RESIZE`,payload:{id:e,size:{width:i,height:a}}})});return r.observe(t),()=>{r.unobserve(t),r.disconnect()}},xe=(0,t.template)(`<svg class="cursor-pointer overflow-visible rounded-full bg-green-500 p-0.5 text-center font-bold hover:bg-green-600"viewBox="0 0 1024 1024"preserveAspectRatio=xMaxYMax xmlns=http://www.w3.org/2000/svg fill=white style=pointer-events:all;fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2><g id=background><path d="M467.40667,277.66696c-0.05948,-14.53055 5.75527,-22.95613 -8.62044,-20.90487c-112.55699,16.0607 -222.1609,112.14558 -245.06161,239.85765c-46.52056,259.43466 231.33083,443.06705 449.51209,316.97506c117.31668,-67.80002 160.95215,-190.43324 151.34416,-288.29849c-5.92276,-60.32819 -27.80273,-107.95668 -53.44246,-144.25469l59.39269,-42.05363c111.72214,156.309 73.11535,351.55635 -25.06953,459.45565c-184.18877,202.4124 -470.46624,145.52064 -592.95027,-32.92123c-156.18269,-227.53604 -27.15324,-543.64371 261.18883,-582.44416c5.0579,-0.68061 3.56556,-7.04079 3.56442,-8.58985c-0.05594,-76.3354 -0.11021,-76.7687 1.10909,-77.24589c2.06886,-0.80969 151.41433,118.4561 151.92482,118.95524c4.65592,4.55233 -0.99548,7.829 -29.07828,30.50907c-120.49369,97.31245 -120.4977,98.55675 -123.0691,97.87586c-0.43639,-0.11555 -0.80698,-0.31322 -0.74442,-66.91571Z"></path><path d="M316.61562,611.03414c0.11517,-90.16257 -0.25516,-99.92912 0.64739,-101.78856c1.56486,-3.22393 131.99102,0.91032 134.6959,-1.89763c2.21336,-2.2977 -0.59362,-129.97807 1.1376,-132.37034c0.7253,-1.00225 11.10552,-0.99175 12.07474,-0.99077c104.50336,0.10564 104.90098,-0.37811 105.967,0.85765c1.56461,1.81373 0.25596,114.18436 0.67852,129.81412c0.1322,4.88975 3.22386,3.28152 99.72028,3.4563c33.0841,0.05992 36.14259,-1.40368 36.21852,4.50462c0.11713,9.11348 1.41954,110.45369 -0.40274,113.92715c-1.81106,3.45208 -130.39967,-0.42618 -134.48289,1.62075c-2.29035,1.14816 -0.36989,101.12392 -1.11542,130.51904c-0.09548,3.76459 -2.13506,3.20617 -47.84854,3.17365c-69.30253,-0.0493 -69.31099,-0.25627 -69.65762,-0.42191c-3.77927,-1.80595 0.16287,-129.33555 -2.24266,-132.58994c-1.79931,-2.43424 -124.06108,-0.29118 -132.80252,-0.97392c-3.81102,-0.29766 -2.58229,-14.8847 -2.58758,-16.8402Z">`),Se=(0,t.template)(`<div class=min-w-48><div><svg class="cursor-pointer rounded-full fill-[#a11111] opacity-100 transition-all duration-200 ease-in-out"fill=currentColor stroke-width=2 viewBox="4 4 16 16"style=overflow:visible;pointer-events:all><path d="M12 4c-4.419 0-8 3.582-8 8s3.581 8 8 8 8-3.582 8-8-3.581-8-8-8zm3.707 10.293a.999.999 0 11-1.414 1.414L12 13.414l-2.293 2.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L10.586 12 8.293 9.707a.999.999 0 111.414-1.414L12 10.586l2.293-2.293a.999.999 0 111.414 1.414L13.414 12l2.293 2.293z"></path></svg><!$><!/><svg class="flex cursor-pointer items-center justify-center rounded-lg bg-blue-500 p-0.5 text-center font-bold text-white hover:bg-blue-600"viewBox="0 0 24 24"stroke=currentColor stroke-width=2 style=pointer-events:all><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path></svg></div><div></div><div id=inputs class="pointer-events-none absolute top-0 z-10 flex cursor-default flex-col"><div class="cursor-default rounded-full bg-[#e38b29] shadow-md"style=pointer-events:all></div></div><div id=outputs class="pointer-events-none absolute top-0 z-10 flex flex-col"><div class="cursor-crosshair rounded-full bg-[#e38b29] shadow-md"style=pointer-events:all>`),Ce=(0,t.template)(`<div class="p-3 select-none"><!$><!/><!$><!/><!$><!/>`),we=(0,t.template)(`<span class="mb-2 block min-w-max border-b border-[#f0f0f0] pb-2 font-semibold whitespace-nowrap text-red-600 select-none">`),Te=(0,t.template)(`<div class=select-none>`),Ee=(0,t.template)(`<div><span class=font-semibold><!$><!/>: </span><span>`),De=e=>{let o=H(),s=(0,n.createState)(o,{selector:e=>e.context.newEdge}),c=(0,a.createDraggable)(e.id),l=(0,n.createState)(o,{selector:({context:t})=>{let n=i.toArray.typed(t.data?.nodes).find(t=>t.id===e.id);return{x:n?.position.x??0,y:n?.position.y??0,data:n?.data??{}}},equals:U}),u=(0,n.createState)(o,{selector:({context:t})=>t.selected===e.id}),d=(0,n.createState)(o,{selector:({context:{data:t}})=>{let n=t?.edges;return n?n.some(({to:t})=>t===e.id):!1}});return(()=>{var n=(0,t.getNextElement)(Se),i=n.firstChild,a=i.firstChild,f=a.nextSibling,[p,m]=(0,t.getNextMarker)(f.nextSibling),h=p.nextSibling,g=i.nextSibling,_=g.nextSibling,v=_.firstChild,y=_.nextSibling,b=y.firstChild;n.$$dblclick=t=>{t.stopPropagation(),o.send({type:`EDIT`,payload:e.id})},n.$$mousedown=t=>{t.stopPropagation(),o.send({type:`SELECT`,payload:e.id})},(0,t.use)(c,n,()=>({skipTransform:!0})),a.$$click=t=>{t.stopPropagation(),o.send({type:`DELETE`,payload:e.id})},(0,t.setStyleProperty)(a,`width`,`24px`),(0,t.setStyleProperty)(a,`height`,`24px`),(0,t.insert)(i,(0,t.createComponent)(r.Show,{get when(){return d()},get children(){var n=(0,t.getNextElement)(xe);return n.$$click=()=>o.send({type:`ADD_SIBLING`,payload:e.id}),(0,t.setStyleProperty)(n,`width`,`24px`),(0,t.setStyleProperty)(n,`height`,`24px`),(0,t.runHydrationEvents)(),n}}),p,m),h.$$click=()=>o.send({type:`ADD_CHILD`,payload:e.id}),(0,t.setStyleProperty)(h,`width`,`24px`),(0,t.setStyleProperty)(h,`height`,`24px`);var x=be(e.id);return typeof x==`function`&&(0,t.use)(x,g),(0,t.insert)(g,(0,t.createComponent)(r.Show,{get when(){return e.children},get fallback(){return(()=>{var e=(0,t.getNextElement)(Ce),n=e.firstChild,[i,a]=(0,t.getNextMarker)(n.nextSibling),o=i.nextSibling,[s,c]=(0,t.getNextMarker)(o.nextSibling),u=s.nextSibling,[d,f]=(0,t.getNextMarker)(u.nextSibling);return(0,t.insert)(e,(0,t.createComponent)(r.Show,{get when(){return l().data.label},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(we);return(0,t.insert)(n,()=>String(e)),n})()}),i,a),(0,t.insert)(e,(0,t.createComponent)(r.Show,{get when(){return l().data.content},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(Te);return(0,t.insert)(n,()=>String(e)),n})()}),s,c),(0,t.insert)(e,(0,t.createComponent)(r.Show,{get when(){return(0,t.memo)(()=>!l().data.label)()&&!l().data.content},get children(){return(0,t.createComponent)(r.For,{get each(){return Object.entries(l().data)},children:([e,n])=>(()=>{var r=(0,t.getNextElement)(Ee),i=r.firstChild,a=i.firstChild,[o,s]=(0,t.getNextMarker)(a.nextSibling);o.nextSibling;var c=i.nextSibling;return(0,t.insert)(i,e,o,s),(0,t.insert)(c,()=>String(n)),r})()})}}),d,f),e})()},get children(){return(0,t.createComponent)(t.Dynamic,(0,t.mergeProps)({get component(){return e.children}},()=>l().data))}})),(0,t.setStyleProperty)(_,`left`,`-18px`),v.$$mouseup=t=>{t.stopPropagation();let n=s()?.from;n?o.send({type:`ADD_EDGE`,payload:{from:n,to:e.id}}):o.send(`CLEAR_NEW_EDGE`)},v.$$pointerdown=e=>e.stopPropagation(),v.$$mousedown=e=>{e.stopPropagation()},(0,t.setStyleProperty)(v,`width`,`12px`),(0,t.setStyleProperty)(v,`height`,`12px`),(0,t.setStyleProperty)(v,`margin-top`,`12px`),(0,t.setStyleProperty)(y,`right`,`-18px`),b.$$mousedown=t=>{t.stopPropagation(),o.send(`DESELECT`),o.send({type:`START_NEW_EDGE`,payload:e.id})},(0,t.setStyleProperty)(b,`width`,`12px`),(0,t.setStyleProperty)(b,`height`,`12px`),(0,t.setStyleProperty)(b,`margin-top`,`12px`),(0,t.effect)(r=>{var a={"flex flex-col absolute cursor-grab bg-white rounded-md shadow-md select-none transition-[border,box-shadow] duration-200 ease-in-out hover:shadow-lg draggable":!0,"border border-[#e38c29] z-100":u(),"border border-[#e6d4be] z-1":!u()},o=`${l().y}px`,s=`${l().x}px`,c=e.id,d={"pointer-events-none absolute flex items-center justify-end -top-7.5 right-0 transition-all duration-200 ease-in-out space-x-2":!0,"w-full opacity-100":u(),"w-0 -right-3 opacity-0 overflow-hidden":!u()};return r.e=(0,t.classList)(n,a,r.e),o!==r.t&&(0,t.setStyleProperty)(n,`top`,r.t=o),s!==r.a&&(0,t.setStyleProperty)(n,`left`,r.a=s),c!==r.o&&(0,t.setAttribute)(n,`id`,r.o=c),r.i=(0,t.classList)(i,d,r.i),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0}),(0,t.runHydrationEvents)(),n})()};(0,t.delegateEvents)([`mousedown`,`dblclick`,`click`,`pointerdown`,`mouseup`]);var Oe=(0,t.template)(`<div class="absolute top-4 left-4 z-50">`),ke=(0,t.template)(`<div class="absolute top-4 right-4 z-50">`),Ae=(0,t.template)(`<div class="absolute bottom-4 left-4 z-50">`),je=e=>[(0,t.createComponent)(r.Show,{get when(){return e.topLeft},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(Oe);return(0,t.insert)(n,(0,t.createComponent)(e,{})),n})()}),(0,t.createComponent)(r.Show,{get when(){return e.topRight},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(ke);return(0,t.insert)(n,(0,t.createComponent)(e,{})),n})()}),(0,t.createComponent)(r.Show,{get when(){return e.bottomLeft},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(Ae);return(0,t.insert)(n,(0,t.createComponent)(e,{})),n})()})],Me=(0,t.template)(`<div class="relative h-full w-full overflow-auto"><!$><!/><div class="relative cursor-crosshair overflow-hidden"><div class="relative h-full w-full"style="transform-origin:top left"><!$><!/><!$><!/><!$><!/>`),Ne=(0,t.template)(`<div class="absolute right-4 bottom-4 z-50 flex items-center gap-2 rounded-xl border border-gray-200 bg-white/90 p-2 shadow-lg backdrop-blur-md"><button type=button class="flex size-9 cursor-pointer items-center justify-center rounded-lg bg-gray-100 text-lg font-bold text-gray-700 shadow-sm transition-all duration-150 hover:bg-gray-200 active:scale-95"title="Zoom out"aria-label="Zoom out">-</button><button type=button class="h-9 cursor-pointer rounded-lg px-2 text-xs font-semibold text-gray-700 transition-colors hover:bg-gray-100"title="Reset zoom"aria-label="Reset zoom"><!$><!/>%</button><button type=button class="flex size-9 cursor-pointer items-center justify-center rounded-lg bg-gray-100 text-lg font-bold text-gray-700 shadow-sm transition-all duration-150 hover:bg-gray-200 active:scale-95"title="Zoom in"aria-label="Zoom in">+</button><div class="h-5 w-px bg-gray-300"></div><button type=button class="flex size-9 cursor-pointer items-center justify-center rounded-lg bg-blue-600 text-white shadow transition-all duration-150 hover:bg-blue-700 active:scale-95"title="Add parent node"aria-label="Add parent node"><svg class=size-5 viewBox="0 0 24 24"fill=currentColor><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z">`),Pe=(0,t.template)(`<div class="relative mx-auto h-full w-full overflow-hidden">`),Fe=e=>{let o,[s,c]=(0,r.createSignal)(!1),[l,u]=(0,r.createSignal)({x:0,y:0}),[d,f]=(0,r.createSignal)(),p=0,m=0,h=H(),g=(0,n.createState)(h,{selector:e=>e.context.newEdge,equals:U}),_=(0,n.createState)(h,{selector:e=>e.context.zoom??1}),v=()=>{let e=d();if(!e)return;let t=e.getBoundingClientRect(),n=()=>d()?.parentElement,r={self:{left:t.left,top:t.top,width:e.clientWidth,height:e.clientHeight},parent:n()?{scrollLeft:n().scrollLeft,scrollTop:n().scrollTop,height:n().clientHeight,width:n().clientWidth}:void 0};h.send({type:`SET_BOARD`,payload:r})},y=()=>{let e=o.scrollWidth-o.clientWidth,t=o.scrollHeight-o.clientHeight;p=e>0?o.scrollLeft/e:0,m=t>0?o.scrollTop/t:0,v()};(0,r.createEffect)((0,r.on)(_,()=>{let e=o.scrollWidth-o.clientWidth,t=o.scrollHeight-o.clientHeight;e>0&&(o.scrollLeft=p*e),t>0&&(o.scrollTop=m*t)},{defer:!0})),(0,r.onMount)(v);let b=(0,n.createState)(h,{selector:e=>e.context?.selected}),x=(0,n.createState)(h,{selector:({context:e})=>i.toArray.typed(e.data?.nodes).map(e=>e.id),equals:(e,t)=>e.length===t.length}),S=()=>`calc((500vw - 265px) * ${_()})`,C=()=>`calc((500vh - 425px) * ${_()})`;return(()=>{var n=(0,t.getNextElement)(Pe);return n.addEventListener(`wheel`,e=>{if(e.ctrlKey||e.metaKey){e.preventDefault(),y();let t=e.deltaY<0?.1:-.1;h.send({type:`ZOOM`,payload:t})}}),(0,t.insert)(n,(0,t.createComponent)(a.DragDropProvider,{onDragMove:({draggable:{transform:e,node:t,id:n}})=>{let r=t.parentElement?.parentElement,i=_(),a=r?Math.max(0,r.clientWidth/i-t.offsetWidth):1/0,o=r?Math.max(0,r.clientHeight/i-t.offsetHeight):1/0,s=t.offsetLeft+e.x/i,c=t.offsetTop+e.y/i,l=Math.min(Math.max(s,0),a),d=Math.min(Math.max(c,0),o),f=l-t.offsetLeft,p=d-t.offsetTop;t.style.setProperty(`transform`,`translate3d(${f}px, ${p}px, 0)`),h.send({type:`MOVE_IMMEDIATE`,payload:{id:`${n}`,x:l,y:d}}),u({x:f*i,y:p*i})},onDragEnd:({draggable:{node:e,id:t}})=>{let n=e.parentElement?.parentElement,r=_(),i=n?Math.max(0,n.clientWidth/r-e.offsetWidth):1/0,a=n?Math.max(0,n.clientHeight/r-e.offsetHeight):1/0,o=e.offsetLeft+l().x/r,s=e.offsetTop+l().y/r,c=Math.min(Math.max(o,0),i),d=Math.min(Math.max(s,0),a);e.style.setProperty(`top`,d+`px`),e.style.setProperty(`left`,c+`px`),e.style.removeProperty(`transform`),h.send({type:`MOVE`,payload:{id:`${t}`,x:c,y:d}}),setTimeout(()=>{u({x:0,y:0})},0)},get children(){return[(()=>{var n=(0,t.getNextElement)(Me),i=n.firstChild,[l,u]=(0,t.getNextMarker)(i.nextSibling),d=l.nextSibling,p=d.firstChild,m=p.firstChild,[v,b]=(0,t.getNextMarker)(m.nextSibling),w=v.nextSibling,[T,ee]=(0,t.getNextMarker)(w.nextSibling),te=T.nextSibling,[E,D]=(0,t.getNextMarker)(te.nextSibling);return n.addEventListener(`scroll`,y),(0,t.use)(e=>o=e,n),(0,t.insert)(n,(0,t.createComponent)(a.DragDropSensors,{}),l,u),d.$$mousedown=e=>{if(g()||e.button!==0)return;h.send(`DESELECT`),c(!0);let t=e.clientX,n=e.clientY,r=o.scrollLeft,i=o.scrollTop,a=e=>{let a=e.clientX-t,s=e.clientY-n;o.scrollLeft=r-a*3,o.scrollTop=i-s*3,y()},s=()=>{window.removeEventListener(`mousemove`,a),window.removeEventListener(`mouseup`,s),setTimeout(()=>c(!1),200)};window.addEventListener(`mousemove`,a),window.addEventListener(`mouseup`,s)},(0,t.use)(f,d),(0,t.insert)(p,(0,t.createComponent)(ue,{}),v,b),(0,t.insert)(p,(0,t.createComponent)(_e,{}),T,ee),(0,t.insert)(p,(0,t.createComponent)(r.For,{get each(){return x()},children:n=>(0,t.createComponent)(De,{id:n,get children(){return e.component}})}),E,D),(0,t.effect)(e=>{var n=!!s(),r=C(),i=S(),a=_();return n!==e.e&&d.classList.toggle(`cursor-grabbing`,e.e=n),r!==e.t&&(0,t.setStyleProperty)(d,`height`,e.t=r),i!==e.a&&(0,t.setStyleProperty)(d,`width`,e.a=i),a!==e.o&&(0,t.setStyleProperty)(p,`scale`,e.o=a),e},{e:void 0,t:void 0,a:void 0,o:void 0}),(0,t.runHydrationEvents)(),n})(),(0,t.createComponent)(je,(0,t.mergeProps)(()=>e.panels)),(()=>{var e=(0,t.getNextElement)(Ne),n=e.firstChild,r=n.nextSibling,i=r.firstChild,[a,o]=(0,t.getNextMarker)(i.nextSibling);a.nextSibling;var s=r.nextSibling,c=s.nextSibling.nextSibling;return n.$$click=()=>{y(),h.send({type:`ZOOM`,payload:-.1})},r.$$click=()=>{y(),h.send(`TOGGLE_ZOOM`)},(0,t.insert)(r,()=>Math.round(_()*100),a,o),s.$$click=()=>{y(),h.send({type:`ZOOM`,payload:.1})},c.$$click=()=>h.send(`ADD_PARENT`),(0,t.runHydrationEvents)(),e})(),(0,t.createComponent)(r.Show,{get when(){return!b()},get children(){return(0,t.createComponent)(a.DragOverlay,{children:``})}})]}})),n})()};(0,t.delegateEvents)([`mousedown`,`click`]);var Ie=(0,t.template)(`<div class="relative h-full w-full"><div class="h-full w-full">`),Le=e=>{let i=e.config?.nodes??E,a=e.config?.edges,o=H(),s=(0,n.createState)(o,{selector:e=>!!e.context.newEdge});return(0,r.onCleanup)(o.pause),(0,r.onMount)(()=>{o.resume(),o.send({type:`CONFIGURE`,payload:{nodes:i,edges:a??[],defaultData:e.defaultData}})}),(()=>{var n=(0,t.getNextElement)(Ie),r=n.firstChild;return n.$$mousemove=({clientX:e,clientY:t})=>{s()&&o.send({type:`MOVE_NEW_EDGE`,payload:{x:e,y:t}})},n.$$mouseup=()=>o.send(`CLEAR_NEW_EDGE`),(0,t.insert)(r,(0,t.createComponent)(Fe,{get panels(){return e.panels},get component(){return e.component}})),(0,t.effect)(e=>(0,t.setStyleProperty)(r,`cursor`,s()?`inherit`:`crosshair`)),(0,t.runHydrationEvents)(),n})()};(0,t.delegateEvents)([`mouseup`,`mousemove`]);function Re(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Re(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function ze(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Re(e))&&(r&&(r+=` `),r+=t);return r}var Be=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Ve=(e,t)=>({classGroupId:e,validator:t}),He=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ue=`-`,We=[],Ge=`arbitrary..`,Ke=e=>{let t=Ye(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Je(e);let n=e.split(Ue);return qe(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Be(i,t):t:i||We}return n[e]||We}}},qe=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=qe(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Ue):e.slice(t).join(Ue),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Je=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Ge+r:void 0})(),Ye=e=>{let{theme:t,classGroups:n}=e;return Xe(n,t)},Xe=(e,t)=>{let n=He();for(let r in e){let i=e[r];Ze(i,n,r,t)}return n},Ze=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Qe(i,t,n,r)}},Qe=(e,t,n,r)=>{if(typeof e==`string`){$e(e,t,n);return}if(typeof e==`function`){et(e,t,n,r);return}tt(e,t,n,r)},$e=(e,t,n)=>{let r=e===``?t:nt(t,e);r.classGroupId=n},et=(e,t,n,r)=>{if(rt(e)){Ze(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ve(n,e))},tt=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Ze(o,nt(t,a),n,r)}},nt=(e,t)=>{let n=e,r=t.split(Ue),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=He(),n.nextPart.set(t,i)),n=i}return n},rt=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,it=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},at=`!`,ot=`:`,st=[],ct=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),lt=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===ot){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(at)?(c=s.slice(0,-1),l=!0):s.startsWith(at)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return ct(t,l,c,u)};if(t){let e=t+ot,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ct(st,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},ut=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},dt=e=>({cache:it(e.cacheSize),parseClassName:lt(e),sortModifiers:ut(e),postfixLookupClassGroupIds:ft(e),...Ke(e)}),ft=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},pt=/\s+/,mt=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(pt),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+at:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},ht=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=gt(n))&&(i&&(i+=` `),i+=r);return i},gt=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=gt(e[r]))&&(n&&(n+=` `),n+=t);return n},_t=(e,...t)=>{let n,r,i,a,o=o=>(n=dt(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=mt(e,n);return i(e,a),a};return a=o,(...e)=>a(ht(...e))},vt=[],W=e=>{let t=t=>t[e]||vt;return t.isThemeGetter=!0,t},yt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,bt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,xt=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,St=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ct=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,wt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Tt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Et=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,G=e=>xt.test(e),K=e=>!!e&&!Number.isNaN(Number(e)),q=e=>!!e&&Number.isInteger(Number(e)),Dt=e=>e.endsWith(`%`)&&K(e.slice(0,-1)),J=e=>St.test(e),Ot=()=>!0,kt=e=>Ct.test(e)&&!wt.test(e),At=()=>!1,jt=e=>Tt.test(e),Mt=e=>Et.test(e),Nt=e=>!Y(e)&&!Z(e),Pt=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Ft=e=>Q(e,Zt,At),Y=e=>yt.test(e),X=e=>Q(e,Qt,kt),It=e=>Q(e,$t,K),Lt=e=>Q(e,tn,Ot),Rt=e=>Q(e,en,At),zt=e=>Q(e,Yt,At),Bt=e=>Q(e,Xt,Mt),Vt=e=>Q(e,nn,jt),Z=e=>bt.test(e),Ht=e=>$(e,Qt),Ut=e=>$(e,en),Wt=e=>$(e,Yt),Gt=e=>$(e,Zt),Kt=e=>$(e,Xt),qt=e=>$(e,nn,!0),Jt=e=>$(e,tn,!0),Q=(e,t,n)=>{let r=yt.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},$=(e,t,n=!1)=>{let r=bt.exec(e);return r?r[1]?t(r[1]):n:!1},Yt=e=>e===`position`||e===`percentage`,Xt=e=>e===`image`||e===`url`,Zt=e=>e===`length`||e===`size`||e===`bg-size`,Qt=e=>e===`length`,$t=e=>e===`number`,en=e=>e===`family-name`,tn=e=>e===`number`||e===`weight`,nn=e=>e===`shadow`,rn=_t(()=>{let e=W(`color`),t=W(`font`),n=W(`text`),r=W(`font-weight`),i=W(`tracking`),a=W(`leading`),o=W(`breakpoint`),s=W(`container`),c=W(`spacing`),l=W(`radius`),u=W(`shadow`),d=W(`inset-shadow`),f=W(`text-shadow`),p=W(`drop-shadow`),m=W(`blur`),h=W(`perspective`),g=W(`aspect`),_=W(`ease`),v=W(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Z,Y],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Z,Y,c],T=()=>[G,`full`,`auto`,...w()],ee=()=>[q,`none`,`subgrid`,Z,Y],te=()=>[`auto`,{span:[`full`,q,Z,Y]},q,Z,Y],E=()=>[q,`auto`,Z,Y],D=()=>[`auto`,`min`,`max`,`fr`,Z,Y],ne=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],O=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],k=()=>[`auto`,...w()],A=()=>[G,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],j=()=>[G,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],M=()=>[G,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],N=()=>[e,Z,Y],re=()=>[...b(),Wt,zt,{position:[Z,Y]}],ie=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],P=()=>[`auto`,`cover`,`contain`,Gt,Ft,{size:[Z,Y]}],ae=()=>[Dt,Ht,X],F=()=>[``,`none`,`full`,l,Z,Y],I=()=>[``,K,Ht,X],L=()=>[`solid`,`dashed`,`dotted`,`double`],oe=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],R=()=>[K,Dt,Wt,zt],z=()=>[``,`none`,m,Z,Y],B=()=>[`none`,K,Z,Y],se=()=>[`none`,K,Z,Y],V=()=>[K,Z,Y],H=()=>[G,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[J],breakpoint:[J],color:[Ot],container:[J],"drop-shadow":[J],ease:[`in`,`out`,`in-out`],font:[Nt],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[J],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[J],shadow:[J],spacing:[`px`,K],text:[J],"text-shadow":[J],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,G,Y,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,Y]}],"container-named":[Pt],columns:[{columns:[K,Y,Z,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[q,`auto`,Z,Y]}],basis:[{basis:[G,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[K,G,`auto`,`initial`,`none`,Y]}],grow:[{grow:[``,K,Z,Y]}],shrink:[{shrink:[``,K,Z,Y]}],order:[{order:[q,`first`,`last`,`none`,Z,Y]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:te()}],"col-start":[{"col-start":E()}],"col-end":[{"col-end":E()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:te()}],"row-start":[{"row-start":E()}],"row-end":[{"row-end":E()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...ne(),`normal`]}],"justify-items":[{"justify-items":[...O(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...O()]}],"align-content":[{content:[`normal`,...ne()]}],"align-items":[{items:[...O(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...O(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...O(),`baseline`]}],"place-self":[{"place-self":[`auto`,...O()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:k()}],mx:[{mx:k()}],my:[{my:k()}],ms:[{ms:k()}],me:[{me:k()}],mbs:[{mbs:k()}],mbe:[{mbe:k()}],mt:[{mt:k()}],mr:[{mr:k()}],mb:[{mb:k()}],ml:[{ml:k()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:A()}],"inline-size":[{inline:[`auto`,...j()]}],"min-inline-size":[{"min-inline":[`auto`,...j()]}],"max-inline-size":[{"max-inline":[`none`,...j()]}],"block-size":[{block:[`auto`,...M()]}],"min-block-size":[{"min-block":[`auto`,...M()]}],"max-block-size":[{"max-block":[`none`,...M()]}],w:[{w:[s,`screen`,...A()]}],"min-w":[{"min-w":[s,`screen`,`none`,...A()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...A()]}],h:[{h:[`screen`,`lh`,...A()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...A()]}],"max-h":[{"max-h":[`screen`,`lh`,...A()]}],"font-size":[{text:[`base`,n,Ht,X]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Jt,Lt]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Dt,Y]}],"font-family":[{font:[Ut,Rt,t]}],"font-features":[{"font-features":[Y]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Z,Y]}],"line-clamp":[{"line-clamp":[K,`none`,Z,It]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,Z,Y]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Z,Y]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:N()}],"text-color":[{text:N()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...L(),`wavy`]}],"text-decoration-thickness":[{decoration:[K,`from-font`,`auto`,Z,X]}],"text-decoration-color":[{decoration:N()}],"underline-offset":[{"underline-offset":[K,`auto`,Z,Y]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[q,Z,Y]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Z,Y]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Z,Y]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:P()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},q,Z,Y],radial:[``,Z,Y],conic:[q,Z,Y]},Kt,Bt]}],"bg-color":[{bg:N()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:N()}],"gradient-via":[{via:N()}],"gradient-to":[{to:N()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:I()}],"border-w-x":[{"border-x":I()}],"border-w-y":[{"border-y":I()}],"border-w-s":[{"border-s":I()}],"border-w-e":[{"border-e":I()}],"border-w-bs":[{"border-bs":I()}],"border-w-be":[{"border-be":I()}],"border-w-t":[{"border-t":I()}],"border-w-r":[{"border-r":I()}],"border-w-b":[{"border-b":I()}],"border-w-l":[{"border-l":I()}],"divide-x":[{"divide-x":I()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":I()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...L(),`hidden`,`none`]}],"divide-style":[{divide:[...L(),`hidden`,`none`]}],"border-color":[{border:N()}],"border-color-x":[{"border-x":N()}],"border-color-y":[{"border-y":N()}],"border-color-s":[{"border-s":N()}],"border-color-e":[{"border-e":N()}],"border-color-bs":[{"border-bs":N()}],"border-color-be":[{"border-be":N()}],"border-color-t":[{"border-t":N()}],"border-color-r":[{"border-r":N()}],"border-color-b":[{"border-b":N()}],"border-color-l":[{"border-l":N()}],"divide-color":[{divide:N()}],"outline-style":[{outline:[...L(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[K,Z,Y]}],"outline-w":[{outline:[``,K,Ht,X]}],"outline-color":[{outline:N()}],shadow:[{shadow:[``,`none`,u,qt,Vt]}],"shadow-color":[{shadow:N()}],"inset-shadow":[{"inset-shadow":[`none`,d,qt,Vt]}],"inset-shadow-color":[{"inset-shadow":N()}],"ring-w":[{ring:I()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:N()}],"ring-offset-w":[{"ring-offset":[K,X]}],"ring-offset-color":[{"ring-offset":N()}],"inset-ring-w":[{"inset-ring":I()}],"inset-ring-color":[{"inset-ring":N()}],"text-shadow":[{"text-shadow":[`none`,f,qt,Vt]}],"text-shadow-color":[{"text-shadow":N()}],opacity:[{opacity:[K,Z,Y]}],"mix-blend":[{"mix-blend":[...oe(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":oe()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[K]}],"mask-image-linear-from-pos":[{"mask-linear-from":R()}],"mask-image-linear-to-pos":[{"mask-linear-to":R()}],"mask-image-linear-from-color":[{"mask-linear-from":N()}],"mask-image-linear-to-color":[{"mask-linear-to":N()}],"mask-image-t-from-pos":[{"mask-t-from":R()}],"mask-image-t-to-pos":[{"mask-t-to":R()}],"mask-image-t-from-color":[{"mask-t-from":N()}],"mask-image-t-to-color":[{"mask-t-to":N()}],"mask-image-r-from-pos":[{"mask-r-from":R()}],"mask-image-r-to-pos":[{"mask-r-to":R()}],"mask-image-r-from-color":[{"mask-r-from":N()}],"mask-image-r-to-color":[{"mask-r-to":N()}],"mask-image-b-from-pos":[{"mask-b-from":R()}],"mask-image-b-to-pos":[{"mask-b-to":R()}],"mask-image-b-from-color":[{"mask-b-from":N()}],"mask-image-b-to-color":[{"mask-b-to":N()}],"mask-image-l-from-pos":[{"mask-l-from":R()}],"mask-image-l-to-pos":[{"mask-l-to":R()}],"mask-image-l-from-color":[{"mask-l-from":N()}],"mask-image-l-to-color":[{"mask-l-to":N()}],"mask-image-x-from-pos":[{"mask-x-from":R()}],"mask-image-x-to-pos":[{"mask-x-to":R()}],"mask-image-x-from-color":[{"mask-x-from":N()}],"mask-image-x-to-color":[{"mask-x-to":N()}],"mask-image-y-from-pos":[{"mask-y-from":R()}],"mask-image-y-to-pos":[{"mask-y-to":R()}],"mask-image-y-from-color":[{"mask-y-from":N()}],"mask-image-y-to-color":[{"mask-y-to":N()}],"mask-image-radial":[{"mask-radial":[Z,Y]}],"mask-image-radial-from-pos":[{"mask-radial-from":R()}],"mask-image-radial-to-pos":[{"mask-radial-to":R()}],"mask-image-radial-from-color":[{"mask-radial-from":N()}],"mask-image-radial-to-color":[{"mask-radial-to":N()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[K]}],"mask-image-conic-from-pos":[{"mask-conic-from":R()}],"mask-image-conic-to-pos":[{"mask-conic-to":R()}],"mask-image-conic-from-color":[{"mask-conic-from":N()}],"mask-image-conic-to-color":[{"mask-conic-to":N()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:P()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,Y]}],filter:[{filter:[``,`none`,Z,Y]}],blur:[{blur:z()}],brightness:[{brightness:[K,Z,Y]}],contrast:[{contrast:[K,Z,Y]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,qt,Vt]}],"drop-shadow-color":[{"drop-shadow":N()}],grayscale:[{grayscale:[``,K,Z,Y]}],"hue-rotate":[{"hue-rotate":[K,Z,Y]}],invert:[{invert:[``,K,Z,Y]}],saturate:[{saturate:[K,Z,Y]}],sepia:[{sepia:[``,K,Z,Y]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,Y]}],"backdrop-blur":[{"backdrop-blur":z()}],"backdrop-brightness":[{"backdrop-brightness":[K,Z,Y]}],"backdrop-contrast":[{"backdrop-contrast":[K,Z,Y]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,K,Z,Y]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[K,Z,Y]}],"backdrop-invert":[{"backdrop-invert":[``,K,Z,Y]}],"backdrop-opacity":[{"backdrop-opacity":[K,Z,Y]}],"backdrop-saturate":[{"backdrop-saturate":[K,Z,Y]}],"backdrop-sepia":[{"backdrop-sepia":[``,K,Z,Y]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Z,Y]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[K,`initial`,Z,Y]}],ease:[{ease:[`linear`,`initial`,_,Z,Y]}],delay:[{delay:[K,Z,Y]}],animate:[{animate:[`none`,v,Z,Y]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,Y]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:B()}],"rotate-x":[{"rotate-x":B()}],"rotate-y":[{"rotate-y":B()}],"rotate-z":[{"rotate-z":B()}],scale:[{scale:se()}],"scale-x":[{"scale-x":se()}],"scale-y":[{"scale-y":se()}],"scale-z":[{"scale-z":se()}],"scale-3d":[`scale-3d`],skew:[{skew:V()}],"skew-x":[{"skew-x":V()}],"skew-y":[{"skew-y":V()}],transform:[{transform:[Z,Y,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:H()}],"translate-x":[{"translate-x":H()}],"translate-y":[{"translate-y":H()}],"translate-z":[{"translate-z":H()}],"translate-none":[`translate-none`],zoom:[{zoom:[q,Z,Y]}],accent:[{accent:N()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:N()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Z,Y]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":N()}],"scrollbar-track-color":[{"scrollbar-track":N()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Z,Y]}],fill:[{fill:[`none`,...N()]}],"stroke-w":[{stroke:[K,Ht,X,It]}],stroke:[{stroke:[`none`,...N()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function an(...e){return rn(ze(e))}var on=e=>e===``?`​`:e,sn=({content:e,min:t,...n})=>{let i=n.rewind??!1,a=n.rewindDelay??500,o=Math.min(t/10+e.length/10,10),[s,c]=(0,r.createSignal)(`​`),l,u=0,d=!0,f=t+o,p=t,m=1,h=()=>{d?u<e.length?(c(t=>t+e[u]),u++,l=setTimeout(h,p)):i&&(d=!1,m=1,l=setTimeout(h,a)):u>0?(u--,c(on(e.substring(0,u))),l=setTimeout(h,p)):(d=!0,m=1,l=setTimeout(h,a)),p+=m,p>=f?m=-1:p<=t&&(m=1)};return(0,r.onCleanup)(()=>{l!==void 0&&clearTimeout(l)}),{text:s,type:h,setText:c}},cn=(0,t.template)(`<div>`),ln=e=>{let n=e.interval??62,i=e.rewind??!1,a=e.rewindDelay??500,o=e.children,s=(0,r.createMemo)(()=>e.disabled?e.disabled():!1,!1),{text:c,type:l,setText:u}=sn({content:o,min:n,rewind:i,rewindDelay:a});return(0,r.createEffect)((0,r.on)(s,()=>u(`​`))),(0,r.createEffect)(()=>{s()?u(o):l()}),(()=>{var n=(0,t.getNextElement)(cn);return(0,t.insert)(n,c),(0,t.effect)(()=>(0,t.className)(n,e.class)),n})()},un=(0,t.template)(`<div class="mt-4 flex items-center justify-center space-x-4">`),dn=(0,t.template)(`<span aria-hidden=true>`),fn=({count:e,innerProps:n={},duration:i=500})=>{let[a,o]=(0,r.splitProps)(n,[`class`,`style`]);return(()=>{var n=(0,t.getNextElement)(un);return(0,t.insert)(n,()=>Array.from({length:e},(e,n)=>(()=>{var e=(0,t.getNextElement)(dn);return(0,t.spread)(e,(0,t.mergeProps)({get class(){return an(`rounded-full animate-out direction-alternate repeat-infinite fade-out-5 size-4 bg-gray-600`,a.class)},get style(){return{...a.style,"animation-duration":`${i}ms`,"animation-delay":`${i/n}ms`}}},o),!1,!1),(0,t.runHydrationEvents)(),e})())),n})()},pn=(0,t.template)(`<div role=status aria-live=polite aria-label="Chargement en cours"><div class=relative><div aria-hidden=true></div><div aria-hidden=true></div></div><div class=text-center><!$><!/><!$><!/>`),mn=e=>{let n=e.message??`Chargement en cours...`,r={sm:`w-8 h-8`,md:`w-12 h-12`,lg:`w-16 h-16`,xl:`w-24 h-24`},i=e.size??`lg`;return(()=>{var a=(0,t.getNextElement)(pn),o=a.firstChild,s=o.firstChild,c=s.nextSibling,l=o.nextSibling,u=l.firstChild,[d,f]=(0,t.getNextMarker)(u.nextSibling),p=d.nextSibling,[m,h]=(0,t.getNextMarker)(p.nextSibling);return(0,t.setAttribute)(l,`aria-label`,n),(0,t.insert)(l,(0,t.createComponent)(ln,{class:`text-lg font-medium text-gray-700 md:text-xl dark:text-gray-300`,get interval(){return e.interval??80},get rewind(){return e.rewind??!0},get rewindDelay(){return e.rewindDelay??2e3},children:n}),d,f),(0,t.insert)(l,(0,t.createComponent)(fn,{count:5,innerProps:{class:`bg-[#3d8091]`}}),m,h),(0,t.effect)(n=>{var o=an(`flex flex-col items-center justify-center gap-6`,`h-screen w-screen overflow-hidden p-4`,e.class),l=an(r[i],`rounded-full border-4 border-[#4B9CAD]/20`,`animate-spin`,`border-t-[#4B9CAD]`),u=an(`absolute inset-2`,`rounded-full border-4 border-transparent`,`border-b-[#4B9CAD]/40`,`animate-spin`,`animation-duration-[1.5s]`,`direction-[reverse]`);return o!==n.e&&(0,t.className)(a,n.e=o),l!==n.t&&(0,t.className)(s,n.t=l),u!==n.a&&(0,t.className)(c,n.a=u),n},{e:void 0,t:void 0,a:void 0}),a})()},hn=(0,t.template)(`<div class="relative flex h-full w-full rounded-lg border-2 border-gray-600 bg-white bg-size-[30px_30px]"style="background-image:radial-gradient(circle, #b8b8b8bf 1px, rgba(0, 0, 0, 0) 1px)">`),gn=(0,t.template)(`<div class="relative flex flex-1 items-center justify-center">`),_n=e=>{let[n,i]=(0,r.createSignal)(!1);return(0,r.onMount)(()=>setTimeout(()=>i(!0),e.delay)),(()=>{var i=(0,t.getNextElement)(hn);return(0,t.insert)(i,(0,t.createComponent)(r.Show,{get when(){return n()},keyed:!0,get fallback(){return(()=>{var e=(0,t.getNextElement)(gn);return(0,t.insert)(e,(0,t.createComponent)(mn,{message:`Chart is loading...`,interval:35,rewind:!0,rewindDelay:1e3})),e})()},get children(){return(0,t.createComponent)(V,{get children(){return(0,t.createComponent)(Le,e)}})}})),i})()},vn=(t=270)=>{let a=H(),o=()=>a.send(`STOP_EDIT`),[s,c]=(0,r.createSignal)(!1),l=a.sender(`SET_NODE_DATA`),u=(0,n.createState)(a,{selector:({context:t})=>{let n=t.editing;if(!(0,e.isDefined)(n))return;let r=t.data?.nodes?.find(e=>e.id===n);if((0,e.isDefined)(r))return{id:r.id,data:r.data}},equals:i.deepEqual});return{editing:u,updateField:(e,t)=>{let n=u();if(n)return l({...n,data:{...n.data,[e]:t}})},updateData:e=>{let t=u();if(t)return l({...t,data:{...t.data,...e}})},close:()=>{c(!0),setTimeout(()=>{o(),c(!1)},t)},closing:s,directClose:o}},yn=(0,t.template)(`<div><div class="flex flex-col gap-3"><!$><!/><!$><!/>`),bn=(0,t.template)(`<div class="flex items-center justify-between border-b border-gray-100 pb-2"><div class="flex items-center gap-2"><h3 class="text-sm font-bold text-gray-800">Edit</h3><span class="font-mono text-[11px] text-gray-400"></span></div><button type=button title="Close editor"aria-label="Close editor"class="cursor-pointer rounded-full p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-700"><svg class=size-4 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><path d="M18 6L6 18M6 6l12 12">`),xn=e=>{let n=vn(e.timeout),i=()=>e.classList instanceof Function?e.classList(n):e.classList;return(0,t.createComponent)(r.Show,{get when(){return n.editing()},children:a=>(()=>{var o=(0,t.getNextElement)(yn),s=o.firstChild,c=s.firstChild,[l,u]=(0,t.getNextMarker)(c.nextSibling),d=l.nextSibling,[f,p]=(0,t.getNextMarker)(d.nextSibling);return(0,t.use)(ve,o,()=>n.close),o.$$mousedown=e=>e.stopPropagation(),(0,t.insert)(s,(0,t.createComponent)(r.Show,{get when(){return e.header},keyed:!0,get fallback(){return(()=>{var e=(0,t.getNextElement)(bn),r=e.firstChild,i=r.firstChild.nextSibling,o=r.nextSibling;return(0,t.insert)(i,()=>a().id),(0,t.addEventListener)(o,`click`,n.close,!0),(0,t.runHydrationEvents)(),e})()},children:e=>e({id:a().id,close:n.close})}),l,u),(0,t.insert)(s,()=>e.children(n),f,p),(0,t.effect)(n=>{var r=an(`w-80 cursor-default rounded-2xl border border-gray-200 bg-white/95 p-4 shadow-xl backdrop-blur-md transition-all ${e.class??``}`),a=i(),s=e.style;return r!==n.e&&(0,t.className)(o,n.e=r),n.t=(0,t.classList)(o,a,n.t),n.a=(0,t.style)(o,s,n.a),n},{e:void 0,t:void 0,a:void 0}),(0,t.runHydrationEvents)(),o})()})};(0,t.delegateEvents)([`mousedown`,`click`]),exports.BOUNDS_CONSTRAINTS=T,exports.CANVAS_FACTOR=ee,exports.CLASSES=ae,exports.CONTAINER_DIMENSIONS=x,exports.DEFAULT_DATA=u,exports.DEFAULT_INPUT_OFFSET=b,exports.DEFAULT_INPUT_OFFSET_X=v,exports.DEFAULT_INPUT_OFFSET_Y=y,exports.DEFAULT_NODES=E,exports.DEFAULT_NODE_HEIGHT=l,exports.DEFAULT_NODE_WIDTH=c,exports.DEFAULT_SIZE=s,exports.EditPanel=xn,exports.Flow=_n,exports.FlowChart=Le,exports.HANDLE_CENTER_X_OFFSET=_,exports.HANDLE_CENTER_Y=g,exports.HANDLE_CONTAINER_OFFSET_X=h,exports.HANDLE_MARGIN_TOP=m,exports.HANDLE_RADIUS=p,exports.HANDLE_SIZE=f,exports.NODE_BORDER_WIDTH=d,exports.PARENT_CHILD_GAP_WIDTH=o,exports.Panels=je,exports.Provider=V,exports.SCROLL_MULTIPLIER=te,exports.TOOLBAR_BUFFER=w,exports.TOOLBAR_TOP_OFFSET=C,exports.board=P,exports.clamp=F,exports.clickOutside=ve,exports.createContext=I,exports.data=A,exports.dimension=N,exports.edgeJSON=M,exports.extremities=O,exports.getDefaultOutputOffset=S,exports.mouseOut=ye,exports.newEdge=ie,exports.nodeDataValue=k,exports.nodeJSON=j,exports.nodeOffset=ne,exports.point=D,exports.resize=be,exports.useFlow=H,exports.vector=re;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@bemedev/app/bemedev"),t=require("solid-js/web"),n=require("@bemedev/app-solidjs"),r=require("solid-js"),i=require("@bemedev/app"),a=require("@thisbeyond/solid-dnd");var o=100,s={width:192,height:50},c=s.width,l=s.height,u={content:`<Nouveau nœud>`},d=1.5,f=12,p=6,m=12,h=18,g=18,_=10.5,v=-10.5,y=18,b={x:v,y:18},x={WIDTH:5e3,HEIGHT:3500},S=(e=0)=>({x:e+_,y:18}),C=30,w=5,T={horizontal:55,vertical:40},ee=5,te=3,E=[{id:`node-0`,data:{content:`Some text`,label:`Root node`},position:{x:350,y:100}}],D=(0,e.type)({x:`number`,y:`number`}),ne=(0,e.type)(({use:e})=>({input:e(D),output:e(D)})),O=(0,e.type)({from:`string`,to:`string`}),k=(0,e.type)(({union:e})=>e(`string`,`boolean`,`number`)),A=(0,e.type)(({record:e,use:t})=>e(t(k))),j=(0,e.type)(({use:e})=>({position:e(D),data:e(A)})),M=O,N=(0,e.type)(({optional:e,use:t})=>({width:`number`,height:`number`,output:t(D),input:e(t(D)),inputOffset:e(t(D)),outputOffset:e(t(D))})),re=(0,e.type)({x0:`number`,y0:`number`,x1:`number`,y1:`number`}),ie=(0,e.type)(({intersection:e,use:t})=>e({from:`string`},t(re))),P=(0,e.type)(({optional:e})=>({self:{left:`number`,top:`number`,width:`number`,height:`number`},parent:e({scrollLeft:`number`,scrollTop:`number`,height:`number`,width:`number`})})),ae=`fill-transparent cursor-pointer relative stroke-[rgba(168,168,168,0.4)] stroke-3 stroke-[rgba(168,168,168,1)] stroke-4 z-100 stroke-[rgba(168,168,168,0.8)] pointer-events-all w-[100px] h-[100px] bg-white fill-white pointer-events-none absolute top-0 w-full h-full overflow-hidden overflow-auto h-[150vh] w-[2160px] bg-size-[30px_30px] flex flex-col cursor-grab rounded-md shadow-[1px_1px_11px_-6px_rgba(0,0,0,0.75)] select-none transition-[border,box-shadow] duration-200 ease-in-out hover:shadow-[2px_2px_12px_-6px_rgba(0,0,0,0.75)] draggable border border-[#e38c29] z-[100] border-[#e6d4be] z-[1] items-center justify-end -top-[30px] right-0 transition-all space-x-2 opacity-100 w-0 -right-3 opacity-0 w-6 h-6 fill-[#a11111] rounded-full size-6 bg-green-500 p-0.5 hover:bg-green-600 font-bold text-center overflow-visible bg-blue-500 text-white rounded-lg hover:bg-blue-600 justify-center p-3 border-b border-[#f0f0f0] cursor-default z-[-3] -left-[18px] bg-[#e38b29] w-3 h-3 my-3 -right-[18px] cursor-crosshair mt-3`.split(` `),F=(e,t,n)=>Math.min(Math.max(e,t),n),I=(e,t)=>{let n=(0,r.createContext)(void 0,t);return[t=>(0,r.createComponent)(n.Provider,{value:e(),get children(){return t.children}}),()=>{let e=(0,r.useContext)(n);if(!e)throw Error(`useContext must be used within a Provider`);return e},n]},L=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`,oe=(e=21)=>{let t=``,n=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+=L[n[e]&63];return t},R=(e,t)=>`edge = ${e} => ${t}`,z=e=>`node-${e}`,B=(e,t={width:s.width,height:s.height,inputOffset:b})=>{let n=t.width,r=t.height,i=t.outputOffset??S(n),a=t.inputOffset??b;return{width:n,height:r,output:{x:e.x+i.x,y:e.y+i.y},input:{x:e.x+a.x,y:e.y+a.y},outputOffset:i,inputOffset:a}},se=(0,i.createMachine)({initial:`idle`,on:{SET_BOARD:{actions:[`setBoard`]}},states:{idle:{on:{CONFIGURE:{actions:[`configure`],target:`/construction`},CONFIGURE_EMPTY:`/working`}},construction:{always:{actions:[`buildUI`],target:`/working`}},working:{on:{CONFIGURE:{actions:[`configure`],target:`/construction`},MOVE_IMMEDIATE:{actions:[{name:`buildUI`,description:`Must be in the ui`}]},ADD_CHILD:{actions:[`generateID`,{name:`placeChild`,description:`Must be in the ui`},`linkChild`],target:`/construction`},ADD_PARENT:{actions:[`generateID`,{name:`placeParent`,description:`Must be in the ui`},`selectParent`],target:`/construction`},ADD_SIBLING:{actions:[`generateID`,{name:`placeSibling`,description:`Must be in the ui`},`linkSibling`],target:`/construction`},RESIZE:{actions:[`resize`,`buildUI`]},MOVE:{actions:[`moveNode`,`buildUI`],target:`/construction`},ADD_EDGE:{actions:[`addEdge`],target:`/construction`},START_NEW_EDGE:{actions:[`startNewEdge`]},MOVE_NEW_EDGE:{actions:[`moveNewEdge`]},CLEAR_NEW_EDGE:{actions:[`clearNewEdge`]},DELETE:{actions:[`delete`],target:`/construction`},SELECT:{actions:[`select`]},DESELECT:{actions:[`deselect`]},ZOOM:{actions:[`zoom`]},TOGGLE_ZOOM:{actions:[`toggleZoom`]},SET_BOARD:{actions:[`setBoard`]},SET_NODE_DATA:{actions:[`setNodeData`]},EDIT:{actions:[`edit`]},STOP_EDIT:{actions:[`stopEdit`]}}}}},{eventsMap:(0,e.type)(({intersection:e,use:t,array:n,optional:r})=>({CONFIGURE:{nodes:n(e(t(j),{id:`string`})),edges:n(e(t(M),{id:`string`})),defaultData:r(t(A))},SET_BOARD:t(P),CONFIGURE_EMPTY:`never`,MOVE:{id:`string`,x:`number`,y:`number`},MOVE_IMMEDIATE:{id:`string`,x:`number`,y:`number`},ADD_CHILD:`string`,ADD_PARENT:`never`,ADD_SIBLING:`string`,DELETE:`string`,SELECT:`string`,DESELECT:`never`,EDIT:`string`,STOP_EDIT:`never`,ADD_EDGE:t(O),START_NEW_EDGE:`string`,MOVE_NEW_EDGE:t(D),CLEAR_NEW_EDGE:`never`,ZOOM:`number`,TOGGLE_ZOOM:`never`,RESIZE:{id:`string`,size:{width:`number`,height:`number`}},SET_NODE_DATA:{id:`string`,data:t(A)}})),sync:!0,pContext:(0,e.type)(({union:e,optional:t,record:n,use:r,custom:i})=>({generatedId:e(`string`,`null`),previousZoom:t(`number`),dimensions:n(r(N)),defaultData:t(r(A)),getBoardPosition:i(),clampPosition:i(),calculateDimensions:i()})),context:(0,e.type)(({optional:e,use:t,array:n,record:r})=>({data:e({nodes:n({...t(j),id:`string`}),edges:n({...t(M),id:`string`})}),board:e(t(P)),edgesPositions:r(t(re)),newEdge:e(t(ie)),selected:e(`string`),editing:e(`string`),updatingUI:e(`boolean`),zoom:`number`,bounds:t(D)}))}).provideOptions(({assign:t,batch:n,erase:r,filter:i,action:a})=>({actions:{configure:n(t(`data`,{CONFIGURE:({payload:{nodes:e,edges:t}})=>({nodes:e,edges:t})}),t(`newEdge`,()=>void 0),t(`updatingUI`,()=>!1),a(({pContext:e})=>{e.generatedId=null}),a({CONFIGURE:({payload:{nodes:e,defaultData:t},pContext:n})=>{n.defaultData=t,e.forEach(({id:e,position:t})=>{n.dimensions[e]=B(t)})}})),setNodeData:t(`data.nodes`,{SET_NODE_DATA:({context:{data:e},payload:{id:t,data:n}})=>e?.nodes?.map(e=>e.id===t?{...e,data:{...e.data,...n}}:e)}),setBoard:t(`board`,{SET_BOARD:({payload:e})=>e}),generateID:a(({pContext:e})=>e.generatedId=oe()),select:t(`selected`,{SELECT:({payload:e})=>e}),clearNewEdge:r(`newEdge`),deselect:n(r(`selected`),r(`editing`)),edit:n(t(`editing`,{EDIT:({payload:e})=>e}),t(`selected`,{EDIT:({payload:e})=>e})),stopEdit:r(`editing`),startNewEdge:t(`newEdge`,{START_NEW_EDGE:({payload:e,pContext:{dimensions:t}})=>{let{x:n,y:r}=t[e].output;return{from:e,x0:n,y0:r,x1:n,y1:r}}}),buildUI:n(t(`edgesPositions`,{MOVE:({context:{data:e,edgesPositions:t},payload:n,pContext:{dimensions:r}})=>{let i=e?.edges,a=r[n.id];if(!a)return;let o=a.outputOffset??S(a.width),s=a.inputOffset??b,c={x:n.x+o.x,y:n.y+o.y},l={x:n.x+s.x,y:n.y+s.y};return a.output=c,a.input=l,i?.forEach(({from:e,to:r,id:i})=>{let a=t[i];a&&(e===n.id&&(a.x0=c.x,a.y0=c.y),r===n.id&&(a.x1=l.x,a.y1=l.y))}),t},MOVE_IMMEDIATE:({context:{data:e,edgesPositions:t},payload:n,pContext:{dimensions:r}})=>(e?.edges?.forEach(({from:e,to:i,id:a})=>{let o=r[n.id],s=t[a];if(!(!s||!o)){if(e===n.id){let e=o.outputOffset??S(o.width),t=n.x+e.x,r=n.y+e.y;s.x0=t,s.y0=r,o.output={x:t,y:r}}if(i===n.id){let e=o?.inputOffset??b,t=n.x+e.x,r=n.y+e.y;s.x1=t,s.y1=r,o.input={x:t,y:r}}}}),t),else:({context:{data:e},pContext:{dimensions:t}})=>{let n={};return e?.edges?.forEach(({from:e,id:r,to:i})=>{let a=t[e]?.output,o=t[i]?.input;a&&o&&(n[r]={x0:a.x,y0:a.y,x1:o.x,y1:o.y})}),n}}),t(`updatingUI`,()=>!0)),resize:a({RESIZE:({payload:{id:e,size:{width:t,height:n}},context:{data:r},pContext:{dimensions:i}})=>{let a=i[e];if(!a)return;a.width=t,a.height=n;let o=r?.nodes?.find(t=>t.id===e),s=S(t),c=a.inputOffset??b;a.outputOffset=s,a.inputOffset=c,o?(a.output={x:o.position.x+s.x,y:o.position.y+s.y},a.input={x:o.position.x+c.x,y:o.position.y+c.y}):a.output={x:a.output.x,y:a.output.y}}}),linkChild:n(t(`data.edges`,{ADD_CHILD:({context:{data:t},pContext:n,payload:r})=>{let i=e.toArray.typed(t?.edges),a=n?.generatedId,o=z(a),s=R(r,o);return i.push({id:s,from:r,to:o}),i}}),t(`selected`,({pContext:{generatedId:e}})=>z(e))),linkSibling:n(t(`data.edges`,{ADD_SIBLING:({pContext:t,payload:n,context:{data:r}})=>{let i=e.toArray.typed(r?.edges),a=t?.generatedId,o=i.find(({to:e})=>e===n)?.from;if(!o)return i;let s=z(a),c=R(o,s);return i.push({from:o,to:s,id:c}),i}}),t(`selected`,({pContext:{generatedId:e}})=>z(e))),selectParent:t(`selected`,({pContext:{generatedId:e}})=>z(e)),moveNode:t(`data.nodes`,{MOVE:({context:{data:e},payload:{id:t,x:n,y:r}})=>e?.nodes?.map(e=>e.id===t?{...e,position:{x:n,y:r}}:e)}),delete:n(i(`data.edges`,{DELETE:({id:e,from:t,to:n},r,{payload:i})=>e!==i&&t!==i&&n!==i}),i(`data.nodes`,{DELETE:({id:e},t,{payload:n})=>e!==n}),r(`editing`)),addEdge:n(t(`data.edges`,{ADD_EDGE:({context:e,payload:{from:t,to:n}})=>{let r=e.data?.edges??[],i=R(t,n);return r.some(e=>e.id===i)?r:[...r,{id:i,from:t,to:n}]}}),r(`newEdge`)),zoom:t(`zoom`,{ZOOM:({context:{zoom:e},payload:t,pContext:n})=>{let r=F(e+t,.1,3);return n.previousZoom=void 0,r}}),toggleZoom:t(`zoom`,{TOGGLE_ZOOM:({context:{zoom:e},pContext:t})=>{let n=t.previousZoom;return n===void 0?(t.previousZoom=e,1):(t.previousZoom=void 0,n)}}),placeChild:t(`data.nodes`,{ADD_CHILD:({payload:e,context:{data:t,board:n},pContext:r})=>{if(!n)return t?.nodes;let i=t?.nodes;if(!e)return i;let a=i?.find(t=>t.id===e);if(!a)return i;let o=r.dimensions[e],c=`node-${r.generatedId}`,l=o?.width??s.width,d=o?.height??s.height,f=a.position.x+l+100,p=a.position.y,m=r.clampPosition(n,f,p,l,d),h=r.defaultData??u;return i?.push({id:c,data:{...h},position:m}),r.dimensions[c]=r.calculateDimensions(m,o??s),i}}),placeParent:t(`data.nodes`,{ADD_PARENT:({context:{data:e,zoom:t=1,board:n},pContext:r})=>{if(!n)return e?.nodes;let i=e?.nodes,a=`node-${r.generatedId}`,o=n.parent,c=o?.scrollLeft??0,l=o?.scrollTop??0,d=o?.width??0,f=o?.height??0,p=t,m=(c+d/2)/p,h=(l+f/2)/p,g=r.clampPosition(n,m,h,s.width,s.height),_=r.defaultData??u;return i?.push({id:a,data:{..._},position:g}),r.dimensions[a]=r.calculateDimensions(g,s),i}}),placeSibling:t(`data.nodes`,{ADD_SIBLING:({payload:e,context:{data:t,board:n},pContext:r})=>{if(!n)return t?.nodes;let i=t?.edges,a=t?.nodes,o=i?.find(t=>t.to===e)?.from;if(!o)return a;let c=a?.find(e=>e.id===o);if(!c)return a;let l=r.dimensions[o],d=`node-${r.generatedId}`,f=l?.width??s.width,p=l?.height??s.height,m=c.position.x+f+100,h=c.position.y+100,g=r.clampPosition(n,m,h,f,p),_=r.defaultData??u;return a?.push({id:d,data:{..._},position:g}),r.dimensions[d]=r.calculateDimensions(g,l??s),a}}),moveNewEdge:t(`newEdge`,{MOVE_NEW_EDGE:({context:{newEdge:e,board:t},payload:n,pContext:r})=>{if(!t||!e)return;let{x:i,y:a}=r.getBoardPosition(n.x,n.y,t);return{...e,x1:i,y1:a}}})}})),[V,H]=I(()=>{let e=(0,i.interpret)(se,{context:{zoom:1,edgesPositions:{},bounds:{x:0,y:0}},pContext:{generatedId:null,dimensions:{},getBoardPosition:(t,n,r)=>{if(!r)return{x:t,y:n};let i=e.state.context.zoom;return{x:(t-r.self.left)/i,y:(n-r.self.top)/i}},clampPosition:(t,n,r,i=s.width,a=s.height)=>{let o=t?.parent;if(!o)return{x:n,y:r};let c=e.state.context.zoom??1,l=o.scrollLeft/c+T.horizontal,u=Math.max(l,(o.scrollLeft+o.width)/c-T.horizontal-i),d=o.scrollTop/c+T.vertical,f=Math.max(d,(o.scrollTop+o.height)/c-T.vertical-a);return{x:F(n,l,u),y:F(r,d,f)}},calculateDimensions:(e,t={width:s.width,height:s.height,inputOffset:b})=>{let n=t.width,r=t.height,i=t.outputOffset??S(n),a=t.inputOffset??b;return{width:n,height:r,output:{x:e.x+i.x,y:e.y+i.y},input:{x:e.x+a.x,y:e.y+a.y},outputOffset:i,inputOffset:a}}}});return e.start(),e},{name:`FlowContext`}),ce=Object.prototype.hasOwnProperty;function le(e,t,n){for(n of e.keys())if(U(n,t))return n}function U(e,t){var n,r,i;if(e===t)return!0;if(e&&t&&(n=e.constructor)===t.constructor){if(n===Date)return e.getTime()===t.getTime();if(n===RegExp)return e.toString()===t.toString();if(n===Array){if((r=e.length)===t.length)for(;r--&&U(e[r],t[r]););return r===-1}if(n===Set){if(e.size!==t.size)return!1;for(r of e)if(i=r,i&&typeof i==`object`&&(i=le(t,i),!i)||!t.has(i))return!1;return!0}if(n===Map){if(e.size!==t.size)return!1;for(r of e)if(i=r[0],i&&typeof i==`object`&&(i=le(t,i),!i)||!U(r[1],t.get(i)))return!1;return!0}if(n===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(n===DataView){if((r=e.byteLength)===t.byteLength)for(;r--&&e.getInt8(r)===t.getInt8(r););return r===-1}if(ArrayBuffer.isView(e)){if((r=e.byteLength)===t.byteLength)for(;r--&&e[r]===t[r];);return r===-1}if(!n||typeof e==`object`){for(n in r=0,e)if(ce.call(e,n)&&++r&&!ce.call(t,n)||!(n in t)||!U(e[n],t[n]))return!1;return Object.keys(t).length===r}}return e!==e&&t!==t}var ue=()=>{let e=H(),t=(0,n.createState)(e,{selector:({context:e})=>e.zoom}),r=(0,n.createState)(e,{selector:({context:e})=>e.board}),[i,{addTransformer:o,removeTransformer:s,onDragStart:c,onDragEnd:l}]=(0,a.useDragDropContext)(),u={id:`clamp-to-container`,order:100,callback:e=>{let n=r()?.self,a=i.active.draggable;if(!n||!a)return e;let o=a.node;if(!o)return e;let s=t(),c=T.horizontal,l=Math.max(c,n.width/s-o.offsetWidth-T.horizontal),u=T.vertical,d=Math.max(u,n.height/s-o.offsetHeight-T.vertical),f=(c-o.offsetLeft)*s,p=(l-o.offsetLeft)*s,m=(u-o.offsetTop)*s,h=(d-o.offsetTop)*s;return{x:Math.min(Math.max(e.x,f),p),y:Math.min(Math.max(e.y,m),h)}}};return c(({draggable:e})=>{o(`draggables`,e.id,u)}),l(({draggable:e})=>{s(`draggables`,e.id,u.id)}),null},de=(0,t.template)(`<svg><path class="relative cursor-pointer fill-transparent"></svg>`,!1,!0,!1),fe=(0,t.template)(`<svg><g cursor=pointer style=pointer-events:all;z-index:30><circle cx=0 cy=0 r=12 fill="rgba(168, 168, 168, 1)"></circle><svg fill=currentColor stroke-width=0 xmlns=http://www.w3.org/2000/svg class="h-25 w-25 bg-white fill-white"width=20 height=20 viewBox="0 0 20 20"color=white x=-10 y=-10><path d="M10.185,1.417c-4.741,0-8.583,3.842-8.583,8.583c0,4.74,3.842,8.582,8.583,8.582S18.768,14.74,18.768,10C18.768,5.259,14.926,1.417,10.185,1.417 M10.185,17.68c-4.235,0-7.679-3.445-7.679-7.68c0-4.235,3.444-7.679,7.679-7.679S17.864,5.765,17.864,10C17.864,14.234,14.42,17.68,10.185,17.68 M10.824,10l2.842-2.844c0.178-0.176,0.178-0.46,0-0.637c-0.177-0.178-0.461-0.178-0.637,0l-2.844,2.841L7.341,6.52c-0.176-0.178-0.46-0.178-0.637,0c-0.178,0.176-0.178,0.461,0,0.637L9.546,10l-2.841,2.844c-0.178,0.176-0.178,0.461,0,0.637c0.178,0.178,0.459,0.178,0.637,0l2.844-2.841l2.844,2.841c0.178,0.178,0.459,0.178,0.637,0c0.178-0.176,0.178-0.461,0-0.637L10.824,10z"></svg>`,!1,!0,!1),pe=e=>e*100/200,me=e=>{if(!e)return``;let{x0:t,y0:n,x1:r,y1:i}=e;return`M ${t} ${n} C ${t+pe(Math.abs(r-t))} ${n}, ${r-pe(Math.abs(r-t))} ${i}, ${r} ${i}`},he=e=>{let i=H(),a=(0,n.createState)(i,{selector:({context:{newEdge:t,edgesPositions:n}})=>e.isNew?t:n[e.id],equals:U}),o=(0,n.createState)(i,{selector:t=>t.context.selected===e.id}),s=()=>{let e=a();return e?{x:e.x0+(e.x1-e.x0)/2,y:e.y0+(e.y1-e.y0)/2}:{x:0,y:0}};return(0,t.createComponent)(r.Show,{get when(){return a()},children:n=>[(()=>{var r=(0,t.getNextElement)(de);return r.$$mousedown=t=>(t.stopPropagation(),i.send({type:`SELECT`,payload:e.id})),(0,t.effect)(i=>{var a={"stroke-[rgba(168,168,168,0.4)] stroke-3 z-200":!!e.isNew,"stroke-[rgba(168,168,168,1)] stroke-4 z-100":o()&&!e.isNew,"stroke-[rgba(168,168,168,0.8)] stroke-3":!o()&&!e.isNew},s=e.isNew?`none`:`all`,c=me(n());return i.e=(0,t.classList)(r,a,i.e),s!==i.t&&(0,t.setStyleProperty)(r,`pointer-events`,i.t=s),c!==i.a&&(0,t.setAttribute)(r,`d`,i.a=c),i},{e:void 0,t:void 0,a:void 0}),(0,t.runHydrationEvents)(),r})(),(0,t.createComponent)(r.Show,{get when(){return o()},get children(){var n=(0,t.getNextElement)(fe);return n.$$mousedown=t=>{t.stopPropagation(),i.send({type:`DELETE`,payload:e.id})},(0,t.effect)(()=>(0,t.setAttribute)(n,`transform`,`translate(${s().x}, ${s().y})`)),(0,t.runHydrationEvents)(),n}})]})};(0,t.delegateEvents)([`mousedown`]);var ge=(0,t.template)(`<svg class="pointer-events-none h-full w-full overflow-visible"><!$><!/><!$><!/>`),_e=()=>{let e=H(),i=(0,n.createState)(e,{selector:e=>!!e.context.newEdge}),a=(0,n.createState)(e,{selector:({context:e})=>Object.keys(e.edgesPositions??{}),equals:(e,t)=>e.length===t.length});return(()=>{var e=(0,t.getNextElement)(ge),n=e.firstChild,[o,s]=(0,t.getNextMarker)(n.nextSibling),c=o.nextSibling,[l,u]=(0,t.getNextMarker)(c.nextSibling);return(0,t.insert)(e,(0,t.createComponent)(r.Show,{get when(){return i()},get children(){return(0,t.createComponent)(he,{id:`__#new-edge#__TEMP`,isNew:!0})}}),o,s),(0,t.insert)(e,(0,t.createComponent)(r.For,{get each(){return a()},children:e=>(0,t.createComponent)(he,{id:e})}),l,u),e})()},ve=(e,t)=>{let n=n=>{e.contains(n.target)||t()?.()};document.body.addEventListener(`click`,n),(0,r.onCleanup)(()=>document.body.removeEventListener(`click`,n))},ye=(e,t)=>{let n,i=!1,a=()=>{n!==void 0&&(clearTimeout(n),n=void 0)},o=()=>{let t=e.ownerDocument?.activeElement??document.activeElement;return!!t&&e.contains(t)},s=e=>{a();let r=t();if(!r)return;let i,o=0;typeof r==`function`?i=r:Array.isArray(r)?(i=r[0],o=r[1]??0):typeof r==`object`&&(i=r.callback??r.onMouseOut,o=r.delay??0),i&&(o>0?n=setTimeout(()=>{i?.(e),n=void 0},o):i(e))},c=()=>{i=!0,a()},l=e=>{i=!1,!o()&&s(e)},u=()=>{a()},d=t=>{let n=t.relatedTarget;!(n&&e.contains(n))&&!i&&s(t)};e.addEventListener(`mouseleave`,l),e.addEventListener(`mouseenter`,c),e.addEventListener(`focusin`,u),e.addEventListener(`focusout`,d),(0,r.onCleanup)(()=>{a(),e.removeEventListener(`mouseleave`,l),e.removeEventListener(`mouseenter`,c),e.removeEventListener(`focusin`,u),e.removeEventListener(`focusout`,d)})},be=e=>t=>{let n=H(),r=new ResizeObserver(t=>{let r=t[0].target;if(!r)return;let i=r.clientWidth,a=r.clientHeight;i>0&&a>0&&n.send({type:`RESIZE`,payload:{id:e,size:{width:i,height:a}}})});return r.observe(t),()=>{r.unobserve(t),r.disconnect()}},xe=(0,t.template)(`<svg class="cursor-pointer overflow-visible rounded-full bg-green-500 p-0.5 text-center font-bold hover:bg-green-600"viewBox="0 0 1024 1024"preserveAspectRatio=xMaxYMax xmlns=http://www.w3.org/2000/svg fill=white style=pointer-events:all;fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2><g id=background><path d="M467.40667,277.66696c-0.05948,-14.53055 5.75527,-22.95613 -8.62044,-20.90487c-112.55699,16.0607 -222.1609,112.14558 -245.06161,239.85765c-46.52056,259.43466 231.33083,443.06705 449.51209,316.97506c117.31668,-67.80002 160.95215,-190.43324 151.34416,-288.29849c-5.92276,-60.32819 -27.80273,-107.95668 -53.44246,-144.25469l59.39269,-42.05363c111.72214,156.309 73.11535,351.55635 -25.06953,459.45565c-184.18877,202.4124 -470.46624,145.52064 -592.95027,-32.92123c-156.18269,-227.53604 -27.15324,-543.64371 261.18883,-582.44416c5.0579,-0.68061 3.56556,-7.04079 3.56442,-8.58985c-0.05594,-76.3354 -0.11021,-76.7687 1.10909,-77.24589c2.06886,-0.80969 151.41433,118.4561 151.92482,118.95524c4.65592,4.55233 -0.99548,7.829 -29.07828,30.50907c-120.49369,97.31245 -120.4977,98.55675 -123.0691,97.87586c-0.43639,-0.11555 -0.80698,-0.31322 -0.74442,-66.91571Z"></path><path d="M316.61562,611.03414c0.11517,-90.16257 -0.25516,-99.92912 0.64739,-101.78856c1.56486,-3.22393 131.99102,0.91032 134.6959,-1.89763c2.21336,-2.2977 -0.59362,-129.97807 1.1376,-132.37034c0.7253,-1.00225 11.10552,-0.99175 12.07474,-0.99077c104.50336,0.10564 104.90098,-0.37811 105.967,0.85765c1.56461,1.81373 0.25596,114.18436 0.67852,129.81412c0.1322,4.88975 3.22386,3.28152 99.72028,3.4563c33.0841,0.05992 36.14259,-1.40368 36.21852,4.50462c0.11713,9.11348 1.41954,110.45369 -0.40274,113.92715c-1.81106,3.45208 -130.39967,-0.42618 -134.48289,1.62075c-2.29035,1.14816 -0.36989,101.12392 -1.11542,130.51904c-0.09548,3.76459 -2.13506,3.20617 -47.84854,3.17365c-69.30253,-0.0493 -69.31099,-0.25627 -69.65762,-0.42191c-3.77927,-1.80595 0.16287,-129.33555 -2.24266,-132.58994c-1.79931,-2.43424 -124.06108,-0.29118 -132.80252,-0.97392c-3.81102,-0.29766 -2.58229,-14.8847 -2.58758,-16.8402Z">`),Se=(0,t.template)(`<div class="group min-w-48"><div><svg class="cursor-pointer rounded-full fill-[#a11111] opacity-100 transition-all duration-200 ease-in-out"fill=currentColor stroke-width=2 viewBox="4 4 16 16"style=overflow:visible;pointer-events:all><path d="M12 4c-4.419 0-8 3.582-8 8s3.581 8 8 8 8-3.582 8-8-3.581-8-8-8zm3.707 10.293a.999.999 0 11-1.414 1.414L12 13.414l-2.293 2.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L10.586 12 8.293 9.707a.999.999 0 111.414-1.414L12 10.586l2.293-2.293a.999.999 0 111.414 1.414L13.414 12l2.293 2.293z"></path></svg><!$><!/><svg class="flex cursor-pointer items-center justify-center rounded-lg bg-blue-500 p-0.5 text-center font-bold text-white hover:bg-blue-600"viewBox="0 0 24 24"stroke=currentColor stroke-width=2 style=pointer-events:all><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path></svg></div><div></div><div id=inputs data-handle-type=input class="pointer-events-none absolute top-0 z-10 flex cursor-default flex-col"><div data-handle-type=input class="cursor-default rounded-full bg-[#e38b29] shadow-md transition-transform"style=pointer-events:all></div></div><div id=outputs data-handle-type=output class="pointer-events-none absolute top-0 z-10 flex flex-col"><div data-handle-type=output class="cursor-crosshair rounded-full bg-[#e38b29] shadow-md transition-transform"style=pointer-events:all>`),Ce=(0,t.template)(`<div class="p-3 select-none"><!$><!/><!$><!/><!$><!/>`),we=(0,t.template)(`<span class="mb-2 block min-w-max border-b border-[#f0f0f0] pb-2 font-semibold whitespace-nowrap text-red-600 select-none">`),Te=(0,t.template)(`<div class=select-none>`),Ee=(0,t.template)(`<div><span class=font-semibold><!$><!/>: </span><span>`),De=e=>{let o=H(),s=(0,n.createState)(o,{selector:e=>e.context.newEdge}),c=(0,a.createDraggable)(e.id),l=(0,n.createState)(o,{selector:({context:t})=>{let n=i.toArray.typed(t.data?.nodes).find(t=>t.id===e.id);return{x:n?.position.x??0,y:n?.position.y??0,data:n?.data??{}}},equals:U}),u=(0,n.createState)(o,{selector:({context:t})=>t.selected===e.id}),d=(0,n.createState)(o,{selector:({context:{data:t}})=>{let n=t?.edges;return n?n.some(({to:t})=>t===e.id):!1}});return(()=>{var n=(0,t.getNextElement)(Se),i=n.firstChild,a=i.firstChild,f=a.nextSibling,[p,m]=(0,t.getNextMarker)(f.nextSibling),h=p.nextSibling,g=i.nextSibling,_=g.nextSibling,v=_.firstChild,y=_.nextSibling,b=y.firstChild;n.$$dblclick=t=>{t.stopPropagation(),o.send({type:`EDIT`,payload:e.id})},n.$$mousedown=t=>{t.stopPropagation(),o.send({type:`SELECT`,payload:e.id})},(0,t.use)(c,n,()=>({skipTransform:!0})),a.$$click=t=>{t.stopPropagation(),o.send({type:`DELETE`,payload:e.id})},(0,t.setStyleProperty)(a,`width`,`24px`),(0,t.setStyleProperty)(a,`height`,`24px`),(0,t.insert)(i,(0,t.createComponent)(r.Show,{get when(){return d()},get children(){var n=(0,t.getNextElement)(xe);return n.$$click=()=>o.send({type:`ADD_SIBLING`,payload:e.id}),(0,t.setStyleProperty)(n,`width`,`24px`),(0,t.setStyleProperty)(n,`height`,`24px`),(0,t.runHydrationEvents)(),n}}),p,m),h.$$click=()=>o.send({type:`ADD_CHILD`,payload:e.id}),(0,t.setStyleProperty)(h,`width`,`24px`),(0,t.setStyleProperty)(h,`height`,`24px`);var x=be(e.id);return typeof x==`function`&&(0,t.use)(x,g),(0,t.insert)(g,(0,t.createComponent)(r.Show,{get when(){return e.children},get fallback(){return(()=>{var e=(0,t.getNextElement)(Ce),n=e.firstChild,[i,a]=(0,t.getNextMarker)(n.nextSibling),o=i.nextSibling,[s,c]=(0,t.getNextMarker)(o.nextSibling),u=s.nextSibling,[d,f]=(0,t.getNextMarker)(u.nextSibling);return(0,t.insert)(e,(0,t.createComponent)(r.Show,{get when(){return l().data.label},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(we);return(0,t.insert)(n,()=>String(e)),n})()}),i,a),(0,t.insert)(e,(0,t.createComponent)(r.Show,{get when(){return l().data.content},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(Te);return(0,t.insert)(n,()=>String(e)),n})()}),s,c),(0,t.insert)(e,(0,t.createComponent)(r.Show,{get when(){return(0,t.memo)(()=>!l().data.label)()&&!l().data.content},get children(){return(0,t.createComponent)(r.For,{get each(){return Object.entries(l().data)},children:([e,n])=>(()=>{var r=(0,t.getNextElement)(Ee),i=r.firstChild,a=i.firstChild,[o,s]=(0,t.getNextMarker)(a.nextSibling);o.nextSibling;var c=i.nextSibling;return(0,t.insert)(i,e,o,s),(0,t.insert)(c,()=>String(n)),r})()})}}),d,f),e})()},get children(){return(0,t.createComponent)(t.Dynamic,(0,t.mergeProps)({get component(){return e.children}},()=>l().data))}})),(0,t.setStyleProperty)(_,`left`,`-18px`),v.$$mouseup=t=>{t.stopPropagation();let n=s()?.from;n&&n!==e.id&&o.send({type:`ADD_EDGE`,payload:{from:n,to:e.id}}),o.send(`CLEAR_NEW_EDGE`)},v.$$pointerdown=e=>e.stopPropagation(),v.$$mousedown=e=>e.stopPropagation(),(0,t.setStyleProperty)(v,`width`,`12px`),(0,t.setStyleProperty)(v,`height`,`12px`),(0,t.setStyleProperty)(v,`margin-top`,`12px`),(0,t.setStyleProperty)(y,`right`,`-18px`),b.$$pointerdown=e=>{e.stopPropagation()},b.$$mousedown=t=>{t.stopPropagation(),o.send(`DESELECT`),o.send({type:`START_NEW_EDGE`,payload:e.id})},(0,t.setStyleProperty)(b,`width`,`12px`),(0,t.setStyleProperty)(b,`height`,`12px`),(0,t.setStyleProperty)(b,`margin-top`,`12px`),(0,t.effect)(r=>{var a={"flex flex-col absolute cursor-grab bg-white rounded-md shadow-md select-none transition-[border,box-shadow] duration-200 ease-in-out hover:shadow-lg draggable":!0,"border border-[#e38c29] z-100":u(),"border border-[#e6d4be] z-1":!u()},o=`${l().y}px`,s=`${l().x}px`,c=e.id,d={"pointer-events-none absolute flex items-center justify-end -top-7.5 right-0 transition-all duration-200 ease-in-out space-x-2":!0,"w-full opacity-100":u(),"w-0 -right-3 opacity-0 overflow-hidden":!u()},f=e.id,p=e.id,m=e.id,h=e.id;return r.e=(0,t.classList)(n,a,r.e),o!==r.t&&(0,t.setStyleProperty)(n,`top`,r.t=o),s!==r.a&&(0,t.setStyleProperty)(n,`left`,r.a=s),c!==r.o&&(0,t.setAttribute)(n,`id`,r.o=c),r.i=(0,t.classList)(i,d,r.i),f!==r.n&&(0,t.setAttribute)(_,`data-node-id`,r.n=f),p!==r.s&&(0,t.setAttribute)(v,`data-node-id`,r.s=p),m!==r.h&&(0,t.setAttribute)(y,`data-node-id`,r.h=m),h!==r.r&&(0,t.setAttribute)(b,`data-node-id`,r.r=h),r},{e:void 0,t:void 0,a:void 0,o:void 0,i:void 0,n:void 0,s:void 0,h:void 0,r:void 0}),(0,t.runHydrationEvents)(),n})()};(0,t.delegateEvents)([`mousedown`,`dblclick`,`click`,`pointerdown`,`mouseup`]);var Oe=(0,t.template)(`<div class="absolute top-4 left-4 z-50">`),ke=(0,t.template)(`<div class="absolute top-4 right-4 z-50">`),Ae=(0,t.template)(`<div class="absolute bottom-4 left-4 z-50">`),je=e=>[(0,t.createComponent)(r.Show,{get when(){return e.topLeft},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(Oe);return(0,t.insert)(n,(0,t.createComponent)(e,{})),n})()}),(0,t.createComponent)(r.Show,{get when(){return e.topRight},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(ke);return(0,t.insert)(n,(0,t.createComponent)(e,{})),n})()}),(0,t.createComponent)(r.Show,{get when(){return e.bottomLeft},keyed:!0,children:e=>(()=>{var n=(0,t.getNextElement)(Ae);return(0,t.insert)(n,(0,t.createComponent)(e,{})),n})()})],Me=(0,t.template)(`<div class="relative h-full w-full overflow-auto"><!$><!/><div class="relative cursor-crosshair overflow-hidden"><div class="relative h-full w-full"style="transform-origin:top left"><!$><!/><!$><!/><!$><!/>`),Ne=(0,t.template)(`<div class="absolute right-4 bottom-4 z-50 flex items-center gap-2 rounded-xl border border-gray-200 bg-white/90 p-2 shadow-lg backdrop-blur-md"><button type=button class="flex size-9 cursor-pointer items-center justify-center rounded-lg bg-gray-100 text-lg font-bold text-gray-700 shadow-sm transition-all duration-150 hover:bg-gray-200 active:scale-95"title="Zoom out"aria-label="Zoom out">-</button><button type=button class="h-9 cursor-pointer rounded-lg px-2 text-xs font-semibold text-gray-700 transition-colors hover:bg-gray-100"title="Reset zoom"aria-label="Reset zoom"><!$><!/>%</button><button type=button class="flex size-9 cursor-pointer items-center justify-center rounded-lg bg-gray-100 text-lg font-bold text-gray-700 shadow-sm transition-all duration-150 hover:bg-gray-200 active:scale-95"title="Zoom in"aria-label="Zoom in">+</button><div class="h-5 w-px bg-gray-300"></div><button type=button class="flex size-9 cursor-pointer items-center justify-center rounded-lg bg-blue-600 text-white shadow transition-all duration-150 hover:bg-blue-700 active:scale-95"title="Add parent node"aria-label="Add parent node"><svg class=size-5 viewBox="0 0 24 24"fill=currentColor><path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z">`),Pe=(0,t.template)(`<div class="relative mx-auto h-full w-full overflow-hidden">`),Fe=e=>{let o,[s,c]=(0,r.createSignal)(!1),[l,u]=(0,r.createSignal)({x:0,y:0}),[d,f]=(0,r.createSignal)(),p=0,m=0,h=H(),g=(0,n.createState)(h,{selector:e=>e.context.newEdge,equals:U}),_=(0,n.createState)(h,{selector:e=>e.context.zoom??1}),v=()=>{let e=d();if(!e)return;let t=e.getBoundingClientRect(),n=()=>d()?.parentElement,r={self:{left:t.left,top:t.top,width:e.clientWidth,height:e.clientHeight},parent:n()?{scrollLeft:n().scrollLeft,scrollTop:n().scrollTop,height:n().clientHeight,width:n().clientWidth}:void 0};h.send({type:`SET_BOARD`,payload:r})},y=()=>{let e=o.scrollWidth-o.clientWidth,t=o.scrollHeight-o.clientHeight;p=e>0?o.scrollLeft/e:0,m=t>0?o.scrollTop/t:0,v()};(0,r.createEffect)((0,r.on)(_,()=>{let e=o.scrollWidth-o.clientWidth,t=o.scrollHeight-o.clientHeight;e>0&&(o.scrollLeft=p*e),t>0&&(o.scrollTop=m*t)},{defer:!0})),(0,r.onMount)(v);let b=(0,n.createState)(h,{selector:e=>e.context?.selected}),x=(0,n.createState)(h,{selector:({context:e})=>i.toArray.typed(e.data?.nodes).map(e=>e.id),equals:(e,t)=>e.length===t.length}),S=()=>`calc((500vw - 265px) * ${_()})`,C=()=>`calc((500vh - 425px) * ${_()})`;return(()=>{var n=(0,t.getNextElement)(Pe);return n.addEventListener(`wheel`,e=>{if(e.ctrlKey||e.metaKey){e.preventDefault(),y();let t=e.deltaY<0?.1:-.1;h.send({type:`ZOOM`,payload:t})}}),(0,t.insert)(n,(0,t.createComponent)(a.DragDropProvider,{onDragMove:({draggable:{transform:e,node:t,id:n}})=>{let r=t.parentElement?.parentElement,i=_(),a=r?Math.max(0,r.clientWidth/i-t.offsetWidth):1/0,o=r?Math.max(0,r.clientHeight/i-t.offsetHeight):1/0,s=t.offsetLeft+e.x/i,c=t.offsetTop+e.y/i,l=Math.min(Math.max(s,0),a),d=Math.min(Math.max(c,0),o),f=l-t.offsetLeft,p=d-t.offsetTop;t.style.setProperty(`transform`,`translate3d(${f}px, ${p}px, 0)`),h.send({type:`MOVE_IMMEDIATE`,payload:{id:`${n}`,x:l,y:d}}),u({x:f*i,y:p*i})},onDragEnd:({draggable:{node:e,id:t}})=>{let n=e.parentElement?.parentElement,r=_(),i=n?Math.max(0,n.clientWidth/r-e.offsetWidth):1/0,a=n?Math.max(0,n.clientHeight/r-e.offsetHeight):1/0,o=e.offsetLeft+l().x/r,s=e.offsetTop+l().y/r,c=Math.min(Math.max(o,0),i),d=Math.min(Math.max(s,0),a);e.style.setProperty(`top`,d+`px`),e.style.setProperty(`left`,c+`px`),e.style.removeProperty(`transform`),h.send({type:`MOVE`,payload:{id:`${t}`,x:c,y:d}}),setTimeout(()=>{u({x:0,y:0})},0)},get children(){return[(()=>{var n=(0,t.getNextElement)(Me),i=n.firstChild,[l,u]=(0,t.getNextMarker)(i.nextSibling),d=l.nextSibling,p=d.firstChild,m=p.firstChild,[v,b]=(0,t.getNextMarker)(m.nextSibling),w=v.nextSibling,[T,ee]=(0,t.getNextMarker)(w.nextSibling),te=T.nextSibling,[E,D]=(0,t.getNextMarker)(te.nextSibling);return n.addEventListener(`scroll`,y),(0,t.use)(e=>o=e,n),(0,t.insert)(n,(0,t.createComponent)(a.DragDropSensors,{}),l,u),d.$$mousedown=e=>{if(g()||e.button!==0)return;h.send(`DESELECT`),c(!0);let t=e.clientX,n=e.clientY,r=o.scrollLeft,i=o.scrollTop,a=e=>{let a=e.clientX-t,s=e.clientY-n;o.scrollLeft=r-a*3,o.scrollTop=i-s*3,y()},s=()=>{window.removeEventListener(`mousemove`,a),window.removeEventListener(`mouseup`,s),setTimeout(()=>c(!1),200)};window.addEventListener(`mousemove`,a),window.addEventListener(`mouseup`,s)},(0,t.use)(f,d),(0,t.insert)(p,(0,t.createComponent)(ue,{}),v,b),(0,t.insert)(p,(0,t.createComponent)(_e,{}),T,ee),(0,t.insert)(p,(0,t.createComponent)(r.For,{get each(){return x()},children:n=>(0,t.createComponent)(De,{id:n,get children(){return e.component}})}),E,D),(0,t.effect)(e=>{var n=!!s(),r=C(),i=S(),a=_();return n!==e.e&&d.classList.toggle(`cursor-grabbing`,e.e=n),r!==e.t&&(0,t.setStyleProperty)(d,`height`,e.t=r),i!==e.a&&(0,t.setStyleProperty)(d,`width`,e.a=i),a!==e.o&&(0,t.setStyleProperty)(p,`scale`,e.o=a),e},{e:void 0,t:void 0,a:void 0,o:void 0}),(0,t.runHydrationEvents)(),n})(),(0,t.createComponent)(je,(0,t.mergeProps)(()=>e.panels)),(()=>{var e=(0,t.getNextElement)(Ne),n=e.firstChild,r=n.nextSibling,i=r.firstChild,[a,o]=(0,t.getNextMarker)(i.nextSibling);a.nextSibling;var s=r.nextSibling,c=s.nextSibling.nextSibling;return n.$$click=()=>{y(),h.send({type:`ZOOM`,payload:-.1})},r.$$click=()=>{y(),h.send(`TOGGLE_ZOOM`)},(0,t.insert)(r,()=>Math.round(_()*100),a,o),s.$$click=()=>{y(),h.send({type:`ZOOM`,payload:.1})},c.$$click=()=>h.send(`ADD_PARENT`),(0,t.runHydrationEvents)(),e})(),(0,t.createComponent)(r.Show,{get when(){return!b()},get children(){return(0,t.createComponent)(a.DragOverlay,{children:``})}})]}})),n})()};(0,t.delegateEvents)([`mousedown`,`click`]);var Ie=(0,t.template)(`<div class="relative h-full w-full"><div class="h-full w-full">`),Le=e=>{let i=e.config?.nodes??E,a=e.config?.edges,o=H(),s=(0,n.createState)(o,{selector:e=>!!e.context.newEdge});return(0,r.onCleanup)(o.pause),(0,r.onMount)(()=>{o.resume(),o.send({type:`CONFIGURE`,payload:{nodes:i,edges:a??[],defaultData:e.defaultData}})}),(0,r.createEffect)(()=>{if(!s())return;let e=e=>{o.send({type:`MOVE_NEW_EDGE`,payload:{x:e.clientX,y:e.clientY}})},t=e=>{let t=o.state.context.newEdge?.from;if(t){let n=(document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-handle-type="input"]`))?.getAttribute(`data-node-id`);n&&n!==t&&o.send({type:`ADD_EDGE`,payload:{from:t,to:n}})}o.send(`CLEAR_NEW_EDGE`)};window.addEventListener(`pointermove`,e),window.addEventListener(`pointerup`,t),(0,r.onCleanup)(()=>{window.removeEventListener(`pointermove`,e),window.removeEventListener(`pointerup`,t)})}),(()=>{var n=(0,t.getNextElement)(Ie),r=n.firstChild;return(0,t.insert)(r,(0,t.createComponent)(Fe,{get panels(){return e.panels},get component(){return e.component}})),(0,t.effect)(e=>(0,t.setStyleProperty)(r,`cursor`,s()?`inherit`:`crosshair`)),n})()};function Re(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=Re(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function ze(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=Re(e))&&(r&&(r+=` `),r+=t);return r}var Be=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},Ve=(e,t)=>({classGroupId:e,validator:t}),He=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),Ue=`-`,We=[],Ge=`arbitrary..`,Ke=e=>{let t=Ye(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return Je(e);let n=e.split(Ue);return qe(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?Be(i,t):t:i||We}return n[e]||We}}},qe=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=qe(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(Ue):e.slice(t).join(Ue),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},Je=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?Ge+r:void 0})(),Ye=e=>{let{theme:t,classGroups:n}=e;return Xe(n,t)},Xe=(e,t)=>{let n=He();for(let r in e){let i=e[r];Ze(i,n,r,t)}return n},Ze=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Qe(i,t,n,r)}},Qe=(e,t,n,r)=>{if(typeof e==`string`){$e(e,t,n);return}if(typeof e==`function`){et(e,t,n,r);return}tt(e,t,n,r)},$e=(e,t,n)=>{let r=e===``?t:nt(t,e);r.classGroupId=n},et=(e,t,n,r)=>{if(rt(e)){Ze(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Ve(n,e))},tt=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Ze(o,nt(t,a),n,r)}},nt=(e,t)=>{let n=e,r=t.split(Ue),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=He(),n.nextPart.set(t,i)),n=i}return n},rt=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,it=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},at=`!`,ot=`:`,st=[],ct=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),lt=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===ot){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(at)?(c=s.slice(0,-1),l=!0):s.startsWith(at)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return ct(t,l,c,u)};if(t){let e=t+ot,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):ct(st,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},ut=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},dt=e=>({cache:it(e.cacheSize),parseClassName:lt(e),sortModifiers:ut(e),postfixLookupClassGroupIds:ft(e),...Ke(e)}),ft=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},pt=/\s+/,mt=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(pt),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h){l=t+(l.length>0?` `+l:l);continue}if(g=r(p),!g){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+at:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},ht=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=gt(n))&&(i&&(i+=` `),i+=r);return i},gt=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=gt(e[r]))&&(n&&(n+=` `),n+=t);return n},_t=(e,...t)=>{let n,r,i,a,o=o=>(n=dt(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=mt(e,n);return i(e,a),a};return a=o,(...e)=>a(ht(...e))},vt=[],W=e=>{let t=t=>t[e]||vt;return t.isThemeGetter=!0,t},yt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,bt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,xt=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,St=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ct=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,wt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Tt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Et=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,G=e=>xt.test(e),K=e=>!!e&&!Number.isNaN(Number(e)),q=e=>!!e&&Number.isInteger(Number(e)),Dt=e=>e.endsWith(`%`)&&K(e.slice(0,-1)),J=e=>St.test(e),Ot=()=>!0,kt=e=>Ct.test(e)&&!wt.test(e),At=()=>!1,jt=e=>Tt.test(e),Mt=e=>Et.test(e),Nt=e=>!Y(e)&&!Z(e),Pt=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),Ft=e=>Q(e,Zt,At),Y=e=>yt.test(e),X=e=>Q(e,Qt,kt),It=e=>Q(e,$t,K),Lt=e=>Q(e,tn,Ot),Rt=e=>Q(e,en,At),zt=e=>Q(e,Yt,At),Bt=e=>Q(e,Xt,Mt),Vt=e=>Q(e,nn,jt),Z=e=>bt.test(e),Ht=e=>$(e,Qt),Ut=e=>$(e,en),Wt=e=>$(e,Yt),Gt=e=>$(e,Zt),Kt=e=>$(e,Xt),qt=e=>$(e,nn,!0),Jt=e=>$(e,tn,!0),Q=(e,t,n)=>{let r=yt.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},$=(e,t,n=!1)=>{let r=bt.exec(e);return r?r[1]?t(r[1]):n:!1},Yt=e=>e===`position`||e===`percentage`,Xt=e=>e===`image`||e===`url`,Zt=e=>e===`length`||e===`size`||e===`bg-size`,Qt=e=>e===`length`,$t=e=>e===`number`,en=e=>e===`family-name`,tn=e=>e===`number`||e===`weight`,nn=e=>e===`shadow`,rn=_t(()=>{let e=W(`color`),t=W(`font`),n=W(`text`),r=W(`font-weight`),i=W(`tracking`),a=W(`leading`),o=W(`breakpoint`),s=W(`container`),c=W(`spacing`),l=W(`radius`),u=W(`shadow`),d=W(`inset-shadow`),f=W(`text-shadow`),p=W(`drop-shadow`),m=W(`blur`),h=W(`perspective`),g=W(`aspect`),_=W(`ease`),v=W(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),Z,Y],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[Z,Y,c],T=()=>[G,`full`,`auto`,...w()],ee=()=>[q,`none`,`subgrid`,Z,Y],te=()=>[`auto`,{span:[`full`,q,Z,Y]},q,Z,Y],E=()=>[q,`auto`,Z,Y],D=()=>[`auto`,`min`,`max`,`fr`,Z,Y],ne=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],O=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],k=()=>[`auto`,...w()],A=()=>[G,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],j=()=>[G,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],M=()=>[G,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],N=()=>[e,Z,Y],re=()=>[...b(),Wt,zt,{position:[Z,Y]}],ie=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],P=()=>[`auto`,`cover`,`contain`,Gt,Ft,{size:[Z,Y]}],ae=()=>[Dt,Ht,X],F=()=>[``,`none`,`full`,l,Z,Y],I=()=>[``,K,Ht,X],L=()=>[`solid`,`dashed`,`dotted`,`double`],oe=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],R=()=>[K,Dt,Wt,zt],z=()=>[``,`none`,m,Z,Y],B=()=>[`none`,K,Z,Y],se=()=>[`none`,K,Z,Y],V=()=>[K,Z,Y],H=()=>[G,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[J],breakpoint:[J],color:[Ot],container:[J],"drop-shadow":[J],ease:[`in`,`out`,`in-out`],font:[Nt],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[J],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[J],shadow:[J],spacing:[`px`,K],text:[J],"text-shadow":[J],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,G,Y,Z,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,Z,Y]}],"container-named":[Pt],columns:[{columns:[K,Y,Z,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[q,`auto`,Z,Y]}],basis:[{basis:[G,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[K,G,`auto`,`initial`,`none`,Y]}],grow:[{grow:[``,K,Z,Y]}],shrink:[{shrink:[``,K,Z,Y]}],order:[{order:[q,`first`,`last`,`none`,Z,Y]}],"grid-cols":[{"grid-cols":ee()}],"col-start-end":[{col:te()}],"col-start":[{"col-start":E()}],"col-end":[{"col-end":E()}],"grid-rows":[{"grid-rows":ee()}],"row-start-end":[{row:te()}],"row-start":[{"row-start":E()}],"row-end":[{"row-end":E()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":D()}],"auto-rows":[{"auto-rows":D()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...ne(),`normal`]}],"justify-items":[{"justify-items":[...O(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...O()]}],"align-content":[{content:[`normal`,...ne()]}],"align-items":[{items:[...O(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...O(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":ne()}],"place-items":[{"place-items":[...O(),`baseline`]}],"place-self":[{"place-self":[`auto`,...O()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:k()}],mx:[{mx:k()}],my:[{my:k()}],ms:[{ms:k()}],me:[{me:k()}],mbs:[{mbs:k()}],mbe:[{mbe:k()}],mt:[{mt:k()}],mr:[{mr:k()}],mb:[{mb:k()}],ml:[{ml:k()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:A()}],"inline-size":[{inline:[`auto`,...j()]}],"min-inline-size":[{"min-inline":[`auto`,...j()]}],"max-inline-size":[{"max-inline":[`none`,...j()]}],"block-size":[{block:[`auto`,...M()]}],"min-block-size":[{"min-block":[`auto`,...M()]}],"max-block-size":[{"max-block":[`none`,...M()]}],w:[{w:[s,`screen`,...A()]}],"min-w":[{"min-w":[s,`screen`,`none`,...A()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...A()]}],h:[{h:[`screen`,`lh`,...A()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...A()]}],"max-h":[{"max-h":[`screen`,`lh`,...A()]}],"font-size":[{text:[`base`,n,Ht,X]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Jt,Lt]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Dt,Y]}],"font-family":[{font:[Ut,Rt,t]}],"font-features":[{"font-features":[Y]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,Z,Y]}],"line-clamp":[{"line-clamp":[K,`none`,Z,It]}],leading:[{leading:[a,...w()]}],"list-image":[{"list-image":[`none`,Z,Y]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,Z,Y]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:N()}],"text-color":[{text:N()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...L(),`wavy`]}],"text-decoration-thickness":[{decoration:[K,`from-font`,`auto`,Z,X]}],"text-decoration-color":[{decoration:N()}],"underline-offset":[{"underline-offset":[K,`auto`,Z,Y]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[q,Z,Y]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,Z,Y]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,Z,Y]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:re()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:P()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},q,Z,Y],radial:[``,Z,Y],conic:[q,Z,Y]},Kt,Bt]}],"bg-color":[{bg:N()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:N()}],"gradient-via":[{via:N()}],"gradient-to":[{to:N()}],rounded:[{rounded:F()}],"rounded-s":[{"rounded-s":F()}],"rounded-e":[{"rounded-e":F()}],"rounded-t":[{"rounded-t":F()}],"rounded-r":[{"rounded-r":F()}],"rounded-b":[{"rounded-b":F()}],"rounded-l":[{"rounded-l":F()}],"rounded-ss":[{"rounded-ss":F()}],"rounded-se":[{"rounded-se":F()}],"rounded-ee":[{"rounded-ee":F()}],"rounded-es":[{"rounded-es":F()}],"rounded-tl":[{"rounded-tl":F()}],"rounded-tr":[{"rounded-tr":F()}],"rounded-br":[{"rounded-br":F()}],"rounded-bl":[{"rounded-bl":F()}],"border-w":[{border:I()}],"border-w-x":[{"border-x":I()}],"border-w-y":[{"border-y":I()}],"border-w-s":[{"border-s":I()}],"border-w-e":[{"border-e":I()}],"border-w-bs":[{"border-bs":I()}],"border-w-be":[{"border-be":I()}],"border-w-t":[{"border-t":I()}],"border-w-r":[{"border-r":I()}],"border-w-b":[{"border-b":I()}],"border-w-l":[{"border-l":I()}],"divide-x":[{"divide-x":I()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":I()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...L(),`hidden`,`none`]}],"divide-style":[{divide:[...L(),`hidden`,`none`]}],"border-color":[{border:N()}],"border-color-x":[{"border-x":N()}],"border-color-y":[{"border-y":N()}],"border-color-s":[{"border-s":N()}],"border-color-e":[{"border-e":N()}],"border-color-bs":[{"border-bs":N()}],"border-color-be":[{"border-be":N()}],"border-color-t":[{"border-t":N()}],"border-color-r":[{"border-r":N()}],"border-color-b":[{"border-b":N()}],"border-color-l":[{"border-l":N()}],"divide-color":[{divide:N()}],"outline-style":[{outline:[...L(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[K,Z,Y]}],"outline-w":[{outline:[``,K,Ht,X]}],"outline-color":[{outline:N()}],shadow:[{shadow:[``,`none`,u,qt,Vt]}],"shadow-color":[{shadow:N()}],"inset-shadow":[{"inset-shadow":[`none`,d,qt,Vt]}],"inset-shadow-color":[{"inset-shadow":N()}],"ring-w":[{ring:I()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:N()}],"ring-offset-w":[{"ring-offset":[K,X]}],"ring-offset-color":[{"ring-offset":N()}],"inset-ring-w":[{"inset-ring":I()}],"inset-ring-color":[{"inset-ring":N()}],"text-shadow":[{"text-shadow":[`none`,f,qt,Vt]}],"text-shadow-color":[{"text-shadow":N()}],opacity:[{opacity:[K,Z,Y]}],"mix-blend":[{"mix-blend":[...oe(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":oe()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[K]}],"mask-image-linear-from-pos":[{"mask-linear-from":R()}],"mask-image-linear-to-pos":[{"mask-linear-to":R()}],"mask-image-linear-from-color":[{"mask-linear-from":N()}],"mask-image-linear-to-color":[{"mask-linear-to":N()}],"mask-image-t-from-pos":[{"mask-t-from":R()}],"mask-image-t-to-pos":[{"mask-t-to":R()}],"mask-image-t-from-color":[{"mask-t-from":N()}],"mask-image-t-to-color":[{"mask-t-to":N()}],"mask-image-r-from-pos":[{"mask-r-from":R()}],"mask-image-r-to-pos":[{"mask-r-to":R()}],"mask-image-r-from-color":[{"mask-r-from":N()}],"mask-image-r-to-color":[{"mask-r-to":N()}],"mask-image-b-from-pos":[{"mask-b-from":R()}],"mask-image-b-to-pos":[{"mask-b-to":R()}],"mask-image-b-from-color":[{"mask-b-from":N()}],"mask-image-b-to-color":[{"mask-b-to":N()}],"mask-image-l-from-pos":[{"mask-l-from":R()}],"mask-image-l-to-pos":[{"mask-l-to":R()}],"mask-image-l-from-color":[{"mask-l-from":N()}],"mask-image-l-to-color":[{"mask-l-to":N()}],"mask-image-x-from-pos":[{"mask-x-from":R()}],"mask-image-x-to-pos":[{"mask-x-to":R()}],"mask-image-x-from-color":[{"mask-x-from":N()}],"mask-image-x-to-color":[{"mask-x-to":N()}],"mask-image-y-from-pos":[{"mask-y-from":R()}],"mask-image-y-to-pos":[{"mask-y-to":R()}],"mask-image-y-from-color":[{"mask-y-from":N()}],"mask-image-y-to-color":[{"mask-y-to":N()}],"mask-image-radial":[{"mask-radial":[Z,Y]}],"mask-image-radial-from-pos":[{"mask-radial-from":R()}],"mask-image-radial-to-pos":[{"mask-radial-to":R()}],"mask-image-radial-from-color":[{"mask-radial-from":N()}],"mask-image-radial-to-color":[{"mask-radial-to":N()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[K]}],"mask-image-conic-from-pos":[{"mask-conic-from":R()}],"mask-image-conic-to-pos":[{"mask-conic-to":R()}],"mask-image-conic-from-color":[{"mask-conic-from":N()}],"mask-image-conic-to-color":[{"mask-conic-to":N()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:re()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:P()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,Z,Y]}],filter:[{filter:[``,`none`,Z,Y]}],blur:[{blur:z()}],brightness:[{brightness:[K,Z,Y]}],contrast:[{contrast:[K,Z,Y]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,qt,Vt]}],"drop-shadow-color":[{"drop-shadow":N()}],grayscale:[{grayscale:[``,K,Z,Y]}],"hue-rotate":[{"hue-rotate":[K,Z,Y]}],invert:[{invert:[``,K,Z,Y]}],saturate:[{saturate:[K,Z,Y]}],sepia:[{sepia:[``,K,Z,Y]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,Z,Y]}],"backdrop-blur":[{"backdrop-blur":z()}],"backdrop-brightness":[{"backdrop-brightness":[K,Z,Y]}],"backdrop-contrast":[{"backdrop-contrast":[K,Z,Y]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,K,Z,Y]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[K,Z,Y]}],"backdrop-invert":[{"backdrop-invert":[``,K,Z,Y]}],"backdrop-opacity":[{"backdrop-opacity":[K,Z,Y]}],"backdrop-saturate":[{"backdrop-saturate":[K,Z,Y]}],"backdrop-sepia":[{"backdrop-sepia":[``,K,Z,Y]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,Z,Y]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[K,`initial`,Z,Y]}],ease:[{ease:[`linear`,`initial`,_,Z,Y]}],delay:[{delay:[K,Z,Y]}],animate:[{animate:[`none`,v,Z,Y]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,Z,Y]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:B()}],"rotate-x":[{"rotate-x":B()}],"rotate-y":[{"rotate-y":B()}],"rotate-z":[{"rotate-z":B()}],scale:[{scale:se()}],"scale-x":[{"scale-x":se()}],"scale-y":[{"scale-y":se()}],"scale-z":[{"scale-z":se()}],"scale-3d":[`scale-3d`],skew:[{skew:V()}],"skew-x":[{"skew-x":V()}],"skew-y":[{"skew-y":V()}],transform:[{transform:[Z,Y,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:H()}],"translate-x":[{"translate-x":H()}],"translate-y":[{"translate-y":H()}],"translate-z":[{"translate-z":H()}],"translate-none":[`translate-none`],zoom:[{zoom:[q,Z,Y]}],accent:[{accent:N()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:N()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,Z,Y]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":N()}],"scrollbar-track-color":[{"scrollbar-track":N()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,Z,Y]}],fill:[{fill:[`none`,...N()]}],"stroke-w":[{stroke:[K,Ht,X,It]}],stroke:[{stroke:[`none`,...N()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function an(...e){return rn(ze(e))}var on=e=>e===``?`​`:e,sn=({content:e,min:t,...n})=>{let i=n.rewind??!1,a=n.rewindDelay??500,o=Math.min(t/10+e.length/10,10),[s,c]=(0,r.createSignal)(`​`),l,u=0,d=!0,f=t+o,p=t,m=1,h=()=>{d?u<e.length?(c(t=>t+e[u]),u++,l=setTimeout(h,p)):i&&(d=!1,m=1,l=setTimeout(h,a)):u>0?(u--,c(on(e.substring(0,u))),l=setTimeout(h,p)):(d=!0,m=1,l=setTimeout(h,a)),p+=m,p>=f?m=-1:p<=t&&(m=1)};return(0,r.onCleanup)(()=>{l!==void 0&&clearTimeout(l)}),{text:s,type:h,setText:c}},cn=(0,t.template)(`<div>`),ln=e=>{let n=e.interval??62,i=e.rewind??!1,a=e.rewindDelay??500,o=e.children,s=(0,r.createMemo)(()=>e.disabled?e.disabled():!1,!1),{text:c,type:l,setText:u}=sn({content:o,min:n,rewind:i,rewindDelay:a});return(0,r.createEffect)((0,r.on)(s,()=>u(`​`))),(0,r.createEffect)(()=>{s()?u(o):l()}),(()=>{var n=(0,t.getNextElement)(cn);return(0,t.insert)(n,c),(0,t.effect)(()=>(0,t.className)(n,e.class)),n})()},un=(0,t.template)(`<div class="mt-4 flex items-center justify-center space-x-4">`),dn=(0,t.template)(`<span aria-hidden=true>`),fn=({count:e,innerProps:n={},duration:i=500})=>{let[a,o]=(0,r.splitProps)(n,[`class`,`style`]);return(()=>{var n=(0,t.getNextElement)(un);return(0,t.insert)(n,()=>Array.from({length:e},(e,n)=>(()=>{var e=(0,t.getNextElement)(dn);return(0,t.spread)(e,(0,t.mergeProps)({get class(){return an(`rounded-full animate-out direction-alternate repeat-infinite fade-out-5 size-4 bg-gray-600`,a.class)},get style(){return{...a.style,"animation-duration":`${i}ms`,"animation-delay":`${i/n}ms`}}},o),!1,!1),(0,t.runHydrationEvents)(),e})())),n})()},pn=(0,t.template)(`<div role=status aria-live=polite aria-label="Chargement en cours"><div class=relative><div aria-hidden=true></div><div aria-hidden=true></div></div><div class=text-center><!$><!/><!$><!/>`),mn=e=>{let n=e.message??`Chargement en cours...`,r={sm:`w-8 h-8`,md:`w-12 h-12`,lg:`w-16 h-16`,xl:`w-24 h-24`},i=e.size??`lg`;return(()=>{var a=(0,t.getNextElement)(pn),o=a.firstChild,s=o.firstChild,c=s.nextSibling,l=o.nextSibling,u=l.firstChild,[d,f]=(0,t.getNextMarker)(u.nextSibling),p=d.nextSibling,[m,h]=(0,t.getNextMarker)(p.nextSibling);return(0,t.setAttribute)(l,`aria-label`,n),(0,t.insert)(l,(0,t.createComponent)(ln,{class:`text-lg font-medium text-gray-700 md:text-xl dark:text-gray-300`,get interval(){return e.interval??80},get rewind(){return e.rewind??!0},get rewindDelay(){return e.rewindDelay??2e3},children:n}),d,f),(0,t.insert)(l,(0,t.createComponent)(fn,{count:5,innerProps:{class:`bg-[#3d8091]`}}),m,h),(0,t.effect)(n=>{var o=an(`flex flex-col items-center justify-center gap-6`,`h-screen w-screen overflow-hidden p-4`,e.class),l=an(r[i],`rounded-full border-4 border-[#4B9CAD]/20`,`animate-spin`,`border-t-[#4B9CAD]`),u=an(`absolute inset-2`,`rounded-full border-4 border-transparent`,`border-b-[#4B9CAD]/40`,`animate-spin`,`animation-duration-[1.5s]`,`direction-[reverse]`);return o!==n.e&&(0,t.className)(a,n.e=o),l!==n.t&&(0,t.className)(s,n.t=l),u!==n.a&&(0,t.className)(c,n.a=u),n},{e:void 0,t:void 0,a:void 0}),a})()},hn=(0,t.template)(`<div class="relative flex h-full w-full rounded-lg border-2 border-gray-600 bg-white bg-size-[30px_30px]"style="background-image:radial-gradient(circle, #b8b8b8bf 1px, rgba(0, 0, 0, 0) 1px)">`),gn=(0,t.template)(`<div class="relative flex flex-1 items-center justify-center">`),_n=e=>{let[n,i]=(0,r.createSignal)(!1);return(0,r.onMount)(()=>setTimeout(()=>i(!0),e.delay)),(()=>{var i=(0,t.getNextElement)(hn);return(0,t.insert)(i,(0,t.createComponent)(r.Show,{get when(){return n()},keyed:!0,get fallback(){return(()=>{var e=(0,t.getNextElement)(gn);return(0,t.insert)(e,(0,t.createComponent)(mn,{message:`Chart is loading...`,interval:35,rewind:!0,rewindDelay:1e3})),e})()},get children(){return(0,t.createComponent)(V,{get children(){return(0,t.createComponent)(Le,e)}})}})),i})()},vn=(t=270)=>{let a=H(),o=()=>a.send(`STOP_EDIT`),[s,c]=(0,r.createSignal)(!1),l=a.sender(`SET_NODE_DATA`),u=(0,n.createState)(a,{selector:({context:t})=>{let n=t.editing;if(!(0,e.isDefined)(n))return;let r=t.data?.nodes?.find(e=>e.id===n);if((0,e.isDefined)(r))return{id:r.id,data:r.data}},equals:i.deepEqual});return{editing:u,updateField:(e,t)=>{let n=u();if(n)return l({...n,data:{...n.data,[e]:t}})},updateData:e=>{let t=u();if(t)return l({...t,data:{...t.data,...e}})},close:()=>{c(!0),setTimeout(()=>{o(),c(!1)},t)},closing:s,directClose:o}},yn=(0,t.template)(`<div><div class="flex flex-col gap-3"><!$><!/><!$><!/>`),bn=(0,t.template)(`<div class="flex items-center justify-between border-b border-gray-100 pb-2"><div class="flex items-center gap-2"><h3 class="text-sm font-bold text-gray-800">Edit</h3><span class="font-mono text-[11px] text-gray-400"></span></div><button type=button title="Close editor"aria-label="Close editor"class="cursor-pointer rounded-full p-1 text-gray-400 hover:bg-gray-100 hover:text-gray-700"><svg class=size-4 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=2><path d="M18 6L6 18M6 6l12 12">`),xn=e=>{let n=vn(e.timeout),i=()=>e.classList instanceof Function?e.classList(n):e.classList;return(0,t.createComponent)(r.Show,{get when(){return n.editing()},children:a=>(()=>{var o=(0,t.getNextElement)(yn),s=o.firstChild,c=s.firstChild,[l,u]=(0,t.getNextMarker)(c.nextSibling),d=l.nextSibling,[f,p]=(0,t.getNextMarker)(d.nextSibling);return(0,t.use)(ve,o,()=>n.close),o.$$mousedown=e=>e.stopPropagation(),(0,t.insert)(s,(0,t.createComponent)(r.Show,{get when(){return e.header},keyed:!0,get fallback(){return(()=>{var e=(0,t.getNextElement)(bn),r=e.firstChild,i=r.firstChild.nextSibling,o=r.nextSibling;return(0,t.insert)(i,()=>a().id),(0,t.addEventListener)(o,`click`,n.close,!0),(0,t.runHydrationEvents)(),e})()},children:e=>e({id:a().id,close:n.close})}),l,u),(0,t.insert)(s,()=>e.children(n),f,p),(0,t.effect)(n=>{var r=an(`w-80 cursor-default rounded-2xl border border-gray-200 bg-white/95 p-4 shadow-xl backdrop-blur-md transition-all ${e.class??``}`),a=i(),s=e.style;return r!==n.e&&(0,t.className)(o,n.e=r),n.t=(0,t.classList)(o,a,n.t),n.a=(0,t.style)(o,s,n.a),n},{e:void 0,t:void 0,a:void 0}),(0,t.runHydrationEvents)(),o})()})};(0,t.delegateEvents)([`mousedown`,`click`]),exports.BOUNDS_CONSTRAINTS=T,exports.CANVAS_FACTOR=ee,exports.CLASSES=ae,exports.CONTAINER_DIMENSIONS=x,exports.DEFAULT_DATA=u,exports.DEFAULT_INPUT_OFFSET=b,exports.DEFAULT_INPUT_OFFSET_X=v,exports.DEFAULT_INPUT_OFFSET_Y=y,exports.DEFAULT_NODES=E,exports.DEFAULT_NODE_HEIGHT=l,exports.DEFAULT_NODE_WIDTH=c,exports.DEFAULT_SIZE=s,exports.EditPanel=xn,exports.Flow=_n,exports.FlowChart=Le,exports.HANDLE_CENTER_X_OFFSET=_,exports.HANDLE_CENTER_Y=g,exports.HANDLE_CONTAINER_OFFSET_X=h,exports.HANDLE_MARGIN_TOP=m,exports.HANDLE_RADIUS=p,exports.HANDLE_SIZE=f,exports.NODE_BORDER_WIDTH=d,exports.PARENT_CHILD_GAP_WIDTH=o,exports.Panels=je,exports.Provider=V,exports.SCROLL_MULTIPLIER=te,exports.TOOLBAR_BUFFER=w,exports.TOOLBAR_TOP_OFFSET=C,exports.board=P,exports.clamp=F,exports.clickOutside=ve,exports.createContext=I,exports.data=A,exports.dimension=N,exports.edgeJSON=M,exports.extremities=O,exports.getDefaultOutputOffset=S,exports.mouseOut=ye,exports.newEdge=ie,exports.nodeDataValue=k,exports.nodeJSON=j,exports.nodeOffset=ne,exports.point=D,exports.resize=be,exports.useFlow=H,exports.vector=re;
package/lib/index.es.js CHANGED
@@ -707,7 +707,7 @@ var et = /*#__PURE__*/ b("<svg class=\"pointer-events-none h-full w-full overflo
707
707
  return r.observe(t), () => {
708
708
  r.unobserve(t), r.disconnect();
709
709
  };
710
- }, at = /*#__PURE__*/ b("<svg class=\"cursor-pointer overflow-visible rounded-full bg-green-500 p-0.5 text-center font-bold hover:bg-green-600\"viewBox=\"0 0 1024 1024\"preserveAspectRatio=xMaxYMax xmlns=http://www.w3.org/2000/svg fill=white style=pointer-events:all;fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2><g id=background><path d=\"M467.40667,277.66696c-0.05948,-14.53055 5.75527,-22.95613 -8.62044,-20.90487c-112.55699,16.0607 -222.1609,112.14558 -245.06161,239.85765c-46.52056,259.43466 231.33083,443.06705 449.51209,316.97506c117.31668,-67.80002 160.95215,-190.43324 151.34416,-288.29849c-5.92276,-60.32819 -27.80273,-107.95668 -53.44246,-144.25469l59.39269,-42.05363c111.72214,156.309 73.11535,351.55635 -25.06953,459.45565c-184.18877,202.4124 -470.46624,145.52064 -592.95027,-32.92123c-156.18269,-227.53604 -27.15324,-543.64371 261.18883,-582.44416c5.0579,-0.68061 3.56556,-7.04079 3.56442,-8.58985c-0.05594,-76.3354 -0.11021,-76.7687 1.10909,-77.24589c2.06886,-0.80969 151.41433,118.4561 151.92482,118.95524c4.65592,4.55233 -0.99548,7.829 -29.07828,30.50907c-120.49369,97.31245 -120.4977,98.55675 -123.0691,97.87586c-0.43639,-0.11555 -0.80698,-0.31322 -0.74442,-66.91571Z\"></path><path d=\"M316.61562,611.03414c0.11517,-90.16257 -0.25516,-99.92912 0.64739,-101.78856c1.56486,-3.22393 131.99102,0.91032 134.6959,-1.89763c2.21336,-2.2977 -0.59362,-129.97807 1.1376,-132.37034c0.7253,-1.00225 11.10552,-0.99175 12.07474,-0.99077c104.50336,0.10564 104.90098,-0.37811 105.967,0.85765c1.56461,1.81373 0.25596,114.18436 0.67852,129.81412c0.1322,4.88975 3.22386,3.28152 99.72028,3.4563c33.0841,0.05992 36.14259,-1.40368 36.21852,4.50462c0.11713,9.11348 1.41954,110.45369 -0.40274,113.92715c-1.81106,3.45208 -130.39967,-0.42618 -134.48289,1.62075c-2.29035,1.14816 -0.36989,101.12392 -1.11542,130.51904c-0.09548,3.76459 -2.13506,3.20617 -47.84854,3.17365c-69.30253,-0.0493 -69.31099,-0.25627 -69.65762,-0.42191c-3.77927,-1.80595 0.16287,-129.33555 -2.24266,-132.58994c-1.79931,-2.43424 -124.06108,-0.29118 -132.80252,-0.97392c-3.81102,-0.29766 -2.58229,-14.8847 -2.58758,-16.8402Z\">"), ot = /*#__PURE__*/ b("<div class=min-w-48><div><svg class=\"cursor-pointer rounded-full fill-[#a11111] opacity-100 transition-all duration-200 ease-in-out\"fill=currentColor stroke-width=2 viewBox=\"4 4 16 16\"style=overflow:visible;pointer-events:all><path d=\"M12 4c-4.419 0-8 3.582-8 8s3.581 8 8 8 8-3.582 8-8-3.581-8-8-8zm3.707 10.293a.999.999 0 11-1.414 1.414L12 13.414l-2.293 2.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L10.586 12 8.293 9.707a.999.999 0 111.414-1.414L12 10.586l2.293-2.293a.999.999 0 111.414 1.414L13.414 12l2.293 2.293z\"></path></svg><!$><!/><svg class=\"flex cursor-pointer items-center justify-center rounded-lg bg-blue-500 p-0.5 text-center font-bold text-white hover:bg-blue-600\"viewBox=\"0 0 24 24\"stroke=currentColor stroke-width=2 style=pointer-events:all><path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"></path></svg></div><div></div><div id=inputs class=\"pointer-events-none absolute top-0 z-10 flex cursor-default flex-col\"><div class=\"cursor-default rounded-full bg-[#e38b29] shadow-md\"style=pointer-events:all></div></div><div id=outputs class=\"pointer-events-none absolute top-0 z-10 flex flex-col\"><div class=\"cursor-crosshair rounded-full bg-[#e38b29] shadow-md\"style=pointer-events:all>"), st = /*#__PURE__*/ b("<div class=\"p-3 select-none\"><!$><!/><!$><!/><!$><!/>"), ct = /*#__PURE__*/ b("<span class=\"mb-2 block min-w-max border-b border-[#f0f0f0] pb-2 font-semibold whitespace-nowrap text-red-600 select-none\">"), lt = /*#__PURE__*/ b("<div class=select-none>"), ut = /*#__PURE__*/ b("<div><span class=font-semibold><!$><!/>: </span><span>"), dt = (e) => {
710
+ }, at = /*#__PURE__*/ b("<svg class=\"cursor-pointer overflow-visible rounded-full bg-green-500 p-0.5 text-center font-bold hover:bg-green-600\"viewBox=\"0 0 1024 1024\"preserveAspectRatio=xMaxYMax xmlns=http://www.w3.org/2000/svg fill=white style=pointer-events:all;fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2><g id=background><path d=\"M467.40667,277.66696c-0.05948,-14.53055 5.75527,-22.95613 -8.62044,-20.90487c-112.55699,16.0607 -222.1609,112.14558 -245.06161,239.85765c-46.52056,259.43466 231.33083,443.06705 449.51209,316.97506c117.31668,-67.80002 160.95215,-190.43324 151.34416,-288.29849c-5.92276,-60.32819 -27.80273,-107.95668 -53.44246,-144.25469l59.39269,-42.05363c111.72214,156.309 73.11535,351.55635 -25.06953,459.45565c-184.18877,202.4124 -470.46624,145.52064 -592.95027,-32.92123c-156.18269,-227.53604 -27.15324,-543.64371 261.18883,-582.44416c5.0579,-0.68061 3.56556,-7.04079 3.56442,-8.58985c-0.05594,-76.3354 -0.11021,-76.7687 1.10909,-77.24589c2.06886,-0.80969 151.41433,118.4561 151.92482,118.95524c4.65592,4.55233 -0.99548,7.829 -29.07828,30.50907c-120.49369,97.31245 -120.4977,98.55675 -123.0691,97.87586c-0.43639,-0.11555 -0.80698,-0.31322 -0.74442,-66.91571Z\"></path><path d=\"M316.61562,611.03414c0.11517,-90.16257 -0.25516,-99.92912 0.64739,-101.78856c1.56486,-3.22393 131.99102,0.91032 134.6959,-1.89763c2.21336,-2.2977 -0.59362,-129.97807 1.1376,-132.37034c0.7253,-1.00225 11.10552,-0.99175 12.07474,-0.99077c104.50336,0.10564 104.90098,-0.37811 105.967,0.85765c1.56461,1.81373 0.25596,114.18436 0.67852,129.81412c0.1322,4.88975 3.22386,3.28152 99.72028,3.4563c33.0841,0.05992 36.14259,-1.40368 36.21852,4.50462c0.11713,9.11348 1.41954,110.45369 -0.40274,113.92715c-1.81106,3.45208 -130.39967,-0.42618 -134.48289,1.62075c-2.29035,1.14816 -0.36989,101.12392 -1.11542,130.51904c-0.09548,3.76459 -2.13506,3.20617 -47.84854,3.17365c-69.30253,-0.0493 -69.31099,-0.25627 -69.65762,-0.42191c-3.77927,-1.80595 0.16287,-129.33555 -2.24266,-132.58994c-1.79931,-2.43424 -124.06108,-0.29118 -132.80252,-0.97392c-3.81102,-0.29766 -2.58229,-14.8847 -2.58758,-16.8402Z\">"), ot = /*#__PURE__*/ b("<div class=\"group min-w-48\"><div><svg class=\"cursor-pointer rounded-full fill-[#a11111] opacity-100 transition-all duration-200 ease-in-out\"fill=currentColor stroke-width=2 viewBox=\"4 4 16 16\"style=overflow:visible;pointer-events:all><path d=\"M12 4c-4.419 0-8 3.582-8 8s3.581 8 8 8 8-3.582 8-8-3.581-8-8-8zm3.707 10.293a.999.999 0 11-1.414 1.414L12 13.414l-2.293 2.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L10.586 12 8.293 9.707a.999.999 0 111.414-1.414L12 10.586l2.293-2.293a.999.999 0 111.414 1.414L13.414 12l2.293 2.293z\"></path></svg><!$><!/><svg class=\"flex cursor-pointer items-center justify-center rounded-lg bg-blue-500 p-0.5 text-center font-bold text-white hover:bg-blue-600\"viewBox=\"0 0 24 24\"stroke=currentColor stroke-width=2 style=pointer-events:all><path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"></path></svg></div><div></div><div id=inputs data-handle-type=input class=\"pointer-events-none absolute top-0 z-10 flex cursor-default flex-col\"><div data-handle-type=input class=\"cursor-default rounded-full bg-[#e38b29] shadow-md transition-transform\"style=pointer-events:all></div></div><div id=outputs data-handle-type=output class=\"pointer-events-none absolute top-0 z-10 flex flex-col\"><div data-handle-type=output class=\"cursor-crosshair rounded-full bg-[#e38b29] shadow-md transition-transform\"style=pointer-events:all>"), st = /*#__PURE__*/ b("<div class=\"p-3 select-none\"><!$><!/><!$><!/><!$><!/>"), ct = /*#__PURE__*/ b("<span class=\"mb-2 block min-w-max border-b border-[#f0f0f0] pb-2 font-semibold whitespace-nowrap text-red-600 select-none\">"), lt = /*#__PURE__*/ b("<div class=select-none>"), ut = /*#__PURE__*/ b("<div><span class=font-semibold><!$><!/>: </span><span>"), dt = (e) => {
711
711
  let t = H(), n = S(t, { selector: (e) => e.context.newEdge }), i = I(e.id), o = S(t, {
712
712
  selector: ({ context: t }) => {
713
713
  let n = re.typed(t.data?.nodes).find((t) => t.id === e.id);
@@ -808,16 +808,16 @@ var et = /*#__PURE__*/ b("<svg class=\"pointer-events-none h-full w-full overflo
808
808
  })), _(k, "left", "-18px"), A.$$mouseup = (r) => {
809
809
  r.stopPropagation();
810
810
  let i = n()?.from;
811
- i ? t.send({
811
+ i && i !== e.id && t.send({
812
812
  type: "ADD_EDGE",
813
813
  payload: {
814
814
  from: i,
815
815
  to: e.id
816
816
  }
817
- }) : t.send("CLEAR_NEW_EDGE");
818
- }, A.$$pointerdown = (e) => e.stopPropagation(), A.$$mousedown = (e) => {
817
+ }), t.send("CLEAR_NEW_EDGE");
818
+ }, A.$$pointerdown = (e) => e.stopPropagation(), A.$$mousedown = (e) => e.stopPropagation(), _(A, "width", "12px"), _(A, "height", "12px"), _(A, "margin-top", "12px"), _(j, "right", "-18px"), M.$$pointerdown = (e) => {
819
819
  e.stopPropagation();
820
- }, _(A, "width", "12px"), _(A, "height", "12px"), _(A, "margin-top", "12px"), _(j, "right", "-18px"), M.$$mousedown = (n) => {
820
+ }, M.$$mousedown = (n) => {
821
821
  n.stopPropagation(), t.send("DESELECT"), t.send({
822
822
  type: "START_NEW_EDGE",
823
823
  payload: e.id
@@ -831,14 +831,18 @@ var et = /*#__PURE__*/ b("<svg class=\"pointer-events-none h-full w-full overflo
831
831
  "pointer-events-none absolute flex items-center justify-end -top-7.5 right-0 transition-all duration-200 ease-in-out space-x-2": !0,
832
832
  "w-full opacity-100": c(),
833
833
  "w-0 -right-3 opacity-0 overflow-hidden": !c()
834
- };
835
- return t.e = a(y, n, t.e), r !== t.t && _(y, "top", t.t = r), i !== t.a && _(y, "left", t.a = i), s !== t.o && g(y, "id", t.o = s), t.i = a(b, l, t.i), t;
834
+ }, u = e.id, d = e.id, f = e.id, p = e.id;
835
+ return t.e = a(y, n, t.e), r !== t.t && _(y, "top", t.t = r), i !== t.a && _(y, "left", t.a = i), s !== t.o && g(y, "id", t.o = s), t.i = a(b, l, t.i), u !== t.n && g(k, "data-node-id", t.n = u), d !== t.s && g(A, "data-node-id", t.s = d), f !== t.h && g(j, "data-node-id", t.h = f), p !== t.r && g(M, "data-node-id", t.r = p), t;
836
836
  }, {
837
837
  e: void 0,
838
838
  t: void 0,
839
839
  a: void 0,
840
840
  o: void 0,
841
- i: void 0
841
+ i: void 0,
842
+ n: void 0,
843
+ s: void 0,
844
+ h: void 0,
845
+ r: void 0
842
846
  }), h(), y;
843
847
  })();
844
848
  };
@@ -1044,27 +1048,45 @@ var bt = /*#__PURE__*/ b("<div class=\"relative h-full w-full\"><div class=\"h-f
1044
1048
  defaultData: e.defaultData
1045
1049
  }
1046
1050
  });
1047
- }), (() => {
1048
- var t = u(bt), n = t.firstChild;
1049
- return t.$$mousemove = ({ clientX: e, clientY: t }) => {
1050
- i() && r.send({
1051
+ }), E(() => {
1052
+ if (!i()) return;
1053
+ let e = (e) => {
1054
+ r.send({
1051
1055
  type: "MOVE_NEW_EDGE",
1052
1056
  payload: {
1053
- x: e,
1054
- y: t
1057
+ x: e.clientX,
1058
+ y: e.clientY
1055
1059
  }
1056
1060
  });
1057
- }, t.$$mouseup = () => r.send("CLEAR_NEW_EDGE"), f(n, s(yt, {
1061
+ }, t = (e) => {
1062
+ let t = r.state.context.newEdge?.from;
1063
+ if (t) {
1064
+ let n = (document.elementFromPoint(e.clientX, e.clientY)?.closest("[data-handle-type=\"input\"]"))?.getAttribute("data-node-id");
1065
+ n && n !== t && r.send({
1066
+ type: "ADD_EDGE",
1067
+ payload: {
1068
+ from: t,
1069
+ to: n
1070
+ }
1071
+ });
1072
+ }
1073
+ r.send("CLEAR_NEW_EDGE");
1074
+ };
1075
+ window.addEventListener("pointermove", e), window.addEventListener("pointerup", t), A(() => {
1076
+ window.removeEventListener("pointermove", e), window.removeEventListener("pointerup", t);
1077
+ });
1078
+ }), (() => {
1079
+ var t = u(bt), n = t.firstChild;
1080
+ return f(n, s(yt, {
1058
1081
  get panels() {
1059
1082
  return e.panels;
1060
1083
  },
1061
1084
  get component() {
1062
1085
  return e.component;
1063
1086
  }
1064
- })), l((e) => _(n, "cursor", i() ? "inherit" : "crosshair")), h(), t;
1087
+ })), l((e) => _(n, "cursor", i() ? "inherit" : "crosshair")), t;
1065
1088
  })();
1066
1089
  };
1067
- c(["mouseup", "mousemove"]);
1068
1090
  //#endregion
1069
1091
  //#region ../../node_modules/clsx/dist/clsx.mjs
1070
1092
  function St(e) {
package/lib/output.css CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-all{pointer-events:all}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-2{inset:calc(var(--spacing) * 2)}.-top-7\.5{top:calc(var(--spacing) * -7.5)}.-top-\[30px\]{top:-30px}.top-0{top:0}.top-4{top:calc(var(--spacing) * 4)}.-right-3{right:calc(var(--spacing) * -3)}.-right-\[18px\]{right:-18px}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-\[18px\]{left:-18px}.left-4{left:calc(var(--spacing) * 4)}.z-1{z-index:1}.z-10{z-index:10}.z-50{z-index:50}.z-100{z-index:100}.z-200{z-index:200}.z-\[-3\]{z-index:-3}.z-\[1\]{z-index:1}.z-\[100\]{z-index:100}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.inline{display:inline}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-3{height:calc(var(--spacing) * 3)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-25{height:calc(var(--spacing) * 25)}.h-\[100px\]{height:100px}.h-\[150vh\]{height:150vh}.h-full{height:100%}.h-screen{height:100vh}.w-0{width:0}.w-3{width:calc(var(--spacing) * 3)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-25{width:calc(var(--spacing) * 25)}.w-80{width:calc(var(--spacing) * 80)}.w-\[100px\]{width:100px}.w-\[2160px\]{width:2160px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-max{min-width:max-content}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#4B9CAD\]\/20{border-color:oklab(64.8747% -.0689763 -.0453081/.2)}.border-\[\#e6d4be\]{border-color:#e6d4be}.border-\[\#e38c29\]{border-color:#e38c29}.border-\[\#f0f0f0\]{border-color:#f0f0f0}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-600{border-color:var(--color-gray-600)}.border-transparent{border-color:#0000}.border-t-\[\#4B9CAD\]{border-top-color:#4b9cad}.border-b-\[\#4B9CAD\]\/40{border-bottom-color:oklab(64.8747% -.0689763 -.0453081/.4)}.bg-\[\#3d8091\]{background-color:#3d8091}.bg-\[\#e38b29\]{background-color:#e38b29}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-green-500{background-color:var(--color-green-500)}.bg-white{background-color:var(--color-white)}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-size-\[30px_30px\]{background-size:30px 30px}.fill-\[\#a11111\]{fill:#a11111}.fill-transparent{fill:#0000}.fill-white{fill:var(--color-white)}.stroke-\[rgba\(168\,168\,168\,0\.4\)\]{stroke:#a8a8a866}.stroke-\[rgba\(168\,168\,168\,0\.8\)\]{stroke:#a8a8a8cc}.stroke-\[rgba\(168\,168\,168\,1\)\]{stroke:#a8a8a8}.stroke-3{stroke-width:3px}.stroke-4{stroke-width:4px}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-gray-400{color:var(--color-gray-400)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[1px_1px_11px_-6px_rgba\(0\,0\,0\,0\.75\)\]{--tw-shadow:1px 1px 11px -6px var(--tw-shadow-color,#000000bf);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border\,box-shadow\]{transition-property:border,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:shadow-\[2px_2px_12px_-6px_rgba\(0\,0\,0\,0\.75\)\]:hover{--tw-shadow:2px 2px 12px -6px var(--tw-shadow-color,#000000bf);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-600:oklch(57.7% .245 27.325);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-all{pointer-events:all}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-2{inset:calc(var(--spacing) * 2)}.-top-7\.5{top:calc(var(--spacing) * -7.5)}.-top-\[30px\]{top:-30px}.top-0{top:0}.top-4{top:calc(var(--spacing) * 4)}.-right-3{right:calc(var(--spacing) * -3)}.-right-\[18px\]{right:-18px}.right-0{right:0}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.-left-\[18px\]{left:-18px}.left-4{left:calc(var(--spacing) * 4)}.z-1{z-index:1}.z-10{z-index:10}.z-50{z-index:50}.z-100{z-index:100}.z-200{z-index:200}.z-\[-3\]{z-index:-3}.z-\[1\]{z-index:1}.z-\[100\]{z-index:100}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.inline{display:inline}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.h-3{height:calc(var(--spacing) * 3)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-24{height:calc(var(--spacing) * 24)}.h-25{height:calc(var(--spacing) * 25)}.h-\[100px\]{height:100px}.h-\[150vh\]{height:150vh}.h-full{height:100%}.h-screen{height:100vh}.w-0{width:0}.w-3{width:calc(var(--spacing) * 3)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-12{width:calc(var(--spacing) * 12)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-25{width:calc(var(--spacing) * 25)}.w-80{width:calc(var(--spacing) * 80)}.w-\[100px\]{width:100px}.w-\[2160px\]{width:2160px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-max{min-width:max-content}.flex-1{flex:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-crosshair{cursor:crosshair}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[\#4B9CAD\]\/20{border-color:oklab(64.8747% -.0689763 -.0453081/.2)}.border-\[\#e6d4be\]{border-color:#e6d4be}.border-\[\#e38c29\]{border-color:#e38c29}.border-\[\#f0f0f0\]{border-color:#f0f0f0}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-600{border-color:var(--color-gray-600)}.border-transparent{border-color:#0000}.border-t-\[\#4B9CAD\]{border-top-color:#4b9cad}.border-b-\[\#4B9CAD\]\/40{border-bottom-color:oklab(64.8747% -.0689763 -.0453081/.4)}.bg-\[\#3d8091\]{background-color:#3d8091}.bg-\[\#e38b29\]{background-color:#e38b29}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-600{background-color:var(--color-gray-600)}.bg-green-500{background-color:var(--color-green-500)}.bg-white{background-color:var(--color-white)}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-size-\[30px_30px\]{background-size:30px 30px}.fill-\[\#a11111\]{fill:#a11111}.fill-transparent{fill:#0000}.fill-white{fill:var(--color-white)}.stroke-\[rgba\(168\,168\,168\,0\.4\)\]{stroke:#a8a8a866}.stroke-\[rgba\(168\,168\,168\,0\.8\)\]{stroke:#a8a8a8cc}.stroke-\[rgba\(168\,168\,168\,1\)\]{stroke:#a8a8a8}.stroke-3{stroke-width:3px}.stroke-4{stroke-width:4px}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-gray-400{color:var(--color-gray-400)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[1px_1px_11px_-6px_rgba\(0\,0\,0\,0\.75\)\]{--tw-shadow:1px 1px 11px -6px var(--tw-shadow-color,#000000bf);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border\,box-shadow\]{transition-property:border,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\:bg-blue-700:hover{background-color:var(--color-blue-700)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:text-gray-700:hover{color:var(--color-gray-700)}.hover\:shadow-\[2px_2px_12px_-6px_rgba\(0\,0\,0\,0\.75\)\]:hover{--tw-shadow:2px 2px 12px -6px var(--tw-shadow-color,#000000bf);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (min-width:48rem){.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}.dark\:text-gray-300:is(.dark *){color:var(--color-gray-300)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}
package/lib/server.cjs.js CHANGED
@@ -273,6 +273,15 @@ var CLASSES = [
273
273
  ];
274
274
  //#endregion
275
275
  //#region src/helpers/clamp.ts
276
+ /**
277
+ * Restricts a number to be within the specified minimum and maximum bounds.
278
+ *
279
+ * @param value - The numerical value to clamp.
280
+ * @param min - The lower boundary limit.
281
+ * @param max - The upper boundary limit.
282
+ *
283
+ * @returns The clamped numerical value between `min` and `max`.
284
+ */
276
285
  var clamp = (value, min, max) => {
277
286
  return Math.min(Math.max(value, min), max);
278
287
  };
@@ -1006,13 +1015,6 @@ var _tmpl$2$5 = [
1006
1015
  *
1007
1016
  * @returns Offset distance in pixels for bezier curvature.
1008
1017
  */
1009
- /**
1010
- * Computes bezier curve control point offset based on horizontal distance.
1011
- *
1012
- * @param value - Absolute horizontal delta between start and end points.
1013
- *
1014
- * @returns Offset distance in pixels for bezier curvature.
1015
- */
1016
1018
  var calculateOffset = (value) => value * 100 / 200;
1017
1019
  /**
1018
1020
  * Generates an SVG cubic bezier path `d` string between coordinates `(x0, y0)` and
@@ -1132,10 +1134,14 @@ var _tmpl$2$4 = [
1132
1134
  "\"><path d=\"M12 4c-4.419 0-8 3.582-8 8s3.581 8 8 8 8-3.582 8-8-3.581-8-8-8zm3.707 10.293a.999.999 0 11-1.414 1.414L12 13.414l-2.293 2.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L10.586 12 8.293 9.707a.999.999 0 111.414-1.414L12 10.586l2.293-2.293a.999.999 0 111.414 1.414L13.414 12l2.293 2.293z\"></path></svg><!--$-->",
1133
1135
  "<!--/--><svg class=\"flex cursor-pointer items-center justify-center rounded-lg bg-blue-500 p-0.5 text-center font-bold text-white hover:bg-blue-600\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" style=\"",
1134
1136
  "\"><path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"></path></svg></div><div>",
1135
- "</div><div id=\"inputs\" class=\"pointer-events-none absolute top-0 z-10 flex cursor-default flex-col\" style=\"",
1136
- "\"><div class=\"cursor-default rounded-full bg-[#e38b29] shadow-md\" style=\"",
1137
- "\"></div></div><div id=\"outputs\" class=\"pointer-events-none absolute top-0 z-10 flex flex-col\" style=\"",
1138
- "\"><div class=\"cursor-crosshair rounded-full bg-[#e38b29] shadow-md\" style=\"",
1137
+ "</div><div id=\"inputs\" data-handle-type=\"input\"",
1138
+ " class=\"pointer-events-none absolute top-0 z-10 flex cursor-default flex-col\" style=\"",
1139
+ "\"><div data-handle-type=\"input\"",
1140
+ " class=\"cursor-default rounded-full bg-[#e38b29] shadow-md transition-transform\" style=\"",
1141
+ "\"></div></div><div id=\"outputs\" data-handle-type=\"output\"",
1142
+ " style=\"",
1143
+ "\" class=\"pointer-events-none absolute top-0 z-10 flex flex-col\"><div data-handle-type=\"output\"",
1144
+ " class=\"cursor-crosshair rounded-full bg-[#e38b29] shadow-md transition-transform\" style=\"",
1139
1145
  "\"></div></div></div>"
1140
1146
  ];
1141
1147
  var _tmpl$3$2 = [
@@ -1195,7 +1201,7 @@ var NodeComponent = (props) => {
1195
1201
  if (!edges) return false;
1196
1202
  return edges.some(({ to }) => to === props.id);
1197
1203
  } });
1198
- return (0, solid_js_web.ssr)(_tmpl$2$4, (0, solid_js_web.ssrHydrationKey)(), `flex flex-col absolute cursor-grab bg-white rounded-md shadow-md select-none transition-[border,box-shadow] duration-200 ease-in-out hover:shadow-lg draggable ${selected() ? "border border-[#e38c29] z-100" : ""} ${!selected() ? "border border-[#e6d4be] z-1" : ""} min-w-48`, (0, solid_js_web.ssrStyleProperty)("top:", `${(0, solid_js_web.escape)(node().y, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";left:", `${(0, solid_js_web.escape)(node().x, true)}px`), (0, solid_js_web.ssrAttribute)("id", (0, solid_js_web.escape)(props.id, true), false), `pointer-events-none absolute flex items-center justify-end -top-7.5 right-0 transition-all duration-200 ease-in-out space-x-2 ${selected() ? "w-full opacity-100" : ""} ${!selected() ? "w-0 -right-3 opacity-0 overflow-hidden" : ""}`, (0, solid_js_web.ssrStyleProperty)("overflow:", "visible") + (0, solid_js_web.ssrStyleProperty)(";pointer-events:", "all") + (0, solid_js_web.ssrStyleProperty)(";width:", `${(0, solid_js_web.escape)(12, true) * 2}px`) + (0, solid_js_web.ssrStyleProperty)(";height:", `${(0, solid_js_web.escape)(12, true) * 2}px`), (0, solid_js_web.escape)((0, solid_js_web.createComponent)(solid_js.Show, {
1204
+ return (0, solid_js_web.ssr)(_tmpl$2$4, (0, solid_js_web.ssrHydrationKey)(), `flex flex-col absolute cursor-grab bg-white rounded-md shadow-md select-none transition-[border,box-shadow] duration-200 ease-in-out hover:shadow-lg draggable ${selected() ? "border border-[#e38c29] z-100" : ""} ${!selected() ? "border border-[#e6d4be] z-1" : ""} group min-w-48`, (0, solid_js_web.ssrStyleProperty)("top:", `${(0, solid_js_web.escape)(node().y, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";left:", `${(0, solid_js_web.escape)(node().x, true)}px`), (0, solid_js_web.ssrAttribute)("id", (0, solid_js_web.escape)(props.id, true), false), `pointer-events-none absolute flex items-center justify-end -top-7.5 right-0 transition-all duration-200 ease-in-out space-x-2 ${selected() ? "w-full opacity-100" : ""} ${!selected() ? "w-0 -right-3 opacity-0 overflow-hidden" : ""}`, (0, solid_js_web.ssrStyleProperty)("overflow:", "visible") + (0, solid_js_web.ssrStyleProperty)(";pointer-events:", "all") + (0, solid_js_web.ssrStyleProperty)(";width:", `${(0, solid_js_web.escape)(12, true) * 2}px`) + (0, solid_js_web.ssrStyleProperty)(";height:", `${(0, solid_js_web.escape)(12, true) * 2}px`), (0, solid_js_web.escape)((0, solid_js_web.createComponent)(solid_js.Show, {
1199
1205
  get when() {
1200
1206
  return hasParent();
1201
1207
  },
@@ -1238,7 +1244,7 @@ var NodeComponent = (props) => {
1238
1244
  return props.children;
1239
1245
  } }, () => node().data));
1240
1246
  }
1241
- })), (0, solid_js_web.ssrStyleProperty)("left:", `-${(0, solid_js_web.escape)(18, true)}px`), (0, solid_js_web.ssrStyleProperty)("width:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";height:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";margin-top:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";pointer-events:", "all"), (0, solid_js_web.ssrStyleProperty)("right:", `-${(0, solid_js_web.escape)(18, true)}px`), (0, solid_js_web.ssrStyleProperty)("width:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";height:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";margin-top:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";pointer-events:", "all"));
1247
+ })), (0, solid_js_web.ssrAttribute)("data-node-id", (0, solid_js_web.escape)(props.id, true), false), (0, solid_js_web.ssrStyleProperty)("left:", `-${(0, solid_js_web.escape)(18, true)}px`), (0, solid_js_web.ssrAttribute)("data-node-id", (0, solid_js_web.escape)(props.id, true), false), (0, solid_js_web.ssrStyleProperty)("width:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";height:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";margin-top:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";pointer-events:", "all"), (0, solid_js_web.ssrAttribute)("data-node-id", (0, solid_js_web.escape)(props.id, true), false), (0, solid_js_web.ssrStyleProperty)("right:", `-${(0, solid_js_web.escape)(18, true)}px`), (0, solid_js_web.ssrAttribute)("data-node-id", (0, solid_js_web.escape)(props.id, true), false), (0, solid_js_web.ssrStyleProperty)("width:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";height:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";margin-top:", `${(0, solid_js_web.escape)(12, true)}px`) + (0, solid_js_web.ssrStyleProperty)(";pointer-events:", "all"));
1242
1248
  };
1243
1249
  //#endregion
1244
1250
  //#region src/ui/components/Panels.tsx
@@ -1514,6 +1520,38 @@ var FlowChart = (props) => {
1514
1520
  }
1515
1521
  });
1516
1522
  });
1523
+ (0, solid_js.createEffect)(() => {
1524
+ if (!hasNewEdge()) return;
1525
+ const handlePointerMove = (e) => {
1526
+ service.send({
1527
+ type: "MOVE_NEW_EDGE",
1528
+ payload: {
1529
+ x: e.clientX,
1530
+ y: e.clientY
1531
+ }
1532
+ });
1533
+ };
1534
+ const handlePointerUp = (e) => {
1535
+ const from = service.state.context.newEdge?.from;
1536
+ if (from) {
1537
+ const targetId = (document.elementFromPoint(e.clientX, e.clientY)?.closest("[data-handle-type=\"input\"]"))?.getAttribute("data-node-id");
1538
+ if (targetId && targetId !== from) service.send({
1539
+ type: "ADD_EDGE",
1540
+ payload: {
1541
+ from,
1542
+ to: targetId
1543
+ }
1544
+ });
1545
+ }
1546
+ service.send("CLEAR_NEW_EDGE");
1547
+ };
1548
+ window.addEventListener("pointermove", handlePointerMove);
1549
+ window.addEventListener("pointerup", handlePointerUp);
1550
+ (0, solid_js.onCleanup)(() => {
1551
+ window.removeEventListener("pointermove", handlePointerMove);
1552
+ window.removeEventListener("pointerup", handlePointerUp);
1553
+ });
1554
+ });
1517
1555
  return (0, solid_js_web.ssr)(_tmpl$$5, (0, solid_js_web.ssrHydrationKey)(), (0, solid_js_web.ssrStyleProperty)("cursor:", hasNewEdge() ? "inherit" : "crosshair"), (0, solid_js_web.escape)((0, solid_js_web.createComponent)(NodesBoard, {
1518
1556
  get panels() {
1519
1557
  return props.panels;
package/lib/server.es.js CHANGED
@@ -272,6 +272,15 @@ var CLASSES = [
272
272
  ];
273
273
  //#endregion
274
274
  //#region src/helpers/clamp.ts
275
+ /**
276
+ * Restricts a number to be within the specified minimum and maximum bounds.
277
+ *
278
+ * @param value - The numerical value to clamp.
279
+ * @param min - The lower boundary limit.
280
+ * @param max - The upper boundary limit.
281
+ *
282
+ * @returns The clamped numerical value between `min` and `max`.
283
+ */
275
284
  var clamp = (value, min, max) => {
276
285
  return Math.min(Math.max(value, min), max);
277
286
  };
@@ -1005,13 +1014,6 @@ var _tmpl$2$5 = [
1005
1014
  *
1006
1015
  * @returns Offset distance in pixels for bezier curvature.
1007
1016
  */
1008
- /**
1009
- * Computes bezier curve control point offset based on horizontal distance.
1010
- *
1011
- * @param value - Absolute horizontal delta between start and end points.
1012
- *
1013
- * @returns Offset distance in pixels for bezier curvature.
1014
- */
1015
1017
  var calculateOffset = (value) => value * 100 / 200;
1016
1018
  /**
1017
1019
  * Generates an SVG cubic bezier path `d` string between coordinates `(x0, y0)` and
@@ -1131,10 +1133,14 @@ var _tmpl$2$4 = [
1131
1133
  "\"><path d=\"M12 4c-4.419 0-8 3.582-8 8s3.581 8 8 8 8-3.582 8-8-3.581-8-8-8zm3.707 10.293a.999.999 0 11-1.414 1.414L12 13.414l-2.293 2.293a.997.997 0 01-1.414 0 .999.999 0 010-1.414L10.586 12 8.293 9.707a.999.999 0 111.414-1.414L12 10.586l2.293-2.293a.999.999 0 111.414 1.414L13.414 12l2.293 2.293z\"></path></svg><!--$-->",
1132
1134
  "<!--/--><svg class=\"flex cursor-pointer items-center justify-center rounded-lg bg-blue-500 p-0.5 text-center font-bold text-white hover:bg-blue-600\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\" style=\"",
1133
1135
  "\"><path d=\"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"></path></svg></div><div>",
1134
- "</div><div id=\"inputs\" class=\"pointer-events-none absolute top-0 z-10 flex cursor-default flex-col\" style=\"",
1135
- "\"><div class=\"cursor-default rounded-full bg-[#e38b29] shadow-md\" style=\"",
1136
- "\"></div></div><div id=\"outputs\" class=\"pointer-events-none absolute top-0 z-10 flex flex-col\" style=\"",
1137
- "\"><div class=\"cursor-crosshair rounded-full bg-[#e38b29] shadow-md\" style=\"",
1136
+ "</div><div id=\"inputs\" data-handle-type=\"input\"",
1137
+ " class=\"pointer-events-none absolute top-0 z-10 flex cursor-default flex-col\" style=\"",
1138
+ "\"><div data-handle-type=\"input\"",
1139
+ " class=\"cursor-default rounded-full bg-[#e38b29] shadow-md transition-transform\" style=\"",
1140
+ "\"></div></div><div id=\"outputs\" data-handle-type=\"output\"",
1141
+ " style=\"",
1142
+ "\" class=\"pointer-events-none absolute top-0 z-10 flex flex-col\"><div data-handle-type=\"output\"",
1143
+ " class=\"cursor-crosshair rounded-full bg-[#e38b29] shadow-md transition-transform\" style=\"",
1138
1144
  "\"></div></div></div>"
1139
1145
  ];
1140
1146
  var _tmpl$3$2 = [
@@ -1194,7 +1200,7 @@ var NodeComponent = (props) => {
1194
1200
  if (!edges) return false;
1195
1201
  return edges.some(({ to }) => to === props.id);
1196
1202
  } });
1197
- return ssr(_tmpl$2$4, ssrHydrationKey(), `flex flex-col absolute cursor-grab bg-white rounded-md shadow-md select-none transition-[border,box-shadow] duration-200 ease-in-out hover:shadow-lg draggable ${selected() ? "border border-[#e38c29] z-100" : ""} ${!selected() ? "border border-[#e6d4be] z-1" : ""} min-w-48`, ssrStyleProperty("top:", `${escape(node().y, true)}px`) + ssrStyleProperty(";left:", `${escape(node().x, true)}px`), ssrAttribute("id", escape(props.id, true), false), `pointer-events-none absolute flex items-center justify-end -top-7.5 right-0 transition-all duration-200 ease-in-out space-x-2 ${selected() ? "w-full opacity-100" : ""} ${!selected() ? "w-0 -right-3 opacity-0 overflow-hidden" : ""}`, ssrStyleProperty("overflow:", "visible") + ssrStyleProperty(";pointer-events:", "all") + ssrStyleProperty(";width:", `${escape(12, true) * 2}px`) + ssrStyleProperty(";height:", `${escape(12, true) * 2}px`), escape(createComponent(Show, {
1203
+ return ssr(_tmpl$2$4, ssrHydrationKey(), `flex flex-col absolute cursor-grab bg-white rounded-md shadow-md select-none transition-[border,box-shadow] duration-200 ease-in-out hover:shadow-lg draggable ${selected() ? "border border-[#e38c29] z-100" : ""} ${!selected() ? "border border-[#e6d4be] z-1" : ""} group min-w-48`, ssrStyleProperty("top:", `${escape(node().y, true)}px`) + ssrStyleProperty(";left:", `${escape(node().x, true)}px`), ssrAttribute("id", escape(props.id, true), false), `pointer-events-none absolute flex items-center justify-end -top-7.5 right-0 transition-all duration-200 ease-in-out space-x-2 ${selected() ? "w-full opacity-100" : ""} ${!selected() ? "w-0 -right-3 opacity-0 overflow-hidden" : ""}`, ssrStyleProperty("overflow:", "visible") + ssrStyleProperty(";pointer-events:", "all") + ssrStyleProperty(";width:", `${escape(12, true) * 2}px`) + ssrStyleProperty(";height:", `${escape(12, true) * 2}px`), escape(createComponent(Show, {
1198
1204
  get when() {
1199
1205
  return hasParent();
1200
1206
  },
@@ -1237,7 +1243,7 @@ var NodeComponent = (props) => {
1237
1243
  return props.children;
1238
1244
  } }, () => node().data));
1239
1245
  }
1240
- })), ssrStyleProperty("left:", `-${escape(18, true)}px`), ssrStyleProperty("width:", `${escape(12, true)}px`) + ssrStyleProperty(";height:", `${escape(12, true)}px`) + ssrStyleProperty(";margin-top:", `${escape(12, true)}px`) + ssrStyleProperty(";pointer-events:", "all"), ssrStyleProperty("right:", `-${escape(18, true)}px`), ssrStyleProperty("width:", `${escape(12, true)}px`) + ssrStyleProperty(";height:", `${escape(12, true)}px`) + ssrStyleProperty(";margin-top:", `${escape(12, true)}px`) + ssrStyleProperty(";pointer-events:", "all"));
1246
+ })), ssrAttribute("data-node-id", escape(props.id, true), false), ssrStyleProperty("left:", `-${escape(18, true)}px`), ssrAttribute("data-node-id", escape(props.id, true), false), ssrStyleProperty("width:", `${escape(12, true)}px`) + ssrStyleProperty(";height:", `${escape(12, true)}px`) + ssrStyleProperty(";margin-top:", `${escape(12, true)}px`) + ssrStyleProperty(";pointer-events:", "all"), ssrAttribute("data-node-id", escape(props.id, true), false), ssrStyleProperty("right:", `-${escape(18, true)}px`), ssrAttribute("data-node-id", escape(props.id, true), false), ssrStyleProperty("width:", `${escape(12, true)}px`) + ssrStyleProperty(";height:", `${escape(12, true)}px`) + ssrStyleProperty(";margin-top:", `${escape(12, true)}px`) + ssrStyleProperty(";pointer-events:", "all"));
1241
1247
  };
1242
1248
  //#endregion
1243
1249
  //#region src/ui/components/Panels.tsx
@@ -1513,6 +1519,38 @@ var FlowChart = (props) => {
1513
1519
  }
1514
1520
  });
1515
1521
  });
1522
+ createEffect(() => {
1523
+ if (!hasNewEdge()) return;
1524
+ const handlePointerMove = (e) => {
1525
+ service.send({
1526
+ type: "MOVE_NEW_EDGE",
1527
+ payload: {
1528
+ x: e.clientX,
1529
+ y: e.clientY
1530
+ }
1531
+ });
1532
+ };
1533
+ const handlePointerUp = (e) => {
1534
+ const from = service.state.context.newEdge?.from;
1535
+ if (from) {
1536
+ const targetId = (document.elementFromPoint(e.clientX, e.clientY)?.closest("[data-handle-type=\"input\"]"))?.getAttribute("data-node-id");
1537
+ if (targetId && targetId !== from) service.send({
1538
+ type: "ADD_EDGE",
1539
+ payload: {
1540
+ from,
1541
+ to: targetId
1542
+ }
1543
+ });
1544
+ }
1545
+ service.send("CLEAR_NEW_EDGE");
1546
+ };
1547
+ window.addEventListener("pointermove", handlePointerMove);
1548
+ window.addEventListener("pointerup", handlePointerUp);
1549
+ onCleanup(() => {
1550
+ window.removeEventListener("pointermove", handlePointerMove);
1551
+ window.removeEventListener("pointerup", handlePointerUp);
1552
+ });
1553
+ });
1516
1554
  return ssr(_tmpl$$5, ssrHydrationKey(), ssrStyleProperty("cursor:", hasNewEdge() ? "inherit" : "crosshair"), escape(createComponent(NodesBoard, {
1517
1555
  get panels() {
1518
1556
  return props.panels;
@@ -1 +1 @@
1
- {"version":3,"file":"EdgeComponent.d.ts","sourceRoot":"","sources":["../../../src/ui/components/EdgeComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAQ,MAAM,UAAU,CAAC;AAM3C,0EAA0E;AAC1E,KAAK,KAAK,GAAG;IACX,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAkCF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,KAAK,CAwE1C,CAAC"}
1
+ {"version":3,"file":"EdgeComponent.d.ts","sourceRoot":"","sources":["../../../src/ui/components/EdgeComponent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAQ,MAAM,UAAU,CAAC;AAM3C,0EAA0E;AAC1E,KAAK,KAAK,GAAG;IACX,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AA2BF;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,CAAC,KAAK,CAwE1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"FlowChart.d.ts","sourceRoot":"","sources":["../../../src/ui/components/FlowChart.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,GAAG,EAAsB,MAAM,UAAU,CAAC;AAGxD,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAIpC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACrD,OAAO,SAAS,CAAC,CAAC,CAAC,KAClB,GAAG,CAAC,OAuCN,CAAC"}
1
+ {"version":3,"file":"FlowChart.d.ts","sourceRoot":"","sources":["../../../src/ui/components/FlowChart.tsx"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,GAAG,EAAsB,MAAM,UAAU,CAAC;AAGtE,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAG1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;AAIpC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACrD,OAAO,SAAS,CAAC,CAAC,CAAC,KAClB,GAAG,CAAC,OA6DN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeComponent.d.ts","sourceRoot":"","sources":["../../../src/ui/components/NodeComponent.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAO,KAAK,GAAG,EAAQ,MAAM,UAAU,CAAC;AAQ/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAK/D,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI;IAC9D,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACzD,OAAO,kBAAkB,CAAC,CAAC,CAAC,KAC3B,GAAG,CAAC,OAwNN,CAAC"}
1
+ {"version":3,"file":"NodeComponent.d.ts","sourceRoot":"","sources":["../../../src/ui/components/NodeComponent.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,SAAS,EAAO,KAAK,GAAG,EAAQ,MAAM,UAAU,CAAC;AAQ/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAK/D,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,IAAI;IAC9D,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACzD,OAAO,kBAAkB,CAAC,CAAC,CAAC,KAC3B,GAAG,CAAC,OA+NN,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bemedev/mind-flow",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Flow Chart UI library for Solid.js applications",
5
5
  "keywords": [
6
6
  "diagram",
@@ -81,7 +81,7 @@
81
81
  "oxlint": "^1.80.0",
82
82
  "pretty-quick": "^4.2.2",
83
83
  "rimraf": "^6.1.3",
84
- "rolldown": "^1.2.5",
84
+ "rolldown": "^1.2.6",
85
85
  "rollup-preset-solid": "^3.0.0",
86
86
  "size-limit": "^13.0.3",
87
87
  "solid-js": "^1.9.15",
@@ -1,3 +1,12 @@
1
+ /**
2
+ * Restricts a number to be within the specified minimum and maximum bounds.
3
+ *
4
+ * @param value - The numerical value to clamp.
5
+ * @param min - The lower boundary limit.
6
+ * @param max - The upper boundary limit.
7
+ *
8
+ * @returns The clamped numerical value between `min` and `max`.
9
+ */
1
10
  export const clamp = (value: number, min: number, max: number) => {
2
11
  return Math.min(Math.max(value, min), max);
3
12
  };
@@ -14,13 +14,6 @@ type Props = {
14
14
  isNew?: boolean;
15
15
  };
16
16
 
17
- /**
18
- * Computes bezier curve control point offset based on horizontal distance.
19
- *
20
- * @param value - Absolute horizontal delta between start and end points.
21
- *
22
- * @returns Offset distance in pixels for bezier curvature.
23
- */
24
17
  /**
25
18
  * Computes bezier curve control point offset based on horizontal distance.
26
19
  *
@@ -1,5 +1,5 @@
1
1
  import { createState } from '@bemedev/app-solidjs';
2
- import { type JSX, onCleanup, onMount } from 'solid-js';
2
+ import { createEffect, type JSX, onCleanup, onMount } from 'solid-js';
3
3
 
4
4
  import { DEFAULT_NODES } from '#services/main.machine.data';
5
5
  import type { NodeData, NodeProps } from '#services/main.machine.typings';
@@ -47,18 +47,40 @@ export const FlowChart = <D extends NodeData = NodeData>(
47
47
  });
48
48
  });
49
49
 
50
+ createEffect(() => {
51
+ if (!hasNewEdge()) return;
52
+
53
+ const handlePointerMove = (e: MouseEvent | PointerEvent) => {
54
+ service.send({
55
+ type: 'MOVE_NEW_EDGE',
56
+ payload: { x: e.clientX, y: e.clientY },
57
+ });
58
+ };
59
+
60
+ const handlePointerUp = (e: MouseEvent | PointerEvent) => {
61
+ const from = service.state.context.newEdge?.from;
62
+ if (from) {
63
+ const el = document.elementFromPoint(e.clientX, e.clientY);
64
+ const inputHandle = el?.closest('[data-handle-type="input"]');
65
+ const targetId = inputHandle?.getAttribute('data-node-id');
66
+ if (targetId && targetId !== from) {
67
+ service.send({ type: 'ADD_EDGE', payload: { from, to: targetId } });
68
+ }
69
+ }
70
+ service.send('CLEAR_NEW_EDGE');
71
+ };
72
+
73
+ window.addEventListener('pointermove', handlePointerMove);
74
+ window.addEventListener('pointerup', handlePointerUp);
75
+
76
+ onCleanup(() => {
77
+ window.removeEventListener('pointermove', handlePointerMove);
78
+ window.removeEventListener('pointerup', handlePointerUp);
79
+ });
80
+ });
81
+
50
82
  return (
51
- <div
52
- class='relative h-full w-full'
53
- onMouseUp={() => service.send('CLEAR_NEW_EDGE')}
54
- onMouseMove={({ clientX, clientY }) => {
55
- if (hasNewEdge())
56
- service.send({
57
- type: 'MOVE_NEW_EDGE',
58
- payload: { x: clientX, y: clientY },
59
- });
60
- }}
61
- >
83
+ <div class='relative h-full w-full'>
62
84
  <div
63
85
  class='h-full w-full'
64
86
  style={{ cursor: hasNewEdge() ? 'inherit' : 'crosshair' }}
@@ -78,7 +78,7 @@ export const NodeComponent = <D extends NodeData = NodeData>(
78
78
  }}
79
79
 
80
80
  style={{ top: `${node().y}px`, left: `${node().x}px` }}
81
- class='min-w-48'
81
+ class='group min-w-48'
82
82
  use:draggable={{ skipTransform: true }}
83
83
  id={props.id}
84
84
 
@@ -200,11 +200,18 @@ export const NodeComponent = <D extends NodeData = NodeData>(
200
200
 
201
201
  <div
202
202
  id='inputs'
203
+ data-handle-type='input'
204
+ data-node-id={props.id}
203
205
  class='pointer-events-none absolute top-0 z-10 flex cursor-default flex-col'
204
206
  style={{ left: `-${HANDLE_CONTAINER_OFFSET_X}px` }}
205
207
  >
206
208
  <div
207
- class='cursor-default rounded-full bg-[#e38b29] shadow-md'
209
+ data-handle-type='input'
210
+ data-node-id={props.id}
211
+ onMouseDown={event => event.stopPropagation()}
212
+ onPointerDown={e => e.stopPropagation()}
213
+
214
+ class='cursor-default rounded-full bg-[#e38b29] shadow-md transition-transform'
208
215
 
209
216
  style={{
210
217
  width: `${HANDLE_SIZE}px`,
@@ -213,43 +220,43 @@ export const NodeComponent = <D extends NodeData = NodeData>(
213
220
  'pointer-events': 'all',
214
221
  }}
215
222
 
216
- onMouseDown={event => {
217
- event.stopPropagation();
218
- }}
219
-
220
- onPointerDown={e => e.stopPropagation()}
221
-
222
223
  onMouseUp={event => {
223
224
  event.stopPropagation();
224
225
  const from = newEdge()?.from;
225
226
 
226
- if (from) {
227
+ if (from && from !== props.id) {
227
228
  service.send({ type: 'ADD_EDGE', payload: { from, to: props.id } });
228
- // service.send('CLEAR_NEW_EDGE');
229
- } else service.send('CLEAR_NEW_EDGE');
229
+ }
230
+ service.send('CLEAR_NEW_EDGE');
230
231
  }}
231
232
  ></div>
232
233
  </div>
233
234
  <div
234
235
  id='outputs'
235
- class='pointer-events-none absolute top-0 z-10 flex flex-col'
236
+ data-handle-type='output'
237
+ data-node-id={props.id}
236
238
  style={{ right: `-${HANDLE_CONTAINER_OFFSET_X}px` }}
239
+
240
+ class='pointer-events-none absolute top-0 z-10 flex flex-col'
237
241
  >
238
242
  <div
239
- class='cursor-crosshair rounded-full bg-[#e38b29] shadow-md'
240
-
243
+ data-handle-type='output'
244
+ data-node-id={props.id}
245
+ class='cursor-crosshair rounded-full bg-[#e38b29] shadow-md transition-transform'
241
246
  style={{
242
247
  width: `${HANDLE_SIZE}px`,
243
248
  height: `${HANDLE_SIZE}px`,
244
249
  'margin-top': `${HANDLE_MARGIN_TOP}px`,
245
250
  'pointer-events': 'all',
246
251
  }}
247
-
248
252
  onMouseDown={event => {
249
253
  event.stopPropagation();
250
254
  service.send('DESELECT');
251
255
  service.send({ type: 'START_NEW_EDGE', payload: props.id });
252
256
  }}
257
+ onPointerDown={event => {
258
+ event.stopPropagation();
259
+ }}
253
260
  ></div>
254
261
  </div>
255
262
  </div>