likec4 1.55.0 → 1.56.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__app__/chunks/ColorSchemeToggle.mjs +1 -0
- package/__app__/chunks/DiagramActorProvider.mjs +10 -0
- package/__app__/chunks/Fallback.mjs +1 -0
- package/__app__/chunks/Header.mjs +13 -0
- package/__app__/chunks/IconRenderer.mjs +1 -0
- package/__app__/chunks/LikeC4Diagram.mjs +19 -0
- package/__app__/chunks/LikeC4ModelContext.mjs +1 -0
- package/__app__/chunks/LikeC4ModelContext2.mjs +1 -0
- package/__app__/chunks/LikeC4Styles.mjs +48 -0
- package/__app__/chunks/NavigationPanel.mjs +1 -0
- package/__app__/chunks/StaticLikeC4Diagram.mjs +1 -0
- package/__app__/chunks/ViewReact.mjs +1 -0
- package/__app__/chunks/__root.mjs +1 -0
- package/__app__/chunks/adhoc-editor.mjs +1 -0
- package/__app__/chunks/hooks.mjs +1 -0
- package/__app__/chunks/libs/@dagrejs/dagre.mjs +1 -0
- package/__app__/chunks/libs/@floating-ui/core.mjs +1 -0
- package/__app__/chunks/libs/@floating-ui/dom.mjs +1 -0
- package/__app__/chunks/libs/@floating-ui/react.mjs +1 -0
- package/__app__/chunks/libs/@mantine/core.mjs +41 -0
- package/__app__/chunks/libs/@mantine/hooks.mjs +1 -0
- package/__app__/chunks/libs/@nanostores/react.mjs +1 -0
- package/__app__/chunks/libs/@react-hookz/web.mjs +1 -0
- package/__app__/chunks/libs/@tabler/icons-react.mjs +15 -0
- package/__app__/chunks/libs/@tanstack/history.mjs +1 -0
- package/__app__/chunks/libs/@tanstack/react-router.mjs +3 -0
- package/__app__/chunks/libs/@tanstack/router-core.mjs +1 -0
- package/__app__/chunks/libs/@xstate/react.mjs +1 -0
- package/__app__/chunks/libs/@xstate/store.mjs +1 -0
- package/__app__/chunks/libs/@xyflow/react.mjs +7 -0
- package/__app__/chunks/libs/@zag-js/anatomy.mjs +1 -0
- package/__app__/chunks/libs/@zag-js/collection.mjs +1 -0
- package/__app__/chunks/libs/@zag-js/core.mjs +1 -0
- package/__app__/chunks/libs/@zag-js/react.mjs +1 -0
- package/__app__/chunks/libs/@zag-js/tree-view.mjs +1 -0
- package/__app__/chunks/libs/bezier-js.mjs +1 -0
- package/__app__/chunks/libs/d3-path.mjs +1 -0
- package/__app__/chunks/libs/d3-shape.mjs +1 -0
- package/__app__/chunks/libs/fast-equals.mjs +1 -0
- package/__app__/chunks/libs/framer-motion.mjs +9 -0
- package/__app__/chunks/libs/html-to-image.mjs +2 -0
- package/__app__/chunks/libs/motion-dom.mjs +1 -0
- package/__app__/chunks/libs/motion.mjs +1 -0
- package/__app__/chunks/libs/nanostores.mjs +1 -0
- package/__app__/chunks/libs/react-error-boundary.mjs +1 -0
- package/__app__/chunks/libs/react-resizable-panels.mjs +1 -0
- package/__app__/chunks/libs/remeda.mjs +1 -0
- package/__app__/chunks/libs/xstate.mjs +1 -0
- package/__app__/chunks/libs/zod.mjs +39 -0
- package/__app__/chunks/rolldown-runtime.mjs +1 -0
- package/__app__/chunks/safeCtx.mjs +1 -0
- package/__app__/chunks/searchParams.mjs +1 -0
- package/__app__/chunks/single-index.mjs +1 -0
- package/__app__/chunks/styled-system.mjs +1 -0
- package/__app__/chunks/styles.css.mjs +1 -0
- package/__app__/chunks/useLikeC4Project.mjs +1 -0
- package/__app__/chunks/useUpdateEffect.mjs +1 -0
- package/__app__/codegen/react.mjs +11 -0
- package/__app__/codegen/webcomponent.mjs +790 -0
- package/__app__/src/fonts.css +1 -1
- package/__app__/src/main.mjs +1 -0
- package/__app__/src/pages/AdHocViewEditor.mjs +1 -0
- package/__app__/src/pages/EmbedPage.mjs +1 -0
- package/__app__/src/pages/ExportPage.mjs +1 -0
- package/__app__/src/pages/ProjectsOverview.mjs +1 -0
- package/__app__/src/pages/ViewAsD2.mjs +1 -0
- package/__app__/src/pages/ViewAsDot.mjs +1 -0
- package/__app__/src/pages/ViewAsMmd.mjs +1 -0
- package/__app__/src/pages/ViewAsPuml.mjs +1 -0
- package/__app__/src/pages/ViewEditor.mjs +1 -0
- package/__app__/src/pages/ViewReact.mjs +1 -0
- package/__app__/src/routeTree.gen.mjs +1 -0
- package/__app__/src/routes/__root.mjs +1 -0
- package/__app__/src/routes/_single/adhoc.mjs +1 -0
- package/__app__/src/routes/_single/embed._viewId.mjs +1 -0
- package/__app__/src/routes/_single/export._viewId.mjs +1 -0
- package/__app__/src/routes/_single/route.mjs +1 -0
- package/__app__/src/routes/_single/single-index.mjs +1 -0
- package/__app__/src/routes/_single/view._viewId.d2.mjs +1 -0
- package/__app__/src/routes/_single/view._viewId.dot.mjs +1 -0
- package/__app__/src/routes/_single/view._viewId.index.mjs +1 -0
- package/__app__/src/routes/_single/view._viewId.mjs +1 -0
- package/__app__/src/routes/_single/view._viewId.mmd.mjs +1 -0
- package/__app__/src/routes/_single/view._viewId.puml.mjs +1 -0
- package/__app__/src/routes/_single/webcomponent._.mjs +33 -0
- package/__app__/src/routes/index.mjs +1 -0
- package/__app__/src/routes/project._projectId/-components.mjs +1 -0
- package/__app__/src/routes/project._projectId/adhoc.mjs +1 -0
- package/__app__/src/routes/project._projectId/embed._viewId.mjs +1 -0
- package/__app__/src/routes/project._projectId/export._viewId.mjs +1 -0
- package/__app__/src/routes/project._projectId/index.mjs +1 -0
- package/__app__/src/routes/project._projectId/route.mjs +1 -0
- package/__app__/src/routes/project._projectId/view._viewId.d2.mjs +1 -0
- package/__app__/src/routes/project._projectId/view._viewId.dot.mjs +1 -0
- package/__app__/src/routes/project._projectId/view._viewId.index.mjs +1 -0
- package/__app__/src/routes/project._projectId/view._viewId.mjs +1 -0
- package/__app__/src/routes/project._projectId/view._viewId.mmd.mjs +1 -0
- package/__app__/src/routes/project._projectId/view._viewId.puml.mjs +1 -0
- package/__app__/src/routes/projects.mjs +1 -0
- package/__app__/src/style.css +1 -1
- package/dist/chunks/filenames.mjs +17 -0
- package/dist/{_chunks → chunks}/index.d.mts +2 -1
- package/dist/{_chunks → chunks}/index2.d.mts +71 -12
- package/dist/chunks/libs/@chevrotain/gast.mjs +1 -0
- package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +9 -0
- package/dist/chunks/libs/@chevrotain/utils.mjs +1 -0
- package/dist/chunks/libs/@hono/mcp.mjs +45 -0
- package/dist/chunks/libs/@hono/node-server.mjs +1 -0
- package/dist/{_chunks → chunks}/libs/@logtape/logtape.d.mts +2 -0
- package/dist/chunks/libs/@logtape/logtape.mjs +4 -0
- package/dist/chunks/libs/@lume/kiwi.mjs +1 -0
- package/dist/chunks/libs/@modelcontextprotocol/sdk.mjs +12 -0
- package/dist/chunks/libs/ajv.mjs +1 -0
- package/dist/chunks/libs/ansi-align.mjs +2 -0
- package/dist/chunks/libs/ansi-regex.mjs +1 -0
- package/dist/chunks/libs/ansi-styles.mjs +1 -0
- package/dist/chunks/libs/atomically.mjs +1 -0
- package/dist/chunks/libs/birpc.mjs +1 -0
- package/dist/chunks/libs/boxen.mjs +22 -0
- package/dist/chunks/libs/chevrotain-allstar.mjs +2 -0
- package/dist/chunks/libs/chevrotain.mjs +58 -0
- package/dist/chunks/libs/conf.mjs +1 -0
- package/dist/chunks/libs/defu.mjs +1 -0
- package/dist/chunks/libs/destr.mjs +1 -0
- package/dist/chunks/libs/eventemitter3.mjs +1 -0
- package/dist/chunks/libs/find-up-simple.mjs +1 -0
- package/dist/chunks/libs/get-port.mjs +1 -0
- package/dist/chunks/libs/hono.mjs +1 -0
- package/dist/chunks/libs/is-docker.mjs +1 -0
- package/dist/chunks/libs/is-error-instance.mjs +1 -0
- package/dist/chunks/libs/is-inside-container.mjs +1 -0
- package/dist/chunks/libs/is-plain-obj.mjs +1 -0
- package/dist/chunks/libs/isexe.mjs +1 -0
- package/dist/chunks/libs/json5.mjs +14 -0
- package/dist/chunks/libs/khroma.mjs +1 -0
- package/dist/chunks/libs/ky.mjs +3 -0
- package/dist/{_chunks → chunks}/libs/langium.d.mts +4 -4
- package/dist/chunks/libs/langium.mjs +32 -0
- package/dist/chunks/libs/merge-error-cause.mjs +2 -0
- package/dist/chunks/libs/p-debounce.mjs +1 -0
- package/dist/chunks/libs/p-limit.mjs +1 -0
- package/dist/chunks/libs/p-queue.mjs +1 -0
- package/dist/chunks/libs/p-timeout.mjs +1 -0
- package/dist/chunks/libs/package-manager-detector.mjs +1 -0
- package/dist/chunks/libs/package-up.mjs +1 -0
- package/dist/chunks/libs/pako.mjs +1 -0
- package/dist/chunks/libs/parse-ms.mjs +1 -0
- package/dist/chunks/libs/pathe.mjs +1 -0
- package/dist/chunks/libs/picomatch.mjs +1 -0
- package/dist/chunks/libs/pretty-ms.mjs +1 -0
- package/dist/chunks/libs/remeda.mjs +1 -0
- package/dist/chunks/libs/safe-stringify.mjs +1 -0
- package/dist/chunks/libs/strip-indent.mjs +1 -0
- package/dist/chunks/libs/tinyrainbow.mjs +1 -0
- package/dist/{_chunks → chunks}/libs/ts-graphviz.d.mts +2 -0
- package/dist/chunks/libs/ts-graphviz.mjs +4 -0
- package/dist/chunks/libs/ufo.mjs +1 -0
- package/dist/chunks/libs/unstorage.mjs +1 -0
- package/dist/chunks/libs/which.mjs +1 -0
- package/dist/chunks/libs/word-wrap.mjs +12 -0
- package/dist/{_chunks → chunks}/libs/zod.d.mts +2 -0
- package/dist/chunks/node.mjs +76 -0
- package/dist/chunks/plugin.mjs +400 -0
- package/dist/chunks/rolldown-runtime.mjs +1 -0
- package/dist/chunks/sequence-view.mjs +1 -0
- package/dist/cli/index.mjs +262 -123
- package/dist/config/index.d.mts +1 -2
- package/dist/config/index.mjs +1 -1
- package/dist/index.d.mts +4 -8
- package/dist/index.mjs +1 -1
- package/dist/model/index.d.mts +2 -1
- package/dist/model/index.mjs +1 -1
- package/dist/vite-plugin/index.d.mts +38 -8
- package/dist/vite-plugin/index.mjs +1 -1
- package/dist/{_chunks → vite-plugin/internal/chunks}/libs/@nanostores/react.d.mts +2 -56
- package/dist/vite-plugin/internal/chunks/libs/@nanostores/react.mjs +1 -0
- package/dist/vite-plugin/internal/chunks/libs/birpc.mjs +1 -0
- package/dist/vite-plugin/internal/chunks/libs/fast-equals.mjs +1 -0
- package/dist/vite-plugin/internal/chunks/libs/nanostores.d.mts +59 -0
- package/dist/vite-plugin/internal/chunks/libs/nanostores.mjs +1 -0
- package/dist/vite-plugin/internal/chunks/libs/remeda.mjs +1 -0
- package/dist/vite-plugin/internal/chunks/rolldown-runtime.mjs +1 -0
- package/dist/vite-plugin/{internal.d.mts → internal/index.d.mts} +12 -3
- package/dist/vite-plugin/internal/index.mjs +1 -0
- package/package.json +37 -57
- package/react/index.d.mts +2 -28
- package/react/index.mjs +50520 -53827
- package/vite-plugin/internal/package.json +2 -2
- package/vite-plugin-modules.d.ts +14 -0
- package/__app__/react/likec4.tsx +0 -25
- package/__app__/src/ProjectsOverview.js +0 -16
- package/__app__/src/const.js +0 -19
- package/__app__/src/likec4.js +0 -21225
- package/__app__/src/main.js +0 -7
- package/__app__/src/routes/index.js +0 -324
- package/__app__/src/routes/projects.js +0 -189
- package/__app__/src/routes/single.js +0 -1924
- package/__app__/src/vendors.js +0 -52672
- package/__app__/src/webcomponent.js +0 -68
- package/dist/THIRD-PARTY-LICENSES.md +0 -1609
- package/dist/_chunks/libs/@chevrotain/cst-dts-gen.mjs +0 -30
- package/dist/_chunks/libs/@chevrotain/regexp-to-ast.mjs +0 -9
- package/dist/_chunks/libs/@chevrotain/types.d.mts +0 -1
- package/dist/_chunks/libs/@chevrotain/utils.mjs +0 -1
- package/dist/_chunks/libs/@hono/mcp.mjs +0 -45
- package/dist/_chunks/libs/@hono/node-server.mjs +0 -1
- package/dist/_chunks/libs/@logtape/logtape.mjs +0 -4
- package/dist/_chunks/libs/@lume/kiwi.mjs +0 -1
- package/dist/_chunks/libs/@modelcontextprotocol/sdk.mjs +0 -12
- package/dist/_chunks/libs/@nanostores/react.mjs +0 -1
- package/dist/_chunks/libs/ajv.mjs +0 -1
- package/dist/_chunks/libs/ansi-align.mjs +0 -2
- package/dist/_chunks/libs/ansi-regex.mjs +0 -1
- package/dist/_chunks/libs/ansi-styles.mjs +0 -1
- package/dist/_chunks/libs/atomically.mjs +0 -1
- package/dist/_chunks/libs/birpc.mjs +0 -1
- package/dist/_chunks/libs/boxen.mjs +0 -22
- package/dist/_chunks/libs/chevrotain-allstar.mjs +0 -2
- package/dist/_chunks/libs/chevrotain.mjs +0 -58
- package/dist/_chunks/libs/conf.mjs +0 -1
- package/dist/_chunks/libs/defu.mjs +0 -1
- package/dist/_chunks/libs/destr.mjs +0 -1
- package/dist/_chunks/libs/esm-env.mjs +0 -1
- package/dist/_chunks/libs/eventemitter3.mjs +0 -1
- package/dist/_chunks/libs/fast-equals.mjs +0 -1
- package/dist/_chunks/libs/find-up-simple.mjs +0 -1
- package/dist/_chunks/libs/get-port.mjs +0 -1
- package/dist/_chunks/libs/is-docker.mjs +0 -1
- package/dist/_chunks/libs/is-error-instance.mjs +0 -1
- package/dist/_chunks/libs/is-inside-container.mjs +0 -1
- package/dist/_chunks/libs/is-plain-obj.mjs +0 -1
- package/dist/_chunks/libs/isexe.mjs +0 -1
- package/dist/_chunks/libs/json5.mjs +0 -14
- package/dist/_chunks/libs/khroma.mjs +0 -1
- package/dist/_chunks/libs/ky.mjs +0 -3
- package/dist/_chunks/libs/langium.mjs +0 -33
- package/dist/_chunks/libs/merge-error-cause.mjs +0 -2
- package/dist/_chunks/libs/p-limit.mjs +0 -1
- package/dist/_chunks/libs/p-queue.mjs +0 -1
- package/dist/_chunks/libs/p-timeout.mjs +0 -1
- package/dist/_chunks/libs/package-manager-detector.mjs +0 -1
- package/dist/_chunks/libs/package-up.mjs +0 -1
- package/dist/_chunks/libs/pako.mjs +0 -1
- package/dist/_chunks/libs/parse-ms.mjs +0 -1
- package/dist/_chunks/libs/pathe.mjs +0 -1
- package/dist/_chunks/libs/picomatch.mjs +0 -1
- package/dist/_chunks/libs/pretty-ms.mjs +0 -1
- package/dist/_chunks/libs/remeda.mjs +0 -2
- package/dist/_chunks/libs/safe-stringify.mjs +0 -1
- package/dist/_chunks/libs/strip-indent.mjs +0 -1
- package/dist/_chunks/libs/tinyrainbow.mjs +0 -1
- package/dist/_chunks/libs/ts-graphviz.mjs +0 -4
- package/dist/_chunks/libs/ufo.mjs +0 -1
- package/dist/_chunks/libs/unstorage.mjs +0 -1
- package/dist/_chunks/libs/which.mjs +0 -1
- package/dist/_chunks/libs/word-wrap.mjs +0 -12
- package/dist/_chunks/node.mjs +0 -76
- package/dist/_chunks/rolldown-runtime.mjs +0 -1
- package/dist/_chunks/sequence.mjs +0 -1
- package/dist/_chunks/src.mjs +0 -17
- package/dist/_chunks/src2.mjs +0 -499
- package/dist/vite-plugin/internal.mjs +0 -1
- /package/dist/{_chunks → chunks}/libs/vscode-languageserver.mjs +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime.mjs";import{D as t,K as n,R as r,S as i,Y as a,Z as o,q as s,v as c,x as l,z as u}from"./libs/remeda.mjs";import{At as d,Kt as f,Ot as p,Rt as m,Tt as h,_t as g,dt as _,h as v,kt as y,m as b,rt as x,wt as S}from"./libs/@mantine/core.mjs";import{E as C,M as w,N as T,c as E,d as D,f as O,g as k,h as A,l as j,o as M,u as N}from"./styled-system.mjs";import{Q as P}from"./libs/@tabler/icons-react.mjs";import{n as F}from"./IconRenderer.mjs";import{d as I,f as L,h as R,i as z,m as B,n as V,p as ee,r as te,t as ne,v as H}from"./libs/@xyflow/react.mjs";import{n as U,t as W}from"./libs/fast-equals.mjs";import{n as G}from"./useUpdateEffect.mjs";import{t as re}from"./libs/bezier-js.mjs";import{n as ie}from"./libs/nanostores.mjs";import{t as ae}from"./libs/@nanostores/react.mjs";import{P as K,cr as oe,fr as se,g as ce,ur as le}from"./libs/framer-motion.mjs";import{i as ue}from"./LikeC4ModelContext.mjs";import{createContext as de,forwardRef as q,memo as fe,useContext as J,useEffect as Y,useMemo as pe,useRef as me,useState as he}from"react";import{c as X}from"react/compiler-runtime";import{Fragment as Z,jsx as Q,jsxs as $}from"react/jsx-runtime";import{extractStep as ge,invariant as _e,isStepEdgeId as ve,nonexhaustive as ye}from"@likec4/core";import{BBox as be,vector as xe,vector as Se}from"@likec4/core/geometry";import{invariant as Ce}from"@likec4/core/utils";import{LikeC4Styles as we}from"@likec4/core/styles";import{RichText as Te,ensureSizes as Ee}from"@likec4/core/types";function literalToEnum(e){switch(e){case`dots`:return V.Dots;case`lines`:return V.Lines;case`cross`:return V.Cross;default:ye(e)}}const compareProps=(e,t)=>typeof e.background==`string`&&typeof t.background==`string`?e.background===t.background:W(e.background,t.background),De=fe(e=>{let t=X(6),{background:n}=e;if(typeof n==`string`){let e;t[0]===n?e=t[1]:(e=literalToEnum(n),t[0]=n,t[1]=e);let r;return t[2]===e?r=t[3]:(r=Q(ne,{variant:e,size:2,gap:20}),t[2]=e,t[3]=r),r}let r;return t[4]===n?r=t[5]:(r=Q(ne,{...n}),t[4]=n,t[5]=r),r},compareProps);De.displayName=`Background`;function useCallbackRef(e){let t=me(e);return t.current=e,pe(()=>{function callbackRef(...e){return t.current?.(...e)}return callbackRef},[])}function useXYFlow(){return L()}function useXYStore(e,t){return ee(useCallbackRef(e),t??U)}function useXYStoreApi(){return B()}function useCurrentZoomAtLeast(e){let t=X(2),t0;return t[0]===e?t0=t[1]:(t0=t=>t.transform[2]>=e,t[0]=e,t[1]=t0),ee(t0)}const selectZoom=e=>e.transform[2]<.2;function useIsZoomTooSmall(){return ee(selectZoom)}function getDevicePixelRatio(){let e=typeof window<`u`&&typeof window.devicePixelRatio==`number`?window.devicePixelRatio:1;return o(Math.floor(e),{min:1,max:4})}let Oe;function roundDpr(e){return Oe??=getDevicePixelRatio(),Oe<2?Math.round(e):Math.round(e*Oe)/Oe}function nodeToRect(e){return{x:Math.trunc(e.internals.positionAbsolute.x),y:Math.trunc(e.internals.positionAbsolute.y),width:Math.round(e.measured?.width??e.width??e.initialWidth??0),height:Math.round(e.measured?.height??e.height??e.initialHeight??0)}}function getNodeCenter(e){let{width:t,height:n}=H(e),{x:r,y:i}=e.internals.positionAbsolute;return{x:Math.round(r+t/2),y:Math.round(i+n/2)}}function getNodeIntersectionFromCenterToPoint(e,t,n=0){let{width:r,height:i}=e,a=be.center(e),o=xe(t.x,t.y).subtract(a),s=(n+r/2)/o.x,c=(n+i/2)/o.y,l=Math.min(Math.abs(s),Math.abs(c));return xe(o).multiply(l).add(a).trunc().toObject()}function bezierControlPoints(e){let[t,...n]=e;Ce(t,`start should be defined`);let r=[];for(;s(n,3);){let[e,i,a,...o]=n,s=new re(t[0],t[1],e[0],e[1],i[0],i[1],a[0],a[1]),c=s.inflections();c.length===0&&c.push(.5),c.forEach(e=>{let{x:t,y:n}=s.get(e);r.push({x:Math.trunc(t),y:Math.trunc(n)})}),n=o,t=a}return Ce(n.length===0,`all points should be consumed`),Ce(s(r,1),`at least one control point should be generated`),r}function isSamePoint(e,t){if(e===t)return!0;let[n,i]=r(e)?e:[e.x,e.y],[a,o]=r(t)?t:[t.x,t.y];return Math.hypot(a-n,o-i)<2.1}function stopPropagation(e){e.nativeEvent.stopImmediatePropagation(),e.stopPropagation()}const printPoint=e=>`${Math.trunc(e[0])},${Math.trunc(e[1])}`;function bezierPath(e){let[t,...n]=e;Ce(t,`start should be defined`);let r=`M ${printPoint(t)}`;for(;s(n,3);){let[e,t,i,...a]=n;r+=` C ${printPoint(e)} ${printPoint(t)} ${printPoint(i)}`,n=a}return Ce(n.length===0,`all points should be consumed`),r}function parsePadding(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function parsePaddings(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=parsePadding(e,n),i=parsePadding(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=parsePadding(e.top??e.y??0,n),i=parsePadding(e.bottom??e.y??0,n),a=parsePadding(e.left??e.x??0,t),o=parsePadding(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}const _setDimmed=(e,t)=>(e.data.dimmed??!1)===t?e:{...e,data:{...e.data,dimmed:t}};function setDimmed(e,t){return t===void 0?t=>_setDimmed(t,e):_setDimmed(e,t)}const _setHovered=(e,t)=>(e.data.hovered??!1)===t?e:{...e,data:{...e.data,hovered:t}};function setHovered(e,t){return t===void 0?t=>_setHovered(t,e):_setHovered(e,t)}function _setData(e,t){return u(e.data,t)?e:{...e,data:{...e.data,...t}}}function setData(e,t){return t===void 0?t=>_setData(t,e):_setData(e,t)}const ke={setDimmed,setHovered,setData},Ae={Compound:1,Edge:20,EdgeLabel:25,Element:20,Max:30},je=.05,Me={default:`16px`,withControls:{top:`58px`,left:`16px`,right:`16px`,bottom:`16px`}};function BaseXYFlow(e){let t=X(85),n,r,i,a,o,s,c,l,u,d,f,m,h,g,_,v,y,b,x,S,C,T;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7],l=t[8],u=t[9],d=t[10],f=t[11],m=t[12],h=t[13],g=t[14],_=t[15],v=t[16],y=t[17],b=t[18],x=t[19],S=t[20],C=t[21],T=t[22]):({nodes:o,edges:a,onEdgesChange:l,onNodesChange:m,className:r,pannable:_,zoomable:v,nodesSelectable:y,nodesDraggable:b,background:x,children:n,colorMode:i,fitViewPadding:S,fitView:C,zoomOnDoubleClick:T,onViewportResize:h,onMoveEnd:u,onNodeMouseEnter:d,onNodeMouseLeave:f,onEdgeMouseEnter:s,onEdgeMouseLeave:c,...g}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=c,t[8]=l,t[9]=u,t[10]=d,t[11]=f,t[12]=m,t[13]=h,t[14]=g,t[15]=_,t[16]=v,t[17]=y,t[18]=b,t[19]=x,t[20]=S,t[21]=C,t[22]=T);let E=_===void 0?!0:_,D=v===void 0?!0:v,O=y===void 0?!0:y,k=b===void 0?!1:b,A=x===void 0?`dots`:x,j=S===void 0?0:S,M=C===void 0?!0:C,N=T===void 0?!1:T,P;t[23]===j?P=t[24]:(P={minZoom:je,maxZoom:1,padding:j,includeHiddenNodes:!1},t[23]=j,t[24]=P);let F=P,L=A!==`transparent`&&A!==`solid`,R=useIsZoomTooSmall(),z=useXYStoreApi(),{colorScheme:B}=p();i||=B===`auto`?`system`:B;let V=i,ee=o,te=a,ne=A===`transparent`&&`bg-transparent`,H;t[25]!==r||t[26]!==ne?(H=w(ne,r),t[25]=r,t[26]=ne,t[27]=H):H=t[27];let U;t[28]===R?U=t[29]:(U=R&&{"data-likec4-zoom-small":!0},t[28]=R,t[29]=U);let W=!E&&D,G;t[30]===D?G=t[31]:(G=!D&&{zoomActivationKeyCode:null},t[30]=D,t[31]=G);let re=D?3:1,ie=D?je:1,ae=D||E,K;t[32]===E?K=t[33]:(K=!E&&{panActivationKeyCode:null,selectionKeyCode:null},t[32]=E,t[33]=K);let oe=k||O,se=m,ce=l,t25;t[34]!==u||t[35]!==z?(t25=(e,t)=>{let{x:n,y:r,zoom:i}=t,a=roundDpr(n),o=roundDpr(r);(n!==a||r!==o)&&z.setState({transform:[a,o,i]}),u?.(e,{x:a,y:o,zoom:i})},t[34]=u,t[35]=z,t[36]=t25):t25=t[36];let le=useCallbackRef(t25),t27;t[37]!==d||t[38]!==m?(t27=(e,t)=>{if(d){d(e,t);return}m([{id:t.id,type:`replace`,item:ke.setHovered(t,!0)}])},t[37]=d,t[38]=m,t[39]=t27):t27=t[39];let ue=useCallbackRef(t27),t29;t[40]!==f||t[41]!==m?(t29=(e,t)=>{if(f){f(e,t);return}m([{id:t.id,type:`replace`,item:ke.setHovered(t,!1)}])},t[40]=f,t[41]=m,t[42]=t29):t29=t[42];let de=useCallbackRef(t29),t31;t[43]!==s||t[44]!==l?(t31=(e,t)=>{if(s){s(e,t);return}l([{id:t.id,type:`replace`,item:ke.setHovered(t,!0)}])},t[43]=s,t[44]=l,t[45]=t31):t31=t[45];let q=useCallbackRef(t31),t33;t[46]!==c||t[47]!==l?(t33=(e,t)=>{if(c){c(e,t);return}l([{id:t.id,type:`replace`,item:ke.setHovered(t,!1)}])},t[46]=c,t[47]=l,t[48]=t33):t33=t[48];let fe=useCallbackRef(t33),J;t[49]!==A||t[50]!==L?(J=L&&Q(De,{background:A}),t[49]=A,t[50]=L,t[51]=J):J=t[51];let Y;t[52]===h?Y=t[53]:(Y=h&&Q(ViewportResizeHanlder,{onViewportResize:h}),t[52]=h,t[53]=Y);let pe;return t[54]!==n||t[55]!==i||t[56]!==a||t[57]!==M||t[58]!==F||t[59]!==o||t[60]!==k||t[61]!==O||t[62]!==l||t[63]!==m||t[64]!==E||t[65]!==g||t[66]!==H||t[67]!==U||t[68]!==W||t[69]!==G||t[70]!==re||t[71]!==ie||t[72]!==ae||t[73]!==K||t[74]!==oe||t[75]!==le||t[76]!==ue||t[77]!==de||t[78]!==q||t[79]!==fe||t[80]!==J||t[81]!==Y||t[82]!==N||t[83]!==D?(pe=$(I,{colorMode:V,nodes:ee,edges:te,className:H,...U,zoomOnPinch:D,zoomOnScroll:W,...G,zoomOnDoubleClick:N,maxZoom:re,minZoom:ie,fitView:M,fitViewOptions:F,preventScrolling:ae,defaultMarkerColor:`var(--xy-edge-stroke)`,noDragClassName:`nodrag`,noPanClassName:`nopan`,noWheelClassName:`nowheel`,panOnScroll:E,panOnDrag:E,...K,elementsSelectable:O,nodesFocusable:oe,edgesFocusable:!1,nodesDraggable:k,nodeDragThreshold:4,nodeClickDistance:3,paneClickDistance:3,elevateNodesOnSelect:!1,selectNodesOnDrag:!1,onNodesChange:se,onEdgesChange:ce,onMoveEnd:le,onNodeMouseEnter:ue,onNodeMouseLeave:de,onEdgeMouseEnter:q,onEdgeMouseLeave:fe,onNodeDoubleClick:stopPropagation,onEdgeDoubleClick:stopPropagation,...g,children:[J,Y,n]}),t[54]=n,t[55]=i,t[56]=a,t[57]=M,t[58]=F,t[59]=o,t[60]=k,t[61]=O,t[62]=l,t[63]=m,t[64]=E,t[65]=g,t[66]=H,t[67]=U,t[68]=W,t[69]=G,t[70]=re,t[71]=ie,t[72]=ae,t[73]=K,t[74]=oe,t[75]=le,t[76]=ue,t[77]=de,t[78]=q,t[79]=fe,t[80]=J,t[81]=Y,t[82]=N,t[83]=D,t[84]=pe):pe=t[84],pe}const selectDimensions=({width:e,height:t})=>(e||1)*(t||1),ViewportResizeHanlder=e=>{let t=X(2),{onViewportResize:n}=e,r=ee(selectDimensions),i;return t[0]===r?i=t[1]:(i=[r],t[0]=r,t[1]=i),G(n,i),null},Ne=de(null),Pe=Ne.Provider;function useRootContainerContext(){return J(Ne)}function useRootContainer(){let e=useRootContainerContext();if(!e)throw Error(`useRootContainer must be used within a RootContainer`);return e}function useRootContainerRef(){return useRootContainer().ref}function useRootContainerElement(){return useRootContainer().ref.current}const Fe=de(null),Ie=Fe.Provider;function useIsReducedGraphics(){let e=J(Fe);return e===null&&console.warn(`ReduceGraphicsMode is not provided`),e??!1}const[Le,Re]=f(`PanningAtomSafeCtx is not provided`);function RootContainer(e){let t=X(22),{id:n,className:r,reduceGraphics:i,children:a}=e,o=i===void 0?!1:i,s=me(null),[c]=he(_temp),l=ae(c),u=`#${n}`,d;t[0]!==n||t[1]!==u?(d={id:n,ref:s,selector:u},t[0]=n,t[1]=u,t[2]=d):d=t[2];let f=d,p;t[3]===r?p=t[4]:(p=w(`likec4-root`,r),t[3]=r,t[4]=p);let m;t[5]===o?m=t[6]:(m=o&&{"data-likec4-reduced-graphics":!0},t[5]=o,t[6]=m);let h;t[7]!==a||t[8]!==f?(h=Q(Pe,{value:f,children:a}),t[7]=a,t[8]=f,t[9]=h):h=t[9];let g;t[10]!==n||t[11]!==l||t[12]!==p||t[13]!==m||t[14]!==h?(g=Q(`div`,{id:n,className:p,ref:s,"data-likec4-diagram-panning":l,...m,children:h}),t[10]=n,t[11]=l,t[12]=p,t[13]=m,t[14]=h,t[15]=g):g=t[15];let _;t[16]!==c||t[17]!==g?(_=Q(Le,{value:c,children:g}),t[16]=c,t[17]=g,t[18]=_):_=t[18];let v;return t[19]!==o||t[20]!==_?(v=Q(Ie,{value:o,children:_}),t[19]=o,t[20]=_,t[21]=v):v=t[21],v}function _temp(){return ie(!1)}const ze=S({autoContrast:!0,primaryColor:`indigo`,cursorType:`pointer`,defaultRadius:`sm`,fontFamily:`var(--likec4-app-font, var(--likec4-app-font-default))`,headings:{fontWeight:`medium`,sizes:{h1:{fontWeight:`bold`},h2:{fontWeight:`medium`}}},fontSizes:{xxs:`var(--font-sizes-xxs)`,xs:`var(--font-sizes-xs)`,sm:`var(--font-sizes-sm)`,md:`var(--font-sizes-md)`,lg:`var(--font-sizes-lg)`,xl:`var(--font-sizes-xl)`},spacing:{xs:`var(--spacing-xs)`,sm:`var(--spacing-sm)`,md:`var(--spacing-md)`,lg:`var(--spacing-lg)`,xl:`var(--spacing-xl)`},components:{SegmentedControl:b.extend({vars:(e,t)=>({root:{"--sc-font-size":e.fontSizes[t.fz??t.size]}})}),Portal:g.extend({defaultProps:{reuseTargetNode:!0}}),Tooltip:v.extend({defaultProps:{color:`dark`}})}});function DefaultMantineProvider(e){let t=X(8),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({children:n,theme:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i??ze,o;return t[4]!==n||t[5]!==r||t[6]!==a?(o=Q(h,{defaultColorScheme:`auto`,theme:a,...r,children:n}),t[4]=n,t[5]=r,t[6]=a,t[7]=o):o=t[7],o}function EnsureMantine(e){let t=X(7),{children:n}=e,r=J(y),t1;t[0]===r?t1=t[1]:(t1=()=>{r||console.warn(`LikeC4Diagram must be a child of MantineProvider`)},t[0]=r,t[1]=t1);let i;if(t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],t[2]=i):i=t[2],Y(t1,i),!r){let e;return t[3]===n?e=t[4]:(e=Q(DefaultMantineProvider,{children:n}),t[3]=n,t[4]=e),e}let a;return t[5]===n?a=t[6]:(a=Q(Z,{children:n}),t[5]=n,t[6]=a),a}const FramerMotionConfig=e=>{let t=X(6),{reducedMotion:n,children:r}=e,i=n===void 0?`user`:n,a=d()?.(),o;t[0]===a?o=t[1]:(o=a&&{nonce:a},t[0]=a,t[1]=o);let s;return t[2]!==r||t[3]!==i||t[4]!==o?(s=Q(se,{features:oe,strict:!0,children:Q(le,{reducedMotion:i,...o,children:r})}),t[2]=r,t[3]=i,t[4]=o,t[5]=s):s=t[5],s};function useId$1(){let e=X(2),t=m(),n;return e[0]===t?n=e[1]:(n=t.replace(`mantine-`,`likec4-`),e[0]=t,e[1]=n),n}e(useId$1,`useId`);function useLikeC4Styles(){return ue()?.$styles??we.DEFAULT}function pickViewBounds(e,t){if(e._type===`dynamic`)try{if((t??e.variant)===`sequence`)return _e(e.sequenceLayout,`Sequence layout is not available`),_e(e.sequenceLayout.bounds,`Sequence layout bounds are not available`),e.sequenceLayout.bounds}catch(e){console.error(e)}return e.bounds}function calcEdgeBounds({points:e,controlPoints:t,labelBBox:n}){let r=1/0,i=1/0,a=-1/0,o=-1/0;if(t)for(let e of t)r=Math.min(r,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y);else for(let[t,n]of e)r=Math.min(r,t),i=Math.min(i,n),a=Math.max(a,t),o=Math.max(o,n);return n&&(r=Math.min(r,n.x),i=Math.min(i,n.y),a=Math.max(a,n.x+n.width),o=Math.max(o,n.y+n.height)),{x:r,y:i,width:a-r,height:o-i}}function calcViewBounds({nodes:e,edges:t}){return be.expand(be.merge(...e,...t.map(calcEdgeBounds).filter(e=>isFinite(e.x)&&isFinite(e.y))),20)}function EdgeContainer(e){let t=X(33),{className:n,component:r,selectable:i,selected:a,data:o,animated:s,children:c,style:l}=e,u=r===void 0?`g`:r,d=i===void 0?!1:i,f=a===void 0?!1:a,p,m,h,g,_;t[0]===o?(p=t[1],m=t[2],h=t[3],g=t[4],_=t[5]):({color:m,hovered:h,active:g,dimmed:_,...p}=o,t[0]=o,t[1]=p,t[2]=m,t[3]=h,t[4]=g,t[5]=_);let v=m===void 0?`gray`:m,y=h===void 0?!1:h,b=g===void 0?!1:g,x=_===void 0?!1:_,S=s===void 0?!1:s;S||=b;let C=f&&`selected`,T=d&&`selectable`,E;t[6]!==n||t[7]!==C||t[8]!==T?(E=w(n,`likec4-edge-container`,C,T),t[6]=n,t[7]=C,t[8]=T,t[9]=E):E=t[9];let D=p.dir??`forward`,O;t[10]===S?O=t[11]:(O=S&&{"data-likec4-animated":S},t[10]=S,t[11]=O);let k;t[12]===f?k=t[13]:(k=f&&{"data-likec4-selected":f},t[12]=f,t[13]=k);let A;t[14]===x?A=t[15]:(A=x!==!1&&{"data-likec4-dimmed":x},t[14]=x,t[15]=A);let j;t[16]!==v||t[17]!==b||t[18]!==y||t[19]!==E||t[20]!==D||t[21]!==O||t[22]!==k||t[23]!==A?(j={className:E,"data-likec4-color":v,"data-edge-dir":D,"data-edge-active":b,"data-likec4-hovered":y,...O,...k,...A},t[16]=v,t[17]=b,t[18]=y,t[19]=E,t[20]=D,t[21]=O,t[22]=k,t[23]=A,t[24]=j):j=t[24];let M=j;if(u===`svg`){let e;return t[25]!==c||t[26]!==M||t[27]!==l?(e=Q(`svg`,{style:l,...M,children:c}),t[25]=c,t[26]=M,t[27]=l,t[28]=e):e=t[28],e}_e(u===`g`,`EdgeContainer: component must be "g" or "svg"`);let N;return t[29]!==c||t[30]!==M||t[31]!==l?(N=Q(`g`,{style:l,...M,children:c}),t[29]=c,t[30]=M,t[31]=l,t[32]=N):N=t[32],N}const Be=q((e,t)=>{let n=X(33),r,a,o,s,c;n[0]===e?(r=n[1],a=n[2],o=n[3],s=n[4],c=n[5]):({edgeProps:s,pointerEvents:c,className:a,children:r,...o}=e,n[0]=e,n[1]=r,n[2]=a,n[3]=o,n[4]=s,n[5]=c);let{id:l,data:u,selected:d,selectable:f}=s,{label:p,technology:m,hovered:h}=u,g=h===void 0?!1:h,_=d===void 0?!1:d,v=f===void 0?!1:f,y=c===void 0?`all`:c,b;n[6]===l?b=n[7]:(b=ve(l)?ge(l):null,n[6]=l,n[7]=b);let x=b,S=x!==null,T;n[8]!==p||n[9]!==m?(T=i(p)||i(m),n[8]=p,n[9]=m,n[10]=T):T=n[10];let E=T,D;n[11]!==a||n[12]!==S||n[13]!==y||n[14]!==v?(D=w(`likec4-edge-label`,O({pointerEvents:y,isStepEdge:S,cursor:v||S?`pointer`:`default`}),a),n[11]=a,n[12]=S,n[13]=y,n[14]=v,n[15]=D):D=n[15];let k=g&&!_?1.06:1,A;n[16]===k?A=n[17]:(A={scale:k},n[16]=k,n[17]=A);let j;n[18]===x?j=n[19]:(j=x!==null&&Q(C,{className:`likec4-edge-label__step-number`,children:x}),n[18]=x,n[19]=j);let M;n[20]!==r||n[21]!==E||n[22]!==p||n[23]!==m?(M=E&&$(C,{className:`likec4-edge-label__contents`,children:[i(p)&&Q(C,{lineClamp:5,className:`likec4-edge-label__text`,children:p}),i(m)&&Q(C,{className:`likec4-edge-label__technology`,children:`[ `+m+` ]`}),r]}),n[20]=r,n[21]=E,n[22]=p,n[23]=m,n[24]=M):M=n[24];let N;return n[25]!==l||n[26]!==t||n[27]!==o||n[28]!==A||n[29]!==j||n[30]!==M||n[31]!==D?(N=$(K,{ref:t,className:D,"data-edge-id":l,animate:A,...o,children:[j,M]}),n[25]=l,n[26]=t,n[27]=o,n[28]=A,n[29]=j,n[30]=M,n[31]=D,n[32]=N):N=n[32],N});Be.displayName=`EdgeLabel`;const toCssVarValue=e=>e===void 0?``:t(e)?`${Math.trunc(e)}px`:e;function EdgeLabelContainer(e){let t=X(42),n,r,i,a,o,s;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({edgeProps:s,labelPosition:a,className:r,style:i,children:n,...o}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s);let{id:c,selected:l,data:u,animated:d}=s,f=l===void 0?!1:l,{hovered:p,active:m,dimmed:h,labelBBox:g,color:_}=u,v=p===void 0?!1:p,y=m===void 0?!1:m,b=h===void 0?!1:h,x=_===void 0?`gray`:_,S=a?.x??g?.x,C=a?.y??g?.y;if(S===void 0||C===void 0)return null;let T=a?.translate??``;d||=y;let E=c,D;t[7]===r?D=t[8]:(D=w(`nodrag nopan`,`likec4-edge-label-container`,r),t[7]=r,t[8]=D);let O=d||y,k;t[9]===d?k=t[10]:(k=d&&{"data-likec4-animated":d},t[9]=d,t[10]=k);let A;t[11]===f?A=t[12]:(A=f!==!1&&{"data-likec4-selected":f},t[11]=f,t[12]=A);let j;t[13]===b?j=t[14]:(j=b!==!1&&{"data-likec4-dimmed":b},t[13]=b,t[14]=j);let M;t[15]===S?M=t[16]:(M=toCssVarValue(S),t[15]=S,t[16]=M);let N;t[17]===C?N=t[18]:(N=toCssVarValue(C),t[17]=C,t[18]=N);let P=`translate(${M}, ${N}) ${T}`,F;t[19]===P?F=t[20]:(F={transform:P},t[19]=P,t[20]=F);let I;t[21]===g?I=t[22]:(I=g&&{maxWidth:g.width+20},t[21]=g,t[22]=I);let L;t[23]!==i||t[24]!==I?(L={...i,...I},t[23]=i,t[24]=I,t[25]=L):L=t[25];let R;t[26]!==n||t[27]!==L?(R=Q(`div`,{style:L,children:n}),t[26]=n,t[27]=L,t[28]=R):R=t[28];let z;return t[29]!==x||t[30]!==c||t[31]!==y||t[32]!==v||t[33]!==o||t[34]!==O||t[35]!==k||t[36]!==A||t[37]!==j||t[38]!==F||t[39]!==R||t[40]!==D?(z=Q(te,{children:Q(`div`,{...o,className:D,"data-likec4-hovered":v,"data-likec4-color":x,"data-edge-active":y,"data-edge-animated":O,...k,...A,...j,style:F,children:R},E)}),t[29]=x,t[30]=c,t[31]=y,t[32]=v,t[33]=o,t[34]=O,t[35]=k,t[36]=A,t[37]=j,t[38]=F,t[39]=R,t[40]=D,t[41]=z):z=t[41],z}const Open=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M0,0 L7,4 L0,8 L4,4 Z`,stroke:`context-stroke`,fill:`context-stroke`,strokeDasharray:0,strokeWidth:1,strokeLinecap:`round`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-4 -4 14 16`,refX:5,refY:4,markerWidth:`7`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},Arrow=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M 0 0 L 8 3 L 0 6 L 1 3 z`,fill:`context-stroke`,strokeWidth:0}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-1 -1 12 10`,refX:4,refY:3,markerWidth:`8`,markerHeight:`6`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},Crow=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M 8 0 L 0 4 L 8 8 M 8 4 L 0 4`,fill:`none`,strokeWidth:1}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-1 -1 12 12`,refX:8,refY:4,markerWidth:`8`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},OArrow=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M 0 0 L 8 3 L 0 6 L 1 3 z`,stroke:`context-stroke`,fill:`var(--likec4-background-color)`,strokeWidth:1.25,strokeLinejoin:`miter`,strokeLinecap:`square`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-1 -1 12 10`,refX:4,refY:3,markerWidth:`8`,markerHeight:`6`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},Diamond=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M5,0 L10,4 L5,8 L0,4 Z`,fill:`context-stroke`,strokeWidth:0,strokeLinecap:`round`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-4 -4 16 14`,refX:5,refY:4,markerWidth:`10`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},ODiamond=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`path`,{d:`M5,0 L10,4 L5,8 L0,4 Z`,stroke:`context-stroke`,fill:`var(--likec4-background-color)`,strokeWidth:1.25,strokeLinecap:`round`}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`-4 -4 16 14`,refX:6,refY:4,markerWidth:`10`,markerHeight:`8`,preserveAspectRatio:`xMaxYMid meet`,orient:`auto-start-reverse`,...e,children:n}),t[1]=e,t[2]=r),r},Dot=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`circle`,{strokeWidth:0,fill:`context-stroke`,cx:4,cy:4,r:3}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`0 0 10 10`,refX:4,refY:4,markerWidth:`6`,markerHeight:`6`,...e,children:n}),t[1]=e,t[2]=r),r},ODot=e=>{let t=X(3),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`circle`,{strokeWidth:1.25,stroke:`context-stroke`,fill:`var(--likec4-background-color)`,cx:4,cy:4,r:3}),t[0]=n):n=t[0];let r;return t[1]===e?r=t[2]:(r=Q(`marker`,{viewBox:`0 0 10 10`,refX:4,refY:4,markerWidth:`6`,markerHeight:`6`,...e,children:n}),t[1]=e,t[2]=r),r},Ve={Arrow,Crow,OArrow,Open,Diamond,ODiamond,Dot,ODot};function arrowTypeToMarker(e){if(!(!e||e===`none`))switch(e){case`normal`:return`Arrow`;case`crow`:return`Crow`;case`onormal`:return`OArrow`;case`diamond`:return`Diamond`;case`odiamond`:return`ODiamond`;case`open`:case`vee`:return`Open`;case`dot`:return`Dot`;case`odot`:return`ODot`;default:ye(e)}}const He=q((e,t)=>{let n=X(54),{edgeProps:r,isDragging:i,onEdgePointerDown:a,strokeWidth:o,svgPath:s}=e,{id:c,data:l,selectable:u,style:d,interactionWidth:f}=r,{line:p,dir:m,tail:h,head:g}=l,_=u===void 0?!0:u,v=i===void 0?!1:i,y=arrowTypeToMarker(h),b=arrowTypeToMarker(g??`normal`);m===`back`&&([y,b]=[b,y]);let x=y?Ve[y]:null,S=b?Ve[b]:null,C=p===`dotted`,E=C||p===`dashed`,O;C?O=`1,8`:E&&(O=`8,10`);let k,A,j,M,N,P,F,I;if(n[0]!==S||n[1]!==x||n[2]!==c||n[3]!==f||n[4]!==v||n[5]!==a||n[6]!==_||n[7]!==d||n[8]!==s||n[9]!==t){let e=D();n[18]!==f||n[19]!==v||n[20]!==a||n[21]!==_||n[22]!==s?(A=_&&Q(`path`,{className:w(`react-flow__edge-interaction`,T({fill:`none`})),onPointerDown:a,d:s,style:{strokeWidth:f??10,stroke:`currentcolor`,strokeOpacity:0,...v?{display:`none`}:{}}}),n[18]=f,n[19]=v,n[20]=a,n[21]=_,n[22]=s,n[23]=A):A=n[23];let r=`path("${s}")`,i;n[24]===r?i=n[25]:(i={offsetPath:r},n[24]=r,n[25]=i),j=Q(`circle`,{className:w(`likec4-edge-middle-point`,e.middlePoint),"data-edge-id":c,style:i}),P=e.markersCtx,F=a;let o;n[26]!==x||n[27]!==c?(o=x&&Q(x,{id:`start`+c}),n[26]=x,n[27]=c,n[28]=o):o=n[28];let l;n[29]!==S||n[30]!==c?(l=S&&Q(S,{id:`end`+c}),n[29]=S,n[30]=c,n[31]=l):l=n[31],n[32]!==o||n[33]!==l?(I=$(`defs`,{children:[o,l]}),n[32]=o,n[33]=l,n[34]=I):I=n[34],k=Q(`path`,{className:w(`react-flow__edge-path`,`hide-on-reduced-graphics`,e.pathBg,v&&T({display:`none`})),d:s,style:d,strokeLinecap:`round`}),M=t,N=w(`react-flow__edge-path`,e.path,_&&`react-flow__edge-interaction`),n[0]=S,n[1]=x,n[2]=c,n[3]=f,n[4]=v,n[5]=a,n[6]=_,n[7]=d,n[8]=s,n[9]=t,n[10]=k,n[11]=A,n[12]=j,n[13]=M,n[14]=N,n[15]=P,n[16]=F,n[17]=I}else k=n[10],A=n[11],j=n[12],M=n[13],N=n[14],P=n[15],F=n[16],I=n[17];let L=x?`url(#start${c})`:void 0,R=S?`url(#end${c})`:void 0,z;n[35]!==O||n[36]!==o||n[37]!==d||n[38]!==s||n[39]!==L||n[40]!==R||n[41]!==M||n[42]!==N?(z=Q(`path`,{ref:M,className:N,d:s,style:d,strokeWidth:o,strokeLinecap:`round`,strokeDasharray:O,markerStart:L,markerEnd:R}),n[35]=O,n[36]=o,n[37]=d,n[38]=s,n[39]=L,n[40]=R,n[41]=M,n[42]=N,n[43]=z):z=n[43];let B;n[44]!==k||n[45]!==z||n[46]!==P||n[47]!==F||n[48]!==I?(B=$(`g`,{className:P,onPointerDown:F,children:[I,k,z]}),n[44]=k,n[45]=z,n[46]=P,n[47]=F,n[48]=I,n[49]=B):B=n[49];let V;return n[50]!==A||n[51]!==j||n[52]!==B?(V=$(Z,{children:[A,j,B]}),n[50]=A,n[51]=j,n[52]=B,n[53]=V):V=n[53],V});He.displayName=`EdgePath`;const Ue={normal:{originY:0,opacity:.75,scale:.8,y:0},selected:{originY:0,opacity:1,scale:.9,y:7},hovered:{originY:0,opacity:1,scale:1.12,y:7}};function ElementActionButtons(e){let t=X(12),{selected:n,data:r,buttons:i}=e,a=n===void 0?!1:n,{hovered:o}=r,s=o===void 0?!1:o,c=m();if(!i.length)return null;let l;bb0:switch(!0){case s:l=`hovered`;break bb0;case a:l=`selected`;break bb0;default:l=`normal`}let u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=A(),t[0]=u):u=t[0];let d=l,f=`${s}-${a}`,p;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(p=w(`nodrag nopan`),t[1]=p):p=t[1];let h;if(t[2]!==i||t[3]!==c){let t9;t[5]===c?t9=t[6]:(t9=(e,t)=>Q(_,{component:ce,className:k({}),initial:!1,whileTap:{scale:1},whileHover:{scale:1.3},tabIndex:-1,onClick:e.onClick,onDoubleClick:stopPropagation,children:e.icon||Q(P,{})},`${c}-${e.key??t}`),t[5]=c,t[6]=t9),h=i.map(t9),t[2]=i,t[3]=c,t[4]=h}else h=t[4];let g;return t[7]!==s||t[8]!==f||t[9]!==h||t[10]!==l?(g=Q(`div`,{className:u,children:Q(K,{layoutRoot:!0,initial:!1,variants:Ue,animate:d,layoutDependency:f,"data-likec4-hovered":s,className:p,onClick:stopPropagation,children:h})}),t[7]=s,t[8]=f,t[9]=h,t[10]=l,t[11]=g):g=t[11],g}const We=q((e,t)=>{let n=X(34),r,i,a,o,s,c,l,u,d;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5],c=n[6],l=n[7],u=n[8],d=n[9]):({value:d,textScale:s,uselikec4palette:c,hideIfEmpty:l,emptyText:u,className:r,style:o,fontSize:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s,n[6]=c,n[7]=l,n[8]=u,n[9]=d);let f=s===void 0?1:s,p=c===void 0?!1:c,m=l===void 0?!1:l,h=u===void 0?`no content`:u;if(d.isEmpty&&m)return null;let g;n[10]!==h||n[11]!==d.html||n[12]!==d.isMarkdown||n[13]!==d.nonEmpty||n[14]!==d.text?(g=d.nonEmpty?d.isMarkdown?{dangerouslySetInnerHTML:{__html:d.html}}:{children:Q(`p`,{children:d.text})}:{children:Q(x,{component:`span`,fz:`xs`,c:`dimmed`,style:{userSelect:`none`},children:h})},n[10]=h,n[11]=d.html,n[12]=d.isMarkdown,n[13]=d.nonEmpty,n[14]=d.text,n[15]=g):g=n[15];let _=g,v;n[16]!==r||n[17]!==p||n[18]!==d.isMarkdown?(v=w(M({uselikec4palette:p,value:d.isMarkdown?`markdown`:`plaintext`}),r),n[16]=r,n[17]=p,n[18]=d.isMarkdown,n[19]=v):v=n[19];let y;n[20]===i?y=n[21]:(y=i&&{"--text-fz":`var(--font-sizes-${i}, var(--font-sizes-md))`},n[20]=i,n[21]=y);let b;n[22]===f?b=n[23]:(b=f!==1&&{"--mantine-scale":f},n[22]=f,n[23]=b);let S;n[24]!==o||n[25]!==y||n[26]!==b?(S={...o,...y,...b},n[24]=o,n[25]=y,n[26]=b,n[27]=S):S=n[27];let T;return n[28]!==_||n[29]!==a||n[30]!==t||n[31]!==v||n[32]!==S?(T=Q(C,{...a,ref:t,className:v,style:S,..._}),n[28]=_,n[29]=a,n[30]=t,n[31]=v,n[32]=S,n[33]=T):T=n[33],T});We.displayName=`Markdown`;const resolveIconColor=(e,t)=>{let n=t.style.iconColor;if(!n)return;let r=e.colors(n).elements;return n===t.color?r.stroke:r.fill},Ge=q((e,t)=>{let n=X(28),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:r,style:o,data:i,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=useLikeC4Styles(),c;n[5]!==i.style||n[6]!==s?(c=i.style.iconSize?s.nodeSizes(i.style).values.iconSize:void 0,n[5]=i.style,n[6]=s,n[7]=c):c=n[7];let l=c,u;n[8]!==i||n[9]!==s?(u=resolveIconColor(s,i),n[8]=i,n[9]=s,n[10]=u):u=n[10];let d=u,f;n[11]!==r||n[12]!==i.style.iconPosition||n[13]!==d?(f=w(r,j({iconPosition:i.style.iconPosition,withIconColor:!!d}),`likec4-element`),n[11]=r,n[12]=i.style.iconPosition,n[13]=d,n[14]=f):f=n[14];let p;n[15]===l?p=n[16]:(p=l&&{"--likec4-icon-size":`${l}px`},n[15]=l,n[16]=p);let m;n[17]===d?m=n[18]:(m=d&&{"--likec4-icon-color":d},n[17]=d,n[18]=m);let h;n[19]!==o||n[20]!==p||n[21]!==m?(h={...o,...p,...m},n[19]=o,n[20]=p,n[21]=m,n[22]=h):h=n[22];let g;return n[23]!==a||n[24]!==t||n[25]!==f||n[26]!==h?(g=Q(`div`,{...a,ref:t,className:f,style:h}),n[23]=a,n[24]=t,n[25]=f,n[26]=h,n[27]=g):g=n[27],g}),Icon=e=>{let t=X(6),n,r;t[0]===e?(n=t[1],r=t[2]):({data:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;return t[3]!==n||t[4]!==r?(i=Q(F,{element:n,...r}),t[3]=n,t[4]=r,t[5]=i):i=t[5],i},Ke=q((e,t)=>{let n=X(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=w(r,`likec4-element-node-content`),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==t||n[7]!==a?(o=Q(`div`,{...i,className:a,ref:t}),n[5]=i,n[6]=t,n[7]=a,n[8]=o):o=n[8],o}),qe=q((e,t)=>{let n=X(11),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({data:a,className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let{title:o}=a,s;n[4]===r?s=n[5]:(s=w(r,`likec4-element-title`),n[4]=r,n[5]=s);let c;return n[6]!==i||n[7]!==t||n[8]!==s||n[9]!==o?(c=Q(`div`,{...i,className:s,"data-likec4-node-title":``,ref:t,children:o}),n[6]=i,n[7]=t,n[8]=s,n[9]=o,n[10]=c):c=n[10],c}),Je=q((e,t)=>{let n=X(10),r,a,o,s;n[0]===e?(r=n[1],a=n[2],o=n[3],s=n[4]):({data:o,children:r,className:a,...s}=e,n[0]=e,n[1]=r,n[2]=a,n[3]=o,n[4]=s);let c=o?.technology??r,l;return n[5]!==a||n[6]!==s||n[7]!==t||n[8]!==c?(l=i(c)?Q(`div`,{...s,className:w(a,`likec4-element-technology`),"data-likec4-node-technology":``,ref:t,children:c}):null,n[5]=a,n[6]=s,n[7]=t,n[8]=c,n[9]=l):l=n[9],l}),Ye=q((e,t)=>{let n=X(16),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({data:a,className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let{description:o}=a;if(!o)return null;let s;n[4]===o?s=n[5]:(s=Te.from(o),n[4]=o,n[5]=s);let c=s,l;n[6]===r?l=n[7]:(l=w(r,`likec4-element-description`),n[6]=r,n[7]=l);let u=c.isMarkdown?`8rem`:void 0,d;n[8]===u?d=n[9]:(d={maxHeight:u},n[8]=u,n[9]=d);let f;return n[10]!==c||n[11]!==i||n[12]!==t||n[13]!==l||n[14]!==d?(f=Q(We,{...i,className:l,"data-likec4-node-description":``,value:c,uselikec4palette:!0,hideIfEmpty:!0,style:d,ref:t}),n[10]=c,n[11]=i,n[12]=t,n[13]=l,n[14]=d,n[15]=f):f=n[15],f});function ElementData(e){let t=X(8),{data:n}=e,r;t[0]===n?r=t[1]:(r=Q(Icon,{data:n}),t[0]=n,t[1]=r);let i;t[2]===n?i=t[3]:(i=$(Ke,{children:[Q(qe,{data:n}),Q(Je,{data:n}),Q(Ye,{data:n})]}),t[2]=n,t[3]=i);let a;return t[4]!==n||t[5]!==r||t[6]!==i?(a=$(Ge,{data:n,children:[r,i]}),t[4]=n,t[5]=r,t[6]=i,t[7]=a):a=t[7],a}ElementData.Root=Ge,ElementData.Icon=Icon,ElementData.Content=Ke,ElementData.Title=qe,ElementData.Technology=Je,ElementData.Description=Ye;const Xe={normal:{scale:1},hovered:{scale:1.05},selected:{scale:1.02},tap:{scale:.98}},Ze=q((e,t)=>{let n=X(34),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({nodeProps:s,className:i,style:o,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let{selected:c,selectable:l,data:u}=s,d=c===void 0?!1:c,f=l===void 0?!1:l,p,m,h,g,_;if(n[6]!==d||n[7]!==u){let{hovered:e,dimmed:t,...r}=u;p=r,h=e===void 0?!1:e,m=t===void 0?!1:t;bb0:switch(!0){case h:_=`hovered`;break bb0;case d:_=`selected`;break bb0;default:_=`normal`}g=Ee(p.style??{}),n[6]=d,n[7]=u,n[8]=p,n[9]=m,n[10]=h,n[11]=g,n[12]=_}else p=n[8],m=n[9],h=n[10],g=n[11],_=n[12];let{size:v,padding:y,textSize:b}=g,x;n[13]===i?x=n[14]:(x=w(N(),`group`,i),n[13]=i,n[14]=x);let S;n[15]!==f||n[16]!==_?(S=f&&{animate:_,whileTap:`tap`},n[15]=f,n[16]=_,n[17]=S):S=n[17];let C;n[18]===m?C=n[19]:(C=m!==!1&&{"data-likec4-dimmed":m},n[18]=m,n[19]=C);let T=o,E;return n[20]!==r||n[21]!==p.color||n[22]!==p.shape||n[23]!==h||n[24]!==y||n[25]!==t||n[26]!==a||n[27]!==v||n[28]!==x||n[29]!==S||n[30]!==C||n[31]!==T||n[32]!==b?(E=Q(K,{ref:t,className:x,variants:Xe,initial:!1,...S,"data-likec4-hovered":h,"data-likec4-color":p.color,"data-likec4-shape":p.shape,"data-likec4-shape-size":v,"data-likec4-spacing":y,"data-likec4-text-size":b,...C,style:T,tabIndex:-1,...a,children:r}),n[20]=r,n[21]=p.color,n[22]=p.shape,n[23]=h,n[24]=y,n[25]=t,n[26]=a,n[27]=v,n[28]=x,n[29]=S,n[30]=C,n[31]=T,n[32]=b,n[33]=E):E=n[33],E});Ze.displayName=`ElementNodeContainer`;function cylinderSVGPath(e,t,n=.07){let r=Math.round(e/2),i=r,a=roundDpr(n*r),o=t-2*a;return{path:` M ${e},${a}
|
|
2
|
+
a ${i},${a} 0,0,0 ${-e} 0
|
|
3
|
+
l 0,${o}
|
|
4
|
+
a ${i},${a} 0,0,0 ${e} 0
|
|
5
|
+
l 0,${-o}
|
|
6
|
+
z
|
|
7
|
+
`.replace(/\s+/g,` `).trim(),ry:a,rx:i}}function docSVGPath(e,t){let n=roundDpr(t-t/8/2),r=roundDpr(t/6);return{path:`
|
|
8
|
+
M 0 ${n}
|
|
9
|
+
V 6
|
|
10
|
+
Q 0 0 6 0
|
|
11
|
+
H ${e-6}
|
|
12
|
+
Q ${e} 0 ${e} 6
|
|
13
|
+
V ${n}
|
|
14
|
+
C ${roundDpr(e*.75)} ${n+r}, ${roundDpr(e*.5)} ${n-r}, 0 ${n}
|
|
15
|
+
`.replace(/\s+/g,` `).trim()}}function bucketSVGPath(e,t){let n=e/2,r=roundDpr(n),i=roundDpr(Math.min(t/8,r*.08)),a=roundDpr(r*.8),o=roundDpr(i*1.05),s=i,c=t-o,l=n-a;return{path:`
|
|
16
|
+
M ${e},${s}
|
|
17
|
+
a ${r},${i} 0,0,0 ${-e} 0
|
|
18
|
+
L ${l},${c}
|
|
19
|
+
a ${a},${o} 0,0,0 ${a*2} 0
|
|
20
|
+
Z
|
|
21
|
+
`.replace(/\s+/g,` `).trim(),topRx:r,topRy:i,bottomRx:a,bottomRy:o}}function queueSVGPath(e,t,n=.185){let r=t,i=Math.round(r/2),a=roundDpr(r/2*n);return{path:`
|
|
22
|
+
M ${a},0
|
|
23
|
+
a ${a},${i} 0,0,0 0 ${r}
|
|
24
|
+
l ${e-2*a},0
|
|
25
|
+
a ${a},${i} 0,0,0 0 ${-r}
|
|
26
|
+
z`.replace(/\s+/g,` `).trim(),ry:i,rx:a}}const Qe={width:115,height:120,path:`M57.9197 0C10.9124 0 33.5766 54.75 33.5766 54.75C38.6131 62.25 45.3285 60.75 45.3285 66C45.3285 70.5 39.4526 72 33.5766 72.75C24.3431 72.75 15.9489 71.25 7.55474 84.75C2.51825 93 0 120 0 120H115C115 120 112.482 93 108.285 84.75C99.8905 70.5 91.4963 72.75 82.2628 72C76.3869 71.25 70.5109 69.75 70.5109 65.25C70.5109 60.75 77.2263 62.25 82.2628 54C82.2628 54.75 104.927 0 57.9197 0V0Z`},ComponentTopLeftRect=e=>{let t=X(5),{index:n,size:r}=e,i,a,o,s,c;bb0:switch(r){case`xs`:case`sm`:i=40,a=18,o=-16,s=16,c=10;break bb0;case`md`:i=60,a=26,o=-20,s=22,c=14;break bb0;case`lg`:case`xl`:i=70,a=32,o=-24,s=32,c=18;break bb0;default:ye(r)}let l=s+(a+c)*n,u;return t[0]!==a||t[1]!==o||t[2]!==l||t[3]!==i?(u=Q(`rect`,{x:o,y:l,width:i,height:a,rx:3,className:`top-left-rect`,strokeWidth:2}),t[0]=a,t[1]=o,t[2]=l,t[3]=i,t[4]=u):u=t[4],u};function ShapeSvg(e){let t=X(94),{shape:n,w:r,h:i,size:a}=e,o=a===void 0?`md`:a;switch(n){case`component`:{let e;t[0]!==i||t[1]!==r?(e=Q(`rect`,{width:r,height:i,rx:6,strokeWidth:0}),t[0]=i,t[1]=r,t[2]=e):e=t[2];let n,a;t[3]===o?(n=t[4],a=t[5]):(n=Q(ComponentTopLeftRect,{index:0,size:o}),a=Q(ComponentTopLeftRect,{index:1,size:o}),t[3]=o,t[4]=n,t[5]=a);let s;return t[6]!==e||t[7]!==n||t[8]!==a?(s=$(Z,{children:[e,n,a]}),t[6]=e,t[7]=n,t[8]=a,t[9]=s):s=t[9],s}case`mobile`:{let e;t[10]!==i||t[11]!==r?(e=Q(`rect`,{width:r,height:i,rx:6,"data-likec4-fill":`mix-stroke`,strokeWidth:0}),t[10]=i,t[11]=r,t[12]=e):e=t[12];let n=i/2,a;t[13]===n?a=t[14]:(a=Q(`circle`,{cx:17,cy:n,r:12}),t[13]=n,t[14]=a);let o=r-44,s=i-24,c;t[15]!==o||t[16]!==s?(c=Q(`rect`,{x:33,y:12,width:o,height:s,rx:5}),t[15]=o,t[16]=s,t[17]=c):c=t[17];let l;t[18]!==a||t[19]!==c?(l=$(`g`,{"data-likec4-fill":`fill`,strokeWidth:0,children:[a,c]}),t[18]=a,t[19]=c,t[20]=l):l=t[20];let u;return t[21]!==e||t[22]!==l?(u=$(Z,{children:[e,l]}),t[21]=e,t[22]=l,t[23]=u):u=t[23],u}case`document`:{let e;t[24]!==i||t[25]!==r?(e=docSVGPath(r,i),t[24]=i,t[25]=r,t[26]=e):e=t[26];let{path:n}=e,a;return t[27]===n?a=t[28]:(a=Q(`path`,{d:n,"data-likec4-fill":`fill`,strokeWidth:2}),t[27]=n,t[28]=a),a}case`browser`:{let e;t[29]!==i||t[30]!==r?(e=Q(`rect`,{width:r,height:i,rx:6,"data-likec4-fill":`mix-stroke`,strokeWidth:0}),t[29]=i,t[30]=r,t[31]=e):e=t[31];let n,a,o;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(n=Q(`circle`,{cx:16,cy:17,r:7}),a=Q(`circle`,{cx:36,cy:17,r:7}),o=Q(`circle`,{cx:56,cy:17,r:7}),t[32]=n,t[33]=a,t[34]=o):(n=t[32],a=t[33],o=t[34]);let s=r-80,c;t[35]===s?c=t[36]:(c=Q(`rect`,{x:70,y:8,width:s,height:17,rx:4}),t[35]=s,t[36]=c);let l=r-20,u=i-42,d;t[37]!==l||t[38]!==u?(d=Q(`rect`,{x:10,y:32,width:l,height:u,rx:4}),t[37]=l,t[38]=u,t[39]=d):d=t[39];let f;t[40]!==d||t[41]!==c?(f=$(`g`,{"data-likec4-fill":`fill`,strokeWidth:0,children:[n,a,o,c,d]}),t[40]=d,t[41]=c,t[42]=f):f=t[42];let p;return t[43]!==f||t[44]!==e?(p=$(Z,{children:[e,f]}),t[43]=f,t[44]=e,t[45]=p):p=t[45],p}case`person`:{let e;t[46]!==i||t[47]!==r?(e=Q(`rect`,{width:r,height:i,rx:6,strokeWidth:0}),t[46]=i,t[47]=r,t[48]=e):e=t[48];let n=r-Qe.width-6,a=i-Qe.height,o;t[49]===Symbol.for(`react.memo_cache_sentinel`)?(o=Q(`path`,{strokeWidth:0,d:Qe.path}),t[49]=o):o=t[49];let s;t[50]!==n||t[51]!==a?(s=Q(`svg`,{x:n,y:a,width:Qe.width,height:Qe.height,viewBox:`0 0 ${Qe.width} ${Qe.height}`,"data-likec4-fill":`mix-stroke`,children:o}),t[50]=n,t[51]=a,t[52]=s):s=t[52];let c;return t[53]!==e||t[54]!==s?(c=$(Z,{children:[e,s]}),t[53]=e,t[54]=s,t[55]=c):c=t[55],c}case`queue`:{let e;t[56]!==i||t[57]!==r?(e=queueSVGPath(r,i),t[56]=i,t[57]=r,t[58]=e):e=t[58];let{path:n,rx:a,ry:o}=e,s;t[59]===n?s=t[60]:(s=Q(`path`,{d:n,strokeWidth:2}),t[59]=n,t[60]=s);let c=o-.75,l;t[61]!==a||t[62]!==o||t[63]!==c?(l=Q(`ellipse`,{cx:a,cy:o,ry:c,rx:a,"data-likec4-fill":`mix-stroke`,strokeWidth:2}),t[61]=a,t[62]=o,t[63]=c,t[64]=l):l=t[64];let u;return t[65]!==s||t[66]!==l?(u=$(Z,{children:[s,l]}),t[65]=s,t[66]=l,t[67]=u):u=t[67],u}case`bucket`:{let e;t[68]!==i||t[69]!==r?(e=bucketSVGPath(r,i),t[68]=i,t[69]=r,t[70]=e):e=t[70];let{path:n,topRx:a,topRy:o}=e,s;t[71]===n?s=t[72]:(s=Q(`path`,{d:n,strokeWidth:2}),t[71]=n,t[72]=s);let c=r/2,l;t[73]!==c||t[74]!==a||t[75]!==o?(l=Q(`ellipse`,{cx:c,cy:o,rx:a,ry:o,"data-likec4-fill":`mix-stroke`,strokeWidth:2}),t[73]=c,t[74]=a,t[75]=o,t[76]=l):l=t[76];let u;return t[77]!==s||t[78]!==l?(u=$(Z,{children:[s,l]}),t[77]=s,t[78]=l,t[79]=u):u=t[79],u}case`storage`:case`cylinder`:{let e;t[80]!==i||t[81]!==r?(e=cylinderSVGPath(r,i),t[80]=i,t[81]=r,t[82]=e):e=t[82];let{path:n,rx:a,ry:o}=e,s;t[83]===n?s=t[84]:(s=Q(`path`,{d:n,strokeWidth:2}),t[83]=n,t[84]=s);let c=a-.75,l;t[85]!==a||t[86]!==o||t[87]!==c?(l=Q(`ellipse`,{cx:a,cy:o,ry:o,rx:c,"data-likec4-fill":`mix-stroke`,strokeWidth:2}),t[85]=a,t[86]=o,t[87]=c,t[88]=l):l=t[88];let u;return t[89]!==s||t[90]!==l?(u=$(Z,{children:[s,l]}),t[89]=s,t[90]=l,t[91]=u):u=t[91],u}default:{let e;return t[92]===n?e=t[93]:(e=ye(n),t[92]=n,t[93]=e),e}}}function ShapeSvgOutline(e){let t=X(25),{shape:n,w:r,h:i}=e,a;bb0:switch(n){case`bucket`:{let e=r+6,n=i+6,o;t[0]!==e||t[1]!==n?(o=bucketSVGPath(e,n),t[0]=e,t[1]=n,t[2]=o):o=t[2];let s;t[3]===o.path?s=t[4]:(s=Q(`g`,{transform:`translate(-3 -3)`,children:Q(`path`,{d:o.path})}),t[3]=o.path,t[4]=s),a=s;break bb0}case`queue`:{let e=r+6,n=i+6,o;t[5]!==e||t[6]!==n?(o=queueSVGPath(e,n),t[5]=e,t[6]=n,t[7]=o):o=t[7];let s;t[8]===o.path?s=t[9]:(s=Q(`g`,{transform:`translate(-3 -3)`,children:Q(`path`,{d:o.path})}),t[8]=o.path,t[9]=s),a=s;break bb0}case`document`:{let e=r+6,n=i+6,o;t[10]!==e||t[11]!==n?(o=docSVGPath(e,n),t[10]=e,t[11]=n,t[12]=o):o=t[12];let s;t[13]===o.path?s=t[14]:(s=Q(`g`,{transform:`translate(-3 -3)`,children:Q(`path`,{d:o.path})}),t[13]=o.path,t[14]=s),a=s;break bb0}case`storage`:case`cylinder`:{let e=r+6,n=i+6,o;t[15]!==e||t[16]!==n?(o=cylinderSVGPath(e,n),t[15]=e,t[16]=n,t[17]=o):o=t[17];let s;t[18]===o.path?s=t[19]:(s=Q(`g`,{transform:`translate(-3 -3)`,children:Q(`path`,{d:o.path})}),t[18]=o.path,t[19]=s),a=s;break bb0}default:{let e=r+6,n=i+6,o;t[20]!==e||t[21]!==n?(o=Q(`rect`,{x:-3,y:-3,width:e,height:n,rx:8}),t[20]=e,t[21]=n,t[22]=o):o=t[22],a=o}}let o;return t[23]===a?o=t[24]:(o=Q(`g`,{className:`likec4-shape-outline`,children:a}),t[23]=a,t[24]=o),o}function ElementShape(e){let t=X(38),{data:n,width:r,height:i,showSelectionOutline:a}=e,o=a===void 0?!0:a,s=r&&r>10?r:n.width,c=i&&i>10?i:n.height,l=n.style?.multiple??!1,u=n.style?.border??`none`,d=u!==`none`;if(n.shape===`rectangle`){let e;t[0]===u?e=t[1]:(e={borderStyle:u},t[0]=u,t[1]=e);let n;t[2]!==o||t[3]!==d?(n=E({shapetype:`html`,withBorder:d,withOutline:o}),t[2]=o,t[3]=d,t[4]=n):n=t[4];let r;t[5]===l?r=t[6]:(r=l&&Q(`div`,{className:`likec4-shape-multiple`}),t[5]=l,t[6]=r);let i;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(i=Q(`div`,{className:`likec4-shape-outline`}),t[7]=i):i=t[7];let a;return t[8]!==e||t[9]!==n||t[10]!==r?(a=$(`div`,{style:e,className:n,children:[r,i]}),t[8]=e,t[9]=n,t[10]=r,t[11]=a):a=t[11],a}let f;t[12]===o?f=t[13]:(f=E({shapetype:`svg`,withOutline:o}),t[12]=o,t[13]=f);let p=f,m;t[14]!==p||t[15]!==n.shape||t[16]!==n.style?.size||t[17]!==c||t[18]!==l||t[19]!==s?(m=l&&Q(`svg`,{className:p,"data-likec4-shape-multiple":`true`,viewBox:`0 0 ${s} ${c}`,children:Q(ShapeSvg,{shape:n.shape,size:n.style?.size,w:s,h:c})}),t[14]=p,t[15]=n.shape,t[16]=n.style?.size,t[17]=c,t[18]=l,t[19]=s,t[20]=m):m=t[20];let h=`0 0 ${s} ${c}`,g;t[21]!==n.shape||t[22]!==c||t[23]!==s?(g=Q(ShapeSvgOutline,{shape:n.shape,w:s,h:c}),t[21]=n.shape,t[22]=c,t[23]=s,t[24]=g):g=t[24];let _=n.style?.size,v;t[25]!==n.shape||t[26]!==c||t[27]!==_||t[28]!==s?(v=Q(ShapeSvg,{shape:n.shape,size:_,w:s,h:c}),t[25]=n.shape,t[26]=c,t[27]=_,t[28]=s,t[29]=v):v=t[29];let y;t[30]!==p||t[31]!==h||t[32]!==g||t[33]!==v?(y=$(`svg`,{className:p,viewBox:h,children:[g,v]}),t[30]=p,t[31]=h,t[32]=g,t[33]=v,t[34]=y):y=t[34];let b;return t[35]!==m||t[36]!==y?(b=$(Z,{children:[m,y]}),t[35]=m,t[36]=y,t[37]=b):b=t[37],b}const isSame=(e,t)=>Math.abs(e-t)<2.5,edgePropsEqual=(e,t)=>e.id===t.id&&W(e.selected??!1,t.selected??!1)&&W(e.animated??!1,t.animated??!1)&&W(e.source,t.source)&&W(e.target,t.target)&&isSame(e.sourceX,t.sourceX)&&isSame(e.sourceY,t.sourceY)&&isSame(e.targetX,t.targetX)&&isSame(e.targetY,t.targetY)&&W(e.sourceHandleId??null,t.sourceHandleId??null)&&W(e.targetHandleId??null,t.targetHandleId??null)&&W(e.sourcePosition,t.sourcePosition)&&W(e.targetPosition,t.targetPosition)&&W(e.data,t.data);function memoEdge(e){let t=fe(e,edgePropsEqual);return t.displayName=`MemoEdge(${e.displayName||e.name})`,t}function DefaultHandles(e){let t=X(7),{direction:n}=e,r=n===void 0?`TB`:n,i,a;bb0:switch(r){case`TB`:i=R.Bottom,a=R.Top;break bb0;case`BT`:i=R.Top,a=R.Bottom;break bb0;case`LR`:i=R.Right,a=R.Left;break bb0;case`RL`:i=R.Left,a=R.Right;break bb0;default:ye(r)}let o;t[0]===i?o=t[1]:(o=Q(z,{type:`source`,position:i,className:`likec4-node-handle-center`}),t[0]=i,t[1]=o);let s;t[2]===a?s=t[3]:(s=Q(z,{type:`target`,position:a,className:`likec4-node-handle-center`}),t[2]=a,t[3]=s);let c;return t[4]!==o||t[5]!==s?(c=$(Z,{children:[o,s]}),t[4]=o,t[5]=s,t[6]=c):c=t[6],c}const $e=q((e,t)=>{let n=X(5),r,i;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Q(`path`,{fill:`#5E98AF`,d:`M33.95 33.78V0H2.37A2.37 2.37 0 0 0 0 2.35V33.9h33.95v-.12ZM38.57 33.78H55.6v-14.6c0-1.3-1.06-2.35-2.36-2.35H38.57v16.95ZM33.95 38.37H17.04v14.6c0 1.29 1.06 2.35 2.36 2.35h14.67V38.37h-.12ZM38.57 38.37v16.95h14.67c1.3 0 2.36-1.06 2.36-2.36v-14.6H38.57Z`}),i=Q(`path`,{className:T({fill:`[#FCFBF7]`,_light:{fill:`[#222221]`}}),d:`M71.61 12.08c-.06 3.61.3 29.95.23 31.87 0 1.8 0 3.6.06 5.41 0 .3.18.58.47.58 4.1.18 8.13-.17 12.22-.11 1.34.05 2.69 0 3.97 0 1.29-.06 1.4-.59 1.35-1.63-.06-1.63-.06-3.08-.06-4.65-.06-.82-.53-1.11-1.23-1.11-2.4.06-4.8-.06-7.19.06-.4.06-.82.06-1.23.06-.7-.06-.87-.24-.93-1v-.86c-.18-4.83.17-9.83.17-14.66-.06-4.07 0-7.73-.06-11.34 0-1.57 0-3.14-.05-4.65-.06-.93 0-1.92-.24-2.85-.11-.35-.29-.81-.7-.81h-5.5c-.93 0-1.22.64-1.28 1.57v4.12ZM103.81 35c-.17-6.63-.1-13.67-.05-20.24 0-2.04-.12-4.25-.12-6.28 0-2.21-.87-2.1-2.04-2.15-1.7-.06-2.46-.06-4.15-.06-1.11-.06-1.58.23-1.58 1.34 0 5.7-.18 21.8-.12 24.13.06 2.33.3 12.91.18 15.24-.06.81 0 1.62.06 2.44.05.29.23.58.7.58 1.93-.12 3.74-.12 5.67-.17.7-.06 1.28-.24 1.58-1 .05-.4-.12-11.04-.12-13.83Zm13.92 4.47c0-2.03-.3-7.56-.23-8.72 0-.17.11-.4.17-.4.12 0 .35.11.41.17 1.87 2.44 10.64 19.36 11.7 19.42.28.06.58.06.87.06 1.99-.12 3.74 0 5.73 0 2.04 0 .7-1.98.35-2.5-.53-.76-7.48-13.14-7.9-13.9-1.16-1.98-2.16-4.13-3.32-6.05-.12-.23-.24-.58-.18-.81.12-.7.3-1.34.59-1.98a93.18 93.18 0 0 1 4.55-8.14c1.88-2.97 2.93-4.83 4.45-7.5.35-.64.58-1.34.82-2.1.05-.29-.18-.58-.53-.58-1.11-.05-5.15 0-6.43 0-.59 0-1.17.12-1.46.64-.76 1.46-8.6 15.7-9.35 16.98-.06.12-.24.18-.41.18 0 0-.12-.18-.12-.3-.06-3.25.53-13.9.4-16.04-.05-1.28-.28-1.4-1.57-1.46-1.4-.05-3.33-.05-4.73-.05-1.3 0-1.4.7-1.58 1.62-.06.18-.06 5.64-.06 8.09 0 3.54-.3 25.76.11 32.8 0 .7.18 1.1.77 1.1 1.57-.12 3.91 0 5.49 0 1.11 0 1.29-.12 1.29-1.98 0-2.5.23-4.77.23-7.85 0-.23-.06-.46-.06-.7Zm25.66-1.4h-.06c0 1.46-.05 2.97 0 4.49.06 1.86.18 3.72.3 5.58 0 .64.17.81.76.93 1.22.29 2.4.35 3.62.35 3.16-.12 6.31.11 9.47 0 1.29-.06 1.87.06 3.16-.18 1.17-.23 1.58-.87 1.58-2.61-.12-1.1-.06-1.57-.06-2.91 0-1.92-1.35-2.56-2.52-2.5-.81.06-4.73-.06-6.31-.06-2.63.06-2.22.4-2.22-2.33 0-2.2.06-5.05.06-7.32 0-1.22.11-1.63 1.28-1.63h7.31c1.17.17 1.99-.64 1.99-1.86 0-1.22.12-1.28.12-2.5l-.18-1.75c-.12-.99-.47-1.33-1.46-1.33-.64 0-1.29.05-1.93.11-2.52.18-3.68-.17-6.14 0-.82 0-.93-.11-1-.87-.23-2.27 0-4.77.24-7.04.06-.93.3-1.1 1.17-1.16l8.24-.06c1.11-.11 1.46-.06 1.4-1.16-.11-1.69.06-3.43-.11-5.12-.12-.93-.41-1.1-1.46-1.1-1.76.05-2.17.05-3.92.17-1.75.06-8.77.06-10.46.06-2.46 0-2.63-.18-2.7 2.8-.1 2.32-.05 4.7-.05 7.09 0 4.07-.23 18.66-.12 21.92Zm47.76-24.82c.06-1.92 0-3.5 0-5.35 0-2.15-3.92-1.92-5.32-1.86a18.95 18.95 0 0 0-15.08 9.77c-.82 1.57-1.4 3.2-1.81 4.88a34 34 0 0 0-.59 12.15c.41 3.78 1.4 7.56 3.74 10.59 4.04 5.3 11.46 7.15 17.83 6.16.3-.06.59-.11.82-.29.18-.11.35-.35.35-.58l.18-3.31c.06-1.05 0-1 0-2.04 0-1.4-2.93-.35-4.74-.35-1.75 0-3.62-.06-5.2-.87-2.8-1.57-4.38-4.71-5.26-7.68-1-3.2-1.23-6.63-.64-9.88.7-4.25 2.74-9.13 7.25-10.59 2.57-.87 5.31-.58 7.89-.29.35.06.58-.17.58-.46Zm26.77 15.3c.06-2.5 0-14.84 0-18.38.06-.82 0-1.63-.11-2.45-.06-.99-.24-1.28-1.29-1.33h-4.44c-.82 0-1.35.4-1.82 1.27-1.34 3.2-10.75 24.02-12.15 26.58-.53.99-1 1.63-1 2.68v4.24c0 .76-.06 1.28 1.23 1.28l11.1-.06c1.47 0 1.47.3 1.47 1.1 0 .88-.12 4.9-.12 5.3 0 .58.12 1.16 1.23 1.16h5.08c1.23 0 1.23-.7 1.23-2.03.06-1.17-.06-3.5-.06-4.66 0-.93.18-.98 1.76-.98 1.22 0 1.75-.12 1.75-.88.06-1.57 0-2.67 0-4.42 0-1.04-.93-.98-2.92-.98-.65 0-.7-.18-.7-1.05-.12-1.8-.24-4.6-.24-6.4Zm-7.25-5.94c-.05.7-.11 10.82-.11 12.27-.06.81-.24 1.05-1 1.1-1.93.06-3.85.06-5.78.06-.47 0-.65-.4-.41-.87.23-.4 4.85-11.57 6.13-14.48.18-.17.24-.35.41-.52.18-.12.41-.18.59-.23.06 0 .23.29.23.46 0 .76-.06 1.51-.06 2.21Z`}),n[0]=r,n[1]=i):(r=n[0],i=n[1]);let a;return n[2]!==e||n[3]!==t?(a=$(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 222 56`,...e,children:[r,i]}),n[2]=e,n[3]=t,n[4]=a):a=n[4],a}),et=q((e,t)=>{let n=X(4),r;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=Q(`path`,{fill:`#5E98AF`,d:`M33.95 33.78V0H2.37A2.37 2.37 0 0 0 0 2.35V33.9h33.95v-.12ZM38.57 33.78H55.6v-14.6c0-1.3-1.06-2.35-2.36-2.35H38.57v16.95ZM33.95 38.37H17.04v14.6c0 1.29 1.06 2.35 2.36 2.35h14.67V38.37h-.12ZM38.57 38.37v16.95h14.67c1.3 0 2.36-1.06 2.36-2.36v-14.6H38.57Z`}),n[0]=r):r=n[0];let i;return n[1]!==e||n[2]!==t?(i=Q(`svg`,{ref:t,xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 56 56`,...e,children:r}),n[1]=e,n[2]=t,n[3]=i):i=n[3],i}),scheme=e=>`[data-mantine-color-scheme="${e}"]`,tt=scheme(`dark`),generateCompoundColors=(e,t,n,r)=>`
|
|
27
|
+
${`${e} :is([data-likec4-color="${t}"][data-compound-depth="${r}"])`} {
|
|
28
|
+
--likec4-palette-fill: ${n.fill};
|
|
29
|
+
--likec4-palette-stroke: ${n.stroke};
|
|
30
|
+
}
|
|
31
|
+
`;function toStyle(e,t){let{rootSelector:n,name:r,colors:i}=t,{elements:a,relationships:o}=i,s=`${n} :is([data-likec4-color=${r}])`;return[`
|
|
32
|
+
${s} {
|
|
33
|
+
--likec4-palette-fill: ${a.fill};
|
|
34
|
+
--likec4-palette-stroke: ${a.stroke};
|
|
35
|
+
--likec4-palette-hiContrast: ${a.hiContrast};
|
|
36
|
+
--likec4-palette-loContrast: ${a.loContrast};
|
|
37
|
+
--likec4-palette-relation-stroke: ${o.line};
|
|
38
|
+
--likec4-palette-relation-label: ${o.label};
|
|
39
|
+
--likec4-palette-relation-label-bg: ${o.labelBg};
|
|
40
|
+
--likec4-palette-relation-stroke-selected: oklch(from ${o.line} calc(l - 0.15) c h);
|
|
41
|
+
}
|
|
42
|
+
${tt} ${s} {
|
|
43
|
+
--likec4-palette-relation-stroke-selected: oklch(from ${o.line} calc(l + 0.15) c h);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
`,...e.colorsForCompounds(a,5).map((e,t)=>generateCompoundColors(n,r,e,t+1))].map(e=>e.trim()).join(`
|
|
47
|
+
`)}function generateBuiltInColorStyles(e,t){return a(e.theme.colors,n(),c(([n,r])=>toStyle(e,{rootSelector:t,name:n,colors:r})),l(`
|
|
48
|
+
`))}function LikeC4Styles$1(e){let t=X(7),{id:n}=e,r=`#${n}`,i=d()?.(),a=useLikeC4Styles(),o;t[0]!==a||t[1]!==r?(o=generateBuiltInColorStyles(a,r),t[0]=a,t[1]=r,t[2]=o):o=t[2];let s=o,c;return t[3]!==s||t[4]!==n||t[5]!==i?(c=Q(nt,{id:n,nonce:i,colorsStyles:s}),t[3]=s,t[4]=n,t[5]=i,t[6]=c):c=t[6],c}e(LikeC4Styles$1,`LikeC4Styles`);const nt=fe(e=>{let t=X(6),{id:n,nonce:r,colorsStyles:i}=e,a;t[0]===i?a=t[1]:(a={__html:i},t[0]=i,t[1]=a);let o=r||void 0,s;return t[2]!==n||t[3]!==a||t[4]!==o?(s=Q(`style`,{type:`text/css`,"data-likec4-colors":n,dangerouslySetInnerHTML:a,nonce:o}),t[2]=n,t[3]=a,t[4]=o,t[5]=s):s=t[5],s});nt.displayName=`MemoizedStyle`;export{Me as A,parsePaddings as B,RootContainer as C,useRootContainerElement as D,useRootContainerContext as E,bezierPath as F,useXYStore as G,roundDpr as H,getNodeCenter as I,useXYStoreApi as K,getNodeIntersectionFromCenterToPoint as L,Ae as M,ke as N,useRootContainerRef as O,bezierControlPoints as P,isSamePoint as R,EnsureMantine as S,Re as T,useCurrentZoomAtLeast as U,stopPropagation as V,useXYFlow as W,calcViewBounds as _,memoEdge as a,useId$1 as b,ElementData as c,He as d,EdgeLabelContainer as f,calcEdgeBounds as g,Se as h,DefaultHandles as i,je as j,BaseXYFlow as k,We as l,EdgeContainer as m,$e as n,ElementShape as o,Be as p,useCallbackRef as q,et as r,Ze as s,LikeC4Styles$1 as t,ElementActionButtons as u,pickViewBounds as v,useIsReducedGraphics as w,FramerMotionConfig as x,useLikeC4Styles as y,nodeToRect as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime.mjs";import{D as e,M as t,k as n,t as r}from"./styled-system.mjs";import{n as i,r as a}from"./LikeC4Styles.mjs";import{P as o,dr as s}from"./libs/framer-motion.mjs";import{forwardRef as c}from"react";import{c as l}from"react/compiler-runtime";import{jsx as u,jsxs as d}from"react/jsx-runtime";const{withProvider:f,withContext:p}=e(r),shouldForwardProp=(e,t)=>!t.includes(e)&&(s(e)||!n(e)),m=c((e,n)=>{let r=l(11),o,s;r[0]===e?(o=r[1],s=r[2]):({className:o,...s}=e,r[0]=e,r[1]=o,r[2]=s);let c;r[3]===o?c=r[4]:(c=t(`mantine-active`,o),r[3]=o,r[4]=c);let f,p;r[5]===Symbol.for(`react.memo_cache_sentinel`)?(f=u(a,{"data-logo-icon":!0}),p=u(i,{"data-logo-full":!0}),r[5]=f,r[6]=p):(f=r[5],p=r[6]);let m;return r[7]!==s||r[8]!==n||r[9]!==c?(m=d(`button`,{...s,ref:n,className:c,children:[f,p]}),r[7]=s,r[8]=n,r[9]=c,r[10]=m):m=r[10],m}),h={Root:f(o,`root`,{shouldForwardProp}),Body:p(o,`body`,{shouldForwardProp}),Logo:p(m,`logo`),Label:p(o,`label`,{shouldForwardProp}),Dropdown:p(o,`dropdown`,{shouldForwardProp})};export{h as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime.mjs";import{M as e}from"./styled-system.mjs";import{t}from"./LikeC4Diagram.mjs";import{c as n}from"react/compiler-runtime";import{jsx as r}from"react/jsx-runtime";function StaticLikeC4Diagram(i){let a=n(20),o,s,c,l,u,d,f,p;a[0]===i?(o=a[1],s=a[2],c=a[3],l=a[4],u=a[5],d=a[6],f=a[7],p=a[8]):({view:p,fitView:c,fitViewPadding:l,enableRelationshipDetails:u,enableRelationshipBrowser:d,background:f,className:o,...s}=i,a[0]=i,a[1]=o,a[2]=s,a[3]=c,a[4]=l,a[5]=u,a[6]=d,a[7]=f,a[8]=p);let m=c===void 0?!0:c,h=l===void 0?`8px`:l,g=u===void 0?!1:u,_=d===void 0?g:d,v=f===void 0?`transparent`:f,y;a[9]===o?y=a[10]:(y=e(o,`likec4-static-view`),a[9]=o,a[10]=y);let b;return a[11]!==v||a[12]!==_||a[13]!==g||a[14]!==m||a[15]!==h||a[16]!==s||a[17]!==y||a[18]!==p?(b=r(t,{view:p,className:y,fitView:m,fitViewPadding:h,pannable:!1,zoomable:!1,controls:!1,background:v,enableNotations:!1,enableElementDetails:!1,enableRelationshipDetails:g,enableRelationshipBrowser:_,enableDynamicViewWalkthrough:!1,showNavigationButtons:!1,enableCompareWithLatest:!1,enableFocusMode:!1,enableSearch:!1,nodesSelectable:!1,enableElementTags:!1,enableNotes:!1,...s}),a[11]=v,a[12]=_,a[13]=g,a[14]=m,a[15]=h,a[16]=s,a[17]=y,a[18]=p,a[19]=b):b=a[19],b}export{StaticLikeC4Diagram as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime.mjs";import{d as e,f as t,l as n,r,u as i}from"./libs/@tanstack/react-router.mjs";import{B as a,H as o,W as s,Wt as c,it as l,lt as u,qt as d,r as f,rt as p}from"./libs/@mantine/core.mjs";import{d as m}from"./libs/@mantine/hooks.mjs";import{N as h}from"./styled-system.mjs";import{l as g}from"./libs/@react-hookz/web.mjs";import{n as _}from"./useUpdateEffect.mjs";import{S as v,T as y,w as b,y as x}from"./DiagramActorProvider.mjs";import{t as S}from"./LikeC4Diagram.mjs";import{n as C}from"./hooks.mjs";import{useRef as w}from"react";import{c as T}from"react/compiler-runtime";import{jsx as E,jsxs as D}from"react/jsx-runtime";import{pageTitle as O}from"likec4:app-config";const k=h({paddingTop:`[120px]`,position:`relative`,zIndex:`1`,sm:{paddingTop:`[220px]`}}),A=h({position:`absolute`,inset:`0`,opacity:.2}),j=h({position:`relative`}),M=h({paddingTop:`[80px]`,paddingBottom:`[80px]`}),N=h({maxWidth:d(540),margin:`auto`,marginTop:`xl`,marginBottom:`[calc({spacing.xl}*1.5)]`}),P=h({textAlign:`center`,fontWeight:`[900]`,fontSize:`[38px]`});function NotFound(){let t=T(10),n;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={strict:!1},t[0]=n):n=t[0];let i=e(n);if(i.viewId){let e;t[1]===i.viewId?e=t[2]:(e=D(p,{c:`orange`,fz:`md`,children:[`The diagram`,` `,E(o,{color:`orange`,children:i.viewId}),` `,`does not exist or contains errors`]}),t[1]=i.viewId,t[2]=e);let n;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(n=E(s,{component:r,to:`/`,variant:`light`,color:`orange`,mt:`lg`,size:`xs`,children:`Go to overview`}),t[3]=n):n=t[3];let c;return t[4]===e?c=t[5]:(c=E(a,{my:`md`,children:D(l,{variant:`light`,color:`orange`,children:[e,n]})}),t[4]=e,t[5]=c),c}let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=E(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 362 145`,className:A,children:E(`path`,{fill:`currentColor`,d:`M62.6 142c-2.133 0-3.2-1.067-3.2-3.2V118h-56c-2 0-3-1-3-3V92.8c0-1.333.4-2.733 1.2-4.2L58.2 4c.8-1.333 2.067-2 3.8-2h28c2 0 3 1 3 3v85.4h11.2c.933 0 1.733.333 2.4 1 .667.533 1 1.267 1 2.2v21.2c0 .933-.333 1.733-1 2.4-.667.533-1.467.8-2.4.8H93v20.8c0 2.133-1.067 3.2-3.2 3.2H62.6zM33 90.4h26.4V51.2L33 90.4zM181.67 144.6c-7.333 0-14.333-1.333-21-4-6.666-2.667-12.866-6.733-18.6-12.2-5.733-5.467-10.266-13-13.6-22.6-3.333-9.6-5-20.667-5-33.2 0-12.533 1.667-23.6 5-33.2 3.334-9.6 7.867-17.133 13.6-22.6 5.734-5.467 11.934-9.533 18.6-12.2 6.667-2.8 13.667-4.2 21-4.2 7.467 0 14.534 1.4 21.2 4.2 6.667 2.667 12.8 6.733 18.4 12.2 5.734 5.467 10.267 13 13.6 22.6 3.334 9.6 5 20.667 5 33.2 0 12.533-1.666 23.6-5 33.2-3.333 9.6-7.866 17.133-13.6 22.6-5.6 5.467-11.733 9.533-18.4 12.2-6.666 2.667-13.733 4-21.2 4zm0-31c9.067 0 15.6-3.733 19.6-11.2 4.134-7.6 6.2-17.533 6.2-29.8s-2.066-22.2-6.2-29.8c-4.133-7.6-10.666-11.4-19.6-11.4-8.933 0-15.466 3.8-19.6 11.4-4 7.6-6 17.533-6 29.8s2 22.2 6 29.8c4.134 7.467 10.667 11.2 19.6 11.2zM316.116 142c-2.134 0-3.2-1.067-3.2-3.2V118h-56c-2 0-3-1-3-3V92.8c0-1.333.4-2.733 1.2-4.2l56.6-84.6c.8-1.333 2.066-2 3.8-2h28c2 0 3 1 3 3v85.4h11.2c.933 0 1.733.333 2.4 1 .666.533 1 1.267 1 2.2v21.2c0 .933-.334 1.733-1 2.4-.667.533-1.467.8-2.4.8h-11.2v20.8c0 2.133-1.067 3.2-3.2 3.2h-27.2zm-29.6-51.6h26.4V51.2l-26.4 39.2z`})}),t[6]=c):c=t[6];let d,m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=E(f,{className:P,children:`Nothing to see here`}),m=E(p,{c:`dimmed`,size:`lg`,ta:`center`,className:N,children:`Page you are trying to open does not exist. You may have mistyped the address, or the page has been moved to another URL. If you think this is an error contact support.`}),t[7]=d,t[8]=m):(d=t[7],m=t[8]);let h;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=E(a,{className:M,children:D(`div`,{className:j,children:[c,D(`div`,{className:k,children:[d,m,E(u,{justify:`center`,children:E(s,{component:r,to:`/`,search:!0,size:`md`,children:`Take me back to home page`})})]})]})}),t[9]=h):h=t[9],h}function ViewReact(){let e=T(19),t=n(),[r,a]=C(),o=x(),s;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(s={from:`__root__`},e[0]=s):s=e[0];let{dynamic:l}=i(s),t1;e[1]===t?t1=e[2]:(t1=e=>{t({to:`./`,viewTransition:!1,params:t=>({...t,viewId:e}),search:!0})},e[1]=t,e[2]=t1);let u=c(t1);if(m(`${r?r.title??r.id:`View not found`} - ${o.project.title??O}`),!r){let t;return e[3]===Symbol.for(`react.memo_cache_sentinel`)?(t=E(NotFound,{}),e[3]=t):t=e[3],t}let d;e[4]===r.notation?.nodes?d=e[5]:(d=r.notation?.nodes??[],e[4]=r.notation?.nodes,e[5]=d);let f=d.length>0,p;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(p={top:`70px`,bottom:`32px`,left:`32px`,right:`32px`},e[6]=p):p=e[6];let t4;e[7]===t?t4=e[8]:(t4=()=>{t({to:`/`})},e[7]=t,e[8]=t4);let h,g,_;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=E(ListenForDynamicVariantChange,{}),g=E(OpenRelationshipBrowserFromUrl,{}),_=E(FocusElementFromUrl,{}),e[9]=h,e[10]=g,e[11]=_):(h=e[9],g=e[10],_=e[11]);let v;return e[12]!==l||e[13]!==f||e[14]!==u||e[15]!==a||e[16]!==t4||e[17]!==r?(v=D(S,{view:r,zoomable:!0,pannable:!0,controls:!0,fitViewPadding:p,showNavigationButtons:!0,enableSearch:!0,enableFocusMode:!0,enableDynamicViewWalkthrough:!0,dynamicViewVariant:l,enableElementDetails:!0,enableRelationshipDetails:!0,enableRelationshipBrowser:!0,enableElementTags:!0,enableCompareWithLatest:!0,enableNotations:f,nodesSelectable:!0,onNavigateTo:u,onLayoutTypeChange:a,onLogoClick:t4,children:[h,g,_]}),e[12]=l,e[13]=f,e[14]=u,e[15]=a,e[16]=t4,e[17]=r,e[18]=v):v=e[18],v}function OpenRelationshipBrowserFromUrl(){let e=T(15),n=t(),r=y(),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={from:`__root__`},e[0]=a):a=e[0];let{relationships:o}=i(a),s=w(null),c=w(!1),l;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(l=Promise.resolve(),e[1]=l):l=e[1];let u=w(l),d=g(),t2;e[2]!==r||e[3]!==d||e[4]!==n?(t2=e=>{u.current=u.current.then(async()=>{if(!(!d()||s.current===e))try{s.current=e,r.openRelationshipsBrowser(e),await n.buildAndCommitLocation({search:_temp,replace:!0,viewTransition:!1})}catch(e){console.error(`Failed to open relationship browser:`,e)}})},e[2]=r,e[3]=d,e[4]=n,e[5]=t2):t2=e[5];let f=t2,t3;e[6]!==f||e[7]!==o?(t3=()=>{if(!o){s.current=null;return}o&&s.current!==o&&f(o)},e[6]=f,e[7]=o,e[8]=t3):t3=e[8];let p=t3,t4;e[9]===p?t4=e[10]:(t4=()=>{c.current=!0,p()},e[9]=p,e[10]=t4),b(`initialized`,t4);let t5;e[11]===p?t5=e[12]:(t5=()=>{p()},e[11]=p,e[12]=t5);let m;return e[13]===o?m=e[14]:(m=[o],e[13]=o,e[14]=m),_(t5,m),null}function _temp(e){let{relationships:t,...n}=e;return n}function FocusElementFromUrl(){let e=T(10),n=t(),r=y(),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={from:`__root__`},e[0]=a):a=e[0];let{focusOnElement:o}=i(a),s=w(null),t1;e[1]!==r||e[2]!==n?(t1=e=>{try{if(s.current===e)return;s.current=e,r.focusOnElement(e),n.buildAndCommitLocation({search:_temp2,replace:!0,viewTransition:!1})}catch(e){console.error(`focusOnElement failed:`,e)}},e[1]=r,e[2]=n,e[3]=t1):t1=e[3];let l=c(t1),t2;e[4]!==l||e[5]!==o?(t2=()=>{o&&s.current!==o&&l(o)},e[4]=l,e[5]=o,e[6]=t2):t2=e[6],b(`initialized`,t2);let t3,u;return e[7]===o?(t3=e[8],u=e[9]):(t3=()=>{o||(s.current=null)},u=[o],e[7]=o,e[8]=t3,e[9]=u),_(t3,u),null}function _temp2(e){let{focusOnElement:t,...n}=e;return n}function ListenForDynamicVariantChange(){let e=T(5),n=t(),r=v(_temp3),t0;e[0]!==r||e[1]!==n?(t0=()=>{(n.latestLocation.search.dynamic??`diagram`)!==r&&n.buildAndCommitLocation({search:e=>({...e,dynamic:r}),viewTransition:!1})},e[0]=r,e[1]=n,e[2]=t0):t0=e[2];let i;return e[3]===r?i=e[4]:(i=[r],e[3]=r,e[4]=i),_(t0,i),null}function _temp3(e){return e.dynamicViewVariant}export{NotFound as a,ViewReact as i,ListenForDynamicVariantChange as n,OpenRelationshipBrowserFromUrl as r,FocusElementFromUrl as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime.mjs";import{a as e,s as t}from"./libs/@tanstack/react-router.mjs";import{t as n}from"./libs/@tanstack/router-core.mjs";import{v as r}from"./libs/remeda.mjs";import{Tt as i,_t as a,h as o,m as s,wt as c}from"./libs/@mantine/core.mjs";import{n as l,t as u}from"./searchParams.mjs";import{c as d}from"react/compiler-runtime";import{jsx as f}from"react/jsx-runtime";import{defaultTheme as p}from"likec4:app-config";import{projects as m}from"likec4:projects";const h=c({autoContrast:!0,primaryColor:`indigo`,cursorType:`pointer`,fontFamily:`var(--likec4-app-font)`,headings:{fontWeight:`500`,sizes:{h1:{fontWeight:`600`},h2:{}}},fontSizes:{xxs:`var(--font-sizes-xxs)`,xs:`var(--font-sizes-xs)`,sm:`var(--font-sizes-sm)`,md:`var(--font-sizes-md)`,lg:`var(--font-sizes-lg)`,xl:`var(--font-sizes-xl)`},spacing:{xs:`var(--spacing-xs)`,sm:`var(--spacing-sm)`,md:`var(--spacing-md)`,lg:`var(--spacing-lg)`,xl:`var(--spacing-xl)`},components:{SegmentedControl:s.extend({vars:(e,t,n)=>({root:{"--sc-font-size":e.fontSizes[t.fz??t.size]}})}),Portal:a.extend({defaultProps:{reuseTargetNode:!0}}),Tooltip:o.extend({defaultProps:{color:`dark`}})}}),g=t()({validateSearch:l,search:{middlewares:[n({padding:20,theme:void 0,dynamic:`diagram`,relationships:void 0,focusOnElement:void 0})]},beforeLoad:()=>{let e=m.length>0?r(m,e=>e.id):[`default`];return{projects:e,projectId:e[0]}},component:RootComponent});function RootComponent(){let t=d(8),{theme:n}=g.useSearch(),r;t[0]===n?r=t[1]:(r=u(n),t[0]=n,t[1]=r);let a=r,o=n===`auto`?`auto`:p,s;t[2]===a?s=t[3]:(s=a&&{forceColorScheme:a},t[2]=a,t[3]=s);let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=f(e,{}),t[4]=c):c=t[4];let l;return t[5]!==o||t[6]!==s?(l=f(i,{theme:h,defaultColorScheme:o,...s,children:c}),t[5]=o,t[6]=s,t[7]=l):l=t[7],l}export{g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime.mjs";import{A as t,G as n,J as r,Y as i,c as a,g as o,i as s,l as c,q as l,v as u,y as d}from"./libs/remeda.mjs";import{dt as f,st as p,ut as m,xt as h}from"./libs/@mantine/core.mjs";import{A as g,C as _,D as v,E as y,M as ee,N as b,_ as te,j as ne,x}from"./styled-system.mjs";import{d as re,q as ie}from"./libs/@tabler/icons-react.mjs";import{r as S,t as ae}from"./IconRenderer.mjs";import{s as oe}from"./libs/@xyflow/react.mjs";import{A as se,C as ce,S as le,b as C,n as ue,q as w,t as de,x as fe}from"./LikeC4Styles.mjs";import{n as pe}from"./useUpdateEffect.mjs";import{D as me,O as he,T as ge,n as _e,t as ve,v as ye,y as be}from"./DiagramActorProvider.mjs";import{mr as xe}from"./libs/framer-motion.mjs";import{n as T,r as E,t as D}from"./libs/@xstate/react.mjs";import{o as Se}from"./libs/@zag-js/core.mjs";import{n as Ce,t as we}from"./libs/@zag-js/react.mjs";import{n as O,t as k}from"./libs/@xstate/store.mjs";import{n as Te,r as Ee,t as De}from"./libs/@zag-js/tree-view.mjs";import{Profiler as Oe,Suspense as ke,createContext as A,memo as j,useContext as M,useDeferredValue as Ae,useEffect as N,useMemo as P,useRef as F,useState as je}from"react";import{c as I}from"react/compiler-runtime";import{jsx as L,jsxs as R}from"react/jsx-runtime";import{ModelFqnExpr as z,nonNullable as Me}from"@likec4/core";import{compareNaturalHierarchically as Ne,difference as B,invariant as V,nonexhaustive as Pe,objectHash as Fe,stringHash as Ie,toArray as Le,toSet as H}from"@likec4/core/utils";const Re=ne({base:{border:`none`,display:`inline-flex`,alignItems:`center`,justifyContent:`center`,justifySelf:`flex-end`,fontSize:`[8px]`,fontFamily:`mono`,fontWeight:`bold`,letterSpacing:`[0.5px]`,marginLeft:`2`,py:`1`,px:`1.5`,lineHeight:`1`,rounded:`sm`,minWidth:32,transition:`normal`,_hover:{color:`text.bright`}},variants:{state:{"include-explicit":{backgroundColor:`grass.6`,color:`text`},"include-implicit":{backgroundColor:`grass.6`,color:`text`},exclude:{backgroundColor:`red.6`,color:`text`},disabled:{color:`text.dimmed`},"not-present":{color:`text.dimmed`,backgroundColor:`default.hover/50`}}},defaultVariants:{state:`not-present`}}),ze=b.raw({flex:0,display:`flex`,alignItems:`center`,color:`text.dimmed`,_groupHover:{color:`text`},_groupFocusWithin:{color:`mantine.colors.primary.lightColor!`},_groupFocusVisible:{color:`mantine.colors.primary.lightColor!`},"& :where(.likec4-shape-icon, .likec4-element-icon)":{display:`contents`},"& :where(svg, img)":{width:`10px`,height:`10px`},"@/md":{"& :where(svg, img)":{width:`14px`,height:`14px`}},"@/lg":{"& :where(svg, img)":{width:`16px`,height:`16px`}},opacity:{base:.8,_groupFocusVisible:1,_groupHover:1}}),U=b.raw({paddingLeft:`[calc((var(--depth, 1) - 1) * {spacing.2} + {spacing.1})]`,px:`1`,py:`1`,mb:`0`,columnGap:`1`,"@/md":{paddingLeft:`[calc((var(--depth, 1) - 1) * {spacing.2} + {spacing.2})]`,px:`2`,py:`1.5`,mb:`0.5`,columnGap:`2`},"@/lg":{paddingLeft:`[calc((var(--depth, 1) - 1) * {spacing.3} + {spacing.2.5})]`,py:`2.5`},cursor:`pointer`,border:`none`,appearance:`none`,width:`full`,alignItems:`center`,display:`grid`,gridTemplateColumns:`auto 1fr auto`,gridTemplateRows:`auto auto`,rounded:`sm`,backgroundColor:{base:`transparent`,_hover:{base:`mantine.colors.gray[1]`,_dark:`mantine.colors.dark[5]`},_focusWithin:`mantine.colors.primary.lightHover!`,_focusVisible:`mantine.colors.primary.lightHover!`},color:{base:`text`,_hover:`text.bright`,_focusWithin:`mantine.colors.primary.lightColor!`,_focusVisible:`mantine.colors.primary.lightColor!`},_focusVisible:{outline:`none`}}),{withRootProvider:Be,withContext:W}=v(g({slots:[`branch`,`item`,`control`,`state`,`icon`,`label`,`content`,`indicator`],base:{branch:{},item:{...U},control:{...U},state:{border:`none`,display:`inline-flex`,alignItems:`center`,justifySelf:`flex-end`,marginLeft:`2`,"--chip-fz":`9px`,"--chip-checked-padding":`{spacing.1}`,"--chip-padding":`{spacing.1}`,"--chip-spacing":`0`,"--chip-size":`16px`,transition:`opacity 150ms ease-out`},icon:{...ze},label:{cursor:`inherit`,color:`inherit`,userSelect:`none`,textStyle:`xxs`,truncate:`ellipsis`,"@/sm":{textStyle:`xs`},"@/md":{textStyle:`sm`},fontWeight:`[450]`,display:`inline-flex`,alignItems:`center`,gap:`2`},indicator:{color:`inherit`,transition:`transform 150ms ease-out`,width:`12px`,opacity:.75,"@/md":{width:`14px`},_open:{transform:`rotate(90deg)`}},content:{}},variants:{},defaultVariants:{}})),Ve=Be(`div`),He=W(`div`,`branch`),Ue=W(`div`,`item`,{forwardProps:[],defaultProps:{className:`group`}}),We=W(`div`,`control`,{forwardProps:[],defaultProps:{className:`group`}}),ElementState=e=>{let t=I(13),n,r,i,a;if(t[0]!==e){let{node:o,state:s,onClick:c,className:l,...u}=e;a=s,r=c,n=l,i=u,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a}else n=t[1],r=t[2],i=t[3],a=t[4];let o;t[5]!==n||t[6]!==a?(o=ee(n,`mantine-active`,Re({state:a})),t[5]=n,t[6]=a,t[7]=o):o=t[7];let s=o,c;return t[8]!==s||t[9]!==r||t[10]!==i||t[11]!==a?(c=L(`div`,{...i,onClick:r,className:s,children:a}),t[8]=s,t[9]=r,t[10]=i,t[11]=a,t[12]=c):c=t[12],c},G={Root:Ve,Branch:He,Item:Ue,Control:We,State:W(ElementState,`state`,{forwardProps:[`node`,`state`,`onClick`,`className`]}),Icon:W(ae,`icon`,{forwardProps:[`element`,`className`]}),Label:W(`div`,`label`,{forwardProps:[]}),Content:W(`div`,`content`,{forwardProps:[]}),Indicator:W(ie,`indicator`,{forwardProps:[],defaultProps:{size:14}})},K=A(null),Ge=K.Provider;function useAdhocEditorActor(){let e=I(2),t=M(K),n;return e[0]===t?n=e[1]:(n=Me(t,`No AdhocEditorActorContext`),e[0]=t,e[1]=n),n}const Ke={id:`adhoc`,_type:`element`,autoLayout:{direction:`LR`},nodes:[],edges:[],bounds:{x:0,y:0,width:0,height:0},_stage:`layouted`,title:null,description:null,hash:``},selectView=({context:e})=>e.view??Ke;function useAdhocView(){return(0,D.useSelector)(useAdhocEditorActor(),selectView)}function getElementState(e,t){return t?t.disabled.has(e)?`disabled`:t.includedExplicit.has(e)?`include-explicit`:t.includedImplicit.has(e)?`include-implicit`:t.excluded.has(e)?`exclude`:`not-present`:`not-present`}function mapToTreeNodes(e,t){return Le(e).map(e=>({id:e.id,title:e.title,shape:e.shape,icon:e.icon??void 0,children:mapToTreeNodes(e.children(),t),state:getElementState(e.id,t)}))}function createTreeCollection(e,t){return De({rootNode:{id:`@ROOT`,title:``,shape:`rectangle`,icon:void 0,children:mapToTreeNodes(e.roots(),t),state:`not-present`},nodeToValue(e){return e.id},nodeToString(e){return e.title},nodeToChildren(e){return e.children},isNodeDisabled(){return!1}})}const qe=selectEditorPanelState(e=>({searchInput:e.searchInput.length>2?e.searchInput.toLowerCase():``,collection:e.collection}),(e,t)=>e?.searchInput===t.searchInput&&e?.collection.isEqual(t.collection));function useElementsTree(){let e=I(21),{searchInput:t,collection:n}=useEditorPanelState(qe),i=Ae(t),a;bb0:{if(!i){a=n;break bb0}let t;if(e[0]!==n||e[1]!==i){let t2;e[3]===i?t2=e[4]:(t2=e=>e.title.toLowerCase().includes(i),e[3]=i,e[4]=t2),t=n.filter(t2),e[0]=n,e[1]=i,e[2]=t}else t=e[2];a=t}let o=a,c;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=[],e[5]=c):c=e[5];let[u,d]=je(c),t2;e[6]!==n||e[7]!==o?(t2=()=>{o!==n&&d(e=>{let t=r(o.getBranchValues(),e);return l(t,1)?s([...e,...t],Ne()):e})},e[6]=n,e[7]=o,e[8]=t2):t2=e[8];let f;e[9]===o?f=e[10]:(f=[o],e[9]=o,e[10]=f),N(t2,f);let p=C(),m,h;e[11]===Symbol.for(`react.memo_cache_sentinel`)?(m=[],h=[],e[11]=m,e[12]=h):(m=e[11],h=e[12]);let g;e[13]!==u||e[14]!==o||e[15]!==p?(g={id:p,collection:o,defaultCheckedValue:m,defaultSelectedValue:h,expandedValue:u,onExpandedChange(e){let{expandedValue:t}=e;d(t)},onFocusChange(e){console.log(`Focus change`,e)},onSelectionChange(e){console.log(`Selection change`,e)}},e[13]=u,e[14]=o,e[15]=p,e[16]=g):g=e[16];let _=Ce(Ee,g);_.context.get(`focusedValue`)?.slice;let v;e[17]===_?v=e[18]:(v=Te(_,we),e[17]=_,e[18]=v);let y=v,t9;return e[19]===y?t9=e[20]:(t9=()=>{let e=y.collection.getFirstNode()?.id;e&&y.focus(e)},e[19]=y,e[20]=t9),useOnEditorPanelEvent(`inputKeyDown`,t9),y}function deriveElementStates({rules:e,view:r}){let a=new Set(r?r.nodes.map(e=>e.modelRef??null).filter(t):[]),o=i(e,n(e=>e.type===`include`&&e.enabled),u(e=>e.expr.ref.model),H()),s=i(e,n(e=>e.type===`exclude`&&e.enabled),u(e=>e.expr.ref.model),H());return{disabled:i(e,n(e=>!e.enabled),u(e=>e.expr.ref.model),H()),includedExplicit:o,includedImplicit:B(a,o),excluded:B(s,a)}}const createEditorPanelStore=({initial:e,sideEffects:t})=>(0,O.createStore)({context:{searchInput:``,expandedValue:[],collection:e},emits:{inputKeyDown:e=>{}},on:{inputChange:(e,t)=>({...e,searchInput:t.value}),inputKeyDown:(e,t,n)=>{n.emit.inputKeyDown()},modelUpdate:(e,t)=>({...e,collection:t.collection}),elementClick:(e,n,r)=>{let i=e.collection.findNode(n.id),a=e.collection.getIndexPath(n.id);return!i||!a||r.effect(()=>{t.onElementStateClick({id:n.id})}),e}}}),q=A(null),EditorPanelStoreProvider=e=>{let t=be(),n=F(t);n.current=t;let r=useAdhocEditorActor(),i=P(()=>createEditorPanelStore({initial:createTreeCollection(t),sideEffects:{onElementStateClick({id:e}){r.send({type:`toggle.element`,id:e})}}}),[r]);return pe(()=>{i.trigger.modelUpdate({collection:createTreeCollection(t,deriveElementStates(r.getSnapshot().context))})},[t]),N(()=>{let e=r.on(`view.update`,()=>{i.trigger.modelUpdate({collection:createTreeCollection(n.current,deriveElementStates(r.getSnapshot().context))})});return()=>{e.unsubscribe()}},[r]),L(q.Provider,{value:i,children:e.children})};function selectEditorPanelState(e,t){return[t=>e(t.context),t??O.shallowEqual]}function useEditorPanelStore(){return M(q)}function useEditorPanelState(...e){let t=I(4),n=e,r=useEditorPanelStore(),i,a;if(n.length===2)[i,a]=n;else if(n.length===1&&Array.isArray(n[0])&&l(n[0],2))[i,a]=n[0];else if(n.length===1&&Array.isArray(n[0])&&l(n[0],1)){let e=n[0],r;t[0]===e?r=t[1]:(r=[e,O.shallowEqual],t[0]=e,t[1]=r),[i,a]=r}else if(n.length===1&&typeof n[0]==`function`){let e=n[0],r;t[2]===e?r=t[3]:(r=[e,O.shallowEqual],t[2]=e,t[3]=r),[i,a]=r}else throw Error(`Invalid arguments for useEditorPanelState`);return(0,k.useSelector)(r,i,a)}function useOnEditorPanelEvent(...e){let t=I(7),n=e,r=useEditorPanelStore(),i=n[0],a=w(n[1]),t1;t[0]!==i||t[1]!==a||t[2]!==r?(t1=()=>{let e=r.on(i,a);return()=>{e.unsubscribe()}},t[0]=i,t[1]=a,t[2]=r,t[3]=t1):t1=t[3];let o;t[4]!==i||t[5]!==r?(o=[i,r],t[4]=i,t[5]=r,t[6]=o):o=t[6],N(t1,o)}function useEditorPanelTrigger(...e){let t=useEditorPanelStore();if(e.length===0)return t.trigger;let n=e[0];return w((...e)=>{n(t.trigger,...e)})}const Je=j(()=>{let e=I(20),t=useElementsTree(),t0;e[0]===t?t0=e[1]:(t0=(e,n)=>{let r=n.currentTarget.closest(`[data-value]`)?.getAttribute(`data-value`);if(r)try{n.stopPropagation(),n.preventDefault(),t.expand([r]),e.elementClick({id:r})}catch(e){console.error(`Failed to handle element click`,e)}},e[0]=t,e[1]=t0);let n=useEditorPanelTrigger(t0),r;if(e[2]!==t){let t2;e[4]===t.selectedValue?t2=e[5]:(t2=e=>{bb32:switch(e.key){case`Escape`:{let t=document.getElementById(`search-input`);t&&(e.stopPropagation(),e.preventDefault(),t.focus());break bb32}case`ArrowUp`:console.log(`ArrowUp`,{selected:t.selectedValue});break bb32;default:console.log(e.key);return}},e[4]=t.selectedValue,e[5]=t2),r=Se(t.getRootProps(),{onKeyDown:t2}),e[2]=t,e[3]=r}else r=e[3];let i=r,a;e[6]===t?a=e[7]:(a=t.getTreeProps(),e[6]=t,e[7]=a);let o;e[8]!==t||e[9]!==n?(o=t.collection.rootNode.children.map((e,r)=>L(TreeNode,{node:e,api:t,onClick:n},e.id)),e[8]=t,e[9]=n,e[10]=o):o=e[10];let s;e[11]===t.collection?s=e[12]:(s=!t.collection.getFirstNode()&&L(y,{css:{p:`4`,textAlign:`center`},children:`Nothing found`}),e[11]=t.collection,e[12]=s);let c;e[13]!==a||e[14]!==o||e[15]!==s?(c=R(G.Root,{...a,children:[o,s]}),e[13]=a,e[14]=o,e[15]=s,e[16]=c):c=e[16];let l;return e[17]!==i||e[18]!==c?(l=L(h,{flex:`1 1 100%`,scrollbars:`y`,type:`scroll`,scrollbarSize:`4px`,...i,children:c}),e[17]=i,e[18]=c,e[19]=l):l=e[19],l}),TreeNode=e=>{let t=I(29),{api:n,node:r,onClick:i}=e,a=n.collection,o,s,c,l,u,d;if(t[0]!==n||t[1]!==r||t[2]!==i){d=Symbol.for(`react.early_return_sentinel`);bb0:{let e=a.getIndexPath(r.id);V(e,`Node not found in collection`);let f={indexPath:e,node:r},p=n.getNodeState(f);if(p.isBranch){let e;t[9]===r?e=t[10]:(e=L(G.Icon,{element:r}),t[9]=r,t[10]=e);let a;t[11]!==r||t[12]!==i?(a=L(G.State,{node:r,state:r.state,onClick:i}),t[11]=r,t[12]=i,t[13]=a):a=t[13],d=R(G.Branch,{...n.getBranchProps(f),children:[R(G.Control,{...n.getBranchControlProps(f),children:[e,R(G.Label,{...n.getBranchTextProps(f),children:[r.title,L(G.Indicator,{...n.getBranchIndicatorProps(f)})]}),a]}),L(G.Content,{...n.getBranchContentProps(f),children:p.expanded&&r.children.map((e,t)=>L(TreeNode,{node:e,api:n,onClick:i},e.id))})]});break bb0}s=G.Item,l=n.getItemProps(f),t[14]===r?u=t[15]:(u=L(G.Icon,{element:r}),t[14]=r,t[15]=u),o=G.Label,c=n.getItemTextProps(f)}t[0]=n,t[1]=r,t[2]=i,t[3]=o,t[4]=s,t[5]=c,t[6]=l,t[7]=u,t[8]=d}else o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8];if(d!==Symbol.for(`react.early_return_sentinel`))return d;let f;t[16]!==o||t[17]!==r.title||t[18]!==c?(f=L(o,{...c,children:r.title}),t[16]=o,t[17]=r.title,t[18]=c,t[19]=f):f=t[19];let p;t[20]!==r||t[21]!==i?(p=L(G.State,{node:r,state:r.state,onClick:i}),t[20]=r,t[21]=i,t[22]=p):p=t[22];let m;return t[23]!==s||t[24]!==l||t[25]!==u||t[26]!==f||t[27]!==p?(m=R(s,{...l,children:[u,f,p]}),t[23]=s,t[24]=l,t[25]=u,t[26]=f,t[27]=p,t[28]=m):m=t[28],m},EditorPanel=()=>{let e=I(6),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t={position:`fixed`,top:`0`,left:`0`,gap:`1`,bottom:`0`,height:`auto`,overflow:`hidden`,layerStyle:`likec4.panel`,width:`[300px]`,rounded:`0`},e[0]=t):t=e[0];let n,r;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=L(ue,{style:{height:16}}),r=L(te,{size:`sm`,fontWeight:`medium`,flex:`1`,children:`Explore`}),e[1]=n,e[2]=r):(n=e[1],r=e[2]);let i;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(i=R(x,{p:`2`,gap:`4`,justifyItems:`stretch`,children:[n,r,L(x,{gap:`1`,children:L(f,{children:L(re,{})})})]}),e[3]=i):i=e[3];let a;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(a=L(y,{children:L(SearchInput,{})}),e[4]=a):a=e[4];let o;return e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=L(EditorPanelStoreProvider,{children:L(xe,{mode:`popLayout`,children:R(_,{css:t,onClick:_temp,children:[i,a,L(ke,{children:L(Je,{})})]})})}),e[5]=o):o=e[5],o},Ye=selectEditorPanelState(a(`searchInput`));function SearchInput(){let e=I(13),t=useEditorPanelState(Ye),n=useEditorPanelTrigger(),r=useEditorPanelTrigger(_temp2),i=useEditorPanelTrigger(_temp3),a=t?void 0:`none`,o;e[0]===a?o=e[1]:(o={display:a},e[0]=a,e[1]=o);let s;e[2]!==i||e[3]!==o?(s=L(m,{size:`sm`,"aria-label":`Clear input`,onClick:i,style:o}),e[2]=i,e[3]=o,e[4]=s):s=e[4];let t3;e[5]!==i||e[6]!==n?(t3=e=>{bb8:switch(e.key){case`Escape`:e.stopPropagation(),e.preventDefault(),i();break bb8;case`Enter`:e.stopPropagation(),e.preventDefault();break bb8;case`ArrowDown`:e.stopPropagation(),e.preventDefault(),n.inputKeyDown();break bb8;default:return}},e[5]=i,e[6]=n,e[7]=t3):t3=e[7];let c;return e[8]!==t||e[9]!==r||e[10]!==s||e[11]!==t3?(c=L(y,{children:L(p,{id:`search-input`,size:`xs`,variant:`filled`,placeholder:`Search by title, description or start with # or kind:`,value:t,onChange:r,"data-likec4-search-input":!0,rightSectionPointerEvents:`all`,rightSection:s,onKeyDownCapture:t3})}),e[8]=t,e[9]=r,e[10]=s,e[11]=t3,e[12]=c):c=e[12],c}function _temp3(e){e.inputChange({value:``})}function _temp2(e,t){e.inputChange({value:t.currentTarget.value})}function _temp(e){e.stopPropagation();let t=document.getElementById(`search-input`);t&&t.focus()}E();function ruleToPredicate(e){return e.type===`include`?{include:[e.expr]}:{exclude:[e.expr]}}const J=(0,T.setup)({types:{context:{},tags:``,events:{},emitted:{}},actors:{service:{}},guards:{hasView:({context:e})=>e.view!==null}});function createContext$1(){return{view:null,error:void 0,rules:[]}}e(createContext$1,`createContext`),E();const Y={idle:{target:`#layouter-idle`},call:{target:`#layouter-call`}},Xe=J.createStateConfig({id:Y.idle.target.substring(1),entry:(0,T.log)(`entry idle ->`),exit:(0,T.log)(` -> idle exit `),on:{layout:{...Y.call}}}),emitViewUpdate=()=>J.emit({type:`view.update`}),X=c(n(e=>e.enabled),u(ruleToPredicate)),Ze=J.createStateConfig({id:Y.call.target.substring(1),entry:(0,T.log)(`entry call ->`),exit:(0,T.log)(` -> call exit `),invoke:{src:`service`,input:({context:e})=>({predicates:X(e.rules)}),onDone:{actions:[(0,T.assign)({view:({context:e,event:t})=>{let n=Fe(X(e.rules));return{...t.output.view,hash:n,id:n}},error:void 0}),(0,T.emit)({type:`view.update`})],...Y.idle},onError:{actions:[(0,T.log)(({event:e})=>`error: ${e.error}`),(0,T.assign)({error:({event:e})=>`${e.error}`})],...Y.idle}}}),Qe=J.createStateConfig({initial:`idle`,states:{idle:Xe,call:Ze}});E();const Z={idle:{target:`#idle`},selecting:{target:`#selecting`},layouting:{target:`#layouting`}};function nextId({rules:e},t=``){return Ie((e.at(-1)?.id??new Date().toISOString())+t)}const isRuleOf=e=>t=>z.isModelRef(t.expr)&&t.expr.ref.model===e,isIncludeOf=e=>t=>t.type===`include`&&z.isModelRef(t.expr)&&t.expr.ref.model===e,isExcludeOf=e=>t=>t.type===`exclude`&&z.isModelRef(t.expr)&&t.expr.ref.model===e;function deriveElementState(e,{rules:t,view:n}){let r=t.find(isRuleOf(e));if(r&&!r.enabled)return{state:`disabled`,ruleId:r.id};let i=n?n.nodes.some(t=>t.modelRef===e):!1,a=t.find(isIncludeOf(e)),o=t.find(isExcludeOf(e));switch(!0){case a&&i:return{state:`include-explicit`,ruleId:a.id};case!a&&i:return{state:`include-implicit`,ruleId:void 0};case a&&!i:return{state:`not-present`,ruleId:a.id};case!!o:return{state:`exclude`,ruleId:o.id};default:return V(i===!1,`Element not in view should not be included or excluded by any rule`),{state:`not-present`,ruleId:void 0}}}const enableRule=e=>J.assign(({context:t})=>({rules:t.rules.map(t=>t.id===e&&!t.enabled?{...t,enabled:!0}:t)})),addElementRules=(e,t)=>J.assign(({context:n})=>({rules:[...n.rules,{id:nextId(n,t+e),expr:{ref:{model:e}},enabled:!0,type:t}]})),removeElementRules=e=>J.assign(({context:t})=>{let n=isRuleOf(e);return{rules:t.rules.filter(e=>!n(e))}}),toggleElement=()=>J.enqueueActions(({context:e,event:t,enqueue:n})=>{(0,T.assertEvent)(t,`toggle.element`);let r=isRuleOf(t.id),i=d(e.rules);if(i&&r(i)){n.assign({rules:e.rules.slice(0,-1)});return}let a=deriveElementState(t.id,e);switch(a.state){case`disabled`:n(enableRule(a.ruleId));break;case`not-present`:n(removeElementRules(t.id)),n(addElementRules(t.id,`include`));break;case`include-implicit`:n(removeElementRules(t.id)),n(addElementRules(t.id,`exclude`));break;case`include-explicit`:case`exclude`:n(removeElementRules(t.id));break;default:Pe(a)}}),toggleRule=()=>J.assign(({context:e,event:t})=>((0,T.assertEvent)(t,`toggle.rule`),{rules:e.rules.map(e=>e.id===t.ruleId?{...e,enabled:!e.enabled}:e)})),deleteRule=()=>J.assign(({context:e,event:t})=>((0,T.assertEvent)(t,`delete.rule`),{rules:e.rules.filter(e=>e.id!==t.ruleId)})),scheduleLayout=()=>J.raise({type:`layout`}),Q=J.createStateConfig({id:`idle`,on:{"select.open":{...Z.selecting},"toggle.rule":{actions:toggleRule(),...Z.layouting},"delete.rule":{actions:deleteRule(),...Z.layouting}}}),$e=J.createStateConfig({id:`selecting`,on:{"toggle.element":{actions:[toggleElement(),emitViewUpdate(),scheduleLayout()]},"select.close":{...Z.idle}}}),et=J.createStateConfig({id:`layouting`,always:{actions:scheduleLayout(),...Z.idle}}),tt=J.createStateConfig({initial:`selecting`,states:{idle:Q,selecting:$e,layouting:et}}),nt=J.createMachine({id:`adhoc-editor`,context:createContext$1,type:`parallel`,states:{layouter:Qe,editor:tt}});E();const $={read:()=>JSON.parse(sessionStorage.getItem(`adhoc-editor-state`)||`null`)??void 0,write:e=>sessionStorage.setItem(`adhoc-editor-state`,JSON.stringify(e))};function AdhocEditorActorProvider({children:e,service:t}){let n=F(t);n.current=t;let r=P(()=>({actors:{service:(0,T.fromPromise)(({input:e})=>n.current.process(e))}}),[]),i=(0,D.useActorRef)(nt.provide(r),{id:`adhoc-editor`,snapshot:$.read(),systemId:`adhoc-editor`,inspect:e=>{console.log(`[AdhocEditorActor]`,e)}});return N(()=>{let e=i.subscribe(e=>{$.write(e)});return()=>e.unsubscribe()},[i]),L(Ge,{value:i,children:e})}const noop=()=>{},rt={...o(me,()=>!1),enableFitView:!0,enableReadOnly:!0};function LikeC4AdHocViewEditor({service:e}){let t=C(),n=F({fitView:!0,defaultNodes:[],defaultEdges:[]});return L(le,{children:L(fe,{children:L(Oe,{id:`LikeC4AdHocViewEditor`,onRender:noop,children:L(S,{value:null,children:L(AdhocEditorActorProvider,{service:e,children:R(he,{features:rt,children:[L(de,{id:t}),L(ye,{rootSelector:`#${t}`,children:L(ce,{id:t,children:R(oe,{...n.current,children:[L(it,{id:t}),L(EditorPanel,{})]})})})]})})})})})})}const it=j(e=>{let t=I(5),{id:n}=e,r=useAdhocView(),i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=L(_e,{}),a=L(at,{}),t[0]=i,t[1]=a):(i=t[0],a=t[1]);let o;return t[2]!==n||t[3]!==r?(o=R(ve,{id:n,view:r,zoomable:!0,pannable:!0,fitViewPadding:se.withControls,nodesDraggable:!1,nodesSelectable:!0,children:[i,a]}),t[2]=n,t[3]=r,t[4]=o):o=t[4],o}),at=j(()=>{let e=I(4),t=useAdhocEditorActor(),n=ge(),t0,r;return e[0]!==t||e[1]!==n?(t0=()=>{let e=t.on(`click.element`,e=>{let{id:t}=e;n.focusOnElement(t)});return()=>e.unsubscribe()},r=[t,n],e[0]=t,e[1]=n,e[2]=t0,e[3]=r):(t0=e[2],r=e[3]),N(t0,r),null});export{LikeC4AdHocViewEditor};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./rolldown-runtime.mjs";import{d as e,i as t}from"./libs/@tanstack/react-router.mjs";import{c as n}from"./libs/@react-hookz/web.mjs";import{n as r,t as i}from"./libs/fast-equals.mjs";import{n as a}from"./useUpdateEffect.mjs";import{n as o}from"./safeCtx.mjs";import{useEffect as s,useState as c}from"react";import{c as l}from"react/compiler-runtime";import{useLikeC4Projects as u}from"likec4:projects";function useTransparentBackground(e){let t=l(3),r=e===void 0?!0:e,t1,i;t[0]===r?(t1=t[1],i=t[2]):(t1=()=>{let e=document.body.parentElement;if(!(!e||r!==!0))return e.classList.add(`transparent-bg`),()=>{e.classList.remove(`transparent-bg`)}},i=[r],t[0]=r,t[1]=t1,t[2]=i),n(t1,i)}function useLikeC4Views(){let e=l(4),t=o(),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=[],e[0]=n):n=e[0];let[a,u]=c(n),t1,d;return e[1]===t?(t1=e[2],d=e[3]):(t1=()=>t.subscribe(e=>{u(t=>{let n=[...e.views()].map(e=>{let n=e.$layouted,r=t.find(t=>t.id===e.id);return r&&i(n,r)?r:n});return r(t,n)?t:n})}),d=[t],e[1]=t,e[2]=t1,e[3]=d),s(t1,d),a}function useCurrentViewId(){let t=l(1),n;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n={select:_temp,strict:!1},t[0]=n):n=t[0],e(n)??`index`}function _temp(e){return e.viewId}function useCurrentView(){let e=l(13),t=useCurrentViewId(),n=o(),[r,u]=c(`manual`),t0;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t0=()=>{u(`manual`)},e[0]=t0):t0=e[0];let d;e[1]===t?d=e[2]:(d=[t],e[1]=t,e[2]=d),a(t0,d);let t2;e[3]!==n||e[4]!==t?(t2=()=>n.get().findView(t)?.$layouted??null,e[3]=n,e[4]=t,e[5]=t2):t2=e[5];let[f,p]=c(t2),t3,m;e[6]!==n||e[7]!==r||e[8]!==t?(t3=()=>n.subscribe(e=>{p(n=>{let a=e.findView(t);if(!a)return null;let o=r===`auto`?a.$view:a.$layouted;return i(n,o)?n:o})}),m=[n,t,r],e[6]=n,e[7]=r,e[8]=t,e[9]=t3,e[10]=m):(t3=e[9],m=e[10]),s(t3,m);let h;return e[11]===f?h=e[12]:(h=[f,u],e[11]=f,e[12]=h),h}function useCurrentProject(){let e=l(4),n=u(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r={select:selectProjectIdFromContext},e[0]=r):r=e[0];let i=t(r),a;return e[1]!==i||e[2]!==n?(a=i&&n.find(e=>e.id===i)||n[0],e[1]=i,e[2]=n,e[3]=a):a=e[3],a}function selectProjectIdFromContext(e){return e.find(e=>e.routeId===`/project/$projectId`)?.params?.projectId??e.at(-1)?.context.projectId??void 0}export{useTransparentBackground as a,useLikeC4Views as i,useCurrentView as n,useCurrentViewId as r,useCurrentProject as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"../../rolldown-runtime.mjs";var t=e(((e,t)=>{var n=`\0`,r=`\0`,i=``,Graph=class{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>void 0;_defaultEdgeLabelFn=()=>void 0;_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(e){e&&(this._isDirected=Object.hasOwn(e,`directed`)?e.directed:!0,this._isMultigraph=Object.hasOwn(e,`multigraph`)?e.multigraph:!1,this._isCompound=Object.hasOwn(e,`compound`)?e.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[r]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return this._defaultNodeLabelFn=e,typeof e!=`function`&&(this._defaultNodeLabelFn=()=>e),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var e=this;return this.nodes().filter(t=>Object.keys(e._in[t]).length===0)}sinks(){var e=this;return this.nodes().filter(t=>Object.keys(e._out[t]).length===0)}setNodes(e,t){var n=arguments,r=this;return e.forEach(function(e){n.length>1?r.setNode(e,t):r.setNode(e)}),this}setNode(e,t){return Object.hasOwn(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=t),this):(this._nodes[e]=arguments.length>1?t:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=r,this._children[e]={},this._children[r][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.hasOwn(this._nodes,e)}removeNode(e){var t=this;if(Object.hasOwn(this._nodes,e)){var removeEdge=e=>t.removeEdge(t._edgeObjs[e]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],this.children(e).forEach(function(e){t.setParent(e)}),delete this._children[e]),Object.keys(this._in[e]).forEach(removeEdge),delete this._in[e],delete this._preds[e],Object.keys(this._out[e]).forEach(removeEdge),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,t){if(!this._isCompound)throw Error(`Cannot set parent in a non-compound graph`);if(t===void 0)t=r;else{t+=``;for(var n=t;n!==void 0;n=this.parent(n))if(n===e)throw Error(`Setting `+t+` as parent of `+e+` would create a cycle`);this.setNode(t)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=t,this._children[t][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var t=this._parent[e];if(t!==r)return t}}children(e=r){if(this._isCompound){var t=this._children[e];if(t)return Object.keys(t)}else if(e===r)return this.nodes();else if(this.hasNode(e))return[]}predecessors(e){var t=this._preds[e];if(t)return Object.keys(t)}successors(e){var t=this._sucs[e];if(t)return Object.keys(t)}neighbors(e){var t=this.predecessors(e);if(t){let r=new Set(t);for(var n of this.successors(e))r.add(n);return Array.from(r.values())}}isLeaf(e){return(this.isDirected()?this.successors(e):this.neighbors(e)).length===0}filterNodes(e){var t=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});t.setGraph(this.graph());var n=this;Object.entries(this._nodes).forEach(function([n,r]){e(n)&&t.setNode(n,r)}),Object.values(this._edgeObjs).forEach(function(e){t.hasNode(e.v)&&t.hasNode(e.w)&&t.setEdge(e,n.edge(e))});var r={};function findParent(e){var i=n.parent(e);return i===void 0||t.hasNode(i)?(r[e]=i,i):i in r?r[i]:findParent(i)}return this._isCompound&&t.nodes().forEach(e=>t.setParent(e,findParent(e))),t}setDefaultEdgeLabel(e){return this._defaultEdgeLabelFn=e,typeof e!=`function`&&(this._defaultEdgeLabelFn=()=>e),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(e,t){var n=this,r=arguments;return e.reduce(function(e,i){return r.length>1?n.setEdge(e,i,t):n.setEdge(e,i),i}),this}setEdge(){var e,t,n,r,i=!1,a=arguments[0];typeof a==`object`&&a&&`v`in a?(e=a.v,t=a.w,n=a.name,arguments.length===2&&(r=arguments[1],i=!0)):(e=a,t=arguments[1],n=arguments[3],arguments.length>2&&(r=arguments[2],i=!0)),e=``+e,t=``+t,n!==void 0&&(n=``+n);var o=edgeArgsToId(this._isDirected,e,t,n);if(Object.hasOwn(this._edgeLabels,o))return i&&(this._edgeLabels[o]=r),this;if(n!==void 0&&!this._isMultigraph)throw Error(`Cannot set a named edge when isMultigraph = false`);this.setNode(e),this.setNode(t),this._edgeLabels[o]=i?r:this._defaultEdgeLabelFn(e,t,n);var s=edgeArgsToObj(this._isDirected,e,t,n);return e=s.v,t=s.w,Object.freeze(s),this._edgeObjs[o]=s,incrementOrInitEntry(this._preds[t],e),incrementOrInitEntry(this._sucs[e],t),this._in[t][o]=s,this._out[e][o]=s,this._edgeCount++,this}edge(e,t,n){var r=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,e,t,n);return this._edgeLabels[r]}edgeAsObj(){let e=this.edge(...arguments);return typeof e==`object`?e:{label:e}}hasEdge(e,t,n){var r=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,e,t,n);return Object.hasOwn(this._edgeLabels,r)}removeEdge(e,t,n){var r=arguments.length===1?edgeObjToId(this._isDirected,arguments[0]):edgeArgsToId(this._isDirected,e,t,n),i=this._edgeObjs[r];return i&&(e=i.v,t=i.w,delete this._edgeLabels[r],delete this._edgeObjs[r],decrementOrRemoveEntry(this._preds[t],e),decrementOrRemoveEntry(this._sucs[e],t),delete this._in[t][r],delete this._out[e][r],this._edgeCount--),this}inEdges(e,t){var n=this._in[e];if(n){var r=Object.values(n);return t?r.filter(e=>e.v===t):r}}outEdges(e,t){var n=this._out[e];if(n){var r=Object.values(n);return t?r.filter(e=>e.w===t):r}}nodeEdges(e,t){var n=this.inEdges(e,t);if(n)return n.concat(this.outEdges(e,t))}};function incrementOrInitEntry(e,t){e[t]?e[t]++:e[t]=1}function decrementOrRemoveEntry(e,t){--e[t]||delete e[t]}function edgeArgsToId(e,t,r,a){var o=``+t,s=``+r;if(!e&&o>s){var c=o;o=s,s=c}return o+i+s+i+(a===void 0?n:a)}function edgeArgsToObj(e,t,n,r){var i=``+t,a=``+n;if(!e&&i>a){var o=i;i=a,a=o}var s={v:i,w:a};return r&&(s.name=r),s}function edgeObjToId(e,t){return edgeArgsToId(e,t.v,t.w,t.name)}t.exports=Graph})),n=e(((e,t)=>{t.exports=`2.2.4`})),r=e(((e,r)=>{r.exports={Graph:t(),version:n()}})),i=e(((e,n)=>{var r=t();n.exports={write,read};function write(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:writeNodes(e),edges:writeEdges(e)};return e.graph()!==void 0&&(t.value=structuredClone(e.graph())),t}function writeNodes(e){return e.nodes().map(function(t){var n=e.node(t),r=e.parent(t),i={v:t};return n!==void 0&&(i.value=n),r!==void 0&&(i.parent=r),i})}function writeEdges(e){return e.edges().map(function(t){var n=e.edge(t),r={v:t.v,w:t.w};return t.name!==void 0&&(r.name=t.name),n!==void 0&&(r.value=n),r})}function read(e){var t=new r(e.options).setGraph(e.value);return e.nodes.forEach(function(e){t.setNode(e.v,e.value),e.parent&&t.setParent(e.v,e.parent)}),e.edges.forEach(function(e){t.setEdge({v:e.v,w:e.w,name:e.name},e.value)}),t}})),a=e(((e,t)=>{t.exports=components;function components(e){var t={},n=[],r;function dfs(n){Object.hasOwn(t,n)||(t[n]=!0,r.push(n),e.successors(n).forEach(dfs),e.predecessors(n).forEach(dfs))}return e.nodes().forEach(function(e){r=[],dfs(e),r.length&&n.push(r)}),n}})),o=e(((e,t)=>{var PriorityQueue=class{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(e){return e.key})}has(e){return Object.hasOwn(this._keyIndices,e)}priority(e){var t=this._keyIndices[e];if(t!==void 0)return this._arr[t].priority}min(){if(this.size()===0)throw Error(`Queue underflow`);return this._arr[0].key}add(e,t){var n=this._keyIndices;if(e=String(e),!Object.hasOwn(n,e)){var r=this._arr,i=r.length;return n[e]=i,r.push({key:e,priority:t}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var e=this._arr.pop();return delete this._keyIndices[e.key],this._heapify(0),e.key}decrease(e,t){var n=this._keyIndices[e];if(t>this._arr[n].priority)throw Error(`New priority is greater than current priority. Key: `+e+` Old: `+this._arr[n].priority+` New: `+t);this._arr[n].priority=t,this._decrease(n)}_heapify(e){var t=this._arr,n=2*e,r=n+1,i=e;n<t.length&&(i=t[n].priority<t[i].priority?n:i,r<t.length&&(i=t[r].priority<t[i].priority?r:i),i!==e&&(this._swap(e,i),this._heapify(i)))}_decrease(e){for(var t=this._arr,n=t[e].priority,r;e!==0&&(r=e>>1,!(t[r].priority<n));)this._swap(e,r),e=r}_swap(e,t){var n=this._arr,r=this._keyIndices,i=n[e],a=n[t];n[e]=a,n[t]=i,r[a.key]=e,r[i.key]=t}};t.exports=PriorityQueue})),s=e(((e,t)=>{var n=o();t.exports=dijkstra;var DEFAULT_WEIGHT_FUNC=()=>1;function dijkstra(e,t,n,r){return runDijkstra(e,String(t),n||DEFAULT_WEIGHT_FUNC,r||function(t){return e.outEdges(t)})}function runDijkstra(e,t,r,i){var a={},o=new n,s,c,updateNeighbors=function(e){var t=e.v===s?e.w:e.v,n=a[t],i=r(e),l=c.distance+i;if(i<0)throw Error(`dijkstra does not allow negative edge weights. Bad edge: `+e+` Weight: `+i);l<n.distance&&(n.distance=l,n.predecessor=s,o.decrease(t,l))};for(e.nodes().forEach(function(e){var n=e===t?0:1/0;a[e]={distance:n},o.add(e,n)});o.size()>0&&(s=o.removeMin(),c=a[s],c.distance!==1/0);)i(s).forEach(updateNeighbors);return a}})),c=e(((e,t)=>{var n=s();t.exports=dijkstraAll;function dijkstraAll(e,t,r){return e.nodes().reduce(function(i,a){return i[a]=n(e,a,t,r),i},{})}})),l=e(((e,t)=>{t.exports=tarjan;function tarjan(e){var t=0,n=[],r={},i=[];function dfs(a){var o=r[a]={onStack:!0,lowlink:t,index:t++};if(n.push(a),e.successors(a).forEach(function(e){Object.hasOwn(r,e)?r[e].onStack&&(o.lowlink=Math.min(o.lowlink,r[e].index)):(dfs(e),o.lowlink=Math.min(o.lowlink,r[e].lowlink))}),o.lowlink===o.index){var s=[],c;do c=n.pop(),r[c].onStack=!1,s.push(c);while(a!==c);i.push(s)}}return e.nodes().forEach(function(e){Object.hasOwn(r,e)||dfs(e)}),i}})),u=e(((e,t)=>{var n=l();t.exports=findCycles;function findCycles(e){return n(e).filter(function(t){return t.length>1||t.length===1&&e.hasEdge(t[0],t[0])})}})),d=e(((e,t)=>{t.exports=floydWarshall;var DEFAULT_WEIGHT_FUNC=()=>1;function floydWarshall(e,t,n){return runFloydWarshall(e,t||DEFAULT_WEIGHT_FUNC,n||function(t){return e.outEdges(t)})}function runFloydWarshall(e,t,n){var r={},i=e.nodes();return i.forEach(function(e){r[e]={},r[e][e]={distance:0},i.forEach(function(t){e!==t&&(r[e][t]={distance:1/0})}),n(e).forEach(function(n){var i=n.v===e?n.w:n.v,a=t(n);r[e][i]={distance:a,predecessor:e}})}),i.forEach(function(e){var t=r[e];i.forEach(function(n){var a=r[n];i.forEach(function(n){var r=a[e],i=t[n],o=a[n],s=r.distance+i.distance;s<o.distance&&(o.distance=s,o.predecessor=i.predecessor)})})}),r}})),f=e(((e,t)=>{function topsort(e){var t={},n={},r=[];function visit(i){if(Object.hasOwn(n,i))throw new CycleException;Object.hasOwn(t,i)||(n[i]=!0,t[i]=!0,e.predecessors(i).forEach(visit),delete n[i],r.push(i))}if(e.sinks().forEach(visit),Object.keys(t).length!==e.nodeCount())throw new CycleException;return r}var CycleException=class extends Error{constructor(){super(...arguments)}};t.exports=topsort,topsort.CycleException=CycleException})),p=e(((e,t)=>{var n=f();t.exports=isAcyclic;function isAcyclic(e){try{n(e)}catch(e){if(e instanceof n.CycleException)return!1;throw e}return!0}})),m=e(((e,t)=>{t.exports=dfs;function dfs(e,t,n){Array.isArray(t)||(t=[t]);var r=e.isDirected()?t=>e.successors(t):t=>e.neighbors(t),i=n===`post`?postOrderDfs:preOrderDfs,a=[],o={};return t.forEach(t=>{if(!e.hasNode(t))throw Error(`Graph does not have node: `+t);i(t,r,o,a)}),a}function postOrderDfs(e,t,n,r){for(var i=[[e,!1]];i.length>0;){var a=i.pop();a[1]?r.push(a[0]):Object.hasOwn(n,a[0])||(n[a[0]]=!0,i.push([a[0],!0]),forEachRight(t(a[0]),e=>i.push([e,!1])))}}function preOrderDfs(e,t,n,r){for(var i=[e];i.length>0;){var a=i.pop();Object.hasOwn(n,a)||(n[a]=!0,r.push(a),forEachRight(t(a),e=>i.push(e)))}}function forEachRight(e,t){for(var n=e.length;n--;)t(e[n],n,e);return e}})),h=e(((e,t)=>{var n=m();t.exports=postorder;function postorder(e,t){return n(e,t,`post`)}})),g=e(((e,t)=>{var n=m();t.exports=preorder;function preorder(e,t){return n(e,t,`pre`)}})),_=e(((e,n)=>{var r=t(),i=o();n.exports=prim;function prim(e,t){var n=new r,a={},o=new i,s;function updateNeighbors(e){var n=e.v===s?e.w:e.v,r=o.priority(n);if(r!==void 0){var i=t(e);i<r&&(a[n]=s,o.decrease(n,i))}}if(e.nodeCount()===0)return n;e.nodes().forEach(function(e){o.add(e,1/0),n.setNode(e)}),o.decrease(e.nodes()[0],0);for(var c=!1;o.size()>0;){if(s=o.removeMin(),Object.hasOwn(a,s))n.setEdge(s,a[s]);else if(c)throw Error(`Input graph is not connected: `+e);else c=!0;e.nodeEdges(s).forEach(updateNeighbors)}return n}})),v=e(((e,t)=>{t.exports={components:a(),dijkstra:s(),dijkstraAll:c(),findCycles:u(),floydWarshall:d(),isAcyclic:p(),postorder:h(),preorder:g(),prim:_(),tarjan:l(),topsort:f()}})),y=e(((e,t)=>{var n=r();t.exports={Graph:n.Graph,json:i(),alg:v(),version:n.version}})),b=e(((e,t)=>{var List=class{constructor(){let e={};e._next=e._prev=e,this._sentinel=e}dequeue(){let e=this._sentinel,t=e._prev;if(t!==e)return unlink(t),t}enqueue(e){let t=this._sentinel;e._prev&&e._next&&unlink(e),e._next=t._next,t._next._prev=e,t._next=e,e._prev=t}toString(){let e=[],t=this._sentinel,n=t._prev;for(;n!==t;)e.push(JSON.stringify(n,filterOutLinks)),n=n._prev;return`[`+e.join(`, `)+`]`}};function unlink(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function filterOutLinks(e,t){if(e!==`_next`&&e!==`_prev`)return t}t.exports=List})),x=e(((e,t)=>{let n=y().Graph,r=b();t.exports=greedyFAS;let DEFAULT_WEIGHT_FN=()=>1;function greedyFAS(e,t){if(e.nodeCount()<=1)return[];let n=buildState(e,t||DEFAULT_WEIGHT_FN);return doGreedyFAS(n.graph,n.buckets,n.zeroIdx).flatMap(t=>e.outEdges(t.v,t.w))}function doGreedyFAS(e,t,n){let r=[],i=t[t.length-1],a=t[0],o;for(;e.nodeCount();){for(;o=a.dequeue();)removeNode(e,t,n,o);for(;o=i.dequeue();)removeNode(e,t,n,o);if(e.nodeCount()){for(let i=t.length-2;i>0;--i)if(o=t[i].dequeue(),o){r=r.concat(removeNode(e,t,n,o,!0));break}}}return r}function removeNode(e,t,n,r,i){let a=i?[]:void 0;return e.inEdges(r.v).forEach(r=>{let o=e.edge(r),s=e.node(r.v);i&&a.push({v:r.v,w:r.w}),s.out-=o,assignBucket(t,n,s)}),e.outEdges(r.v).forEach(r=>{let i=e.edge(r),a=r.w,o=e.node(a);o.in-=i,assignBucket(t,n,o)}),e.removeNode(r.v),a}function buildState(e,t){let i=new n,a=0,o=0;e.nodes().forEach(e=>{i.setNode(e,{v:e,in:0,out:0})}),e.edges().forEach(e=>{let n=i.edge(e.v,e.w)||0,r=t(e),s=n+r;i.setEdge(e.v,e.w,s),o=Math.max(o,i.node(e.v).out+=r),a=Math.max(a,i.node(e.w).in+=r)});let s=range(o+a+3).map(()=>new r),c=a+1;return i.nodes().forEach(e=>{assignBucket(s,c,i.node(e))}),{graph:i,buckets:s,zeroIdx:c}}function assignBucket(e,t,n){n.out?n.in?e[n.out-n.in+t].enqueue(n):e[e.length-1].enqueue(n):e[0].enqueue(n)}function range(e){let t=[];for(let n=0;n<e;n++)t.push(n);return t}})),S=e(((e,t)=>{let n=y().Graph;t.exports={addBorderNode,addDummyNode,applyWithChunking,asNonCompoundGraph,buildLayerMatrix,intersectRect,mapValues,maxRank,normalizeRanks,notime,partition,pick,predecessorWeights,range,removeEmptyRanks,simplify,successorWeights,time,uniqueId,zipObject};function addDummyNode(e,t,n,r){for(var i=r;e.hasNode(i);)i=uniqueId(r);return n.dummy=t,e.setNode(i,n),i}function simplify(e){let t=new n().setGraph(e.graph());return e.nodes().forEach(n=>t.setNode(n,e.node(n))),e.edges().forEach(n=>{let r=t.edge(n.v,n.w)||{weight:0,minlen:1},i=e.edge(n);t.setEdge(n.v,n.w,{weight:r.weight+i.weight,minlen:Math.max(r.minlen,i.minlen)})}),t}function asNonCompoundGraph(e){let t=new n({multigraph:e.isMultigraph()}).setGraph(e.graph());return e.nodes().forEach(n=>{e.children(n).length||t.setNode(n,e.node(n))}),e.edges().forEach(n=>{t.setEdge(n,e.edge(n))}),t}function successorWeights(e){let t=e.nodes().map(t=>{let n={};return e.outEdges(t).forEach(t=>{n[t.w]=(n[t.w]||0)+e.edge(t).weight}),n});return zipObject(e.nodes(),t)}function predecessorWeights(e){let t=e.nodes().map(t=>{let n={};return e.inEdges(t).forEach(t=>{n[t.v]=(n[t.v]||0)+e.edge(t).weight}),n});return zipObject(e.nodes(),t)}function intersectRect(e,t){let n=e.x,r=e.y,i=t.x-n,a=t.y-r,o=e.width/2,s=e.height/2;if(!i&&!a)throw Error(`Not possible to find intersection inside of the rectangle`);let c,l;return Math.abs(a)*o>Math.abs(i)*s?(a<0&&(s=-s),c=s*i/a,l=s):(i<0&&(o=-o),c=o,l=o*a/i),{x:n+c,y:r+l}}function buildLayerMatrix(e){let t=range(maxRank(e)+1).map(()=>[]);return e.nodes().forEach(n=>{let r=e.node(n),i=r.rank;i!==void 0&&(t[i][r.order]=n)}),t}function normalizeRanks(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MAX_VALUE:n}),n=applyWithChunking(Math.min,t);e.nodes().forEach(t=>{let r=e.node(t);Object.hasOwn(r,`rank`)&&(r.rank-=n)})}function removeEmptyRanks(e){let t=e.nodes().map(t=>e.node(t).rank),n=applyWithChunking(Math.min,t),r=[];e.nodes().forEach(t=>{let i=e.node(t).rank-n;r[i]||(r[i]=[]),r[i].push(t)});let i=0,a=e.graph().nodeRankFactor;Array.from(r).forEach((t,n)=>{t===void 0&&n%a!==0?--i:t!==void 0&&i&&t.forEach(t=>e.node(t).rank+=i)})}function addBorderNode(e,t,n,r){let i={width:0,height:0};return arguments.length>=4&&(i.rank=n,i.order=r),addDummyNode(e,`border`,i,t)}function splitToChunks(e,t=r){let n=[];for(let r=0;r<e.length;r+=t){let i=e.slice(r,r+t);n.push(i)}return n}let r=65535;function applyWithChunking(e,t){if(t.length>r){let n=splitToChunks(t);return e.apply(null,n.map(t=>e.apply(null,t)))}else return e.apply(null,t)}function maxRank(e){let t=e.nodes().map(t=>{let n=e.node(t).rank;return n===void 0?Number.MIN_VALUE:n});return applyWithChunking(Math.max,t)}function partition(e,t){let n={lhs:[],rhs:[]};return e.forEach(e=>{t(e)?n.lhs.push(e):n.rhs.push(e)}),n}function time(e,t){let n=Date.now();try{return t()}finally{console.log(e+` time: `+(Date.now()-n)+`ms`)}}function notime(e,t){return t()}let i=0;function uniqueId(e){return e+(``+ ++i)}function range(e,t,n=1){t??(t=e,e=0);let endCon=e=>e<t;n<0&&(endCon=e=>t<e);let r=[];for(let t=e;endCon(t);t+=n)r.push(t);return r}function pick(e,t){let n={};for(let r of t)e[r]!==void 0&&(n[r]=e[r]);return n}function mapValues(e,t){let func=t;return typeof t==`string`&&(func=e=>e[t]),Object.entries(e).reduce((e,[t,n])=>(e[t]=func(n,t),e),{})}function zipObject(e,t){return e.reduce((e,n,r)=>(e[n]=t[r],e),{})}})),C=e(((e,t)=>{let n=x(),r=S().uniqueId;t.exports={run,undo};function run(e){(e.graph().acyclicer===`greedy`?n(e,weightFn(e)):dfsFAS(e)).forEach(t=>{let n=e.edge(t);e.removeEdge(t),n.forwardName=t.name,n.reversed=!0,e.setEdge(t.w,t.v,n,r(`rev`))});function weightFn(e){return t=>e.edge(t).weight}}function dfsFAS(e){let t=[],n={},r={};function dfs(i){Object.hasOwn(r,i)||(r[i]=!0,n[i]=!0,e.outEdges(i).forEach(e=>{Object.hasOwn(n,e.w)?t.push(e):dfs(e.w)}),delete n[i])}return e.nodes().forEach(dfs),t}function undo(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.reversed){e.removeEdge(t);let r=n.forwardName;delete n.reversed,delete n.forwardName,e.setEdge(t.w,t.v,n,r)}})}})),w=e(((e,t)=>{let n=S();t.exports={run,undo};function run(e){e.graph().dummyChains=[],e.edges().forEach(t=>normalizeEdge(e,t))}function normalizeEdge(e,t){let r=t.v,i=e.node(r).rank,a=t.w,o=e.node(a).rank,s=t.name,c=e.edge(t),l=c.labelRank;if(o===i+1)return;e.removeEdge(t);let u,d,f;for(f=0,++i;i<o;++f,++i)c.points=[],d={width:0,height:0,edgeLabel:c,edgeObj:t,rank:i},u=n.addDummyNode(e,`edge`,d,`_d`),i===l&&(d.width=c.width,d.height=c.height,d.dummy=`edge-label`,d.labelpos=c.labelpos),e.setEdge(r,u,{weight:c.weight},s),f===0&&e.graph().dummyChains.push(u),r=u;e.setEdge(r,a,{weight:c.weight},s)}function undo(e){e.graph().dummyChains.forEach(t=>{let n=e.node(t),r=n.edgeLabel,i;for(e.setEdge(n.edgeObj,r);n.dummy;)i=e.successors(t)[0],e.removeNode(t),r.points.push({x:n.x,y:n.y}),n.dummy===`edge-label`&&(r.x=n.x,r.y=n.y,r.width=n.width,r.height=n.height),t=i,n=e.node(t)})}})),T=e(((e,t)=>{let{applyWithChunking:n}=S();t.exports={longestPath,slack};function longestPath(e){var t={};function dfs(r){var i=e.node(r);if(Object.hasOwn(t,r))return i.rank;t[r]=!0;let a=e.outEdges(r).map(t=>t==null?1/0:dfs(t.w)-e.edge(t).minlen);var o=n(Math.min,a);return o===1/0&&(o=0),i.rank=o}e.sources().forEach(dfs)}function slack(e,t){return e.node(t.w).rank-e.node(t.v).rank-e.edge(t).minlen}})),E=e(((e,t)=>{var n=y().Graph,r=T().slack;t.exports=feasibleTree;function feasibleTree(e){var t=new n({directed:!1}),i=e.nodes()[0],a=e.nodeCount();t.setNode(i,{});for(var o,s;tightTree(t,e)<a;)o=findMinSlackEdge(t,e),s=t.hasNode(o.v)?r(e,o):-r(e,o),shiftRanks(t,e,s);return t}function tightTree(e,t){function dfs(n){t.nodeEdges(n).forEach(i=>{var a=i.v,o=n===a?i.w:a;!e.hasNode(o)&&!r(t,i)&&(e.setNode(o,{}),e.setEdge(n,o,{}),dfs(o))})}return e.nodes().forEach(dfs),e.nodeCount()}function findMinSlackEdge(e,t){return t.edges().reduce((n,i)=>{let a=1/0;return e.hasNode(i.v)!==e.hasNode(i.w)&&(a=r(t,i)),a<n[0]?[a,i]:n},[1/0,null])[1]}function shiftRanks(e,t,n){e.nodes().forEach(e=>t.node(e).rank+=n)}})),D=e(((e,t)=>{var n=E(),r=T().slack,i=T().longestPath,a=y().alg.preorder,o=y().alg.postorder,s=S().simplify;t.exports=networkSimplex,networkSimplex.initLowLimValues=initLowLimValues,networkSimplex.initCutValues=initCutValues,networkSimplex.calcCutValue=calcCutValue,networkSimplex.leaveEdge=leaveEdge,networkSimplex.enterEdge=enterEdge,networkSimplex.exchangeEdges=exchangeEdges;function networkSimplex(e){e=s(e),i(e);var t=n(e);initLowLimValues(t),initCutValues(t,e);for(var r,a;r=leaveEdge(t);)a=enterEdge(t,e,r),exchangeEdges(t,e,r,a)}function initCutValues(e,t){var n=o(e,e.nodes());n=n.slice(0,n.length-1),n.forEach(n=>assignCutValue(e,t,n))}function assignCutValue(e,t,n){var r=e.node(n).parent;e.edge(n,r).cutvalue=calcCutValue(e,t,n)}function calcCutValue(e,t,n){var r=e.node(n).parent,i=!0,a=t.edge(n,r),o=0;return a||=(i=!1,t.edge(r,n)),o=a.weight,t.nodeEdges(n).forEach(a=>{var s=a.v===n,c=s?a.w:a.v;if(c!==r){var l=s===i,u=t.edge(a).weight;if(o+=l?u:-u,isTreeEdge(e,n,c)){var d=e.edge(n,c).cutvalue;o+=l?-d:d}}}),o}function initLowLimValues(e,t){arguments.length<2&&(t=e.nodes()[0]),dfsAssignLowLim(e,{},1,t)}function dfsAssignLowLim(e,t,n,r,i){var a=n,o=e.node(r);return t[r]=!0,e.neighbors(r).forEach(i=>{Object.hasOwn(t,i)||(n=dfsAssignLowLim(e,t,n,i,r))}),o.low=a,o.lim=n++,i?o.parent=i:delete o.parent,n}function leaveEdge(e){return e.edges().find(t=>e.edge(t).cutvalue<0)}function enterEdge(e,t,n){var i=n.v,a=n.w;t.hasEdge(i,a)||(i=n.w,a=n.v);var o=e.node(i),s=e.node(a),c=o,l=!1;return o.lim>s.lim&&(c=s,l=!0),t.edges().filter(t=>l===isDescendant(e,e.node(t.v),c)&&l!==isDescendant(e,e.node(t.w),c)).reduce((e,n)=>r(t,n)<r(t,e)?n:e)}function exchangeEdges(e,t,n,r){var i=n.v,a=n.w;e.removeEdge(i,a),e.setEdge(r.v,r.w,{}),initLowLimValues(e),initCutValues(e,t),updateRanks(e,t)}function updateRanks(e,t){var n=a(e,e.nodes().find(e=>!t.node(e).parent));n=n.slice(1),n.forEach(n=>{var r=e.node(n).parent,i=t.edge(n,r),a=!1;i||(i=t.edge(r,n),a=!0),t.node(n).rank=t.node(r).rank+(a?i.minlen:-i.minlen)})}function isTreeEdge(e,t,n){return e.hasEdge(t,n)}function isDescendant(e,t,n){return n.low<=t.lim&&t.lim<=n.lim}})),O=e(((e,t)=>{var n=T().longestPath,r=E(),i=D();t.exports=rank;function rank(e){var t=e.graph().ranker;if(t instanceof Function)return t(e);switch(e.graph().ranker){case`network-simplex`:networkSimplexRanker(e);break;case`tight-tree`:tightTreeRanker(e);break;case`longest-path`:a(e);break;case`none`:break;default:networkSimplexRanker(e)}}var a=n;function tightTreeRanker(e){n(e),r(e)}function networkSimplexRanker(e){i(e)}})),k=e(((e,t)=>{t.exports=parentDummyChains;function parentDummyChains(e){let t=postorder(e);e.graph().dummyChains.forEach(n=>{let r=e.node(n),i=r.edgeObj,a=findPath(e,t,i.v,i.w),o=a.path,s=a.lca,c=0,l=o[c],u=!0;for(;n!==i.w;){if(r=e.node(n),u){for(;(l=o[c])!==s&&e.node(l).maxRank<r.rank;)c++;l===s&&(u=!1)}if(!u){for(;c<o.length-1&&e.node(l=o[c+1]).minRank<=r.rank;)c++;l=o[c]}e.setParent(n,l),n=e.successors(n)[0]}})}function findPath(e,t,n,r){let i=[],a=[],o=Math.min(t[n].low,t[r].low),s=Math.max(t[n].lim,t[r].lim),c,l;c=n;do c=e.parent(c),i.push(c);while(c&&(t[c].low>o||s>t[c].lim));for(l=c,c=r;(c=e.parent(c))!==l;)a.push(c);return{path:i.concat(a.reverse()),lca:l}}function postorder(e){let t={},n=0;function dfs(r){let i=n;e.children(r).forEach(dfs),t[r]={low:i,lim:n++}}return e.children().forEach(dfs),t}})),A=e(((e,t)=>{let n=S();t.exports={run,cleanup};function run(e){let t=n.addDummyNode(e,`root`,{},`_root`),r=treeDepths(e),i=Object.values(r),a=n.applyWithChunking(Math.max,i)-1,o=2*a+1;e.graph().nestingRoot=t,e.edges().forEach(t=>e.edge(t).minlen*=o);let s=sumWeights(e)+1;e.children().forEach(n=>dfs(e,t,o,s,a,r,n)),e.graph().nodeRankFactor=o}function dfs(e,t,r,i,a,o,s){let c=e.children(s);if(!c.length){s!==t&&e.setEdge(t,s,{weight:0,minlen:r});return}let l=n.addBorderNode(e,`_bt`),u=n.addBorderNode(e,`_bb`),d=e.node(s);e.setParent(l,s),d.borderTop=l,e.setParent(u,s),d.borderBottom=u,c.forEach(n=>{dfs(e,t,r,i,a,o,n);let c=e.node(n),d=c.borderTop?c.borderTop:n,f=c.borderBottom?c.borderBottom:n,p=c.borderTop?i:2*i,m=d===f?a-o[s]+1:1;e.setEdge(l,d,{weight:p,minlen:m,nestingEdge:!0}),e.setEdge(f,u,{weight:p,minlen:m,nestingEdge:!0})}),e.parent(s)||e.setEdge(t,l,{weight:0,minlen:a+o[s]})}function treeDepths(e){var t={};function dfs(n,r){var i=e.children(n);i&&i.length&&i.forEach(e=>dfs(e,r+1)),t[n]=r}return e.children().forEach(e=>dfs(e,1)),t}function sumWeights(e){return e.edges().reduce((t,n)=>t+e.edge(n).weight,0)}function cleanup(e){var t=e.graph();e.removeNode(t.nestingRoot),delete t.nestingRoot,e.edges().forEach(t=>{e.edge(t).nestingEdge&&e.removeEdge(t)})}})),j=e(((e,t)=>{let n=S();t.exports=addBorderSegments;function addBorderSegments(e){function dfs(t){let n=e.children(t),r=e.node(t);if(n.length&&n.forEach(dfs),Object.hasOwn(r,`minRank`)){r.borderLeft=[],r.borderRight=[];for(let n=r.minRank,i=r.maxRank+1;n<i;++n)addBorderNode(e,`borderLeft`,`_bl`,t,r,n),addBorderNode(e,`borderRight`,`_br`,t,r,n)}}e.children().forEach(dfs)}function addBorderNode(e,t,r,i,a,o){let s={width:0,height:0,rank:o,borderType:t},c=a[t][o-1],l=n.addDummyNode(e,`border`,s,r);a[t][o]=l,e.setParent(l,i),c&&e.setEdge(c,l,{weight:1})}})),M=e(((e,t)=>{t.exports={adjust,undo};function adjust(e){let t=e.graph().rankdir.toLowerCase();(t===`lr`||t===`rl`)&&swapWidthHeight(e)}function undo(e){let t=e.graph().rankdir.toLowerCase();(t===`bt`||t===`rl`)&&reverseY(e),(t===`lr`||t===`rl`)&&(swapXY(e),swapWidthHeight(e))}function swapWidthHeight(e){e.nodes().forEach(t=>swapWidthHeightOne(e.node(t))),e.edges().forEach(t=>swapWidthHeightOne(e.edge(t)))}function swapWidthHeightOne(e){let t=e.width;e.width=e.height,e.height=t}function reverseY(e){e.nodes().forEach(t=>reverseYOne(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(reverseYOne),Object.hasOwn(n,`y`)&&reverseYOne(n)})}function reverseYOne(e){e.y=-e.y}function swapXY(e){e.nodes().forEach(t=>swapXYOne(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);n.points.forEach(swapXYOne),Object.hasOwn(n,`x`)&&swapXYOne(n)})}function swapXYOne(e){let t=e.x;e.x=e.y,e.y=t}})),N=e(((e,t)=>{let n=S();t.exports=initOrder;function initOrder(e){let t={},r=e.nodes().filter(t=>!e.children(t).length),i=r.map(t=>e.node(t).rank),a=n.applyWithChunking(Math.max,i),o=n.range(a+1).map(()=>[]);function dfs(n){t[n]||(t[n]=!0,o[e.node(n).rank].push(n),e.successors(n).forEach(dfs))}return r.sort((t,n)=>e.node(t).rank-e.node(n).rank).forEach(dfs),o}})),P=e(((e,t)=>{let n=S().zipObject;t.exports=crossCount;function crossCount(e,t){let n=0;for(let r=1;r<t.length;++r)n+=twoLayerCrossCount(e,t[r-1],t[r]);return n}function twoLayerCrossCount(e,t,r){let i=n(r,r.map((e,t)=>t)),a=t.flatMap(t=>e.outEdges(t).map(t=>({pos:i[t.w],weight:e.edge(t).weight})).sort((e,t)=>e.pos-t.pos)),o=1;for(;o<r.length;)o<<=1;let s=2*o-1;--o;let c=Array(s).fill(0),l=0;return a.forEach(e=>{let t=e.pos+o;c[t]+=e.weight;let n=0;for(;t>0;)t%2&&(n+=c[t+1]),t=t-1>>1,c[t]+=e.weight;l+=e.weight*n}),l}})),F=e(((e,t)=>{t.exports=barycenter;function barycenter(e,t=[]){return t.map(t=>{let n=e.inEdges(t);if(n.length){let r=n.reduce((t,n)=>{let r=e.edge(n),i=e.node(n.v);return{sum:t.sum+r.weight*i.order,weight:t.weight+r.weight}},{sum:0,weight:0});return{v:t,barycenter:r.sum/r.weight,weight:r.weight}}else return{v:t}})}})),I=e(((e,t)=>{let n=S();t.exports=resolveConflicts;function resolveConflicts(e,t){let n={};return e.forEach((e,t)=>{let r=n[e.v]={indegree:0,in:[],out:[],vs:[e.v],i:t};e.barycenter!==void 0&&(r.barycenter=e.barycenter,r.weight=e.weight)}),t.edges().forEach(e=>{let t=n[e.v],r=n[e.w];t!==void 0&&r!==void 0&&(r.indegree++,t.out.push(n[e.w]))}),doResolveConflicts(Object.values(n).filter(e=>!e.indegree))}function doResolveConflicts(e){let t=[];function handleIn(e){return t=>{t.merged||(t.barycenter===void 0||e.barycenter===void 0||t.barycenter>=e.barycenter)&&mergeEntries(e,t)}}function handleOut(t){return n=>{n.in.push(t),--n.indegree===0&&e.push(n)}}for(;e.length;){let n=e.pop();t.push(n),n.in.reverse().forEach(handleIn(n)),n.out.forEach(handleOut(n))}return t.filter(e=>!e.merged).map(e=>n.pick(e,[`vs`,`i`,`barycenter`,`weight`]))}function mergeEntries(e,t){let n=0,r=0;e.weight&&(n+=e.barycenter*e.weight,r+=e.weight),t.weight&&(n+=t.barycenter*t.weight,r+=t.weight),e.vs=t.vs.concat(e.vs),e.barycenter=n/r,e.weight=r,e.i=Math.min(t.i,e.i),t.merged=!0}})),L=e(((e,t)=>{let n=S();t.exports=sort;function sort(e,t){let r=n.partition(e,e=>Object.hasOwn(e,`barycenter`)),i=r.lhs,a=r.rhs.sort((e,t)=>t.i-e.i),o=[],s=0,c=0,l=0;i.sort(compareWithBias(!!t)),l=consumeUnsortable(o,a,l),i.forEach(e=>{l+=e.vs.length,o.push(e.vs),s+=e.barycenter*e.weight,c+=e.weight,l=consumeUnsortable(o,a,l)});let u={vs:o.flat(!0)};return c&&(u.barycenter=s/c,u.weight=c),u}function consumeUnsortable(e,t,n){let r;for(;t.length&&(r=t[t.length-1]).i<=n;)t.pop(),e.push(r.vs),n++;return n}function compareWithBias(e){return(t,n)=>t.barycenter<n.barycenter?-1:t.barycenter>n.barycenter?1:e?n.i-t.i:t.i-n.i}})),R=e(((e,t)=>{let n=F(),r=I(),i=L();t.exports=sortSubgraph;function sortSubgraph(e,t,a,o){let s=e.children(t),c=e.node(t),l=c?c.borderLeft:void 0,u=c?c.borderRight:void 0,d={};l&&(s=s.filter(e=>e!==l&&e!==u));let f=n(e,s);f.forEach(t=>{if(e.children(t.v).length){let n=sortSubgraph(e,t.v,a,o);d[t.v]=n,Object.hasOwn(n,`barycenter`)&&mergeBarycenters(t,n)}});let p=r(f,a);expandSubgraphs(p,d);let m=i(p,o);if(l&&(m.vs=[l,m.vs,u].flat(!0),e.predecessors(l).length)){let t=e.node(e.predecessors(l)[0]),n=e.node(e.predecessors(u)[0]);Object.hasOwn(m,`barycenter`)||(m.barycenter=0,m.weight=0),m.barycenter=(m.barycenter*m.weight+t.order+n.order)/(m.weight+2),m.weight+=2}return m}function expandSubgraphs(e,t){e.forEach(e=>{e.vs=e.vs.flatMap(e=>t[e]?t[e].vs:e)})}function mergeBarycenters(e,t){e.barycenter===void 0?(e.barycenter=t.barycenter,e.weight=t.weight):(e.barycenter=(e.barycenter*e.weight+t.barycenter*t.weight)/(e.weight+t.weight),e.weight+=t.weight)}})),z=e(((e,t)=>{let n=y().Graph,r=S();t.exports=buildLayerGraph;function buildLayerGraph(e,t,r,i){i||=e.nodes();let a=createRootNode(e),o=new n({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(t=>e.node(t));return i.forEach(n=>{let i=e.node(n),s=e.parent(n);(i.rank===t||i.minRank<=t&&t<=i.maxRank)&&(o.setNode(n),o.setParent(n,s||a),e[r](n).forEach(t=>{let r=t.v===n?t.w:t.v,i=o.edge(r,n),a=i===void 0?0:i.weight;o.setEdge(r,n,{weight:e.edge(t).weight+a})}),Object.hasOwn(i,`minRank`)&&o.setNode(n,{borderLeft:i.borderLeft[t],borderRight:i.borderRight[t]}))}),o}function createRootNode(e){for(var t;e.hasNode(t=r.uniqueId(`_root`)););return t}})),B=e(((e,t)=>{t.exports=addSubgraphConstraints;function addSubgraphConstraints(e,t,n){let r={},i;n.forEach(n=>{let a=e.parent(n),o,s;for(;a;){if(o=e.parent(a),o?(s=r[o],r[o]=a):(s=i,i=a),s&&s!==a){t.setEdge(s,a);return}a=o}})}})),V=e(((e,t)=>{let n=N(),r=P(),i=R(),a=z(),o=B(),s=y().Graph,c=S();t.exports=order;function order(e,t){if(t&&typeof t.customOrder==`function`){t.customOrder(e,order);return}let i=c.maxRank(e),a=buildLayerGraphs(e,c.range(1,i+1),`inEdges`),o=buildLayerGraphs(e,c.range(i-1,-1,-1),`outEdges`),s=n(e);if(assignOrder(e,s),t&&t.disableOptimalOrderHeuristic)return;let l=1/0,u;for(let t=0,n=0;n<4;++t,++n){sweepLayerGraphs(t%2?a:o,t%4>=2),s=c.buildLayerMatrix(e);let i=r(e,s);i<l&&(n=0,u=Object.assign({},s),l=i)}assignOrder(e,u)}function buildLayerGraphs(e,t,n){let r=new Map,addNodeToRank=(e,t)=>{r.has(e)||r.set(e,[]),r.get(e).push(t)};for(let t of e.nodes()){let n=e.node(t);if(typeof n.rank==`number`&&addNodeToRank(n.rank,t),typeof n.minRank==`number`&&typeof n.maxRank==`number`)for(let e=n.minRank;e<=n.maxRank;e++)e!==n.rank&&addNodeToRank(e,t)}return t.map(function(t){return a(e,t,n,r.get(t)||[])})}function sweepLayerGraphs(e,t){let n=new s;e.forEach(function(e){let r=e.graph().root,a=i(e,r,n,t);a.vs.forEach((t,n)=>e.node(t).order=n),o(e,n,a.vs)})}function assignOrder(e,t){Object.values(t).forEach(t=>t.forEach((t,n)=>e.node(t).order=n))}})),H=e(((e,t)=>{let n=y().Graph,r=S();t.exports={positionX,findType1Conflicts,findType2Conflicts,addConflict,hasConflict,verticalAlignment,horizontalCompaction,alignCoordinates,findSmallestWidthAlignment,balance};function findType1Conflicts(e,t){let n={};function visitLayer(t,r){let i=0,a=0,o=t.length,s=r[r.length-1];return r.forEach((t,c)=>{let l=findOtherInnerSegmentNode(e,t),u=l?e.node(l).order:o;(l||t===s)&&(r.slice(a,c+1).forEach(t=>{e.predecessors(t).forEach(r=>{let a=e.node(r),o=a.order;(o<i||u<o)&&!(a.dummy&&e.node(t).dummy)&&addConflict(n,r,t)})}),a=c+1,i=u)}),r}return t.length&&t.reduce(visitLayer),n}function findType2Conflicts(e,t){let n={};function scan(t,i,a,o,s){let c;r.range(i,a).forEach(r=>{c=t[r],e.node(c).dummy&&e.predecessors(c).forEach(t=>{let r=e.node(t);r.dummy&&(r.order<o||r.order>s)&&addConflict(n,t,c)})})}function visitLayer(t,n){let r=-1,i,a=0;return n.forEach((o,s)=>{if(e.node(o).dummy===`border`){let t=e.predecessors(o);t.length&&(i=e.node(t[0]).order,scan(n,a,s,r,i),a=s,r=i)}scan(n,a,n.length,i,t.length)}),n}return t.length&&t.reduce(visitLayer),n}function findOtherInnerSegmentNode(e,t){if(e.node(t).dummy)return e.predecessors(t).find(t=>e.node(t).dummy)}function addConflict(e,t,n){if(t>n){let e=t;t=n,n=e}let r=e[t];r||(e[t]=r={}),r[n]=!0}function hasConflict(e,t,n){if(t>n){let e=t;t=n,n=e}return!!e[t]&&Object.hasOwn(e[t],n)}function verticalAlignment(e,t,n,r){let i={},a={},o={};return t.forEach(e=>{e.forEach((e,t)=>{i[e]=e,a[e]=e,o[e]=t})}),t.forEach(e=>{let t=-1;e.forEach(e=>{let s=r(e);if(s.length){s=s.sort((e,t)=>o[e]-o[t]);let r=(s.length-1)/2;for(let c=Math.floor(r),l=Math.ceil(r);c<=l;++c){let r=s[c];a[e]===e&&t<o[r]&&!hasConflict(n,e,r)&&(a[r]=e,a[e]=i[e]=i[r],t=o[r])}}})}),{root:i,align:a}}function horizontalCompaction(e,t,n,r,i){let a={},o=buildBlockGraph(e,t,n,i),s=i?`borderLeft`:`borderRight`;function iterate(e,t){let n=o.nodes(),r=n.pop(),i={};for(;r;)i[r]?e(r):(i[r]=!0,n.push(r),n=n.concat(t(r))),r=n.pop()}function pass1(e){a[e]=o.inEdges(e).reduce((e,t)=>Math.max(e,a[t.v]+o.edge(t)),0)}function pass2(t){let n=o.outEdges(t).reduce((e,t)=>Math.min(e,a[t.w]-o.edge(t)),1/0),r=e.node(t);n!==1/0&&r.borderType!==s&&(a[t]=Math.max(a[t],n))}return iterate(pass1,o.predecessors.bind(o)),iterate(pass2,o.successors.bind(o)),Object.keys(r).forEach(e=>a[e]=a[n[e]]),a}function buildBlockGraph(e,t,r,i){let a=new n,o=e.graph(),s=sep(o.nodesep,o.edgesep,i);return t.forEach(t=>{let n;t.forEach(t=>{let i=r[t];if(a.setNode(i),n){var o=r[n],c=a.edge(o,i);a.setEdge(o,i,Math.max(s(e,t,n),c||0))}n=t})}),a}function findSmallestWidthAlignment(e,t){return Object.values(t).reduce((t,n)=>{let r=-1/0,i=1/0;Object.entries(n).forEach(([t,n])=>{let a=width(e,t)/2;r=Math.max(n+a,r),i=Math.min(n-a,i)});let a=r-i;return a<t[0]&&(t=[a,n]),t},[1/0,null])[1]}function alignCoordinates(e,t){let n=Object.values(t),i=r.applyWithChunking(Math.min,n),a=r.applyWithChunking(Math.max,n);[`u`,`d`].forEach(n=>{[`l`,`r`].forEach(o=>{let s=n+o,c=e[s];if(c===t)return;let l=Object.values(c),u=i-r.applyWithChunking(Math.min,l);o!==`l`&&(u=a-r.applyWithChunking(Math.max,l)),u&&(e[s]=r.mapValues(c,e=>e+u))})})}function balance(e,t){return r.mapValues(e.ul,(n,r)=>{if(t)return e[t.toLowerCase()][r];{let t=Object.values(e).map(e=>e[r]).sort((e,t)=>e-t);return(t[1]+t[2])/2}})}function positionX(e){let t=r.buildLayerMatrix(e),n=Object.assign(findType1Conflicts(e,t),findType2Conflicts(e,t)),i={},a;return[`u`,`d`].forEach(o=>{a=o===`u`?t:Object.values(t).reverse(),[`l`,`r`].forEach(t=>{t===`r`&&(a=a.map(e=>Object.values(e).reverse()));let s=(o===`u`?e.predecessors:e.successors).bind(e),c=verticalAlignment(e,a,n,s),l=horizontalCompaction(e,a,c.root,c.align,t===`r`);t===`r`&&(l=r.mapValues(l,e=>-e)),i[o+t]=l})}),alignCoordinates(i,findSmallestWidthAlignment(e,i)),balance(i,e.graph().align)}function sep(e,t,n){return(r,i,a)=>{let o=r.node(i),s=r.node(a),c=0,l;if(c+=o.width/2,Object.hasOwn(o,`labelpos`))switch(o.labelpos.toLowerCase()){case`l`:l=-o.width/2;break;case`r`:l=o.width/2;break}if(l&&(c+=n?l:-l),l=0,c+=(o.dummy?t:e)/2,c+=(s.dummy?t:e)/2,c+=s.width/2,Object.hasOwn(s,`labelpos`))switch(s.labelpos.toLowerCase()){case`l`:l=s.width/2;break;case`r`:l=-s.width/2;break}return l&&(c+=n?l:-l),l=0,c}}function width(e,t){return e.node(t).width}})),U=e(((e,t)=>{let n=S(),r=H().positionX;t.exports=position;function position(e){e=n.asNonCompoundGraph(e),positionY(e),Object.entries(r(e)).forEach(([t,n])=>e.node(t).x=n)}function positionY(e){let t=n.buildLayerMatrix(e),r=e.graph().ranksep,i=0;t.forEach(t=>{let n=t.reduce((t,n)=>{let r=e.node(n).height;return t>r?t:r},0);t.forEach(t=>e.node(t).y=i+n/2),i+=n+r})}})),W=e(((e,t)=>{let n=C(),r=w(),i=O(),a=S().normalizeRanks,o=k(),s=S().removeEmptyRanks,c=A(),l=j(),u=M(),d=V(),f=U(),p=S(),m=y().Graph;t.exports=layout;function layout(e,t){let n=t&&t.debugTiming?p.time:p.notime;n(`layout`,()=>{let r=n(` buildLayoutGraph`,()=>buildLayoutGraph(e));n(` runLayout`,()=>runLayout(r,n,t)),n(` updateInputGraph`,()=>updateInputGraph(e,r))})}function runLayout(e,t,m){t(` makeSpaceForEdgeLabels`,()=>makeSpaceForEdgeLabels(e)),t(` removeSelfEdges`,()=>removeSelfEdges(e)),t(` acyclic`,()=>n.run(e)),t(` nestingGraph.run`,()=>c.run(e)),t(` rank`,()=>i(p.asNonCompoundGraph(e))),t(` injectEdgeLabelProxies`,()=>injectEdgeLabelProxies(e)),t(` removeEmptyRanks`,()=>s(e)),t(` nestingGraph.cleanup`,()=>c.cleanup(e)),t(` normalizeRanks`,()=>a(e)),t(` assignRankMinMax`,()=>assignRankMinMax(e)),t(` removeEdgeLabelProxies`,()=>removeEdgeLabelProxies(e)),t(` normalize.run`,()=>r.run(e)),t(` parentDummyChains`,()=>o(e)),t(` addBorderSegments`,()=>l(e)),t(` order`,()=>d(e,m)),t(` insertSelfEdges`,()=>insertSelfEdges(e)),t(` adjustCoordinateSystem`,()=>u.adjust(e)),t(` position`,()=>f(e)),t(` positionSelfEdges`,()=>positionSelfEdges(e)),t(` removeBorderNodes`,()=>removeBorderNodes(e)),t(` normalize.undo`,()=>r.undo(e)),t(` fixupEdgeLabelCoords`,()=>fixupEdgeLabelCoords(e)),t(` undoCoordinateSystem`,()=>u.undo(e)),t(` translateGraph`,()=>translateGraph(e)),t(` assignNodeIntersects`,()=>assignNodeIntersects(e)),t(` reversePoints`,()=>reversePointsForReversedEdges(e)),t(` acyclic.undo`,()=>n.undo(e))}function updateInputGraph(e,t){e.nodes().forEach(n=>{let r=e.node(n),i=t.node(n);r&&(r.x=i.x,r.y=i.y,r.rank=i.rank,t.children(n).length&&(r.width=i.width,r.height=i.height))}),e.edges().forEach(n=>{let r=e.edge(n),i=t.edge(n);r.points=i.points,Object.hasOwn(i,`x`)&&(r.x=i.x,r.y=i.y)}),e.graph().width=t.graph().width,e.graph().height=t.graph().height}let h=[`nodesep`,`edgesep`,`ranksep`,`marginx`,`marginy`],g={ranksep:50,edgesep:20,nodesep:50,rankdir:`tb`},_=[`acyclicer`,`ranker`,`rankdir`,`align`],v=[`width`,`height`,`rank`],b={width:0,height:0},x=[`minlen`,`weight`,`width`,`height`,`labeloffset`],T={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:`r`},E=[`labelpos`];function buildLayoutGraph(e){let t=new m({multigraph:!0,compound:!0}),n=canonicalize(e.graph());return t.setGraph(Object.assign({},g,selectNumberAttrs(n,h),p.pick(n,_))),e.nodes().forEach(n=>{let r=selectNumberAttrs(canonicalize(e.node(n)),v);Object.keys(b).forEach(e=>{r[e]===void 0&&(r[e]=b[e])}),t.setNode(n,r),t.setParent(n,e.parent(n))}),e.edges().forEach(n=>{let r=canonicalize(e.edge(n));t.setEdge(n,Object.assign({},T,selectNumberAttrs(r,x),p.pick(r,E)))}),t}function makeSpaceForEdgeLabels(e){let t=e.graph();t.ranksep/=2,e.edges().forEach(n=>{let r=e.edge(n);r.minlen*=2,r.labelpos.toLowerCase()!==`c`&&(t.rankdir===`TB`||t.rankdir===`BT`?r.width+=r.labeloffset:r.height+=r.labeloffset)})}function injectEdgeLabelProxies(e){e.edges().forEach(t=>{let n=e.edge(t);if(n.width&&n.height){let n=e.node(t.v),r={rank:(e.node(t.w).rank-n.rank)/2+n.rank,e:t};p.addDummyNode(e,`edge-proxy`,r,`_ep`)}})}function assignRankMinMax(e){let t=0;e.nodes().forEach(n=>{let r=e.node(n);r.borderTop&&(r.minRank=e.node(r.borderTop).rank,r.maxRank=e.node(r.borderBottom).rank,t=Math.max(t,r.maxRank))}),e.graph().maxRank=t}function removeEdgeLabelProxies(e){e.nodes().forEach(t=>{let n=e.node(t);n.dummy===`edge-proxy`&&(e.edge(n.e).labelRank=n.rank,e.removeNode(t))})}function translateGraph(e){let t=1/0,n=0,r=1/0,i=0,a=e.graph(),o=a.marginx||0,s=a.marginy||0;function getExtremes(e){let a=e.x,o=e.y,s=e.width,c=e.height;t=Math.min(t,a-s/2),n=Math.max(n,a+s/2),r=Math.min(r,o-c/2),i=Math.max(i,o+c/2)}e.nodes().forEach(t=>getExtremes(e.node(t))),e.edges().forEach(t=>{let n=e.edge(t);Object.hasOwn(n,`x`)&&getExtremes(n)}),t-=o,r-=s,e.nodes().forEach(n=>{let i=e.node(n);i.x-=t,i.y-=r}),e.edges().forEach(n=>{let i=e.edge(n);i.points.forEach(e=>{e.x-=t,e.y-=r}),Object.hasOwn(i,`x`)&&(i.x-=t),Object.hasOwn(i,`y`)&&(i.y-=r)}),a.width=n-t+o,a.height=i-r+s}function assignNodeIntersects(e){e.edges().forEach(t=>{let n=e.edge(t),r=e.node(t.v),i=e.node(t.w),a,o;n.points?(a=n.points[0],o=n.points[n.points.length-1]):(n.points=[],a=i,o=r),n.points.unshift(p.intersectRect(r,a)),n.points.push(p.intersectRect(i,o))})}function fixupEdgeLabelCoords(e){e.edges().forEach(t=>{let n=e.edge(t);if(Object.hasOwn(n,`x`))switch((n.labelpos===`l`||n.labelpos===`r`)&&(n.width-=n.labeloffset),n.labelpos){case`l`:n.x-=n.width/2+n.labeloffset;break;case`r`:n.x+=n.width/2+n.labeloffset;break}})}function reversePointsForReversedEdges(e){e.edges().forEach(t=>{let n=e.edge(t);n.reversed&&n.points.reverse()})}function removeBorderNodes(e){e.nodes().forEach(t=>{if(e.children(t).length){let n=e.node(t),r=e.node(n.borderTop),i=e.node(n.borderBottom),a=e.node(n.borderLeft[n.borderLeft.length-1]),o=e.node(n.borderRight[n.borderRight.length-1]);n.width=Math.abs(o.x-a.x),n.height=Math.abs(i.y-r.y),n.x=a.x+n.width/2,n.y=r.y+n.height/2}}),e.nodes().forEach(t=>{e.node(t).dummy===`border`&&e.removeNode(t)})}function removeSelfEdges(e){e.edges().forEach(t=>{if(t.v===t.w){var n=e.node(t.v);n.selfEdges||=[],n.selfEdges.push({e:t,label:e.edge(t)}),e.removeEdge(t)}})}function insertSelfEdges(e){p.buildLayerMatrix(e).forEach(t=>{var n=0;t.forEach((t,r)=>{var i=e.node(t);i.order=r+n,(i.selfEdges||[]).forEach(t=>{p.addDummyNode(e,`selfedge`,{width:t.label.width,height:t.label.height,rank:i.rank,order:r+ ++n,e:t.e,label:t.label},`_se`)}),delete i.selfEdges})})}function positionSelfEdges(e){e.nodes().forEach(t=>{var n=e.node(t);if(n.dummy===`selfedge`){var r=e.node(n.e.v),i=r.x+r.width/2,a=r.y,o=n.x-i,s=r.height/2;e.setEdge(n.e,n.label),e.removeNode(t),n.label.points=[{x:i+2*o/3,y:a-s},{x:i+5*o/6,y:a-s},{x:i+o,y:a},{x:i+5*o/6,y:a+s},{x:i+2*o/3,y:a+s}],n.label.x=n.x,n.label.y=n.y}})}function selectNumberAttrs(e,t){return p.mapValues(p.pick(e,t),Number)}function canonicalize(e){var t={};return e&&Object.entries(e).forEach(([e,n])=>{typeof e==`string`&&(e=e.toLowerCase()),t[e]=n}),t}})),G=e(((e,t)=>{let n=S(),r=y().Graph;t.exports={debugOrdering};function debugOrdering(e){let t=n.buildLayerMatrix(e),i=new r({compound:!0,multigraph:!0}).setGraph({});return e.nodes().forEach(t=>{i.setNode(t,{label:t}),i.setParent(t,`layer`+e.node(t).rank)}),e.edges().forEach(e=>i.setEdge(e.v,e.w,{},e.name)),t.forEach((e,t)=>{let n=`layer`+t;i.setNode(n,{rank:`same`}),e.reduce((e,t)=>(i.setEdge(e,t,{style:`invis`}),t))}),i}})),K=e(((e,t)=>{t.exports=`1.1.8`})),q=e(((e,t)=>{t.exports={graphlib:y(),layout:W(),debug:G(),util:{time:S().time,notime:S().notime},version:K()}}));export{q as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../rolldown-runtime.mjs";const e=[`top`,`right`,`bottom`,`left`],t=[`start`,`end`],n=e.reduce((e,n)=>e.concat(n,n+`-`+t[0],n+`-`+t[1]),[]),r=Math.min,i=Math.max,a=Math.round,o=Math.floor,createCoords=e=>({x:e,y:e}),s={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function clamp(e,t,n){return i(e,r(t,n))}function evaluate(e,t){return typeof e==`function`?e(t):e}function getSide(e){return e.split(`-`)[0]}function getAlignment(e){return e.split(`-`)[1]}function getOppositeAxis(e){return e===`x`?`y`:`x`}function getAxisLength(e){return e===`y`?`height`:`width`}function getSideAxis(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function getAlignmentAxis(e){return getOppositeAxis(getSideAxis(e))}function getAlignmentSides(e,t,n){n===void 0&&(n=!1);let r=getAlignment(e),i=getAlignmentAxis(e),a=getAxisLength(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=getOppositePlacement(o)),[o,getOppositePlacement(o)]}function getExpandedPlacements(e){let t=getOppositePlacement(e);return[getOppositeAlignmentPlacement(e),t,getOppositeAlignmentPlacement(t)]}function getOppositeAlignmentPlacement(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}const c=[`left`,`right`],l=[`right`,`left`],u=[`top`,`bottom`],d=[`bottom`,`top`];function getSideList(e,t,n){switch(e){case`top`:case`bottom`:return n?t?l:c:t?c:l;case`left`:case`right`:return t?u:d;default:return[]}}function getOppositeAxisPlacements(e,t,n,r){let i=getAlignment(e),a=getSideList(getSide(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(getOppositeAlignmentPlacement)))),a}function getOppositePlacement(e){let t=getSide(e);return s[t]+e.slice(t.length)}function expandPaddingObject(e){return{top:0,right:0,bottom:0,left:0,...e}}function getPaddingObject(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:expandPaddingObject(e)}function rectToClientRect(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function computeCoordsFromPlacement(e,t,n){let{reference:r,floating:i}=e,a=getSideAxis(t),o=getAlignmentAxis(t),s=getAxisLength(o),c=getSide(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(getAlignment(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function detectOverflow(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=evaluate(t,e),p=getPaddingObject(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=rectToClientRect(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=rectToClientRect(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}const computePosition=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=computeCoordsFromPlacement(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<50&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=computeCoordsFromPlacement(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},arrow=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:i,placement:a,rects:o,platform:s,elements:c,middlewareData:l}=t,{element:u,padding:d=0}=evaluate(e,t)||{};if(u==null)return{};let f=getPaddingObject(d),p={x:n,y:i},m=getAlignmentAxis(a),h=getAxisLength(m),g=await s.getDimensions(u),_=m===`y`,v=_?`top`:`left`,y=_?`bottom`:`right`,b=_?`clientHeight`:`clientWidth`,x=o.reference[h]+o.reference[m]-p[m]-o.floating[h],S=p[m]-o.reference[m],C=await(s.getOffsetParent==null?void 0:s.getOffsetParent(u)),w=C?C[b]:0;(!w||!await(s.isElement==null?void 0:s.isElement(C)))&&(w=c.floating[b]||o.floating[h]);let T=x/2-S/2,E=w/2-g[h]/2-1,D=r(f[v],E),O=r(f[y],E),k=D,A=w-g[h]-O,j=w/2-g[h]/2+T,M=clamp(k,j,A),N=!l.arrow&&getAlignment(a)!=null&&j!==M&&o.reference[h]/2-(j<k?D:O)-g[h]/2<0,P=N?j<k?j-k:j-A:0;return{[m]:p[m]+P,data:{[m]:M,centerOffset:j-M-P,...N&&{alignmentOffset:P}},reset:N}}});function getPlacementList(e,t,n){return(e?[...n.filter(t=>getAlignment(t)===e),...n.filter(t=>getAlignment(t)!==e)]:n.filter(e=>getSide(e)===e)).filter(n=>e?getAlignment(n)===e||(t?getOppositeAlignmentPlacement(n)!==n:!1):!0)}const autoPlacement=function(e){return e===void 0&&(e={}),{name:`autoPlacement`,options:e,async fn(t){let{rects:r,middlewareData:i,placement:a,platform:o,elements:s}=t,{crossAxis:c=!1,alignment:l,allowedPlacements:u=n,autoAlignment:d=!0,...f}=evaluate(e,t),p=l!==void 0||u===n?getPlacementList(l||null,d,u):u,m=await o.detectOverflow(t,f),h=i.autoPlacement?.index||0,g=p[h];if(g==null)return{};let _=getAlignmentSides(g,r,await(o.isRTL==null?void 0:o.isRTL(s.floating)));if(a!==g)return{reset:{placement:p[0]}};let v=[m[getSide(g)],m[_[0]],m[_[1]]],y=[...i.autoPlacement?.overflows||[],{placement:g,overflows:v}],b=p[h+1];if(b)return{data:{index:h+1,overflows:y},reset:{placement:b}};let x=y.map(e=>{let t=getAlignment(e.placement);return[e.placement,t&&c?e.overflows.slice(0,2).reduce((e,t)=>e+t,0):e.overflows[0],e.overflows]}).sort((e,t)=>e[1]-t[1]),S=x.filter(e=>e[2].slice(0,getAlignment(e[0])?2:3).every(e=>e<=0))[0]?.[0]||x[0][0];return S===a?{}:{data:{index:h+1,overflows:y},reset:{placement:S}}}}},flip=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=evaluate(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=getSide(r),_=getSideAxis(o),v=getSide(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[getOppositePlacement(o)]:getExpandedPlacements(o)),x=p!==`none`;!d&&x&&b.push(...getOppositeAxisPlacements(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=getAlignmentSides(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==getSideAxis(t))||T.every(e=>getSideAxis(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=getSideAxis(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function getSideOffsets(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function isAnySideFullyClipped(t){return e.some(e=>t[e]>=0)}const hide=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=evaluate(e,t);switch(i){case`referenceHidden`:{let e=getSideOffsets(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:isAnySideFullyClipped(e)}}}case`escaped`:{let e=getSideOffsets(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:isAnySideFullyClipped(e)}}}default:return{}}}}};function getBoundingRect(e){let t=r(...e.map(e=>e.left)),n=r(...e.map(e=>e.top)),a=i(...e.map(e=>e.right)),o=i(...e.map(e=>e.bottom));return{x:t,y:n,width:a-t,height:o-n}}function getRectsByLine(e){let t=e.slice().sort((e,t)=>e.y-t.y),n=[],r=null;for(let e=0;e<t.length;e++){let i=t[e];!r||i.y-r.y>r.height/2?n.push([i]):n[n.length-1].push(i),r=i}return n.map(e=>rectToClientRect(getBoundingRect(e)))}const inline=function(e){return e===void 0&&(e={}),{name:`inline`,options:e,async fn(t){let{placement:n,elements:a,rects:o,platform:s,strategy:c}=t,{padding:l=2,x:u,y:d}=evaluate(e,t),f=Array.from(await(s.getClientRects==null?void 0:s.getClientRects(a.reference))||[]),p=getRectsByLine(f),m=rectToClientRect(getBoundingRect(f)),h=getPaddingObject(l);function getBoundingClientRect(){if(p.length===2&&p[0].left>p[1].right&&u!=null&&d!=null)return p.find(e=>u>e.left-h.left&&u<e.right+h.right&&d>e.top-h.top&&d<e.bottom+h.bottom)||m;if(p.length>=2){if(getSideAxis(n)===`y`){let e=p[0],t=p[p.length-1],r=getSide(n)===`top`,i=e.top,a=t.bottom,o=r?e.left:t.left,s=r?e.right:t.right;return{top:i,bottom:a,left:o,right:s,width:s-o,height:a-i,x:o,y:i}}let e=getSide(n)===`left`,t=i(...p.map(e=>e.right)),a=r(...p.map(e=>e.left)),o=p.filter(n=>e?n.left===a:n.right===t),s=o[0].top,c=o[o.length-1].bottom,l=a,u=t;return{top:s,bottom:c,left:l,right:u,width:u-l,height:c-s,x:l,y:s}}return m}let g=await s.getElementRects({reference:{getBoundingClientRect},floating:a.floating,strategy:c});return o.reference.x!==g.reference.x||o.reference.y!==g.reference.y||o.reference.width!==g.reference.width||o.reference.height!==g.reference.height?{reset:{rects:g}}:{}}}},f=new Set([`left`,`top`]);async function convertValueToCoords(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=getSide(n),s=getAlignment(n),c=getSideAxis(n)===`y`,l=f.has(o)?-1:1,u=a&&c?-1:1,d=evaluate(t,e),{mainAxis:p,crossAxis:m,alignmentAxis:h}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof h==`number`&&(m=s===`end`?h*-1:h),c?{x:m*u,y:p*l}:{x:p*l,y:m*u}}const offset=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await convertValueToCoords(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},shift=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=evaluate(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=getSideAxis(getSide(i)),p=getOppositeAxis(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=clamp(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=clamp(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},limitShift=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=evaluate(e,t),u={x:n,y:r},d=getSideAxis(i),p=getOppositeAxis(d),m=u[p],h=u[d],g=evaluate(s,t),_=typeof g==`number`?{mainAxis:g,crossAxis:0}:{mainAxis:0,crossAxis:0,...g};if(c){let e=p===`y`?`height`:`width`,t=a.reference[p]-a.floating[e]+_.mainAxis,n=a.reference[p]+a.reference[e]-_.mainAxis;m<t?m=t:m>n&&(m=n)}if(l){let e=p===`y`?`width`:`height`,t=f.has(getSide(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:_.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?_.crossAxis:0);h<n?h=n:h>r&&(h=r)}return{[p]:m,[d]:h}}}},size=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,a;let{placement:o,rects:s,platform:c,elements:l}=t,{apply=()=>{},...u}=evaluate(e,t),d=await c.detectOverflow(t,u),f=getSide(o),p=getAlignment(o),m=getSideAxis(o)===`y`,{width:h,height:g}=s.floating,_,v;f===`top`||f===`bottom`?(_=f,v=p===(await(c.isRTL==null?void 0:c.isRTL(l.floating))?`start`:`end`)?`left`:`right`):(v=f,_=p===`end`?`top`:`bottom`);let y=g-d.top-d.bottom,b=h-d.left-d.right,x=r(g-d[_],y),S=r(h-d[v],b),C=!t.middlewareData.shift,w=x,T=S;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(T=b),(a=t.middlewareData.shift)!=null&&a.enabled.y&&(w=y),C&&!p){let e=i(d.left,0),t=i(d.right,0),n=i(d.top,0),r=i(d.bottom,0);m?T=h-2*(e!==0||t!==0?e+t:i(d.left,d.right)):w=g-2*(n!==0||r!==0?n+r:i(d.top,d.bottom))}await apply({...t,availableWidth:T,availableHeight:w});let E=await c.getDimensions(l.floating);return h!==E.width||g!==E.height?{reset:{rects:!0}}:{}}}};export{hide as a,offset as c,createCoords as d,o as f,a as g,rectToClientRect as h,flip as i,shift as l,r as m,autoPlacement as n,inline as o,i as p,computePosition as r,limitShift as s,arrow as t,size as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"../../rolldown-runtime.mjs";import{a as t,c as n,d as r,f as i,g as a,h as o,i as s,l as c,m as l,n as u,o as d,p as f,r as p,s as m,t as h,u as g}from"./core.mjs";function hasWindow(){return typeof window<`u`}function getNodeName(e){return isNode(e)?(e.nodeName||``).toLowerCase():`#document`}function getWindow(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function getDocumentElement(e){return((isNode(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function isNode(e){return hasWindow()?e instanceof Node||e instanceof getWindow(e).Node:!1}function isElement(e){return hasWindow()?e instanceof Element||e instanceof getWindow(e).Element:!1}function isHTMLElement(e){return hasWindow()?e instanceof HTMLElement||e instanceof getWindow(e).HTMLElement:!1}function isShadowRoot(e){return!hasWindow()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof getWindow(e).ShadowRoot}function isOverflowElement(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=getComputedStyle$1(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function isTableElement(e){return/^(table|td|th)$/.test(getNodeName(e))}function isTopLayer(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}const _=/transform|translate|scale|rotate|perspective|filter/,v=/paint|layout|strict|content/,isNotNone=e=>!!e&&e!==`none`;let y;function isContainingBlock(e){let t=isElement(e)?getComputedStyle$1(e):e;return isNotNone(t.transform)||isNotNone(t.translate)||isNotNone(t.scale)||isNotNone(t.rotate)||isNotNone(t.perspective)||!isWebKit()&&(isNotNone(t.backdropFilter)||isNotNone(t.filter))||_.test(t.willChange||``)||v.test(t.contain||``)}function getContainingBlock(e){let t=getParentNode(e);for(;isHTMLElement(t)&&!isLastTraversableNode(t);){if(isContainingBlock(t))return t;if(isTopLayer(t))return null;t=getParentNode(t)}return null}function isWebKit(){return y??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),y}function isLastTraversableNode(e){return/^(html|body|#document)$/.test(getNodeName(e))}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}e(getComputedStyle$1,`getComputedStyle`);function getNodeScroll(e){return isElement(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function getParentNode(e){if(getNodeName(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||isShadowRoot(e)&&e.host||getDocumentElement(e);return isShadowRoot(t)?t.host:t}function getNearestOverflowAncestor(e){let t=getParentNode(e);return isLastTraversableNode(t)?e.ownerDocument?e.ownerDocument.body:e.body:isHTMLElement(t)&&isOverflowElement(t)?t:getNearestOverflowAncestor(t)}function getOverflowAncestors(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=getNearestOverflowAncestor(e),i=r===e.ownerDocument?.body,a=getWindow(r);if(i){let e=getFrameElement(a);return t.concat(a,a.visualViewport||[],isOverflowElement(r)?r:[],e&&n?getOverflowAncestors(e):[])}else return t.concat(r,getOverflowAncestors(r,[],n))}function getFrameElement(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function getCssDimensions(e){let t=getComputedStyle$1(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=isHTMLElement(e),o=i?e.offsetWidth:n,s=i?e.offsetHeight:r,c=a(n)!==o||a(r)!==s;return c&&(n=o,r=s),{width:n,height:r,$:c}}function unwrapElement(e){return isElement(e)?e:e.contextElement}function getScale(e){let t=unwrapElement(e);if(!isHTMLElement(t))return r(1);let n=t.getBoundingClientRect(),{width:i,height:o,$:s}=getCssDimensions(t),c=(s?a(n.width):n.width)/i,l=(s?a(n.height):n.height)/o;return(!c||!Number.isFinite(c))&&(c=1),(!l||!Number.isFinite(l))&&(l=1),{x:c,y:l}}const b=r(0);function getVisualOffsets(e){let t=getWindow(e);return!isWebKit()||!t.visualViewport?b:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function shouldAddVisualOffsets(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==getWindow(e)?!1:t}function getBoundingClientRect(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n=!1);let a=e.getBoundingClientRect(),s=unwrapElement(e),c=r(1);t&&(i?isElement(i)&&(c=getScale(i)):c=getScale(e));let l=shouldAddVisualOffsets(s,n,i)?getVisualOffsets(s):r(0),u=(a.left+l.x)/c.x,d=(a.top+l.y)/c.y,f=a.width/c.x,p=a.height/c.y;if(s){let e=getWindow(s),t=i&&isElement(i)?getWindow(i):i,n=e,r=getFrameElement(n);for(;r&&i&&t!==n;){let e=getScale(r),t=r.getBoundingClientRect(),i=getComputedStyle$1(r),a=t.left+(r.clientLeft+parseFloat(i.paddingLeft))*e.x,o=t.top+(r.clientTop+parseFloat(i.paddingTop))*e.y;u*=e.x,d*=e.y,f*=e.x,p*=e.y,u+=a,d+=o,n=getWindow(r),r=getFrameElement(n)}}return o({width:f,height:p,x:u,y:d})}function getWindowScrollBarX(e,t){let n=getNodeScroll(e).scrollLeft;return t?t.left+n:getBoundingClientRect(getDocumentElement(e)).left+n}function getHTMLOffset(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-getWindowScrollBarX(e,n),y:n.top+t.scrollTop}}function convertOffsetParentRelativeRectToViewportRelativeRect(e){let{elements:t,rect:n,offsetParent:i,strategy:a}=e,o=a===`fixed`,s=getDocumentElement(i),c=t?isTopLayer(t.floating):!1;if(i===s||c&&o)return n;let l={scrollLeft:0,scrollTop:0},u=r(1),d=r(0),f=isHTMLElement(i);if((f||!f&&!o)&&((getNodeName(i)!==`body`||isOverflowElement(s))&&(l=getNodeScroll(i)),f)){let e=getBoundingClientRect(i);u=getScale(i),d.x=e.x+i.clientLeft,d.y=e.y+i.clientTop}let p=s&&!f&&!o?getHTMLOffset(s,l):r(0);return{width:n.width*u.x,height:n.height*u.y,x:n.x*u.x-l.scrollLeft*u.x+d.x+p.x,y:n.y*u.y-l.scrollTop*u.y+d.y+p.y}}function getClientRects(e){return Array.from(e.getClientRects())}function getDocumentRect(e){let t=getDocumentElement(e),n=getNodeScroll(e),r=e.ownerDocument.body,i=f(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=f(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+getWindowScrollBarX(e),s=-n.scrollTop;return getComputedStyle$1(r).direction===`rtl`&&(o+=f(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}function getViewportRect(e,t){let n=getWindow(e),r=getDocumentElement(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=isWebKit();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=getWindowScrollBarX(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=25&&(a-=o)}else l<=25&&(a+=l);return{width:a,height:o,x:s,y:c}}function getInnerBoundingClientRect(e,t){let n=getBoundingClientRect(e,!0,t===`fixed`),i=n.top+e.clientTop,a=n.left+e.clientLeft,o=isHTMLElement(e)?getScale(e):r(1);return{width:e.clientWidth*o.x,height:e.clientHeight*o.y,x:a*o.x,y:i*o.y}}function getClientRectFromClippingAncestor(e,t,n){let r;if(t===`viewport`)r=getViewportRect(e,n);else if(t===`document`)r=getDocumentRect(getDocumentElement(e));else if(isElement(t))r=getInnerBoundingClientRect(t,n);else{let n=getVisualOffsets(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return o(r)}function hasFixedPositionAncestor(e,t){let n=getParentNode(e);return n===t||!isElement(n)||isLastTraversableNode(n)?!1:getComputedStyle$1(n).position===`fixed`||hasFixedPositionAncestor(n,t)}function getClippingElementAncestors(e,t){let n=t.get(e);if(n)return n;let r=getOverflowAncestors(e,[],!1).filter(e=>isElement(e)&&getNodeName(e)!==`body`),i=null,a=getComputedStyle$1(e).position===`fixed`,o=a?getParentNode(e):e;for(;isElement(o)&&!isLastTraversableNode(o);){let t=getComputedStyle$1(o),n=isContainingBlock(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||isOverflowElement(o)&&!n&&hasFixedPositionAncestor(e,o))?r=r.filter(e=>e!==o):i=t,o=getParentNode(o)}return t.set(e,r),r}function getClippingRect(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?isTopLayer(t)?[]:getClippingElementAncestors(t,this._c):[].concat(n),r],o=getClientRectFromClippingAncestor(t,a[0],i),s=o.top,c=o.right,u=o.bottom,d=o.left;for(let e=1;e<a.length;e++){let n=getClientRectFromClippingAncestor(t,a[e],i);s=f(n.top,s),c=l(n.right,c),u=l(n.bottom,u),d=f(n.left,d)}return{width:c-d,height:u-s,x:d,y:s}}function getDimensions(e){let{width:t,height:n}=getCssDimensions(e);return{width:t,height:n}}function getRectRelativeToOffsetParent(e,t,n){let i=isHTMLElement(t),a=getDocumentElement(t),o=n===`fixed`,s=getBoundingClientRect(e,!0,o,t),c={scrollLeft:0,scrollTop:0},l=r(0);function setLeftRTLScrollbarOffset(){l.x=getWindowScrollBarX(a)}if(i||!i&&!o)if((getNodeName(t)!==`body`||isOverflowElement(a))&&(c=getNodeScroll(t)),i){let e=getBoundingClientRect(t,!0,o,t);l.x=e.x+t.clientLeft,l.y=e.y+t.clientTop}else a&&setLeftRTLScrollbarOffset();o&&!i&&a&&setLeftRTLScrollbarOffset();let u=a&&!i&&!o?getHTMLOffset(a,c):r(0);return{x:s.left+c.scrollLeft-l.x-u.x,y:s.top+c.scrollTop-l.y-u.y,width:s.width,height:s.height}}function isStaticPositioned(e){return getComputedStyle$1(e).position===`static`}function getTrueOffsetParent(e,t){if(!isHTMLElement(e)||getComputedStyle$1(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return getDocumentElement(e)===n&&(n=n.ownerDocument.body),n}function getOffsetParent(e,t){let n=getWindow(e);if(isTopLayer(e))return n;if(!isHTMLElement(e)){let t=getParentNode(e);for(;t&&!isLastTraversableNode(t);){if(isElement(t)&&!isStaticPositioned(t))return t;t=getParentNode(t)}return n}let r=getTrueOffsetParent(e,t);for(;r&&isTableElement(r)&&isStaticPositioned(r);)r=getTrueOffsetParent(r,t);return r&&isLastTraversableNode(r)&&isStaticPositioned(r)&&!isContainingBlock(r)?n:r||getContainingBlock(e)||n}const getElementRects=async function(e){let t=this.getOffsetParent||getOffsetParent,n=this.getDimensions,r=await n(e.floating);return{reference:getRectRelativeToOffsetParent(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function isRTL(e){return getComputedStyle$1(e).direction===`rtl`}const x={convertOffsetParentRelativeRectToViewportRelativeRect,getDocumentElement,getClippingRect,getOffsetParent,getElementRects,getClientRects,getDimensions,getScale,isElement,isRTL};function rectsAreEqual(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function observeMove(e,t){let n=null,r,a=getDocumentElement(e);function cleanup(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function refresh(o,s){o===void 0&&(o=!1),s===void 0&&(s=1),cleanup();let c=e.getBoundingClientRect(),{left:u,top:d,width:p,height:m}=c;if(o||t(),!p||!m)return;let h=i(d),g=i(a.clientWidth-(u+p)),_=i(a.clientHeight-(d+m)),v=i(u),y={rootMargin:-h+`px `+-g+`px `+-_+`px `+-v+`px`,threshold:f(0,l(1,s))||1},b=!0;function handleObserve(t){let n=t[0].intersectionRatio;if(n!==s){if(!b)return refresh();n?refresh(!1,n):r=setTimeout(()=>{refresh(!1,1e-7)},1e3)}n===1&&!rectsAreEqual(c,e.getBoundingClientRect())&&refresh(),b=!1}try{n=new IntersectionObserver(handleObserve,{...y,root:a.ownerDocument})}catch{n=new IntersectionObserver(handleObserve,y)}n.observe(e)}return refresh(!0),cleanup}function autoUpdate(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=unwrapElement(e),u=i||a?[...l?getOverflowAncestors(l):[],...t?getOverflowAncestors(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?observeMove(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?getBoundingClientRect(e):null;c&&frameLoop();function frameLoop(){let t=getBoundingClientRect(e);h&&!rectsAreEqual(h,t)&&n(),h=t,m=requestAnimationFrame(frameLoop)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}const S=n,C=u,w=c,T=s,E=g,D=t,O=h,k=d,A=m,computePosition=(e,t,n)=>{let r=new Map,i={platform:x,...n},a={...i.platform,_c:r};return p(e,t,{...i,platform:a})};export{isHTMLElement as _,T as a,isWebKit as b,A as c,E as d,getComputedStyle$1 as f,isElement as g,getWindow as h,computePosition as i,S as l,getParentNode as m,C as n,D as o,getOverflowAncestors as p,autoUpdate as r,k as s,O as t,w as u,isLastTraversableNode as v,isShadowRoot as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"../../rolldown-runtime.mjs";import{_ as t,a as n,b as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,o as f,p,s as m,t as h,u as g,v as _,y as v}from"./dom.mjs";import*as y from"react";import{useLayoutEffect as b}from"react";import{jsx as x}from"react/jsx-runtime";import*as S from"react-dom";function getPlatform(){let e=navigator.userAgentData;return e!=null&&e.platform?e.platform:navigator.platform}function getUserAgent(){let e=navigator.userAgentData;return e&&Array.isArray(e.brands)?e.brands.map(e=>{let{brand:t,version:n}=e;return t+`/`+n}).join(` `):navigator.userAgent}function isSafari(){return/apple/i.test(navigator.vendor)}function isMac(){return getPlatform().toLowerCase().startsWith(`mac`)&&!navigator.maxTouchPoints}function isJSDOM(){return getUserAgent().includes(`jsdom/`)}const C=`data-floating-ui-focusable`;function activeElement(e){let t=e.activeElement;for(;((n=t)==null||(n=n.shadowRoot)==null?void 0:n.activeElement)!=null;){var n;t=t.shadowRoot.activeElement}return t}function contains(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&v(n)){let n=t;for(;n;){if(e===n)return!0;n=n.parentNode||n.host}}return!1}function getTarget(e){return`composedPath`in e?e.composedPath()[0]:e.target}function isEventTargetWithin(e,t){if(t==null)return!1;if(`composedPath`in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function isRootElement(e){return e.matches(`html,body`)}function getDocument(e){return e?.ownerDocument||document}function isTypeableElement(e){return t(e)&&e.matches(`input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])`)}function matchesFocusVisible(e){if(!e||isJSDOM())return!0;try{return e.matches(`:focus-visible`)}catch{return!0}}function getFloatingFocusElement(e){return e?e.hasAttribute(C)?e:e.querySelector(`[`+C+`]`)||e:null}function getNodeChildren(e,t,n){return n===void 0&&(n=!0),e.filter(e=>e.parentId===t&&(!n||e.context?.open)).flatMap(t=>[t,...getNodeChildren(e,t.id,n)])}function isReactEvent(e){return`nativeEvent`in e}function isMouseLikePointerType(e,t){let n=[`mouse`,`pen`];return t||n.push(``,void 0),n.includes(e)}var w=typeof document<`u`?b:function noop(){};const T={...y};function useLatestRef$1(e){let t=y.useRef(e);return w(()=>{t.current=e}),t}e(useLatestRef$1,`useLatestRef`);const E=T.useInsertionEffect||(e=>e());function useEffectEvent$1(e){let t=y.useRef(()=>{});return E(()=>{t.current=e}),y.useCallback(function(){var e=[...arguments];return t.current==null?void 0:t.current(...e)},[])}e(useEffectEvent$1,`useEffectEvent`);var D=typeof document<`u`?b:function noop(){};function deepEqual(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!deepEqual(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!deepEqual(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function getDPR(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function roundByDPR(e,t){let n=getDPR(e);return Math.round(t*n)/n}function useLatestRef(e){let t=y.useRef(e);return D(()=>{t.current=e}),t}function useFloating$1(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:u}=e,[d,f]=y.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=y.useState(r);deepEqual(p,r)||m(r);let[h,g]=y.useState(null),[_,v]=y.useState(null),b=y.useCallback(e=>{e!==T.current&&(T.current=e,g(e))},[]),x=y.useCallback(e=>{e!==E.current&&(E.current=e,v(e))},[]),C=a||h,w=o||_,T=y.useRef(null),E=y.useRef(null),O=y.useRef(d),k=c!=null,A=useLatestRef(c),j=useLatestRef(i),M=useLatestRef(u),N=y.useCallback(()=>{if(!T.current||!E.current)return;let e={placement:t,strategy:n,middleware:p};j.current&&(e.platform=j.current),l(T.current,E.current,e).then(e=>{let t={...e,isPositioned:M.current!==!1};P.current&&!deepEqual(O.current,t)&&(O.current=t,S.flushSync(()=>{f(t)}))})},[p,t,n,j,M]);D(()=>{u===!1&&O.current.isPositioned&&(O.current.isPositioned=!1,f(e=>({...e,isPositioned:!1})))},[u]);let P=y.useRef(!1);D(()=>(P.current=!0,()=>{P.current=!1}),[]),D(()=>{if(C&&(T.current=C),w&&(E.current=w),C&&w){if(A.current)return A.current(C,w,N);N()}},[C,w,N,A,k]);let F=y.useMemo(()=>({reference:T,floating:E,setReference:b,setFloating:x}),[b,x]),I=y.useMemo(()=>({reference:C,floating:w}),[C,w]),L=y.useMemo(()=>{let e={position:n,left:0,top:0};if(!I.floating)return e;let t=roundByDPR(I.floating,d.x),r=roundByDPR(I.floating,d.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...getDPR(I.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,I.floating,d.x,d.y]);return y.useMemo(()=>({...d,update:N,refs:F,elements:I,floatingStyles:L}),[d,N,F,I,L])}e(useFloating$1,`useFloating`);const arrow$1=e=>{function isRef(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(t){let{element:n,padding:r}=typeof e==`function`?e(t):e;return n&&isRef(n)?n.current==null?{}:h({element:n.current,padding:r}).fn(t):n?h({element:n,padding:r}).fn(t):{}}}},offset=(e,t)=>{let n=u(e);return{name:n.name,fn:n.fn,options:[e,t]}},shift=(e,t)=>{let n=g(e);return{name:n.name,fn:n.fn,options:[e,t]}},limitShift=(e,t)=>({fn:i(e).fn,options:[e,t]}),flip=(e,t)=>{let r=n(e);return{name:r.name,fn:r.fn,options:[e,t]}},size=(e,t)=>{let n=a(e);return{name:n.name,fn:n.fn,options:[e,t]}},hide=(e,t)=>{let n=f(e);return{name:n.name,fn:n.fn,options:[e,t]}},inline=(e,t)=>{let n=m(e);return{name:n.name,fn:n.fn,options:[e,t]}},arrow=(e,t)=>{let n=arrow$1(e);return{name:n.name,fn:n.fn,options:[e,t]}};function useMergeRefs(e){let t=y.useRef(void 0),n=y.useCallback(t=>{let n=e.map(e=>{if(e!=null){if(typeof e==`function`){let n=e,r=n(t);return typeof r==`function`?r:()=>{n(null)}}return e.current=t,()=>{e.current=null}}});return()=>{n.forEach(e=>e?.())}},e);return y.useMemo(()=>e.every(e=>e==null)?null:e=>{t.current&&=(t.current(),void 0),e!=null&&(t.current=n(e))},e)}const O=`active`,k=`selected`,A=[`ArrowLeft`,`ArrowRight`],j=[`ArrowUp`,`ArrowDown`];[...A,...j];const M={...y};let N=!1,P=0;const genId=()=>`floating-ui-`+Math.random().toString(36).slice(2,6)+ P++;function useFloatingId(){let[e,t]=y.useState(()=>N?genId():void 0);return w(()=>{e??t(genId())},[]),y.useEffect(()=>{N=!0},[]),e}const F=M.useId||useFloatingId;function createEventEmitter(){let e=new Map;return{emit(t,n){var r;(r=e.get(t))==null||r.forEach(e=>e(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){var r;(r=e.get(t))==null||r.delete(n)}}}const I=y.createContext(null),L=y.createContext(null),useFloatingParentNodeId=()=>y.useContext(I)?.id||null,useFloatingTree=()=>y.useContext(L);function createAttribute(e){return`data-floating-ui-`+e}function clearTimeoutIfSet(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}const R=createAttribute(`safe-polygon`);function getDelay(e,t,n){if(n&&!isMouseLikePointerType(n))return 0;if(typeof e==`number`)return e;if(typeof e==`function`){let n=e();return typeof n==`number`?n:n?.[t]}return e?.[t]}function getRestMs(e){return typeof e==`function`?e():e}function useHover(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,dataRef:i,events:a,elements:o}=e,{enabled:c=!0,delay:l=0,handleClose:u=null,mouseOnly:d=!1,restMs:f=0,move:p=!0}=t,m=useFloatingTree(),h=useFloatingParentNodeId(),g=useLatestRef$1(u),_=useLatestRef$1(l),v=useLatestRef$1(n),b=useLatestRef$1(f),x=y.useRef(),S=y.useRef(-1),C=y.useRef(),T=y.useRef(-1),E=y.useRef(!0),D=y.useRef(!1),O=y.useRef(()=>{}),k=y.useRef(!1),A=useEffectEvent$1(()=>{let e=i.current.openEvent?.type;return e?.includes(`mouse`)&&e!==`mousedown`});y.useEffect(()=>{if(!c)return;function onOpenChange(e){let{open:t}=e;t||(clearTimeoutIfSet(S),clearTimeoutIfSet(T),E.current=!0,k.current=!1)}return a.on(`openchange`,onOpenChange),()=>{a.off(`openchange`,onOpenChange)}},[c,a]),y.useEffect(()=>{if(!c||!g.current||!n)return;function onLeave(e){A()&&r(!1,e,`hover`)}let e=getDocument(o.floating).documentElement;return e.addEventListener(`mouseleave`,onLeave),()=>{e.removeEventListener(`mouseleave`,onLeave)}},[o.floating,n,r,c,g,A]);let j=y.useCallback(function(e,t,n){t===void 0&&(t=!0),n===void 0&&(n=`hover`);let i=getDelay(_.current,`close`,x.current);i&&!C.current?(clearTimeoutIfSet(S),S.current=window.setTimeout(()=>r(!1,e,n),i)):t&&(clearTimeoutIfSet(S),r(!1,e,n))},[_,r]),M=useEffectEvent$1(()=>{O.current(),C.current=void 0}),N=useEffectEvent$1(()=>{if(D.current){let e=getDocument(o.floating).body;e.style.pointerEvents=``,e.removeAttribute(R),D.current=!1}}),P=useEffectEvent$1(()=>i.current.openEvent?[`click`,`mousedown`].includes(i.current.openEvent.type):!1);y.useEffect(()=>{if(!c)return;function onReferenceMouseEnter(e){if(clearTimeoutIfSet(S),E.current=!1,d&&!isMouseLikePointerType(x.current)||getRestMs(b.current)>0&&!getDelay(_.current,`open`))return;let t=getDelay(_.current,`open`,x.current);t?S.current=window.setTimeout(()=>{v.current||r(!0,e,`hover`)},t):n||r(!0,e,`hover`)}function onReferenceMouseLeave(e){if(P()){N();return}O.current();let t=getDocument(o.floating);if(clearTimeoutIfSet(T),k.current=!1,g.current&&i.current.floatingContext){n||clearTimeoutIfSet(S),C.current=g.current({...i.current.floatingContext,tree:m,x:e.clientX,y:e.clientY,onClose(){N(),M(),P()||j(e,!0,`safe-polygon`)}});let r=C.current;t.addEventListener(`mousemove`,r),O.current=()=>{t.removeEventListener(`mousemove`,r)};return}(x.current!==`touch`||!contains(o.floating,e.relatedTarget))&&j(e)}function onScrollMouseLeave(e){P()||i.current.floatingContext&&(g.current==null||g.current({...i.current.floatingContext,tree:m,x:e.clientX,y:e.clientY,onClose(){N(),M(),P()||j(e)}})(e))}function onFloatingMouseEnter(){clearTimeoutIfSet(S)}function onFloatingMouseLeave(e){P()||j(e,!1)}if(s(o.domReference)){let e=o.domReference,t=o.floating;return n&&e.addEventListener(`mouseleave`,onScrollMouseLeave),p&&e.addEventListener(`mousemove`,onReferenceMouseEnter,{once:!0}),e.addEventListener(`mouseenter`,onReferenceMouseEnter),e.addEventListener(`mouseleave`,onReferenceMouseLeave),t&&(t.addEventListener(`mouseleave`,onScrollMouseLeave),t.addEventListener(`mouseenter`,onFloatingMouseEnter),t.addEventListener(`mouseleave`,onFloatingMouseLeave)),()=>{n&&e.removeEventListener(`mouseleave`,onScrollMouseLeave),p&&e.removeEventListener(`mousemove`,onReferenceMouseEnter),e.removeEventListener(`mouseenter`,onReferenceMouseEnter),e.removeEventListener(`mouseleave`,onReferenceMouseLeave),t&&(t.removeEventListener(`mouseleave`,onScrollMouseLeave),t.removeEventListener(`mouseenter`,onFloatingMouseEnter),t.removeEventListener(`mouseleave`,onFloatingMouseLeave))}}},[o,c,e,d,p,j,M,N,r,n,v,m,_,g,i,P,b]),w(()=>{var e;if(c&&n&&(e=g.current)!=null&&(e=e.__options)!=null&&e.blockPointerEvents&&A()){D.current=!0;let e=o.floating;if(s(o.domReference)&&e){var t;let n=getDocument(o.floating).body;n.setAttribute(R,``);let r=o.domReference,i=m==null||(t=m.nodesRef.current.find(e=>e.id===h))==null||(t=t.context)==null?void 0:t.elements.floating;return i&&(i.style.pointerEvents=``),n.style.pointerEvents=`none`,r.style.pointerEvents=`auto`,e.style.pointerEvents=`auto`,()=>{n.style.pointerEvents=``,r.style.pointerEvents=``,e.style.pointerEvents=``}}}},[c,n,h,o,m,g,A]),w(()=>{n||(x.current=void 0,k.current=!1,M(),N())},[n,M,N]),y.useEffect(()=>()=>{M(),clearTimeoutIfSet(S),clearTimeoutIfSet(T),N()},[c,o.domReference,M,N]);let F=y.useMemo(()=>{function setPointerRef(e){x.current=e.pointerType}return{onPointerDown:setPointerRef,onPointerEnter:setPointerRef,onMouseMove(e){let{nativeEvent:t}=e;function handleMouseMove(){!E.current&&!v.current&&r(!0,t,`hover`)}d&&!isMouseLikePointerType(x.current)||n||getRestMs(b.current)===0||k.current&&e.movementX**2+e.movementY**2<2||(clearTimeoutIfSet(T),x.current===`touch`?handleMouseMove():(k.current=!0,T.current=window.setTimeout(handleMouseMove,getRestMs(b.current))))}}},[d,r,n,v,b]);return y.useMemo(()=>c?{reference:F}:{},[c,F])}const NOOP=()=>{},z=y.createContext({delay:0,initialDelay:0,timeoutMs:0,currentId:null,setCurrentId:NOOP,setState:NOOP,isInstantPhase:!1}),useDelayGroupContext=()=>y.useContext(z);function FloatingDelayGroup(e){let{children:t,delay:n,timeoutMs:r=0}=e,[i,a]=y.useReducer((e,t)=>({...e,...t}),{delay:n,timeoutMs:r,initialDelay:n,currentId:null,isInstantPhase:!1}),o=y.useRef(null),s=y.useCallback(e=>{a({currentId:e})},[]);return w(()=>{i.currentId?o.current===null?o.current=i.currentId:i.isInstantPhase||a({isInstantPhase:!0}):(i.isInstantPhase&&a({isInstantPhase:!1}),o.current=null)},[i.currentId,i.isInstantPhase]),x(z.Provider,{value:y.useMemo(()=>({...i,setState:a,setCurrentId:s}),[i,s]),children:t})}function useDelayGroup(e,t){t===void 0&&(t={});let{open:n,onOpenChange:r,floatingId:i}=e,{id:a,enabled:o=!0}=t,s=a??i,c=useDelayGroupContext(),{currentId:l,setCurrentId:u,initialDelay:d,setState:f,timeoutMs:p}=c;return w(()=>{o&&l&&(f({delay:{open:1,close:getDelay(d,`close`)}}),l!==s&&r(!1))},[o,s,r,f,l,d]),w(()=>{function unset(){r(!1),f({delay:d,currentId:null})}if(o&&l&&!n&&l===s){if(p){let e=window.setTimeout(unset,p);return()=>{clearTimeout(e)}}unset()}},[o,n,f,l,s,r,d,p]),w(()=>{o&&(u===NOOP||!n||u(s))},[o,n,u,s]),c}const B={pointerdown:`onPointerDown`,mousedown:`onMouseDown`,click:`onClick`},V={pointerdown:`onPointerDownCapture`,mousedown:`onMouseDownCapture`,click:`onClickCapture`},normalizeProp=e=>({escapeKey:typeof e==`boolean`?e:e?.escapeKey??!1,outsidePress:typeof e==`boolean`?e:e?.outsidePress??!0});function useDismiss(e,n){n===void 0&&(n={});let{open:i,onOpenChange:a,elements:c,dataRef:l}=e,{enabled:u=!0,escapeKey:f=!0,outsidePress:m=!0,outsidePressEvent:h=`pointerdown`,referencePress:g=!1,referencePressEvent:v=`pointerdown`,ancestorScroll:b=!1,bubbles:x,capture:S}=n,C=useFloatingTree(),w=useEffectEvent$1(typeof m==`function`?m:()=>!1),T=typeof m==`function`?w:m,E=y.useRef(!1),{escapeKey:D,outsidePress:O}=normalizeProp(x),{escapeKey:k,outsidePress:A}=normalizeProp(S),j=y.useRef(!1),M=useEffectEvent$1(e=>{if(!i||!u||!f||e.key!==`Escape`||j.current)return;let t=l.current.floatingContext?.nodeId,n=C?getNodeChildren(C.nodesRef.current,t):[];if(!D&&(e.stopPropagation(),n.length>0)){let e=!0;if(n.forEach(t=>{var n;if((n=t.context)!=null&&n.open&&!t.context.dataRef.current.__escapeKeyBubbles){e=!1;return}}),!e)return}a(!1,isReactEvent(e)?e.nativeEvent:e,`escape-key`)}),N=useEffectEvent$1(e=>{var t;let callback=()=>{var t;M(e),(t=getTarget(e))==null||t.removeEventListener(`keydown`,callback)};(t=getTarget(e))==null||t.addEventListener(`keydown`,callback)}),P=useEffectEvent$1(e=>{let n=l.current.insideReactTree;l.current.insideReactTree=!1;let r=E.current;if(E.current=!1,h===`click`&&r||n||typeof T==`function`&&!T(e))return;let i=getTarget(e),u=`[`+createAttribute(`inert`)+`]`,f=getDocument(c.floating).querySelectorAll(u),p=s(i)?i:null;for(;p&&!_(p);){let e=d(p);if(_(e)||!s(e))break;p=e}if(f.length&&s(i)&&!isRootElement(i)&&!contains(i,c.floating)&&Array.from(f).every(e=>!contains(p,e)))return;if(t(i)&&L){let t=_(i),n=o(i),r=/auto|scroll/,a=t||r.test(n.overflowX),s=t||r.test(n.overflowY),c=a&&i.clientWidth>0&&i.scrollWidth>i.clientWidth,l=s&&i.clientHeight>0&&i.scrollHeight>i.clientHeight,u=n.direction===`rtl`,d=l&&(u?e.offsetX<=i.offsetWidth-i.clientWidth:e.offsetX>i.clientWidth),f=c&&e.offsetY>i.clientHeight;if(d||f)return}let m=l.current.floatingContext?.nodeId,g=C&&getNodeChildren(C.nodesRef.current,m).some(t=>isEventTargetWithin(e,t.context?.elements.floating));if(isEventTargetWithin(e,c.floating)||isEventTargetWithin(e,c.domReference)||g)return;let v=C?getNodeChildren(C.nodesRef.current,m):[];if(v.length>0){let e=!0;if(v.forEach(t=>{var n;if((n=t.context)!=null&&n.open&&!t.context.dataRef.current.__outsidePressBubbles){e=!1;return}}),!e)return}a(!1,e,`outside-press`)}),F=useEffectEvent$1(e=>{var t;let callback=()=>{var t;P(e),(t=getTarget(e))==null||t.removeEventListener(h,callback)};(t=getTarget(e))==null||t.addEventListener(h,callback)});y.useEffect(()=>{if(!i||!u)return;l.current.__escapeKeyBubbles=D,l.current.__outsidePressBubbles=O;let e=-1;function onScroll(e){a(!1,e,`ancestor-scroll`)}function handleCompositionStart(){window.clearTimeout(e),j.current=!0}function handleCompositionEnd(){e=window.setTimeout(()=>{j.current=!1},r()?5:0)}let t=getDocument(c.floating);f&&(t.addEventListener(`keydown`,k?N:M,k),t.addEventListener(`compositionstart`,handleCompositionStart),t.addEventListener(`compositionend`,handleCompositionEnd)),T&&t.addEventListener(h,A?F:P,A);let n=[];return b&&(s(c.domReference)&&(n=p(c.domReference)),s(c.floating)&&(n=n.concat(p(c.floating))),!s(c.reference)&&c.reference&&c.reference.contextElement&&(n=n.concat(p(c.reference.contextElement)))),n=n.filter(e=>e!==t.defaultView?.visualViewport),n.forEach(e=>{e.addEventListener(`scroll`,onScroll,{passive:!0})}),()=>{f&&(t.removeEventListener(`keydown`,k?N:M,k),t.removeEventListener(`compositionstart`,handleCompositionStart),t.removeEventListener(`compositionend`,handleCompositionEnd)),T&&t.removeEventListener(h,A?F:P,A),n.forEach(e=>{e.removeEventListener(`scroll`,onScroll)}),window.clearTimeout(e)}},[l,c,f,T,h,i,a,b,u,D,O,M,k,N,P,A,F]),y.useEffect(()=>{l.current.insideReactTree=!1},[l,T,h]);let I=y.useMemo(()=>({onKeyDown:M,...g&&{[B[v]]:e=>{a(!1,e.nativeEvent,`reference-press`)},...v!==`click`&&{onClick(e){a(!1,e.nativeEvent,`reference-press`)}}}}),[M,a,g,v]),L=y.useMemo(()=>{function setMouseDownOrUpInside(e){e.button===0&&(E.current=!0)}return{onKeyDown:M,onMouseDown:setMouseDownOrUpInside,onMouseUp:setMouseDownOrUpInside,[V[h]]:()=>{l.current.insideReactTree=!0}}},[M,h,l]);return y.useMemo(()=>u?{reference:I,floating:L}:{},[u,I,L])}function useFloatingRootContext(e){let{open:t=!1,onOpenChange:n,elements:r}=e,i=F(),a=y.useRef({}),[o]=y.useState(()=>createEventEmitter()),s=useFloatingParentNodeId()!=null,[c,l]=y.useState(r.reference),u=useEffectEvent$1((e,t,r)=>{a.current.openEvent=e?t:void 0,o.emit(`openchange`,{open:e,event:t,reason:r,nested:s}),n?.(e,t,r)}),d=y.useMemo(()=>({setPositionReference:l}),[]),f=y.useMemo(()=>({reference:c||r.reference||null,floating:r.floating||null,domReference:r.reference}),[c,r.reference,r.floating]);return y.useMemo(()=>({dataRef:a,open:t,onOpenChange:u,elements:f,events:o,floatingId:i,refs:d}),[t,u,f,o,i,d])}function useFloating(e){e===void 0&&(e={});let{nodeId:t}=e,n=useFloatingRootContext({...e,elements:{reference:null,floating:null,...e.elements}}),r=e.rootContext||n,i=r.elements,[a,o]=y.useState(null),[c,l]=y.useState(null),u=i?.domReference||a,d=y.useRef(null),f=useFloatingTree();w(()=>{u&&(d.current=u)},[u]);let p=useFloating$1({...e,elements:{...i,...c&&{reference:c}}}),m=y.useCallback(e=>{let t=s(e)?{getBoundingClientRect:()=>e.getBoundingClientRect(),getClientRects:()=>e.getClientRects(),contextElement:e}:e;l(t),p.refs.setReference(t)},[p.refs]),h=y.useCallback(e=>{(s(e)||e===null)&&(d.current=e,o(e)),(s(p.refs.reference.current)||p.refs.reference.current===null||e!==null&&!s(e))&&p.refs.setReference(e)},[p.refs]),g=y.useMemo(()=>({...p.refs,setReference:h,setPositionReference:m,domReference:d}),[p.refs,h,m]),_=y.useMemo(()=>({...p.elements,domReference:u}),[p.elements,u]),v=y.useMemo(()=>({...p,...r,refs:g,elements:_,nodeId:t}),[p,g,_,t,r]);return w(()=>{r.dataRef.current.floatingContext=v;let e=f?.nodesRef.current.find(e=>e.id===t);e&&(e.context=v)}),y.useMemo(()=>({...p,context:v,refs:g,elements:_}),[p,g,_,v])}function isMacSafari(){return isMac()&&isSafari()}function useFocus(e,n){n===void 0&&(n={});let{open:r,onOpenChange:i,events:a,dataRef:o,elements:l}=e,{enabled:u=!0,visibleOnly:d=!0}=n,f=y.useRef(!1),p=y.useRef(-1),m=y.useRef(!0);y.useEffect(()=>{if(!u)return;let e=c(l.domReference);function onBlur(){!r&&t(l.domReference)&&l.domReference===activeElement(getDocument(l.domReference))&&(f.current=!0)}function onKeyDown(){m.current=!0}function onPointerDown(){m.current=!1}return e.addEventListener(`blur`,onBlur),isMacSafari()&&(e.addEventListener(`keydown`,onKeyDown,!0),e.addEventListener(`pointerdown`,onPointerDown,!0)),()=>{e.removeEventListener(`blur`,onBlur),isMacSafari()&&(e.removeEventListener(`keydown`,onKeyDown,!0),e.removeEventListener(`pointerdown`,onPointerDown,!0))}},[l.domReference,r,u]),y.useEffect(()=>{if(!u)return;function onOpenChange(e){let{reason:t}=e;(t===`reference-press`||t===`escape-key`)&&(f.current=!0)}return a.on(`openchange`,onOpenChange),()=>{a.off(`openchange`,onOpenChange)}},[a,u]),y.useEffect(()=>()=>{clearTimeoutIfSet(p)},[]);let h=y.useMemo(()=>({onMouseLeave(){f.current=!1},onFocus(e){if(f.current)return;let t=getTarget(e.nativeEvent);if(d&&s(t)){if(isMacSafari()&&!e.relatedTarget){if(!m.current&&!isTypeableElement(t))return}else if(!matchesFocusVisible(t))return}i(!0,e.nativeEvent,`focus`)},onBlur(e){f.current=!1;let t=e.relatedTarget,n=e.nativeEvent,r=s(t)&&t.hasAttribute(createAttribute(`focus-guard`))&&t.getAttribute(`data-type`)===`outside`;p.current=window.setTimeout(()=>{let e=activeElement(l.domReference?l.domReference.ownerDocument:document);!t&&e===l.domReference||contains(o.current.floatingContext?.refs.floating.current,e)||contains(l.domReference,e)||r||i(!1,n,`focus`)})}}),[o,l.domReference,i,d]);return y.useMemo(()=>u?{reference:h}:{},[u,h])}function mergeProps(e,t,n){let r=new Map,i=n===`item`,a=e;if(i&&e){let{[O]:t,[k]:n,...r}=e;a=r}return{...n===`floating`&&{tabIndex:-1,"data-floating-ui-focusable":``},...a,...t.map(t=>{let r=t?t[n]:null;return typeof r==`function`?e?r(e):null:r}).concat(e).reduce((e,t)=>(t&&Object.entries(t).forEach(t=>{let[n,a]=t;if(!(i&&[O,k].includes(n)))if(n.indexOf(`on`)===0){if(r.has(n)||r.set(n,[]),typeof a==`function`){var o;(o=r.get(n))==null||o.push(a),e[n]=function(){var e=[...arguments];return r.get(n)?.map(t=>t(...e)).find(e=>e!==void 0)}}}else e[n]=a}),e),{})}}function useInteractions(e){e===void 0&&(e=[]);let t=e.map(e=>e?.reference),n=e.map(e=>e?.floating),r=e.map(e=>e?.item),i=y.useCallback(t=>mergeProps(t,e,`reference`),t),a=y.useCallback(t=>mergeProps(t,e,`floating`),n),o=y.useCallback(t=>mergeProps(t,e,`item`),r);return y.useMemo(()=>({getReferenceProps:i,getFloatingProps:a,getItemProps:o}),[i,a,o])}const H=new Map([[`select`,`listbox`],[`combobox`,`listbox`],[`label`,!1]]);function useRole(e,t){t===void 0&&(t={});let{open:n,elements:r,floatingId:i}=e,{enabled:a=!0,role:o=`dialog`}=t,s=F(),c=r.domReference?.id||s,l=y.useMemo(()=>getFloatingFocusElement(r.floating)?.id||i,[r.floating,i]),u=H.get(o)??o,d=useFloatingParentNodeId()!=null,f=y.useMemo(()=>u===`tooltip`||o===`label`?{[`aria-`+(o===`label`?`labelledby`:`describedby`)]:n?l:void 0}:{"aria-expanded":n?`true`:`false`,"aria-haspopup":u===`alertdialog`?`dialog`:u,"aria-controls":n?l:void 0,...u===`listbox`&&{role:`combobox`},...u===`menu`&&{id:c},...u===`menu`&&d&&{role:`menuitem`},...o===`select`&&{"aria-autocomplete":`none`},...o===`combobox`&&{"aria-autocomplete":`list`}},[u,l,d,n,c,o]),p=y.useMemo(()=>{let e={id:l,...u&&{role:u}};return u===`tooltip`||o===`label`?e:{...e,...u===`menu`&&{"aria-labelledby":c}}},[u,l,c,o]),m=y.useCallback(e=>{let{active:t,selected:n}=e,r={role:`option`,...t&&{id:l+`-fui-option`}};switch(o){case`select`:case`combobox`:return{...r,"aria-selected":n}}return{}},[l,o]);return y.useMemo(()=>a?{reference:f,floating:p,item:m}:{},[a,f,p,m])}export{size as _,useFocus as a,useMergeRefs as c,flip as d,hide as f,shift as g,offset as h,useFloating as i,useRole as l,limitShift as m,useDelayGroup as n,useHover as o,inline as p,useDismiss as r,useInteractions as s,FloatingDelayGroup as t,arrow as u};
|