treege 3.0.0-beta.42 → 3.0.0-beta.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { A as e, E as t, F as n, I as r, L as i, N as a, P as o, T as s, j as c, k as l, t as u } from "./ThemeContext-CUHjGVUf.js";
2
- import { $ as d, A as f, B as p, F as m, G as h, H as g, I as _, J as v, K as y, L as ee, M as te, N as b, P as x, Q as ne, R as S, U as C, V as re, W as w, X as ie, Y as T, Z as ae, _ as E, at as D, c as O, et as k, it as A, j as oe, k as se, nt as j, o as ce, p as le, q as ue, rt as de, t as fe, tt as M, v as pe, z as me } from "./DefaultInputs-Cr6wTVNE.js";
2
+ import { $ as d, A as f, B as p, F as m, G as h, H as g, I as _, J as v, K as y, L as ee, M as te, N as b, P as x, Q as ne, R as S, U as C, V as re, W as w, X as ie, Y as T, Z as ae, _ as E, at as D, c as O, et as k, it as A, j as oe, k as se, nt as j, o as ce, p as le, q as ue, rt as de, t as fe, tt as M, v as pe, z as me } from "./DefaultInputs-D6a1ESW-.js";
3
3
  import { Background as he, BackgroundVariant as ge, BaseEdge as _e, ControlButton as ve, Controls as ye, EdgeLabelRenderer as be, Handle as xe, MiniMap as Se, NodeResizer as Ce, Panel as we, Position as Te, ReactFlow as Ee, ReactFlowProvider as De, addEdge as Oe, getBezierPath as ke, useEdges as Ae, useNodes as je, useNodesInitialized as Me, useReactFlow as N, useStore as Ne } from "@xyflow/react";
4
4
  import { createContext as Pe, memo as Fe, useCallback as P, useContext as Ie, useEffect as Le, useId as Re, useMemo as ze, useRef as Be, useState as F } from "react";
5
5
  import { Fragment as I, jsx as L, jsxs as R } from "react/jsx-runtime";
@@ -22,7 +22,11 @@ var Bt = "data:image/svg+xml,%3csvg%20width='462'%20height='144'%20viewBox='0%20
22
22
  alt: "Treege",
23
23
  className: "tg:relative tg:h-7 tg:w-auto tg:drop-shadow-[0_0px_35px] tg:drop-shadow-blue-600 tg:md:h-14"
24
24
  })
25
- }), Ut = (e) => {
25
+ }), Ut = "/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-border-default:1px solid #bbb;--xy-node-border-selected-default:1px solid #555;--xy-handle-background-color-default:#333;--xy-selection-background-color-default:#9696b41a;--xy-selection-border-default:1px dotted #9b9b9bcc;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));min-width:5px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{justify-content:center;align-items:center;width:26px;height:26px;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border:var(--xy-node-border,var(--xy-node-border-default));color:var(--xy-node-color,var(--xy-node-color-default))}.react-flow__node-input.selected,.react-flow__node-input:focus,.react-flow__node-input:focus-visible,.react-flow__node-default.selected,.react-flow__node-default:focus,.react-flow__node-default:focus-visible,.react-flow__node-output.selected,.react-flow__node-output:focus,.react-flow__node-output:focus-visible,.react-flow__node-group.selected,.react-flow__node-group:focus,.react-flow__node-group:focus-visible{border:var(--xy-node-border-selected,var(--xy-node-border-selected-default));outline:none}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}@layer theme{:root,:host{--tg-font-sans:ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--tg-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--tg-color-red-500:oklch(63.7% .237 25.331);--tg-color-blue-300:oklch(80.9% .105 251.813);--tg-color-blue-500:oklch(62.3% .214 259.815);--tg-color-blue-600:oklch(54.6% .245 262.881);--tg-color-purple-600:oklch(55.8% .288 302.321);--tg-color-purple-700:oklch(49.6% .265 301.924);--tg-color-gray-300:oklch(87.2% .01 258.338);--tg-color-gray-400:oklch(70.7% .022 261.325);--tg-color-gray-500:oklch(55.1% .027 264.364);--tg-color-black:#000;--tg-color-white:#fff;--tg-spacing:.25rem;--tg-container-sm:24rem;--tg-container-lg:32rem;--tg-container-2xl:42rem;--tg-text-xs:.75rem;--tg-text-xs--line-height:calc(1 / .75);--tg-text-sm:.875rem;--tg-text-sm--line-height:calc(1.25 / .875);--tg-text-base:1rem;--tg-text-base--line-height:calc(1.5 / 1);--tg-text-lg:1.125rem;--tg-text-lg--line-height:calc(1.75 / 1.125);--tg-text-2xl:1.5rem;--tg-text-2xl--line-height:calc(2 / 1.5);--tg-font-weight-light:300;--tg-font-weight-normal:400;--tg-font-weight-medium:500;--tg-font-weight-semibold:600;--tg-font-weight-bold:700;--tg-tracking-widest:.1em;--tg-radius-xs:.125rem;--tg-ease-in-out:cubic-bezier(.4, 0, .2, 1);--tg-animate-spin:spin 1s linear infinite;--tg-default-transition-duration:.15s;--tg-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--tg-default-font-family:var(--tg-font-sans);--tg-default-mono-font-family:var(--tg-font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--tg-default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--tg-default-font-feature-settings,normal);font-variation-settings:var(--tg-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--tg-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--tg-default-mono-font-feature-settings,normal);font-variation-settings:var(--tg-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--treege-border)}body{color:var(--treege-foreground)}}@layer components;@layer utilities{.tg\\:pointer-events-none{pointer-events:none}.tg\\:invisible{visibility:hidden}.tg\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tg\\:absolute{position:absolute}.tg\\:fixed{position:fixed}.tg\\:relative{position:relative}.tg\\:inset-0{inset:calc(var(--tg-spacing) * 0)}.tg\\:inset-x-0{inset-inline:calc(var(--tg-spacing) * 0)}.tg\\:inset-y-0{inset-block:calc(var(--tg-spacing) * 0)}.tg\\:-top-1{top:calc(var(--tg-spacing) * -1)}.tg\\:-top-3\\.5{top:calc(var(--tg-spacing) * -3.5)}.tg\\:top-0{top:calc(var(--tg-spacing) * 0)}.tg\\:top-1\\/2{top:50%}.tg\\:top-2{top:calc(var(--tg-spacing) * 2)}.tg\\:top-4{top:calc(var(--tg-spacing) * 4)}.tg\\:top-\\[50\\%\\]{top:50%}.tg\\:-right-1{right:calc(var(--tg-spacing) * -1)}.tg\\:right-0{right:calc(var(--tg-spacing) * 0)}.tg\\:right-2{right:calc(var(--tg-spacing) * 2)}.tg\\:right-3{right:calc(var(--tg-spacing) * 3)}.tg\\:right-4{right:calc(var(--tg-spacing) * 4)}.tg\\:bottom-0{bottom:calc(var(--tg-spacing) * 0)}.tg\\:left-0{left:calc(var(--tg-spacing) * 0)}.tg\\:left-1\\/2{left:50%}.tg\\:left-2{left:calc(var(--tg-spacing) * 2)}.tg\\:left-5{left:calc(var(--tg-spacing) * 5)}.tg\\:left-6{left:calc(var(--tg-spacing) * 6)}.tg\\:left-\\[50\\%\\]{left:50%}.tg\\:z-50{z-index:50}.tg\\:-mx-1{margin-inline:calc(var(--tg-spacing) * -1)}.tg\\:mx-auto{margin-inline:auto}.tg\\:my-1{margin-block:calc(var(--tg-spacing) * 1)}.tg\\:my-4{margin-block:calc(var(--tg-spacing) * 4)}.tg\\:my-8{margin-block:calc(var(--tg-spacing) * 8)}.tg\\:mt-0\\.5{margin-top:calc(var(--tg-spacing) * .5)}.tg\\:mt-1{margin-top:calc(var(--tg-spacing) * 1)}.tg\\:mt-2{margin-top:calc(var(--tg-spacing) * 2)}.tg\\:mt-4{margin-top:calc(var(--tg-spacing) * 4)}.tg\\:mt-8{margin-top:calc(var(--tg-spacing) * 8)}.tg\\:mt-10{margin-top:calc(var(--tg-spacing) * 10)}.tg\\:mt-auto{margin-top:auto}.tg\\:mr-1{margin-right:calc(var(--tg-spacing) * 1)}.tg\\:mr-2{margin-right:calc(var(--tg-spacing) * 2)}.tg\\:mb-1{margin-bottom:calc(var(--tg-spacing) * 1)}.tg\\:mb-2{margin-bottom:calc(var(--tg-spacing) * 2)}.tg\\:mb-4{margin-bottom:calc(var(--tg-spacing) * 4)}.tg\\:mb-5{margin-bottom:calc(var(--tg-spacing) * 5)}.tg\\:mb-6{margin-bottom:calc(var(--tg-spacing) * 6)}.tg\\:mb-10{margin-bottom:calc(var(--tg-spacing) * 10)}.tg\\:ml-1{margin-left:calc(var(--tg-spacing) * 1)}.tg\\:ml-2{margin-left:calc(var(--tg-spacing) * 2)}.tg\\:ml-4{margin-left:calc(var(--tg-spacing) * 4)}.tg\\:ml-auto{margin-left:auto}.tg\\:block{display:block}.tg\\:flex{display:flex}.tg\\:grid{display:grid}.tg\\:hidden{display:none}.tg\\:inline-flex{display:inline-flex}.tg\\:field-sizing-content{field-sizing:content}.tg\\:aspect-square{aspect-ratio:1}.tg\\:size-\\(--cell-size\\){width:var(--cell-size);height:var(--cell-size)}.tg\\:size-2{width:calc(var(--tg-spacing) * 2);height:calc(var(--tg-spacing) * 2)}.tg\\:size-2\\.5{width:calc(var(--tg-spacing) * 2.5);height:calc(var(--tg-spacing) * 2.5)}.tg\\:size-3{width:calc(var(--tg-spacing) * 3);height:calc(var(--tg-spacing) * 3)}.tg\\:size-3\\.5{width:calc(var(--tg-spacing) * 3.5);height:calc(var(--tg-spacing) * 3.5)}.tg\\:size-4{width:calc(var(--tg-spacing) * 4);height:calc(var(--tg-spacing) * 4)}.tg\\:size-8{width:calc(var(--tg-spacing) * 8);height:calc(var(--tg-spacing) * 8)}.tg\\:size-9{width:calc(var(--tg-spacing) * 9);height:calc(var(--tg-spacing) * 9)}.tg\\:size-10{width:calc(var(--tg-spacing) * 10);height:calc(var(--tg-spacing) * 10)}.tg\\:size-auto{width:auto;height:auto}.tg\\:size-full{width:100%;height:100%}.tg\\:\\!h-3{height:calc(var(--tg-spacing) * 3)!important}.tg\\:h-\\(--cell-size\\){height:var(--cell-size)}.tg\\:h-0{height:calc(var(--tg-spacing) * 0)}.tg\\:h-2\\.5{height:calc(var(--tg-spacing) * 2.5)}.tg\\:h-3{height:calc(var(--tg-spacing) * 3)}.tg\\:h-3\\.5{height:calc(var(--tg-spacing) * 3.5)}.tg\\:h-4{height:calc(var(--tg-spacing) * 4)}.tg\\:h-6{height:calc(var(--tg-spacing) * 6)}.tg\\:h-6\\!{height:calc(var(--tg-spacing) * 6)!important}.tg\\:h-7{height:calc(var(--tg-spacing) * 7)}.tg\\:h-8{height:calc(var(--tg-spacing) * 8)}.tg\\:h-9{height:calc(var(--tg-spacing) * 9)}.tg\\:h-10{height:calc(var(--tg-spacing) * 10)}.tg\\:h-12{height:calc(var(--tg-spacing) * 12)}.tg\\:h-\\[1\\.15rem\\]{height:1.15rem}.tg\\:h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.tg\\:h-auto{height:auto}.tg\\:h-full{height:100%}.tg\\:h-px{height:1px}.tg\\:h-screen{height:100vh}.tg\\:max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.tg\\:max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.tg\\:max-h-80{max-height:calc(var(--tg-spacing) * 80)}.tg\\:max-h-150{max-height:calc(var(--tg-spacing) * 150)}.tg\\:max-h-\\[300px\\]{max-height:300px}.tg\\:min-h-0{min-height:calc(var(--tg-spacing) * 0)}.tg\\:min-h-16{min-height:calc(var(--tg-spacing) * 16)}.tg\\:\\!w-3{width:calc(var(--tg-spacing) * 3)!important}.tg\\:w-\\(--cell-size\\){width:var(--cell-size)}.tg\\:w-0{width:calc(var(--tg-spacing) * 0)}.tg\\:w-2\\.5{width:calc(var(--tg-spacing) * 2.5)}.tg\\:w-3{width:calc(var(--tg-spacing) * 3)}.tg\\:w-3\\.5{width:calc(var(--tg-spacing) * 3.5)}.tg\\:w-3\\/4{width:75%}.tg\\:w-4{width:calc(var(--tg-spacing) * 4)}.tg\\:w-4\\/12{width:33.3333%}.tg\\:w-6{width:calc(var(--tg-spacing) * 6)}.tg\\:w-6\\!{width:calc(var(--tg-spacing) * 6)!important}.tg\\:w-8{width:calc(var(--tg-spacing) * 8)}.tg\\:w-8\\/12{width:66.6667%}.tg\\:w-9{width:calc(var(--tg-spacing) * 9)}.tg\\:w-10{width:calc(var(--tg-spacing) * 10)}.tg\\:w-12{width:calc(var(--tg-spacing) * 12)}.tg\\:w-32{width:calc(var(--tg-spacing) * 32)}.tg\\:w-64{width:calc(var(--tg-spacing) * 64)}.tg\\:w-72{width:calc(var(--tg-spacing) * 72)}.tg\\:w-80{width:calc(var(--tg-spacing) * 80)}.tg\\:w-96{width:calc(var(--tg-spacing) * 96)}.tg\\:w-\\[300px\\]{width:300px}.tg\\:w-auto{width:auto}.tg\\:w-fit{width:fit-content}.tg\\:w-full{width:100%}.tg\\:w-screen{width:100vw}.tg\\:max-w-2xl{max-width:var(--tg-container-2xl)}.tg\\:max-w-50{max-width:calc(var(--tg-spacing) * 50)}.tg\\:max-w-\\[350px\\]{max-width:350px}.tg\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.tg\\:max-w-none{max-width:none}.tg\\:min-w-\\(--cell-size\\){min-width:var(--cell-size)}.tg\\:min-w-0{min-width:calc(var(--tg-spacing) * 0)}.tg\\:min-w-\\[8rem\\]{min-width:8rem}.tg\\:min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.tg\\:flex-1{flex:1}.tg\\:shrink-0{flex-shrink:0}.tg\\:border-collapse{border-collapse:collapse}.tg\\:origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.tg\\:origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.tg\\:origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.tg\\:origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.tg\\:-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:rotate-45{rotate:45deg}.tg\\:animate-in{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tg\\:animate-spin{animation:var(--tg-animate-spin)}.tg\\:cursor-default{cursor:default}.tg\\:cursor-pointer{cursor:pointer}.tg\\:touch-none{touch-action:none}.tg\\:resize-none{resize:none}.tg\\:scroll-my-1{scroll-margin-block:calc(var(--tg-spacing) * 1)}.tg\\:scroll-py-1{scroll-padding-block:calc(var(--tg-spacing) * 1)}.tg\\:list-inside{list-style-position:inside}.tg\\:list-disc{list-style-type:disc}.tg\\:flex-col{flex-direction:column}.tg\\:flex-col-reverse{flex-direction:column-reverse}.tg\\:place-content-center{place-content:center}.tg\\:items-center{align-items:center}.tg\\:items-end{align-items:flex-end}.tg\\:items-start{align-items:flex-start}.tg\\:justify-between{justify-content:space-between}.tg\\:justify-center{justify-content:center}.tg\\:justify-end{justify-content:flex-end}.tg\\:gap-0{gap:calc(var(--tg-spacing) * 0)}.tg\\:gap-0\\.5{gap:calc(var(--tg-spacing) * .5)}.tg\\:gap-1{gap:calc(var(--tg-spacing) * 1)}.tg\\:gap-1\\.5{gap:calc(var(--tg-spacing) * 1.5)}.tg\\:gap-2{gap:calc(var(--tg-spacing) * 2)}.tg\\:gap-3{gap:calc(var(--tg-spacing) * 3)}.tg\\:gap-4{gap:calc(var(--tg-spacing) * 4)}.tg\\:gap-5{gap:calc(var(--tg-spacing) * 5)}.tg\\:gap-6{gap:calc(var(--tg-spacing) * 6)}:where(.tg\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--tg-spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--tg-spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.tg\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--tg-spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--tg-spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tg\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--tg-spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--tg-spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.tg\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--tg-spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--tg-spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tg\\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--tg-spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--tg-spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.tg\\:gap-x-3{column-gap:calc(var(--tg-spacing) * 3)}:where(.tg\\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--tg-spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--tg-spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.tg\\:gap-y-3{row-gap:calc(var(--tg-spacing) * 3)}.tg\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tg\\:overflow-auto{overflow:auto}.tg\\:overflow-hidden{overflow:hidden}.tg\\:overflow-x-hidden{overflow-x:hidden}.tg\\:overflow-y-auto{overflow-y:auto}.tg\\:rounded{border-radius:.25rem}.tg\\:rounded-\\[2px\\]{border-radius:2px}.tg\\:rounded-\\[4px\\]{border-radius:4px}.tg\\:rounded-\\[inherit\\]{border-radius:inherit}.tg\\:rounded-full{border-radius:3.40282e38px}.tg\\:rounded-lg{border-radius:var(--treege-radius)}.tg\\:rounded-md{border-radius:calc(var(--treege-radius) - 2px)}.tg\\:rounded-none{border-radius:0}.tg\\:rounded-sm{border-radius:calc(var(--treege-radius) - 4px)}.tg\\:rounded-xs{border-radius:var(--tg-radius-xs)}.tg\\:rounded-l-md{border-top-left-radius:calc(var(--treege-radius) - 2px);border-bottom-left-radius:calc(var(--treege-radius) - 2px)}.tg\\:rounded-r-md{border-top-right-radius:calc(var(--treege-radius) - 2px);border-bottom-right-radius:calc(var(--treege-radius) - 2px)}.tg\\:border{border-style:var(--tw-border-style);border-width:1px}.tg\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tg\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.tg\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tg\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.tg\\:border-foreground\\/30{border-color:var(--treege-foreground)}@supports (color:color-mix(in lab, red, red)){.tg\\:border-foreground\\/30{border-color:color-mix(in oklab, var(--treege-foreground) 30%, transparent)}}.tg\\:border-gray-300{border-color:var(--tg-color-gray-300)}.tg\\:border-input{border-color:var(--treege-input)}.tg\\:border-primary{border-color:var(--treege-primary)}.tg\\:border-transparent{border-color:#0000}.tg\\:border-t-transparent{border-top-color:#0000}.tg\\:border-l-transparent{border-left-color:#0000}.tg\\:bg-accent{background-color:var(--treege-accent)}.tg\\:bg-background{background-color:var(--treege-background)}.tg\\:bg-black\\/50{background-color:var(--tg-color-black)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-black\\/50{background-color:color-mix(in oklab, var(--tg-color-black) 50%, transparent)}}.tg\\:bg-blue-300{background-color:var(--tg-color-blue-300)}.tg\\:bg-blue-500{background-color:var(--tg-color-blue-500)}.tg\\:bg-border{background-color:var(--treege-border)}.tg\\:bg-chart-2{background-color:var(--treege-chart-2)}.tg\\:bg-destructive{background-color:var(--treege-destructive)}.tg\\:bg-foreground{background-color:var(--treege-foreground)}.tg\\:bg-muted,.tg\\:bg-muted\\/20{background-color:var(--treege-muted)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-muted\\/20{background-color:color-mix(in oklab, var(--treege-muted) 20%, transparent)}}.tg\\:bg-muted\\/30{background-color:var(--treege-muted)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-muted\\/30{background-color:color-mix(in oklab, var(--treege-muted) 30%, transparent)}}.tg\\:bg-popover{background-color:var(--treege-popover)}.tg\\:bg-primary,.tg\\:bg-primary\\/5{background-color:var(--treege-primary)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-primary\\/5{background-color:color-mix(in oklab, var(--treege-primary) 5%, transparent)}}.tg\\:bg-purple-600{background-color:var(--tg-color-purple-600)}.tg\\:bg-secondary{background-color:var(--treege-secondary)}.tg\\:bg-transparent{background-color:#0000}.tg\\:fill-current{fill:currentColor}.tg\\:fill-foreground{fill:var(--treege-foreground)}.tg\\:fill-primary{fill:var(--treege-primary)}.tg\\:object-cover{object-fit:cover}.tg\\:p-0{padding:calc(var(--tg-spacing) * 0)}.tg\\:p-0\\!{padding:calc(var(--tg-spacing) * 0)!important}.tg\\:p-1{padding:calc(var(--tg-spacing) * 1)}.tg\\:p-2{padding:calc(var(--tg-spacing) * 2)}.tg\\:p-3{padding:calc(var(--tg-spacing) * 3)}.tg\\:p-4{padding:calc(var(--tg-spacing) * 4)}.tg\\:p-6{padding:calc(var(--tg-spacing) * 6)}.tg\\:p-px{padding:1px}.tg\\:px-\\(--cell-size\\){padding-inline:var(--cell-size)}.tg\\:px-1{padding-inline:calc(var(--tg-spacing) * 1)}.tg\\:px-1\\.5{padding-inline:calc(var(--tg-spacing) * 1.5)}.tg\\:px-2{padding-inline:calc(var(--tg-spacing) * 2)}.tg\\:px-3{padding-inline:calc(var(--tg-spacing) * 3)}.tg\\:px-4{padding-inline:calc(var(--tg-spacing) * 4)}.tg\\:px-6{padding-inline:calc(var(--tg-spacing) * 6)}.tg\\:py-0{padding-block:calc(var(--tg-spacing) * 0)}.tg\\:py-0\\.5{padding-block:calc(var(--tg-spacing) * .5)}.tg\\:py-1{padding-block:calc(var(--tg-spacing) * 1)}.tg\\:py-1\\.5{padding-block:calc(var(--tg-spacing) * 1.5)}.tg\\:py-2{padding-block:calc(var(--tg-spacing) * 2)}.tg\\:py-3{padding-block:calc(var(--tg-spacing) * 3)}.tg\\:py-4{padding-block:calc(var(--tg-spacing) * 4)}.tg\\:py-6{padding-block:calc(var(--tg-spacing) * 6)}.tg\\:pt-2{padding-top:calc(var(--tg-spacing) * 2)}.tg\\:pr-1{padding-right:calc(var(--tg-spacing) * 1)}.tg\\:pr-2{padding-right:calc(var(--tg-spacing) * 2)}.tg\\:pr-8{padding-right:calc(var(--tg-spacing) * 8)}.tg\\:pr-10{padding-right:calc(var(--tg-spacing) * 10)}.tg\\:pb-1\\.5{padding-bottom:calc(var(--tg-spacing) * 1.5)}.tg\\:pl-2{padding-left:calc(var(--tg-spacing) * 2)}.tg\\:pl-8{padding-left:calc(var(--tg-spacing) * 8)}.tg\\:text-center{text-align:center}.tg\\:font-mono{font-family:var(--tg-font-mono)}.tg\\:text-2xl{font-size:var(--tg-text-2xl);line-height:var(--tw-leading,var(--tg-text-2xl--line-height))}.tg\\:text-base{font-size:var(--tg-text-base);line-height:var(--tw-leading,var(--tg-text-base--line-height))}.tg\\:text-lg{font-size:var(--tg-text-lg);line-height:var(--tw-leading,var(--tg-text-lg--line-height))}.tg\\:text-sm{font-size:var(--tg-text-sm);line-height:var(--tw-leading,var(--tg-text-sm--line-height))}.tg\\:text-xs{font-size:var(--tg-text-xs);line-height:var(--tw-leading,var(--tg-text-xs--line-height))}.tg\\:text-\\[0\\.8rem\\]{font-size:.8rem}.tg\\:text-\\[10px\\]{font-size:10px}.tg\\:leading-none{--tw-leading:1;line-height:1}.tg\\:font-bold{--tw-font-weight:var(--tg-font-weight-bold);font-weight:var(--tg-font-weight-bold)}.tg\\:font-light{--tw-font-weight:var(--tg-font-weight-light);font-weight:var(--tg-font-weight-light)}.tg\\:font-medium{--tw-font-weight:var(--tg-font-weight-medium);font-weight:var(--tg-font-weight-medium)}.tg\\:font-normal{--tw-font-weight:var(--tg-font-weight-normal);font-weight:var(--tg-font-weight-normal)}.tg\\:font-semibold{--tw-font-weight:var(--tg-font-weight-semibold);font-weight:var(--tg-font-weight-semibold)}.tg\\:tracking-widest{--tw-tracking:var(--tg-tracking-widest);letter-spacing:var(--tg-tracking-widest)}.tg\\:text-balance{text-wrap:balance}.tg\\:whitespace-nowrap{white-space:nowrap}.tg\\:text-\\[\\#13d3b4\\]{color:#13d3b4}.tg\\:text-\\[--treege-color-primary\\]{color:--treege-color-primary}.tg\\:text-accent-foreground{color:var(--treege-accent-foreground)}.tg\\:text-background{color:var(--treege-background)}.tg\\:text-current{color:currentColor}.tg\\:text-destructive{color:var(--treege-destructive)}.tg\\:text-foreground{color:var(--treege-foreground)}.tg\\:text-gray-300{color:var(--tg-color-gray-300)}.tg\\:text-gray-400{color:var(--tg-color-gray-400)}.tg\\:text-gray-500{color:var(--tg-color-gray-500)}.tg\\:text-muted-foreground{color:var(--treege-muted-foreground)}.tg\\:text-popover-foreground{color:var(--treege-popover-foreground)}.tg\\:text-primary{color:var(--treege-primary)}.tg\\:text-primary-foreground{color:var(--treege-primary-foreground)}.tg\\:text-red-500{color:var(--tg-color-red-500)}.tg\\:text-secondary-foreground{color:var(--treege-secondary-foreground)}.tg\\:text-white{color:var(--tg-color-white)}.tg\\:capitalize{text-transform:capitalize}.tg\\:uppercase{text-transform:uppercase}.tg\\:underline{text-decoration-line:underline}.tg\\:underline-offset-4{text-underline-offset:4px}.tg\\:\\[color-scheme\\:light\\]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.tg\\:opacity-0{opacity:0}.tg\\:opacity-50{opacity:.5}.tg\\:opacity-60{opacity:.6}.tg\\:opacity-70{opacity:.7}.tg\\:opacity-100{opacity:1}.tg\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tg\\:shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tg\\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tg\\:ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tg\\:ring-offset-background{--tw-ring-offset-color:var(--treege-background)}.tg\\:outline-hidden{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tg\\:outline-hidden{outline-offset:2px;outline:2px solid #0000}}.tg\\:drop-shadow-\\[0_0px_35px\\]{--tw-drop-shadow-size:drop-shadow(0 0px 35px var(--tw-drop-shadow-color,currentcolor));--tw-drop-shadow:var(--tw-drop-shadow-size);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.tg\\:drop-shadow-blue-600{--tw-drop-shadow-color:var(--tg-color-blue-600)}@supports (color:color-mix(in lab, red, red)){.tg\\:drop-shadow-blue-600{--tw-drop-shadow-color:color-mix(in oklab, var(--tg-color-blue-600) var(--tw-drop-shadow-alpha), transparent)}}.tg\\:drop-shadow-blue-600{--tw-drop-shadow:var(--tw-drop-shadow-size)}.tg\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--tg-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tg-default-transition-duration))}.tg\\:transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--tg-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tg-default-transition-duration))}.tg\\:transition-\\[filter\\]{transition-property:filter;transition-timing-function:var(--tw-ease,var(--tg-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tg-default-transition-duration))}.tg\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--tg-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tg-default-transition-duration))}.tg\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tg-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tg-default-transition-duration))}.tg\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--tg-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tg-default-transition-duration))}.tg\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--tg-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tg-default-transition-duration))}.tg\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--tg-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tg-default-transition-duration))}.tg\\:transition-none{transition-property:none}.tg\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tg\\:ease-in-out{--tw-ease:var(--tg-ease-in-out);transition-timing-function:var(--tg-ease-in-out)}.tg\\:fade-in-0{--tw-enter-opacity:0}.tg\\:outline-none{--tw-outline-style:none;outline-style:none}.tg\\:select-none{-webkit-user-select:none;user-select:none}.tg\\:zoom-in-95{--tw-enter-scale:.95}.tg\\:\\[--cell-size\\:--spacing\\(8\\)\\]{--cell-size:calc(var(--tg-spacing) * 8)}.tg\\:group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.tg\\:group)[data-disabled=true] *){pointer-events:none}.tg\\:group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.tg\\:group)[data-disabled=true] *){opacity:.5}.tg\\:group-data-\\[focused\\=true\\]\\/day\\:relative:is(:where(.tg\\:group\\/day)[data-focused=true] *){position:relative}.tg\\:group-data-\\[focused\\=true\\]\\/day\\:z-10:is(:where(.tg\\:group\\/day)[data-focused=true] *){z-index:10}.tg\\:group-data-\\[focused\\=true\\]\\/day\\:border-ring:is(:where(.tg\\:group\\/day)[data-focused=true] *){border-color:var(--treege-ring)}.tg\\:group-data-\\[focused\\=true\\]\\/day\\:ring-\\[3px\\]:is(:where(.tg\\:group\\/day)[data-focused=true] *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tg\\:group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50:is(:where(.tg\\:group\\/day)[data-focused=true] *){--tw-ring-color:var(--treege-ring)}@supports (color:color-mix(in lab, red, red)){.tg\\:group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50:is(:where(.tg\\:group\\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab, var(--treege-ring) 50%, transparent)}}.tg\\:peer-disabled\\:cursor-not-allowed:is(:where(.tg\\:peer):disabled~*){cursor:not-allowed}.tg\\:peer-disabled\\:opacity-50:is(:where(.tg\\:peer):disabled~*){opacity:.5}.tg\\:selection\\:bg-primary ::selection{background-color:var(--treege-primary)}.tg\\:selection\\:bg-primary::selection{background-color:var(--treege-primary)}.tg\\:selection\\:text-primary-foreground ::selection{color:var(--treege-primary-foreground)}.tg\\:selection\\:text-primary-foreground::selection{color:var(--treege-primary-foreground)}.tg\\:file\\:inline-flex::file-selector-button{display:inline-flex}.tg\\:file\\:h-7::file-selector-button{height:calc(var(--tg-spacing) * 7)}.tg\\:file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.tg\\:file\\:bg-transparent::file-selector-button{background-color:#0000}.tg\\:file\\:text-sm::file-selector-button{font-size:var(--tg-text-sm);line-height:var(--tw-leading,var(--tg-text-sm--line-height))}.tg\\:file\\:font-medium::file-selector-button{--tw-font-weight:var(--tg-font-weight-medium);font-weight:var(--tg-font-weight-medium)}.tg\\:file\\:text-foreground::file-selector-button{color:var(--treege-foreground)}.tg\\:placeholder\\:text-muted-foreground::placeholder,.tg\\:placeholder\\:text-muted-foreground\\/40::placeholder{color:var(--treege-muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tg\\:placeholder\\:text-muted-foreground\\/40::placeholder{color:color-mix(in oklab, var(--treege-muted-foreground) 40%, transparent)}}.tg\\:placeholder\\:text-white\\/60::placeholder{color:var(--tg-color-white)}@supports (color:color-mix(in lab, red, red)){.tg\\:placeholder\\:text-white\\/60::placeholder{color:color-mix(in oklab, var(--tg-color-white) 60%, transparent)}}@media (hover:hover){.tg\\:hover\\:border-primary\\/50:hover{border-color:var(--treege-primary)}@supports (color:color-mix(in lab, red, red)){.tg\\:hover\\:border-primary\\/50:hover{border-color:color-mix(in oklab, var(--treege-primary) 50%, transparent)}}.tg\\:hover\\:bg-accent:hover{background-color:var(--treege-accent)}.tg\\:hover\\:bg-blue-600:hover{background-color:var(--tg-color-blue-600)}.tg\\:hover\\:bg-destructive\\/90:hover{background-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab, var(--treege-destructive) 90%, transparent)}}.tg\\:hover\\:bg-primary:hover{background-color:var(--treege-primary)}.tg\\:hover\\:bg-primary\\/80\\!:hover{background-color:var(--treege-primary)!important}@supports (color:color-mix(in lab, red, red)){.tg\\:hover\\:bg-primary\\/80\\!:hover{background-color:color-mix(in oklab, var(--treege-primary) 80%, transparent)!important}}.tg\\:hover\\:bg-primary\\/90:hover{background-color:var(--treege-primary)}@supports (color:color-mix(in lab, red, red)){.tg\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--treege-primary) 90%, transparent)}}.tg\\:hover\\:bg-purple-700:hover{background-color:var(--tg-color-purple-700)}.tg\\:hover\\:bg-secondary:hover,.tg\\:hover\\:bg-secondary\\/80:hover{background-color:var(--treege-secondary)}@supports (color:color-mix(in lab, red, red)){.tg\\:hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--treege-secondary) 80%, transparent)}}.tg\\:hover\\:text-\\[--treege-color-primary\\]:hover{color:--treege-color-primary}.tg\\:hover\\:text-accent-foreground:hover{color:var(--treege-accent-foreground)}.tg\\:hover\\:text-primary:hover{color:var(--treege-primary)}.tg\\:hover\\:no-underline:hover{text-decoration-line:none}.tg\\:hover\\:underline:hover{text-decoration-line:underline}.tg\\:hover\\:opacity-100:hover{opacity:1}.tg\\:hover\\:brightness-90:hover{--tw-brightness:brightness(90%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.tg\\:hover\\:brightness-125:hover{--tw-brightness:brightness(125%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.tg\\:focus\\:bg-accent:focus{background-color:var(--treege-accent)}.tg\\:focus\\:text-accent-foreground:focus{color:var(--treege-accent-foreground)}.tg\\:focus\\:text-destructive:focus{color:var(--treege-destructive)}.tg\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tg\\:focus\\:ring-blue-500:focus{--tw-ring-color:var(--tg-color-blue-500)}.tg\\:focus\\:ring-ring:focus{--tw-ring-color:var(--treege-ring)}.tg\\:focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tg\\:focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.tg\\:focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.tg\\:focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.tg\\:focus-visible\\:border-ring:focus-visible{border-color:var(--treege-ring)}.tg\\:focus-visible\\:border-transparent\\!:focus-visible{border-color:#0000!important}.tg\\:focus-visible\\:ring-0\\!:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)!important}.tg\\:focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tg\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--treege-destructive) 20%, transparent)}}.tg\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--treege-ring)}@supports (color:color-mix(in lab, red, red)){.tg\\:focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--treege-ring) 50%, transparent)}}.tg\\:focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.tg\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.tg\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tg\\:disabled\\:opacity-50:disabled{opacity:.5}.tg\\:has-focus\\:border-ring:has(:focus){border-color:var(--treege-ring)}.tg\\:has-focus\\:ring-\\[3px\\]:has(:focus){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.tg\\:has-focus\\:ring-ring\\/50:has(:focus){--tw-ring-color:var(--treege-ring)}@supports (color:color-mix(in lab, red, red)){.tg\\:has-focus\\:ring-ring\\/50:has(:focus){--tw-ring-color:color-mix(in oklab, var(--treege-ring) 50%, transparent)}}.tg\\:has-\\[\\>svg\\]\\:px-1\\.5:has(>svg){padding-inline:calc(var(--tg-spacing) * 1.5)}.tg\\:has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--tg-spacing) * 2.5)}.tg\\:has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--tg-spacing) * 3)}.tg\\:has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--tg-spacing) * 4)}.tg\\:aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.tg\\:aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--treege-destructive)}.tg\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--treege-destructive) 20%, transparent)}}.tg\\:aria-selected\\:text-muted-foreground[aria-selected=true]{color:var(--treege-muted-foreground)}.tg\\:data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.tg\\:data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.tg\\:data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.tg\\:data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.tg\\:data-\\[inset\\]\\:pl-7[data-inset]{padding-left:calc(var(--tg-spacing) * 7)}.tg\\:data-\\[inset\\]\\:pl-8[data-inset]{padding-left:calc(var(--tg-spacing) * 8)}.tg\\:data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.tg\\:data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.tg\\:data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.tg\\:data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.tg\\:data-\\[placeholder\\]\\:text-muted-foreground[data-placeholder]{color:var(--treege-muted-foreground)}.tg\\:data-\\[range-end\\=true\\]\\:rounded-md[data-range-end=true]{border-radius:calc(var(--treege-radius) - 2px)}.tg\\:data-\\[range-end\\=true\\]\\:rounded-r-md[data-range-end=true]{border-top-right-radius:calc(var(--treege-radius) - 2px);border-bottom-right-radius:calc(var(--treege-radius) - 2px)}.tg\\:data-\\[range-end\\=true\\]\\:bg-primary[data-range-end=true]{background-color:var(--treege-primary)}.tg\\:data-\\[range-end\\=true\\]\\:text-primary-foreground[data-range-end=true]{color:var(--treege-primary-foreground)}.tg\\:data-\\[range-middle\\=true\\]\\:rounded-none[data-range-middle=true]{border-radius:0}.tg\\:data-\\[range-middle\\=true\\]\\:bg-accent[data-range-middle=true]{background-color:var(--treege-accent)}.tg\\:data-\\[range-middle\\=true\\]\\:text-accent-foreground[data-range-middle=true]{color:var(--treege-accent-foreground)}.tg\\:data-\\[range-start\\=true\\]\\:rounded-md[data-range-start=true]{border-radius:calc(var(--treege-radius) - 2px)}.tg\\:data-\\[range-start\\=true\\]\\:rounded-l-md[data-range-start=true]{border-top-left-radius:calc(var(--treege-radius) - 2px);border-bottom-left-radius:calc(var(--treege-radius) - 2px)}.tg\\:data-\\[range-start\\=true\\]\\:bg-primary[data-range-start=true]{background-color:var(--treege-primary)}.tg\\:data-\\[range-start\\=true\\]\\:text-primary-foreground[data-range-start=true]{color:var(--treege-primary-foreground)}.tg\\:data-\\[selected-single\\=true\\]\\:bg-primary[data-selected-single=true]{background-color:var(--treege-primary)}.tg\\:data-\\[selected-single\\=true\\]\\:text-primary-foreground[data-selected-single=true]{color:var(--treege-primary-foreground)}.tg\\:data-\\[selected\\=true\\]\\:rounded-none[data-selected=true]{border-radius:0}.tg\\:data-\\[selected\\=true\\]\\:bg-accent[data-selected=true]{background-color:var(--treege-accent)}.tg\\:data-\\[selected\\=true\\]\\:text-accent-foreground[data-selected=true]{color:var(--treege-accent-foreground)}.tg\\:data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--tg-spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.tg\\:data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--tg-spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.tg\\:data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--tg-spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.tg\\:data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--tg-spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.tg\\:data-\\[size\\=default\\]\\:h-9[data-size=default]{height:calc(var(--tg-spacing) * 9)}.tg\\:data-\\[size\\=sm\\]\\:h-8[data-size=sm]{height:calc(var(--tg-spacing) * 8)}:is(.tg\\:\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--tg-spacing) * 12)}:is(.tg\\:\\*\\:data-\\[slot\\=select-value\\]\\:line-clamp-1>*)[data-slot=select-value]{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}:is(.tg\\:\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.tg\\:\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.tg\\:\\*\\:data-\\[slot\\=select-value\\]\\:gap-2>*)[data-slot=select-value]{gap:calc(var(--tg-spacing) * 2)}.tg\\:data-\\[state\\=checked\\]\\:translate-x-\\[calc\\(100\\%-2px\\)\\][data-state=checked]{--tw-translate-x:calc(100% - 2px);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:data-\\[state\\=checked\\]\\:border-primary[data-state=checked]{border-color:var(--treege-primary)}.tg\\:data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:var(--treege-primary)}.tg\\:data-\\[state\\=checked\\]\\:text-primary-foreground[data-state=checked]{color:var(--treege-primary-foreground)}.tg\\:data-\\[state\\=closed\\]\\:animate-out[data-state=closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tg\\:data-\\[state\\=closed\\]\\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.tg\\:data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.tg\\:data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.tg\\:data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.tg\\:data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.tg\\:data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.tg\\:data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.tg\\:data-\\[state\\=open\\]\\:animate-in[data-state=open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.tg\\:data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--treege-accent)}.tg\\:data-\\[state\\=open\\]\\:bg-secondary[data-state=open]{background-color:var(--treege-secondary)}.tg\\:data-\\[state\\=open\\]\\:text-accent-foreground[data-state=open]{color:var(--treege-accent-foreground)}.tg\\:data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--treege-muted-foreground)}.tg\\:data-\\[state\\=open\\]\\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.tg\\:data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.tg\\:data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.tg\\:data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.tg\\:data-\\[state\\=open\\]\\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.tg\\:data-\\[state\\=open\\]\\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.tg\\:data-\\[state\\=open\\]\\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.tg\\:data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--tg-spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked]{background-color:var(--treege-input)}.tg\\:data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--treege-destructive)}.tg\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--treege-destructive) 10%, transparent)}}.tg\\:data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--treege-destructive)}@media (width>=40rem){.tg\\:sm\\:max-w-\\[550px\\]\\!{max-width:550px!important}.tg\\:sm\\:max-w-lg{max-width:var(--tg-container-lg)}.tg\\:sm\\:max-w-none{max-width:none}.tg\\:sm\\:max-w-sm{max-width:var(--tg-container-sm)}.tg\\:sm\\:flex-row{flex-direction:row}.tg\\:sm\\:justify-end{justify-content:flex-end}.tg\\:sm\\:text-left{text-align:left}}@media (width>=48rem){.tg\\:md\\:top-5{top:calc(var(--tg-spacing) * 5)}.tg\\:md\\:inline{display:inline}.tg\\:md\\:h-14{height:calc(var(--tg-spacing) * 14)}.tg\\:md\\:w-3\\/4{width:75%}.tg\\:md\\:flex-row{flex-direction:row}.tg\\:md\\:text-sm{font-size:var(--tg-text-sm);line-height:var(--tw-leading,var(--tg-text-sm--line-height))}}.tg\\:dark\\:border-input:is(.dark *){border-color:var(--treege-input)}.tg\\:dark\\:bg-blue-600:is(.dark *){background-color:var(--tg-color-blue-600)}.tg\\:dark\\:bg-destructive\\/60:is(.dark *){background-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:bg-destructive\\/60:is(.dark *){background-color:color-mix(in oklab, var(--treege-destructive) 60%, transparent)}}.tg\\:dark\\:bg-input\\/30:is(.dark *){background-color:var(--treege-input)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--treege-input) 30%, transparent)}}.tg\\:dark\\:\\[color-scheme\\:dark\\]:is(.dark *){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (hover:hover){.tg\\:dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:var(--treege-accent)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--treege-accent) 50%, transparent)}}.tg\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--treege-input)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--treege-input) 50%, transparent)}}.tg\\:dark\\:hover\\:text-accent-foreground:is(.dark *):hover{color:var(--treege-accent-foreground)}}.tg\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--treege-destructive) 40%, transparent)}}.tg\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--treege-destructive) 40%, transparent)}}.tg\\:dark\\:data-\\[state\\=checked\\]\\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--treege-primary)}.tg\\:dark\\:data-\\[state\\=checked\\]\\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--treege-primary-foreground)}.tg\\:dark\\:data-\\[state\\=unchecked\\]\\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--treege-foreground)}.tg\\:dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80:is(.dark *)[data-state=unchecked]{background-color:var(--treege-input)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab, var(--treege-input) 80%, transparent)}}.tg\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/20:is(.dark *)[data-variant=destructive]:focus{background-color:color-mix(in oklab, var(--treege-destructive) 20%, transparent)}}.tg\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--tg-spacing) * 2)}.tg\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading]{padding-block:calc(var(--tg-spacing) * 1.5)}.tg\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs [cmdk-group-heading]{font-size:var(--tg-text-xs);line-height:var(--tw-leading,var(--tg-text-xs--line-height))}.tg\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--tg-font-weight-medium);font-weight:var(--tg-font-weight-medium)}.tg\\:\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground [cmdk-group-heading]{color:var(--treege-muted-foreground)}.tg\\:\\[\\&_\\[cmdk-group\\]\\]\\:px-2 [cmdk-group]{padding-inline:calc(var(--tg-spacing) * 2)}.tg\\:\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--tg-spacing) * 0)}.tg\\:\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--tg-spacing) * 5)}.tg\\:\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--tg-spacing) * 5)}.tg\\:\\[\\&_\\[cmdk-input\\]\\]\\:h-12 [cmdk-input]{height:calc(var(--tg-spacing) * 12)}.tg\\:\\[\\&_\\[cmdk-item\\]\\]\\:px-2 [cmdk-item]{padding-inline:calc(var(--tg-spacing) * 2)}.tg\\:\\[\\&_\\[cmdk-item\\]\\]\\:py-3 [cmdk-item]{padding-block:calc(var(--tg-spacing) * 3)}.tg\\:\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5 [cmdk-item] svg{height:calc(var(--tg-spacing) * 5)}.tg\\:\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5 [cmdk-item] svg{width:calc(var(--tg-spacing) * 5)}.tg\\:\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.tg\\:\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.tg\\:\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--tg-spacing) * 4);height:calc(var(--tg-spacing) * 4)}.tg\\:\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground svg:not([class*=text-]){color:var(--treege-muted-foreground)}.tg\\:\\[\\&\\:first-child\\[data-selected\\=true\\]_button\\]\\:rounded-l-md:first-child[data-selected=true] button{border-top-left-radius:calc(var(--treege-radius) - 2px);border-bottom-left-radius:calc(var(--treege-radius) - 2px)}:is(.tg\\:rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_next\\>svg\\]\\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.tg\\:rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_previous\\>svg\\]\\:rotate-180:where(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}:is(.tg\\:\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.tg\\:\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.tg\\:\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(var(--tg-spacing) * 2)}:is(.tg\\:data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--treege-destructive)!important}.tg\\:\\[\\&\\:last-child\\[data-selected\\=true\\]_button\\]\\:rounded-r-md:last-child[data-selected=true] button{border-top-right-radius:calc(var(--treege-radius) - 2px);border-bottom-right-radius:calc(var(--treege-radius) - 2px)}.tg\\:\\[\\&\\>span\\]\\:text-xs>span{font-size:var(--tg-text-xs);line-height:var(--tw-leading,var(--tg-text-xs--line-height))}.tg\\:\\[\\&\\>span\\]\\:opacity-70>span{opacity:.7}.tg\\:\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.tg\\:\\[\\&\\>svg\\]\\:size-2\\.5>svg{width:calc(var(--tg-spacing) * 2.5);height:calc(var(--tg-spacing) * 2.5)}.tg\\:\\[\\&\\>svg\\]\\:size-3>svg{width:calc(var(--tg-spacing) * 3);height:calc(var(--tg-spacing) * 3)}.tg\\:\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(var(--tg-spacing) * 3.5);height:calc(var(--tg-spacing) * 3.5)}.tg\\:\\[\\&\\>svg\\]\\:text-muted-foreground>svg{color:var(--treege-muted-foreground)}[data-slot=card-content] .tg\\:\\[\\[data-slot\\=card-content\\]_\\&\\]\\:bg-transparent,[data-slot=popover-content] .tg\\:\\[\\[data-slot\\=popover-content\\]_\\&\\]\\:bg-transparent{background-color:#0000}@media (hover:hover){a.tg\\:\\[a\\&\\]\\:hover\\:bg-accent:hover{background-color:var(--treege-accent)}a.tg\\:\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){a.tg\\:\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab, var(--treege-destructive) 90%, transparent)}}a.tg\\:\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:var(--treege-primary)}@supports (color:color-mix(in lab, red, red)){a.tg\\:\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab, var(--treege-primary) 90%, transparent)}}a.tg\\:\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:var(--treege-secondary)}@supports (color:color-mix(in lab, red, red)){a.tg\\:\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:color-mix(in oklab, var(--treege-secondary) 90%, transparent)}}a.tg\\:\\[a\\&\\]\\:hover\\:text-accent-foreground:hover{color:var(--treege-accent-foreground)}}}@property --tw-animation-delay{syntax:\"*\";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:\"*\";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:\"*\";inherits:false}@property --tw-animation-fill-mode{syntax:\"*\";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:\"*\";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:\"*\";inherits:false;initial-value:0}:root{--treege-radius:.625rem;--treege-background:oklch(100% 0 0);--treege-foreground:oklch(14.5% 0 0);--treege-card:oklch(100% 0 0);--treege-card-foreground:oklch(14.5% 0 0);--treege-popover:oklch(100% 0 0);--treege-popover-foreground:oklch(14.5% 0 0);--treege-primary:oklch(20.5% 0 0);--treege-primary-foreground:oklch(98.5% 0 0);--treege-secondary:oklch(97% 0 0);--treege-secondary-foreground:oklch(20.5% 0 0);--treege-muted:oklch(97% 0 0);--treege-muted-foreground:oklch(55.6% 0 0);--treege-accent:oklch(97% 0 0);--treege-accent-foreground:oklch(20.5% 0 0);--treege-destructive:oklch(57.7% .245 27.325);--treege-border:oklch(92.2% 0 0);--treege-input:oklch(92.2% 0 0);--treege-ring:oklch(70.8% 0 0);--treege-chart-1:oklch(64.6% .222 41.116);--treege-chart-2:oklch(60% .118 184.704);--treege-chart-3:oklch(39.8% .07 227.392);--treege-chart-4:oklch(82.8% .189 84.429);--treege-chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--treege-background:oklch(14.5% 0 0);--treege-foreground:oklch(98.5% 0 0);--treege-card:oklch(20.5% 0 0);--treege-card-foreground:oklch(98.5% 0 0);--treege-popover:oklch(20.5% 0 0);--treege-popover-foreground:oklch(98.5% 0 0);--treege-primary:oklch(92.2% 0 0);--treege-primary-foreground:oklch(20.5% 0 0);--treege-secondary:oklch(26.9% 0 0);--treege-secondary-foreground:oklch(98.5% 0 0);--treege-muted:oklch(26.9% 0 0);--treege-muted-foreground:oklch(70.8% 0 0);--treege-accent:oklch(26.9% 0 0);--treege-accent-foreground:oklch(98.5% 0 0);--treege-destructive:oklch(70.4% .191 22.216);--treege-border:oklch(100% 0 0/.1);--treege-input:oklch(100% 0 0/.15);--treege-ring:oklch(55.6% 0 0);--treege-chart-1:oklch(48.8% .243 264.376);--treege-chart-2:oklch(69.6% .17 162.48);--treege-chart-3:oklch(76.9% .188 70.08);--treege-chart-4:oklch(62.7% .265 303.9);--treege-chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}:root{--node-width:280px;--node-height:150px;--node-border-radius:40px;--treege-color-primary:#13d3b4;--treege-color-tertiary:#0065a8;--treege-color-secondary:#007ff6;--treege-color-submit-primary:#ff4757;--treege-color-submit-secondary:#ff6b81;--treege-color-submit-tertiary:#ee5a6f}button{cursor:pointer;-webkit-user-select:none;user-select:none}#root{width:100vw;height:100vh}div.react-flow__node,div.react-flow__node.react-flow__node-input{border:0}div.react-flow__node__wrapper{padding:calc(var(--tg-spacing) * 7);width:270px;min-height:150px;box-shadow:0 0 20px 6px oklch(from var(--treege-color-primary) l c h / 10%), 0 0 20px oklch(from var(--treege-color-tertiary) l c h / 10%);background:linear-gradient(oklch(from var(--treege-card) l c h / 33%), oklch(from var(--treege-card) l c h / 33%)) padding-box, linear-gradient(145deg, oklch(from var(--treege-color-primary) l c h / 40%), oklch(0% 0 0/0), oklch(from var(--treege-color-secondary) l c h / 40%)) border-box;border:3px solid #0000;border-radius:30px;flex-direction:column;justify-content:center;display:flex}div.react-flow__node__wrapper.in-group{background:linear-gradient(oklch(from var(--treege-card) l c h / 33%), oklch(from var(--treege-card) l c h / 33%)) padding-box, linear-gradient(145deg, oklch(from var(--treege-chart-2) l c h / 33%), oklch(0% 0 0/0), oklch(from var(--treege-chart-2) l c h / 33%)) border-box}div.react-flow__node.selected .react-flow__node__wrapper{box-shadow:0 0 20px 6px oklch(from var(--treege-color-primary) l c h / 30%), 0 0 20px oklch(from var(--treege-color-tertiary) l c h / 30%)}div.react-flow__node__wrapper.submit-type{box-shadow:0 0 20px 6px oklch(from var(--treege-color-submit-primary) l c h / 10%), 0 0 20px oklch(from var(--treege-color-submit-tertiary) l c h / 10%);background:linear-gradient(oklch(from var(--treege-card) l c h / 33%), oklch(from var(--treege-card) l c h / 33%)) padding-box, linear-gradient(145deg, oklch(from var(--treege-color-submit-primary) l c h / 40%), oklch(0% 0 0/0), oklch(from var(--treege-color-submit-secondary) l c h / 40%)) border-box}div.react-flow__node.selected .react-flow__node__wrapper.submit-type{box-shadow:0 0 20px 6px oklch(from var(--treege-color-submit-primary) l c h / 30%), 0 0 20px oklch(from var(--treege-color-submit-tertiary) l c h / 30%)}div.react-flow__node-group,div.react-flow__node-group.selected{background:oklch(from var(--treege-chart-2) l c h / 5%);box-shadow:none;border:3px dashed var(--treege-chart-2)}div.react-flow__node-group .react-flow__resize-control{opacity:0;padding:4px;transition:opacity .2s}div.react-flow__node-group:hover .react-flow__resize-control,.react-flow__resize-control:hover{opacity:1}div.react-flow__handle{background-color:var(--treege-muted-foreground);height:calc(var(--tg-spacing) * 6);width:calc(var(--tg-spacing) * 6);cursor:pointer;border-radius:calc(var(--treege-radius) - 4px);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--tg-default-transition-timing-function));transition-duration:var(--tw-duration,var(--tg-default-transition-duration));justify-content:center;align-items:center;display:flex}@media (hover:hover){div.react-flow__handle:hover{background-color:var(--treege-primary)}@supports (color:color-mix(in lab, red, red)){div.react-flow__handle:hover{background-color:color-mix(in oklab, var(--treege-primary) 80%, transparent)}}}path.react-flow__edge-path{stroke:var(--treege-muted-foreground)}.button-edge__label{pointer-events:all;transform-origin:50%;position:absolute}.button-edge__button{border:5px solid var(--xy-minimap-background-color-default);background-color:var(--treege-ring);width:30px;height:30px;color:var(--treege-primary);cursor:pointer;border-radius:50%;padding-top:0;font-size:12px}.button-edge__button:hover{background-color:var(--treege-destructive);color:#fff}.w-tc-editor{border-radius:calc(var(--treege-radius) - 2px);border-style:var(--tw-border-style);border-width:1px;border-color:var(--treege-input);background-color:var(--treege-input)}@supports (color:color-mix(in lab, red, red)){.w-tc-editor{background-color:color-mix(in oklab, var(--treege-input) 30%, transparent)}}.w-tc-editor:is(.dark *){background-color:var(--treege-input)}@supports (color:color-mix(in lab, red, red)){.w-tc-editor:is(.dark *){background-color:color-mix(in oklab, var(--treege-input) 30%, transparent)}}.treege-scrollbar{scrollbar-width:thin;scrollbar-color:var(--treege-border) transparent}.treege-scrollbar::-webkit-scrollbar{width:6px;height:6px}.treege-scrollbar::-webkit-scrollbar-track{background:0 0}.treege-scrollbar::-webkit-scrollbar-thumb{background-color:var(--treege-border);border-radius:3px}.treege-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--treege-muted-foreground)}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}", Wt = () => /* @__PURE__ */ L("style", {
26
+ href: "treege-editor",
27
+ precedence: "default",
28
+ children: Ut
29
+ }), Gt = (e) => {
26
30
  let t = je(), n = Ae();
27
31
  return ze(() => {
28
32
  if (!e) return [];
@@ -45,7 +49,7 @@ var Bt = "data:image/svg+xml,%3csvg%20width='462'%20height='144'%20viewBox='0%20
45
49
  t,
46
50
  n
47
51
  ]);
48
- }, Wt = Pe(null), Gt = ({ children: e, value: t }) => {
52
+ }, Kt = Pe(null), qt = ({ children: e, value: t }) => {
49
53
  let [n, r] = F(t?.flowId), [i, a] = F(!1), [o, s] = F(null), [c, l] = F(null), u = ze(() => ({
50
54
  ...t,
51
55
  ...t?.aiConfig && { aiConfig: {
@@ -69,11 +73,11 @@ var Bt = "data:image/svg+xml,%3csvg%20width='462'%20height='144'%20viewBox='0%20
69
73
  o,
70
74
  c
71
75
  ]);
72
- return /* @__PURE__ */ L(Wt.Provider, {
76
+ return /* @__PURE__ */ L(Kt.Provider, {
73
77
  value: u,
74
78
  children: e
75
79
  });
76
- }, U = () => Ie(Wt) ?? {
80
+ }, U = () => Ie(Kt) ?? {
77
81
  closeDeleteNodeConfirmation: () => {},
78
82
  closeNodeTypeChangeConfirmation: () => {},
79
83
  flowId: void 0,
@@ -91,7 +95,7 @@ var Bt = "data:image/svg+xml,%3csvg%20width='462'%20height='144'%20viewBox='0%20
91
95
  };
92
96
  //#endregion
93
97
  //#region src/shared/components/ui/scroll-area.tsx
94
- function Kt({ className: e, children: t, ...n }) {
98
+ function Jt({ className: e, children: t, ...n }) {
95
99
  return /* @__PURE__ */ R(Pt.Root, {
96
100
  "data-slot": "scroll-area",
97
101
  className: D("tg:relative", e),
@@ -102,12 +106,12 @@ function Kt({ className: e, children: t, ...n }) {
102
106
  className: "tg:size-full tg:rounded-[inherit] tg:outline-none tg:transition-[color,box-shadow] tg:focus-visible:outline-1 tg:focus-visible:ring-[3px] tg:focus-visible:ring-ring/50",
103
107
  children: t
104
108
  }),
105
- /* @__PURE__ */ L(qt, {}),
109
+ /* @__PURE__ */ L(Yt, {}),
106
110
  /* @__PURE__ */ L(Pt.Corner, {})
107
111
  ]
108
112
  });
109
113
  }
110
- function qt({ className: e, orientation: t = "vertical", ...n }) {
114
+ function Yt({ className: e, orientation: t = "vertical", ...n }) {
111
115
  return /* @__PURE__ */ L(Pt.ScrollAreaScrollbar, {
112
116
  "data-slot": "scroll-area-scrollbar",
113
117
  orientation: t,
@@ -121,14 +125,14 @@ function qt({ className: e, orientation: t = "vertical", ...n }) {
121
125
  }
122
126
  //#endregion
123
127
  //#region src/editor/features/TreegeEditor/edges/ConditionalEdge.tsx
124
- var Jt = {
128
+ var Xt = {
125
129
  "!==": "≠",
126
130
  "<": "<",
127
131
  "<=": "≤",
128
132
  "===": "=",
129
133
  ">": ">",
130
134
  ">=": "≥"
131
- }, Yt = (e) => !!e.field && e.value !== void 0 && e.value !== "", Xt = {
135
+ }, Zt = (e) => !!e.field && e.value !== void 0 && e.value !== "", Qt = {
132
136
  conditional: Fe(({ id: t, target: n, sourceX: r, sourceY: i, targetX: a, targetY: o, sourcePosition: s, targetPosition: c, markerEnd: l, style: u, data: f }) => {
133
137
  let [p, m, _] = ke({
134
138
  sourcePosition: s,
@@ -137,7 +141,7 @@ var Jt = {
137
141
  targetPosition: c,
138
142
  targetX: a,
139
143
  targetY: o
140
- }), [y, ee] = F(!1), { updateEdgeData: te } = N(), b = Ut(n), x = W(), S = !!f?.configured || !!f?.isFallback || !!f?.label || (f?.conditions?.some(Yt) ?? !1), { handleSubmit: re, reset: w, Field: E } = Ve({
144
+ }), [y, ee] = F(!1), { updateEdgeData: te } = N(), b = Gt(n), x = W(), S = !!f?.configured || !!f?.isFallback || !!f?.label || (f?.conditions?.some(Zt) ?? !1), { handleSubmit: re, reset: w, Field: E } = Ve({
141
145
  defaultValues: {
142
146
  conditions: f?.conditions || [{
143
147
  field: b[0]?.nodeId ?? "",
@@ -181,7 +185,7 @@ var Jt = {
181
185
  if (t.length === 0) return null;
182
186
  if (t.length === 1) {
183
187
  let [e] = t, n = b.find((t) => t.nodeId === e.field)?.label ?? e.field ?? "";
184
- return `${n === e.field && n.length > 5 ? `${n.slice(0, 5)}…` : n} ${Jt[e.operator] ?? e.operator} ${e.value ?? ""}`;
188
+ return `${n === e.field && n.length > 5 ? `${n.slice(0, 5)}…` : n} ${Xt[e.operator] ?? e.operator} ${e.value ?? ""}`;
185
189
  }
186
190
  let n = t.filter((t) => t.logicalOperator === e.AND).length, r = t.filter((t) => t.logicalOperator === e.OR).length;
187
191
  return n > 0 && r === 0 ? `${t.length} ${x("editor.conditionalEdge.conditionsAnd")}` : r > 0 && n === 0 ? `${t.length} ${x("editor.conditionalEdge.conditionsOr")}` : `${t.length} ${x("editor.conditionalEdge.conditionsMixed")}`;
@@ -217,7 +221,7 @@ var Jt = {
217
221
  className: "tg:w-96 tg:p-1",
218
222
  align: "center",
219
223
  onClick: (e) => e.stopPropagation(),
220
- children: /* @__PURE__ */ L(Kt, {
224
+ children: /* @__PURE__ */ L(Jt, {
221
225
  className: "tg:flex tg:max-h-150 tg:flex-col tg:p-3",
222
226
  children: /* @__PURE__ */ L("form", {
223
227
  onSubmit: (e) => {
@@ -484,11 +488,11 @@ var Jt = {
484
488
  })
485
489
  }) })] });
486
490
  })
487
- }, Zt = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", Qt = (e = 21) => {
491
+ }, $t = "useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict", en = (e = 21) => {
488
492
  let t = "", n = crypto.getRandomValues(new Uint8Array(e |= 0));
489
- for (; e--;) t += Zt[n[e] & 63];
493
+ for (; e--;) t += $t[n[e] & 63];
490
494
  return t;
491
- }, $t = (e, t) => {
495
+ }, tn = (e, t) => {
492
496
  if (t.size === 0) return e;
493
497
  let n = /* @__PURE__ */ new Map();
494
498
  return e.forEach((e) => {
@@ -543,14 +547,14 @@ var Jt = {
543
547
  if (t.length === 1 && r.length === 1) {
544
548
  let [e] = t, [n] = r, o = {
545
549
  data: e.data,
546
- id: Qt(),
550
+ id: en(),
547
551
  source: e.source,
548
552
  target: n.target,
549
553
  type: e.type
550
554
  };
551
- return $t([...a, o], i);
555
+ return tn([...a, o], i);
552
556
  }
553
- return $t(a, i);
557
+ return tn(a, i);
554
558
  });
555
559
  }, [e, t]);
556
560
  return {
@@ -566,7 +570,7 @@ var Jt = {
566
570
  updateSelectedNodeData: c,
567
571
  updateSelectedNodeType: s
568
572
  };
569
- }, en = ({ nodeId: e, label: t, placeholder: n, className: r }) => {
573
+ }, nn = ({ nodeId: e, label: t, placeholder: n, className: r }) => {
570
574
  let { language: i } = U(), { updateNodeData: a, clearSelection: o } = G(), s = W(), c = Be(null), l = t?.[i] ?? "", u = n || s("editor.treegeNode.labelPlaceholder"), d = (e) => e.stopPropagation();
571
575
  return Le(() => {
572
576
  let e = setTimeout(() => {
@@ -601,13 +605,13 @@ function K({ ...e }) {
601
605
  ...e
602
606
  });
603
607
  }
604
- function tn({ ...e }) {
608
+ function rn({ ...e }) {
605
609
  return /* @__PURE__ */ L(V.Trigger, {
606
610
  "data-slot": "dropdown-menu-trigger",
607
611
  ...e
608
612
  });
609
613
  }
610
- function nn({ className: e, sideOffset: t = 4, ...n }) {
614
+ function an({ className: e, sideOffset: t = 4, ...n }) {
611
615
  return /* @__PURE__ */ L(V.Portal, { children: /* @__PURE__ */ L(V.Content, {
612
616
  "data-slot": "dropdown-menu-content",
613
617
  sideOffset: t,
@@ -630,7 +634,7 @@ function J({ className: e, inset: t, variant: n = "default", ...r }) {
630
634
  ...r
631
635
  });
632
636
  }
633
- function rn({ className: e, inset: t, ...n }) {
637
+ function on({ className: e, inset: t, ...n }) {
634
638
  return /* @__PURE__ */ L(V.Label, {
635
639
  "data-slot": "dropdown-menu-label",
636
640
  "data-inset": t,
@@ -647,11 +651,11 @@ function Y({ className: e, ...t }) {
647
651
  }
648
652
  //#endregion
649
653
  //#region src/editor/features/TreegeEditor/nodes/components/NodeMoreMenu.tsx
650
- var an = ({ nodeId: e, className: t }) => {
654
+ var sn = ({ nodeId: e, className: t }) => {
651
655
  let { selectNode: n } = G(), { setIsNodeSheetOpen: r, openDeleteNodeConfirmation: i } = U(), a = W(), o = (e) => e.stopPropagation();
652
656
  return /* @__PURE__ */ R(K, {
653
657
  modal: !1,
654
- children: [/* @__PURE__ */ L(tn, {
658
+ children: [/* @__PURE__ */ L(rn, {
655
659
  asChild: !0,
656
660
  onClick: o,
657
661
  children: /* @__PURE__ */ L("button", {
@@ -660,7 +664,7 @@ var an = ({ nodeId: e, className: t }) => {
660
664
  className: D("nodrag nopan tg:absolute tg:top-2 tg:right-2 tg:flex tg:h-6 tg:w-6 tg:cursor-pointer tg:items-center tg:justify-center tg:rounded-md tg:opacity-60 tg:transition-all tg:hover:text-[--treege-color-primary] tg:hover:opacity-100", t),
661
665
  children: /* @__PURE__ */ L(gt, { className: "tg:h-3.5 tg:w-3.5" })
662
666
  })
663
- }), /* @__PURE__ */ R(nn, {
667
+ }), /* @__PURE__ */ R(an, {
664
668
  align: "end",
665
669
  onClick: o,
666
670
  children: [
@@ -681,7 +685,7 @@ var an = ({ nodeId: e, className: t }) => {
681
685
  ]
682
686
  })]
683
687
  });
684
- }, on = Nt("tg:inline-flex tg:w-fit tg:shrink-0 tg:items-center tg:justify-center tg:gap-1 tg:overflow-hidden tg:rounded-full tg:border tg:border-transparent tg:px-2 tg:py-0.5 tg:text-xs tg:font-medium tg:whitespace-nowrap tg:transition-[color,box-shadow] tg:focus-visible:border-ring tg:focus-visible:ring-[3px] tg:focus-visible:ring-ring/50 tg:aria-invalid:border-destructive tg:aria-invalid:ring-destructive/20 tg:dark:aria-invalid:ring-destructive/40 tg:[&>svg]:pointer-events-none tg:[&>svg]:size-3", {
688
+ }, cn = Nt("tg:inline-flex tg:w-fit tg:shrink-0 tg:items-center tg:justify-center tg:gap-1 tg:overflow-hidden tg:rounded-full tg:border tg:border-transparent tg:px-2 tg:py-0.5 tg:text-xs tg:font-medium tg:whitespace-nowrap tg:transition-[color,box-shadow] tg:focus-visible:border-ring tg:focus-visible:ring-[3px] tg:focus-visible:ring-ring/50 tg:aria-invalid:border-destructive tg:aria-invalid:ring-destructive/20 tg:dark:aria-invalid:ring-destructive/40 tg:[&>svg]:pointer-events-none tg:[&>svg]:size-3", {
685
689
  defaultVariants: { variant: "default" },
686
690
  variants: { variant: {
687
691
  blue: "tg:bg-blue-500 tg:text-white tg:dark:bg-blue-600",
@@ -692,41 +696,41 @@ var an = ({ nodeId: e, className: t }) => {
692
696
  secondary: "tg:border-transparent tg:bg-secondary tg:text-secondary-foreground tg:[a&]:hover:bg-secondary/90"
693
697
  } }
694
698
  });
695
- function sn({ className: e, variant: t, asChild: n = !1, ...r }) {
699
+ function ln({ className: e, variant: t, asChild: n = !1, ...r }) {
696
700
  return /* @__PURE__ */ L(n ? Mt : "span", {
697
701
  "data-slot": "badge",
698
- className: D(on({ variant: t }), e),
702
+ className: D(cn({ variant: t }), e),
699
703
  ...r
700
704
  });
701
705
  }
702
- var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
706
+ var un = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
703
707
  /* @__PURE__ */ L(Ce, {}),
704
708
  /* @__PURE__ */ L("div", {
705
709
  className: "tg:-top-3.5 tg:absolute tg:left-6",
706
- children: /* @__PURE__ */ R(sn, {
710
+ children: /* @__PURE__ */ R(ln, {
707
711
  className: "tg:max-w-50 tg:bg-chart-2",
708
- children: [/* @__PURE__ */ L(We, { className: "tg:!w-3 tg:!h-3" }), /* @__PURE__ */ L(en, {
712
+ children: [/* @__PURE__ */ L(We, { className: "tg:!w-3 tg:!h-3" }), /* @__PURE__ */ L(nn, {
709
713
  nodeId: t,
710
714
  label: e?.label,
711
715
  className: "tg:min-w-0 tg:flex-1 tg:text-xs tg:text-white tg:placeholder:text-white/60"
712
716
  })]
713
717
  })
714
718
  }),
715
- /* @__PURE__ */ L(an, { nodeId: t })
716
- ] })), ln = {
719
+ /* @__PURE__ */ L(sn, { nodeId: t })
720
+ ] })), dn = {
717
721
  data: { type: "text" },
718
- id: Qt(),
722
+ id: en(),
719
723
  position: {
720
724
  x: 0,
721
725
  y: 0
722
726
  },
723
727
  type: "input"
724
- }, un = () => {
728
+ }, fn = () => {
725
729
  let { setNodes: e, setEdges: t, screenToFlowPosition: n, getNode: i, getNodes: a, getEdges: o } = N(), s = P((n, i, a = !1, s) => {
726
730
  let c = n.id, l = o().filter((e) => e.source === c), u = r(n);
727
731
  if (l.length > 0 && !u) return;
728
- let d = Qt(), f = {
729
- ...ln,
732
+ let d = en(), f = {
733
+ ...dn,
730
734
  ...s && {
731
735
  data: s.data ?? {},
732
736
  type: s.type
@@ -742,7 +746,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
742
746
  operator: "===",
743
747
  value: ""
744
748
  }] } : void 0,
745
- id: Qt(),
749
+ id: en(),
746
750
  source: c,
747
751
  target: d,
748
752
  type: t && u ? "conditional" : "default"
@@ -822,7 +826,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
822
826
  i,
823
827
  n
824
828
  ]), d = P((e) => {
825
- t((t) => $t(t.filter((t) => !e.find((e) => e.id === t.id)), new Set(e.map((e) => e.source))));
829
+ t((t) => tn(t.filter((t) => !e.find((e) => e.id === t.id)), new Set(e.map((e) => e.source))));
826
830
  }, [t]);
827
831
  return {
828
832
  isValidConnection: P((e) => {
@@ -854,10 +858,10 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
854
858
  textarea: "textarea",
855
859
  time: "time",
856
860
  timerange: "timerange"
857
- }, dn = {
861
+ }, pn = {
858
862
  divider: "divider",
859
863
  title: "title"
860
- }, fn = {
864
+ }, mn = {
861
865
  [X.address]: pt,
862
866
  [X.autocomplete]: St,
863
867
  [X.checkbox]: Ye,
@@ -876,11 +880,11 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
876
880
  [X.textarea]: He,
877
881
  [X.time]: $e,
878
882
  [X.timerange]: et,
879
- [dn.divider]: ht,
880
- [dn.title]: st,
883
+ [pn.divider]: ht,
884
+ [pn.title]: st,
881
885
  [l.flow]: _t
882
- }, pn = bt, Z = (e) => e && fn[e] || pn, mn = ({ nodeId: e, isConnectable: t }) => {
883
- let { onAddFromHandle: n } = un(), r = W(), [i, a] = F(!1), o = Z(l.flow);
886
+ }, hn = bt, Z = (e) => e && mn[e] || hn, gn = ({ nodeId: e, isConnectable: t }) => {
887
+ let { onAddFromHandle: n } = fn(), r = W(), [i, a] = F(!1), o = Z(l.flow);
884
888
  return /* @__PURE__ */ R(I, { children: [/* @__PURE__ */ L(xe, {
885
889
  type: "source",
886
890
  position: Te.Bottom,
@@ -893,18 +897,18 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
893
897
  }), /* @__PURE__ */ R(K, {
894
898
  open: i,
895
899
  onOpenChange: a,
896
- children: [/* @__PURE__ */ L(tn, {
900
+ children: [/* @__PURE__ */ L(rn, {
897
901
  asChild: !0,
898
902
  children: /* @__PURE__ */ L("span", {
899
903
  "aria-hidden": !0,
900
904
  className: "tg:-translate-x-1/2 tg:pointer-events-none tg:absolute tg:bottom-0 tg:left-1/2 tg:h-0 tg:w-0"
901
905
  })
902
- }), /* @__PURE__ */ R(nn, {
906
+ }), /* @__PURE__ */ R(an, {
903
907
  align: "center",
904
908
  side: "bottom",
905
909
  className: "treege-scrollbar tg:max-h-80",
906
910
  children: [
907
- /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(rn, { children: r("editor.selectNodeType.options.input") }), Object.values(X).map((t) => /* @__PURE__ */ R(J, {
911
+ /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(on, { children: r("editor.selectNodeType.options.input") }), Object.values(X).map((t) => /* @__PURE__ */ R(J, {
908
912
  onClick: () => n(e, {
909
913
  data: { type: t },
910
914
  type: l.input
@@ -913,7 +917,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
913
917
  children: [/* @__PURE__ */ L(Z(t), {}), t]
914
918
  }, t))] }),
915
919
  /* @__PURE__ */ L(Y, {}),
916
- /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(rn, { children: r("editor.selectNodeType.options.ui") }), Object.values(dn).map((t) => /* @__PURE__ */ R(J, {
920
+ /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(on, { children: r("editor.selectNodeType.options.ui") }), Object.values(pn).map((t) => /* @__PURE__ */ R(J, {
917
921
  onClick: () => n(e, {
918
922
  data: { type: t },
919
923
  type: l.ui
@@ -922,7 +926,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
922
926
  children: [/* @__PURE__ */ L(Z(t), {}), t]
923
927
  }, t))] }),
924
928
  /* @__PURE__ */ L(Y, {}),
925
- /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(rn, { children: r("common.other") }), /* @__PURE__ */ R(J, {
929
+ /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(on, { children: r("common.other") }), /* @__PURE__ */ R(J, {
926
930
  onClick: () => n(e, {
927
931
  data: {},
928
932
  type: l.flow
@@ -932,7 +936,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
932
936
  ]
933
937
  })]
934
938
  })] });
935
- }, hn = (e) => {
939
+ }, _n = (e) => {
936
940
  switch (e) {
937
941
  case "number":
938
942
  case "daterange":
@@ -942,7 +946,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
942
946
  case "checkbox": return [];
943
947
  default: return "";
944
948
  }
945
- }, gn = ({ nodeId: e, data: n }) => {
949
+ }, vn = ({ nodeId: e, data: n }) => {
946
950
  let { language: r } = U(), i = n?.type;
947
951
  if (!i) return null;
948
952
  let o = {
@@ -981,7 +985,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
981
985
  className: D("tg:pointer-events-none tg:flex tg:select-none tg:flex-col tg:gap-1", i === "submit" && "tg:items-center"),
982
986
  children: [u, /* @__PURE__ */ L(d, {
983
987
  node: o,
984
- value: hn(i),
988
+ value: _n(i),
985
989
  setValue: () => {},
986
990
  id: e,
987
991
  name: l,
@@ -990,7 +994,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
990
994
  helperText: f || void 0
991
995
  })]
992
996
  });
993
- }, _n = Object.values(X), vn = Object.values(dn), yn = ({ nodeId: e, nodeType: t, subType: n }) => {
997
+ }, yn = Object.values(X), bn = Object.values(pn), xn = ({ nodeId: e, nodeType: t, subType: n }) => {
994
998
  let { updateNodeType: r } = G(), { getEdges: i } = N(), { openNodeTypeChangeConfirmation: a } = U(), o = W(), s = (e) => e.stopPropagation(), c = n || t, u = t === l.flow ? o("editor.selectNodeType.options.flow") : c, d = Z(c), f = Z(l.flow), p = (t, n) => {
995
999
  let o = i().filter((t) => t.source === e).length;
996
1000
  if ((t === l.ui || t === l.flow) && o > 1) {
@@ -1003,10 +1007,10 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1003
1007
  }
1004
1008
  r(e, t, n);
1005
1009
  };
1006
- return /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(tn, {
1010
+ return /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(rn, {
1007
1011
  asChild: !0,
1008
1012
  onClick: s,
1009
- children: /* @__PURE__ */ R(sn, {
1013
+ children: /* @__PURE__ */ R(ln, {
1010
1014
  variant: "default",
1011
1015
  className: "nodrag nopan tg:cursor-pointer tg:px-1.5 tg:py-0 tg:text-[10px] tg:capitalize tg:[&>svg]:size-2.5",
1012
1016
  children: [
@@ -1015,12 +1019,12 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1015
1019
  /* @__PURE__ */ L(Xe, {})
1016
1020
  ]
1017
1021
  })
1018
- }), /* @__PURE__ */ R(nn, {
1022
+ }), /* @__PURE__ */ R(an, {
1019
1023
  align: "start",
1020
1024
  className: "treege-scrollbar tg:max-h-80",
1021
1025
  onClick: s,
1022
1026
  children: [
1023
- /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(rn, { children: o("editor.selectNodeType.options.input") }), _n.map((e) => {
1027
+ /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(on, { children: o("editor.selectNodeType.options.input") }), yn.map((e) => {
1024
1028
  let r = Z(e);
1025
1029
  return /* @__PURE__ */ R(J, {
1026
1030
  onClick: () => p(l.input, e),
@@ -1029,7 +1033,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1029
1033
  }, e);
1030
1034
  })] }),
1031
1035
  /* @__PURE__ */ L(Y, {}),
1032
- /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(rn, { children: o("editor.selectNodeType.options.ui") }), vn.map((e) => {
1036
+ /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(on, { children: o("editor.selectNodeType.options.ui") }), bn.map((e) => {
1033
1037
  let r = Z(e);
1034
1038
  return /* @__PURE__ */ R(J, {
1035
1039
  onClick: () => p(l.ui, e),
@@ -1038,21 +1042,21 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1038
1042
  }, e);
1039
1043
  })] }),
1040
1044
  /* @__PURE__ */ L(Y, {}),
1041
- /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(rn, { children: o("common.other") }), /* @__PURE__ */ R(J, {
1045
+ /* @__PURE__ */ R(q, { children: [/* @__PURE__ */ L(on, { children: o("common.other") }), /* @__PURE__ */ R(J, {
1042
1046
  onClick: () => p(l.flow),
1043
1047
  className: D(t === l.flow && "tg:bg-accent"),
1044
1048
  children: [/* @__PURE__ */ L(f, {}), o("editor.selectNodeType.options.flow")]
1045
1049
  })] })
1046
1050
  ]
1047
1051
  })] });
1048
- }, bn = [
1052
+ }, Sn = [
1049
1053
  "radio",
1050
1054
  "select",
1051
1055
  "checkbox",
1052
1056
  "autocomplete"
1053
- ], xn = ({ nodeId: e, data: t }) => {
1057
+ ], Cn = ({ nodeId: e, data: t }) => {
1054
1058
  let [n, r] = F(!1), [i, a] = F(""), [o, s] = F(""), { updateNodeData: c } = G(), { language: l } = U(), u = W(), f = t && "type" in t ? t.type : void 0;
1055
- if (!(f && bn.includes(f))) return null;
1059
+ if (!(f && Sn.includes(f))) return null;
1056
1060
  let p = t.options ?? [], m = () => {
1057
1061
  a(""), s("");
1058
1062
  }, h = (t) => {
@@ -1136,9 +1140,9 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1136
1140
  })]
1137
1141
  })]
1138
1142
  });
1139
- }, Sn = ({ nodeId: e, required: t }) => {
1143
+ }, wn = ({ nodeId: e, required: t }) => {
1140
1144
  let { updateNodeData: n } = G(), r = W();
1141
- return /* @__PURE__ */ L(sn, {
1145
+ return /* @__PURE__ */ L(ln, {
1142
1146
  variant: t ? "destructive" : "outline",
1143
1147
  asChild: !0,
1144
1148
  className: "nodrag nopan tg:cursor-pointer tg:px-1.5 tg:py-0 tg:text-[10px] tg:capitalize tg:[&>svg]:size-2.5",
@@ -1150,27 +1154,27 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1150
1154
  children: r(t ? "editor.inputNodeForm.required" : "editor.inputNodeForm.optional")
1151
1155
  })
1152
1156
  });
1153
- }, Cn = ({ children: e, inGroup: t, isSubmit: n }) => /* @__PURE__ */ L("div", {
1157
+ }, Tn = ({ children: e, inGroup: t, isSubmit: n }) => /* @__PURE__ */ L("div", {
1154
1158
  className: D("react-flow__node__wrapper tg:relative", t && "in-group", n && "submit-type"),
1155
1159
  children: e
1156
- }), wn = Fe((e) => {
1160
+ }), En = Fe((e) => {
1157
1161
  let { id: t, isConnectable: n, parentId: r, selected: i, type: a } = e, o = e.type === "input" ? e.data : void 0, s = e.type === "ui" ? e.data : void 0, c = o?.type ?? s?.type, l = o?.type === "submit", u = !i && !!o?.type;
1158
- return /* @__PURE__ */ R(Cn, {
1162
+ return /* @__PURE__ */ R(Tn, {
1159
1163
  inGroup: !!r,
1160
1164
  isSubmit: l,
1161
1165
  children: [
1162
- /* @__PURE__ */ L(an, { nodeId: t }),
1166
+ /* @__PURE__ */ L(sn, { nodeId: t }),
1163
1167
  /* @__PURE__ */ L(xe, {
1164
1168
  type: "target",
1165
1169
  position: Te.Top,
1166
1170
  isConnectable: n,
1167
1171
  isConnectableStart: a === "ui"
1168
1172
  }),
1169
- u && o ? /* @__PURE__ */ L(gn, {
1173
+ u && o ? /* @__PURE__ */ L(vn, {
1170
1174
  nodeId: t,
1171
1175
  data: o
1172
1176
  }) : /* @__PURE__ */ R(I, { children: [
1173
- /* @__PURE__ */ L(en, {
1177
+ /* @__PURE__ */ L(nn, {
1174
1178
  nodeId: t,
1175
1179
  label: e.data?.label,
1176
1180
  placeholder: o?.name,
@@ -1178,49 +1182,49 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1178
1182
  }),
1179
1183
  /* @__PURE__ */ R("div", {
1180
1184
  className: "tg:mb-1 tg:flex tg:gap-1",
1181
- children: [/* @__PURE__ */ L(yn, {
1185
+ children: [/* @__PURE__ */ L(xn, {
1182
1186
  nodeId: t,
1183
1187
  nodeType: a,
1184
1188
  subType: c
1185
- }), o && !l && /* @__PURE__ */ L(Sn, {
1189
+ }), o && !l && /* @__PURE__ */ L(wn, {
1186
1190
  nodeId: t,
1187
1191
  required: o.required
1188
1192
  })]
1189
1193
  }),
1190
- o && /* @__PURE__ */ L(xn, {
1194
+ o && /* @__PURE__ */ L(Cn, {
1191
1195
  nodeId: t,
1192
1196
  data: o
1193
1197
  })
1194
1198
  ] }),
1195
- /* @__PURE__ */ L(mn, {
1199
+ /* @__PURE__ */ L(gn, {
1196
1200
  nodeId: t,
1197
1201
  isConnectable: n
1198
1202
  })
1199
1203
  ]
1200
1204
  });
1201
- }), Tn = {
1202
- [l.flow]: wn,
1203
- [l.group]: cn,
1204
- [l.input]: wn,
1205
- [l.ui]: wn
1206
- }, En = ({ show: e, onToggle: t }) => /* @__PURE__ */ L(ve, {
1205
+ }), Dn = {
1206
+ [l.flow]: En,
1207
+ [l.group]: un,
1208
+ [l.input]: En,
1209
+ [l.ui]: En
1210
+ }, On = ({ show: e, onToggle: t }) => /* @__PURE__ */ L(ve, {
1207
1211
  onClick: t,
1208
1212
  title: e ? "Hide minimap" : "Show minimap",
1209
1213
  children: L(e ? mt : pt, {})
1210
- }), Dn = {
1214
+ }), kn = {
1211
1215
  "!==": "≠",
1212
1216
  "<": "<",
1213
1217
  "<=": "≤",
1214
1218
  "===": "=",
1215
1219
  ">": ">",
1216
1220
  ">=": "≥"
1217
- }, On = (e, t) => {
1221
+ }, An = (e, t) => {
1218
1222
  let n = e?.filter((e) => e.value !== void 0 && e.value !== "") ?? [];
1219
1223
  return n.length === 0 ? "" : n.map((e, n) => {
1220
- let r = Dn[e.operator ?? ""] ?? e.operator ?? "", i = `${e.field ? t(e.field) : ""} ${r} ${e.value ?? ""}`.trim();
1224
+ let r = kn[e.operator ?? ""] ?? e.operator ?? "", i = `${e.field ? t(e.field) : ""} ${r} ${e.value ?? ""}`.trim();
1221
1225
  return `${n === 0 ? "" : ` ${e.logicalOperator ?? "AND"} `}${i}`;
1222
1226
  }).join("");
1223
- }, kn = () => {
1227
+ }, jn = () => {
1224
1228
  let { pendingNodeTypeChange: e, closeNodeTypeChangeConfirmation: t } = U(), { getEdges: n, getNode: r, setEdges: i, updateEdgeData: a } = N(), { updateNodeType: o } = G(), s = W(), c = ze(() => e ? n().filter((t) => t.source === e.nodeId).sort((e, t) => {
1225
1229
  let n = r(e.target)?.position ?? {
1226
1230
  x: 0,
@@ -1257,7 +1261,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1257
1261
  }, v = (e) => {
1258
1262
  let t = r(e)?.data, n = s(t?.label) || t?.name || e;
1259
1263
  return n === e && n.length > 5 ? `${n.slice(0, 5)}…` : n;
1260
- }, y = (e) => e?.isFallback ? s("editor.conditionalEdge.fallback") : e?.label ? e.label : On(e?.conditions, v) || s("editor.changeNodeTypeDialog.noConditions");
1264
+ }, y = (e) => e?.isFallback ? s("editor.conditionalEdge.fallback") : e?.label ? e.label : An(e?.conditions, v) || s("editor.changeNodeTypeDialog.noConditions");
1261
1265
  return /* @__PURE__ */ L(m, {
1262
1266
  open: e !== null,
1263
1267
  onOpenChange: f,
@@ -1265,7 +1269,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1265
1269
  showCloseButton: !1,
1266
1270
  children: [
1267
1271
  /* @__PURE__ */ R(me, { children: [/* @__PURE__ */ L(p, { children: s("editor.changeNodeTypeDialog.title") }), /* @__PURE__ */ L(ee, { children: s("editor.changeNodeTypeDialog.description") })] }),
1268
- /* @__PURE__ */ L(Kt, {
1272
+ /* @__PURE__ */ L(Jt, {
1269
1273
  className: "tg:max-h-80",
1270
1274
  children: /* @__PURE__ */ L(E, {
1271
1275
  value: l,
@@ -1306,7 +1310,7 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1306
1310
  ]
1307
1311
  })
1308
1312
  });
1309
- }, An = () => {
1313
+ }, Mn = () => {
1310
1314
  let { pendingDeleteNodeId: e, closeDeleteNodeConfirmation: t } = U(), { deleteNode: n } = G(), r = W();
1311
1315
  return /* @__PURE__ */ L(m, {
1312
1316
  open: e !== null,
@@ -1327,10 +1331,10 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1327
1331
  })] })]
1328
1332
  })
1329
1333
  });
1330
- }, jn = 200, Mn = 100, Nn = (e) => !!(e.measured?.width && e.measured?.height), Pn = (e, t, n) => {
1334
+ }, Nn = 200, Pn = 100, Fn = (e) => !!(e.measured?.width && e.measured?.height), In = (e, t, n) => {
1331
1335
  let r = n === "TB" ? "y" : "x";
1332
1336
  return e.reduce((e, n) => t.node(n.id)[r] < t.node(e.id)[r] ? n : e, e[0]);
1333
- }, Fn = (e, t, n) => {
1337
+ }, Ln = (e, t, n) => {
1334
1338
  let r = new It.graphlib.Graph().setDefaultEdgeLabel(() => ({}));
1335
1339
  r.setGraph({
1336
1340
  nodesep: n.horizontalSpacing,
@@ -1340,35 +1344,35 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1340
1344
  let i = /* @__PURE__ */ new Set();
1341
1345
  e.forEach((e) => {
1342
1346
  i.add(e.id), r.setNode(e.id, {
1343
- height: e.measured?.height ?? Mn,
1344
- width: e.measured?.width ?? jn
1347
+ height: e.measured?.height ?? Pn,
1348
+ width: e.measured?.width ?? Nn
1345
1349
  });
1346
1350
  }), t.forEach((e) => {
1347
1351
  i.has(e.source) && i.has(e.target) && r.setEdge(e.source, e.target);
1348
1352
  }), It.layout(r);
1349
- let a = Pn(e, r, n.direction), o = a.measured?.width ?? jn, s = a.measured?.height ?? Mn, c = r.node(a.id), l = a.position.x - (c.x - o / 2), u = a.position.y - (c.y - s / 2), d = /* @__PURE__ */ new Map();
1353
+ let a = In(e, r, n.direction), o = a.measured?.width ?? Nn, s = a.measured?.height ?? Pn, c = r.node(a.id), l = a.position.x - (c.x - o / 2), u = a.position.y - (c.y - s / 2), d = /* @__PURE__ */ new Map();
1350
1354
  return e.forEach((e) => {
1351
- let { x: t, y: n } = r.node(e.id), i = e.measured?.width ?? jn, a = e.measured?.height ?? Mn;
1355
+ let { x: t, y: n } = r.node(e.id), i = e.measured?.width ?? Nn, a = e.measured?.height ?? Pn;
1352
1356
  d.set(e.id, {
1353
1357
  x: t - i / 2 + l,
1354
1358
  y: n - a / 2 + u
1355
1359
  });
1356
1360
  }), d;
1357
- }, In = (e) => {
1361
+ }, Rn = (e) => {
1358
1362
  let t = /* @__PURE__ */ new Map();
1359
1363
  return e.forEach((e) => {
1360
1364
  let n = t.get(e.parentId) ?? [];
1361
1365
  n.push(e), t.set(e.parentId, n);
1362
1366
  }), t;
1363
- }, Ln = (e, t, n = {}) => {
1367
+ }, zn = (e, t, n = {}) => {
1364
1368
  let r = {
1365
1369
  direction: n.direction ?? "TB",
1366
1370
  horizontalSpacing: n.horizontalSpacing ?? 60,
1367
1371
  verticalSpacing: n.verticalSpacing ?? 80
1368
1372
  }, i = /* @__PURE__ */ new Map();
1369
- return In(e).forEach((e) => {
1370
- let n = e.filter(Nn);
1371
- n.length !== 0 && Fn(n, t, r).forEach((e, t) => {
1373
+ return Rn(e).forEach((e) => {
1374
+ let n = e.filter(Fn);
1375
+ n.length !== 0 && Ln(n, t, r).forEach((e, t) => {
1372
1376
  i.set(t, e);
1373
1377
  });
1374
1378
  }), e.map((e) => {
@@ -1378,10 +1382,10 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1378
1382
  position: t
1379
1383
  } : e;
1380
1384
  });
1381
- }, Rn = (e) => Array.from(e.nodeLookup.values()).map((e) => `${e.id}:${e.measured?.width ?? 0}x${e.measured?.height ?? 0}`).join("|"), zn = ({ direction: e, horizontalSpacing: t, verticalSpacing: n } = {}) => {
1382
- let { getNodes: r, getEdges: i, setNodes: a } = N(), o = Me(), s = Ne(Rn);
1385
+ }, Bn = (e) => Array.from(e.nodeLookup.values()).map((e) => `${e.id}:${e.measured?.width ?? 0}x${e.measured?.height ?? 0}`).join("|"), Vn = ({ direction: e, horizontalSpacing: t, verticalSpacing: n } = {}) => {
1386
+ let { getNodes: r, getEdges: i, setNodes: a } = N(), o = Me(), s = Ne(Bn);
1383
1387
  return Le(() => {
1384
- o && s && a(Ln(r(), i(), {
1388
+ o && s && a(zn(r(), i(), {
1385
1389
  direction: e,
1386
1390
  horizontalSpacing: t,
1387
1391
  verticalSpacing: n
@@ -1396,13 +1400,13 @@ var cn = Fe(({ data: e, id: t }) => /* @__PURE__ */ R(I, { children: [
1396
1400
  i,
1397
1401
  a
1398
1402
  ]), null;
1399
- }, Bn = "You are a Treege decision tree generator. You must generate valid JSON structures for decision trees.\n\nIMPORTANT RULES:\n1. Always respond with valid JSON only, no markdown, no code blocks, no explanations outside the JSON\n2. The JSON must have this exact structure: { \"nodes\": [...], \"edges\": [...] }\n3. Every node must have: id (string), type (string), position ({ x: number, y: number }), data (object)\n4. Every edge must have: id (string), source (string), target (string)\n5. For regex patterns: ALWAYS use double backslashes (\\\\) for special characters (\\\\s, \\\\d, etc.)\n6. AVOID using \"pattern\" field unless specifically requested - prefer using simple validation\n7. For submit buttons, use type \"input\" with data.type \"submit\", NOT type \"flow\"\n8. For conditional logic, use conditional edges with proper operators (===, !==, >, <, >=, <=)\n\nNODE TYPES:\n- \"input\": Form input fields (text, number, select, checkbox, etc.)\n- \"ui\": UI elements (title, divider)\n- \"flow\": Navigation/flow control nodes\n- \"group\": Container for organizing nodes\n\nINPUT NODE TYPES (data.type):\n- \"text\", \"number\", \"textarea\", \"password\"\n- \"select\", \"radio\", \"checkbox\", \"switch\"\n- \"autocomplete\", \"date\", \"daterange\", \"time\", \"timerange\"\n- \"file\", \"address\", \"http\", \"hidden\", \"submit\"\n\nINPUT NODE DATA STRUCTURE:\n{\n \"id\": \"unique-id\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": {\n \"label\": \"Field Label\",\n \"name\": \"fieldName\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": \"Enter value...\",\n \"helperText\": \"Optional helper text\",\n \"pattern\": \"regex pattern (optional)\",\n \"errorMessage\": \"Error message if validation fails\",\n \"options\": [{ \"value\": \"val\", \"label\": \"Label\" }], // for select/radio/checkbox\n \"multiple\": false // for select/checkbox\n }\n}\n\nUI NODE TYPES (data.type):\n- \"title\": Display a title\n- \"divider\": Display a divider line\n\nUI NODE DATA STRUCTURE:\n{\n \"id\": \"unique-id\",\n \"type\": \"ui\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": {\n \"label\": \"UI Element Label\",\n \"type\": \"title\" // or \"divider\"\n }\n}\n\nFLOW NODE DATA STRUCTURE:\n{\n \"id\": \"unique-id\",\n \"type\": \"flow\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": {\n \"label\": \"Flow Step Label\",\n \"targetId\": \"next-node-id\" // optional\n }\n}\n\nGROUP NODE DATA STRUCTURE:\n{\n \"id\": \"unique-id\",\n \"type\": \"group\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": {\n \"label\": \"Group Label\"\n }\n}\n\nEDGE STRUCTURE:\n{\n \"id\": \"edge-id\",\n \"source\": \"source-node-id\",\n \"target\": \"target-node-id\",\n \"type\": \"default\" // or \"conditional\" for conditional logic\n}\n\nCONDITIONAL EDGE STRUCTURE:\n{\n \"id\": \"edge-id\",\n \"source\": \"source-node-id\",\n \"target\": \"target-node-id\",\n \"type\": \"conditional\",\n \"data\": {\n \"label\": \"If condition is true\", // optional label for the edge\n \"conditions\": [\n {\n \"field\": \"field-node-id\", // ID of the field to check\n \"operator\": \">=\", // operators: ===, !==, >, <, >=, <=\n \"value\": \"18\" // value to compare (as string)\n }\n ],\n \"operator\": \"AND\" // optional: \"AND\" or \"OR\" for multiple conditions (default: AND)\n }\n}\n\nIMPORTANT: For conditional edges, the value must ALWAYS be a string, even for numbers.\nExample: For \"age >= 18\", use \"value\": \"18\" (not value: 18)\n\nLAYOUT GUIDELINES:\n- Position nodes in a vertical flow (top to bottom)\n- Start at position { x: 0, y: 0 }\n- Space nodes vertically by exactly 250 pixels between each position (node height 150px + 100px spacing)\n- For horizontal spacing, use 350 pixels\n- Create logical flow from top to bottom\n- IMPORTANT: Keep consistent vertical spacing to avoid overlap\n- Each node position Y should increment by 250: first at y:0, second at y:250, third at y:500, etc.\n\nEXAMPLES:\n\nUser: \"Create a simple contact form with name, email and message\"\nResponse:\n{\n \"nodes\": [\n {\n \"id\": \"title-1\",\n \"type\": \"ui\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": { \"label\": \"Contact Form\", \"type\": \"title\" }\n },\n {\n \"id\": \"name-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": \"Name\",\n \"name\": \"name\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": \"Enter your name\"\n }\n },\n {\n \"id\": \"email-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": \"Email\",\n \"name\": \"email\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": \"your@email.com\"\n }\n },\n {\n \"id\": \"message-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 750 },\n \"data\": {\n \"label\": \"Message\",\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"required\": true,\n \"placeholder\": \"Enter your message\"\n }\n }\n ],\n \"edges\": [\n { \"id\": \"e1\", \"source\": \"title-1\", \"target\": \"name-1\" },\n { \"id\": \"e2\", \"source\": \"name-1\", \"target\": \"email-1\" },\n { \"id\": \"e3\", \"source\": \"email-1\", \"target\": \"message-1\" }\n ]\n}\n\nUser: \"Create a user registration form with age, address and country selector\"\nResponse:\n{\n \"nodes\": [\n {\n \"id\": \"title-1\",\n \"type\": \"ui\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": { \"label\": \"User Registration\", \"type\": \"title\" }\n },\n {\n \"id\": \"age-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": \"Age\",\n \"name\": \"age\",\n \"type\": \"number\",\n \"required\": true,\n \"placeholder\": \"Enter your age\"\n }\n },\n {\n \"id\": \"address-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": \"Address\",\n \"name\": \"address\",\n \"type\": \"address\",\n \"required\": true,\n \"placeholder\": \"Enter your address\"\n }\n },\n {\n \"id\": \"country-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 750 },\n \"data\": {\n \"label\": \"Country\",\n \"name\": \"country\",\n \"type\": \"select\",\n \"required\": true,\n \"options\": [\n { \"value\": \"us\", \"label\": \"United States\" },\n { \"value\": \"ca\", \"label\": \"Canada\" },\n { \"value\": \"uk\", \"label\": \"United Kingdom\" },\n { \"value\": \"fr\", \"label\": \"France\" },\n { \"value\": \"de\", \"label\": \"Germany\" }\n ]\n }\n },\n {\n \"id\": \"submit-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 1000 },\n \"data\": {\n \"label\": \"Submit\",\n \"type\": \"submit\"\n }\n }\n ],\n \"edges\": [\n { \"id\": \"e1\", \"source\": \"title-1\", \"target\": \"age-1\" },\n { \"id\": \"e2\", \"source\": \"age-1\", \"target\": \"address-1\" },\n { \"id\": \"e3\", \"source\": \"address-1\", \"target\": \"country-1\" },\n { \"id\": \"e4\", \"source\": \"country-1\", \"target\": \"submit-1\" }\n ]\n}\n\nUser: \"Create a form with name, age, and show different questions based on age (movie for 18+, color for under 18)\"\nResponse:\n{\n \"nodes\": [\n {\n \"id\": \"title-1\",\n \"type\": \"ui\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": { \"label\": \"Survey Form\", \"type\": \"title\" }\n },\n {\n \"id\": \"name-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": \"Name\",\n \"name\": \"name\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": \"Enter your name\"\n }\n },\n {\n \"id\": \"age-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": \"Age\",\n \"name\": \"age\",\n \"type\": \"number\",\n \"required\": true,\n \"placeholder\": \"Enter your age\"\n }\n },\n {\n \"id\": \"movie-1\",\n \"type\": \"input\",\n \"position\": { \"x\": -350, \"y\": 750 },\n \"data\": {\n \"label\": \"Favorite Movie\",\n \"name\": \"favoriteMovie\",\n \"type\": \"text\",\n \"required\": true,\n \"helperText\": \"For adults 18 and over\"\n }\n },\n {\n \"id\": \"color-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 350, \"y\": 750 },\n \"data\": {\n \"label\": \"Favorite Color\",\n \"name\": \"favoriteColor\",\n \"type\": \"text\",\n \"required\": true,\n \"helperText\": \"For those under 18\"\n }\n },\n {\n \"id\": \"submit-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 1000 },\n \"data\": {\n \"label\": \"Submit\",\n \"type\": \"submit\"\n }\n }\n ],\n \"edges\": [\n { \"id\": \"e1\", \"source\": \"title-1\", \"target\": \"name-1\" },\n { \"id\": \"e2\", \"source\": \"name-1\", \"target\": \"age-1\" },\n {\n \"id\": \"e3\",\n \"source\": \"age-1\",\n \"target\": \"movie-1\",\n \"type\": \"conditional\",\n \"data\": {\n \"label\": \"If 18 or older\",\n \"conditions\": [\n {\n \"field\": \"age-1\",\n \"operator\": \">=\",\n \"value\": \"18\"\n }\n ]\n }\n },\n {\n \"id\": \"e4\",\n \"source\": \"age-1\",\n \"target\": \"color-1\",\n \"type\": \"conditional\",\n \"data\": {\n \"label\": \"If under 18\",\n \"conditions\": [\n {\n \"field\": \"age-1\",\n \"operator\": \"<\",\n \"value\": \"18\"\n }\n ]\n }\n },\n { \"id\": \"e5\", \"source\": \"movie-1\", \"target\": \"submit-1\" },\n { \"id\": \"e6\", \"source\": \"color-1\", \"target\": \"submit-1\" }\n ]\n}\n\nRemember:\n- Always respond with ONLY valid JSON\n- No markdown code blocks\n- No explanations outside the JSON\n- Follow the exact structure shown above\n- For submit buttons, ALWAYS use type \"input\" with data.type \"submit\"\n- For conditional edges, ALWAYS specify the value as a string and use proper operators (>=, <, ===, etc.)\n- Never leave condition values empty - always provide the comparison value\n", Vn = {
1403
+ }, Hn = "You are a Treege decision tree generator. You must generate valid JSON structures for decision trees.\n\nIMPORTANT RULES:\n1. Always respond with valid JSON only, no markdown, no code blocks, no explanations outside the JSON\n2. The JSON must have this exact structure: { \"nodes\": [...], \"edges\": [...] }\n3. Every node must have: id (string), type (string), position ({ x: number, y: number }), data (object)\n4. Every edge must have: id (string), source (string), target (string)\n5. For regex patterns: ALWAYS use double backslashes (\\\\) for special characters (\\\\s, \\\\d, etc.)\n6. AVOID using \"pattern\" field unless specifically requested - prefer using simple validation\n7. For submit buttons, use type \"input\" with data.type \"submit\", NOT type \"flow\"\n8. For conditional logic, use conditional edges with proper operators (===, !==, >, <, >=, <=)\n\nNODE TYPES:\n- \"input\": Form input fields (text, number, select, checkbox, etc.)\n- \"ui\": UI elements (title, divider)\n- \"flow\": Navigation/flow control nodes\n- \"group\": Container for organizing nodes\n\nINPUT NODE TYPES (data.type):\n- \"text\", \"number\", \"textarea\", \"password\"\n- \"select\", \"radio\", \"checkbox\", \"switch\"\n- \"autocomplete\", \"date\", \"daterange\", \"time\", \"timerange\"\n- \"file\", \"address\", \"http\", \"hidden\", \"submit\"\n\nINPUT NODE DATA STRUCTURE:\n{\n \"id\": \"unique-id\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": {\n \"label\": \"Field Label\",\n \"name\": \"fieldName\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": \"Enter value...\",\n \"helperText\": \"Optional helper text\",\n \"pattern\": \"regex pattern (optional)\",\n \"errorMessage\": \"Error message if validation fails\",\n \"options\": [{ \"value\": \"val\", \"label\": \"Label\" }], // for select/radio/checkbox\n \"multiple\": false // for select/checkbox\n }\n}\n\nUI NODE TYPES (data.type):\n- \"title\": Display a title\n- \"divider\": Display a divider line\n\nUI NODE DATA STRUCTURE:\n{\n \"id\": \"unique-id\",\n \"type\": \"ui\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": {\n \"label\": \"UI Element Label\",\n \"type\": \"title\" // or \"divider\"\n }\n}\n\nFLOW NODE DATA STRUCTURE:\n{\n \"id\": \"unique-id\",\n \"type\": \"flow\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": {\n \"label\": \"Flow Step Label\",\n \"targetId\": \"next-node-id\" // optional\n }\n}\n\nGROUP NODE DATA STRUCTURE:\n{\n \"id\": \"unique-id\",\n \"type\": \"group\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": {\n \"label\": \"Group Label\"\n }\n}\n\nEDGE STRUCTURE:\n{\n \"id\": \"edge-id\",\n \"source\": \"source-node-id\",\n \"target\": \"target-node-id\",\n \"type\": \"default\" // or \"conditional\" for conditional logic\n}\n\nCONDITIONAL EDGE STRUCTURE:\n{\n \"id\": \"edge-id\",\n \"source\": \"source-node-id\",\n \"target\": \"target-node-id\",\n \"type\": \"conditional\",\n \"data\": {\n \"label\": \"If condition is true\", // optional label for the edge\n \"conditions\": [\n {\n \"field\": \"field-node-id\", // ID of the field to check\n \"operator\": \">=\", // operators: ===, !==, >, <, >=, <=\n \"value\": \"18\" // value to compare (as string)\n }\n ],\n \"operator\": \"AND\" // optional: \"AND\" or \"OR\" for multiple conditions (default: AND)\n }\n}\n\nIMPORTANT: For conditional edges, the value must ALWAYS be a string, even for numbers.\nExample: For \"age >= 18\", use \"value\": \"18\" (not value: 18)\n\nLAYOUT GUIDELINES:\n- Position nodes in a vertical flow (top to bottom)\n- Start at position { x: 0, y: 0 }\n- Space nodes vertically by exactly 250 pixels between each position (node height 150px + 100px spacing)\n- For horizontal spacing, use 350 pixels\n- Create logical flow from top to bottom\n- IMPORTANT: Keep consistent vertical spacing to avoid overlap\n- Each node position Y should increment by 250: first at y:0, second at y:250, third at y:500, etc.\n\nEXAMPLES:\n\nUser: \"Create a simple contact form with name, email and message\"\nResponse:\n{\n \"nodes\": [\n {\n \"id\": \"title-1\",\n \"type\": \"ui\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": { \"label\": \"Contact Form\", \"type\": \"title\" }\n },\n {\n \"id\": \"name-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": \"Name\",\n \"name\": \"name\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": \"Enter your name\"\n }\n },\n {\n \"id\": \"email-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": \"Email\",\n \"name\": \"email\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": \"your@email.com\"\n }\n },\n {\n \"id\": \"message-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 750 },\n \"data\": {\n \"label\": \"Message\",\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"required\": true,\n \"placeholder\": \"Enter your message\"\n }\n }\n ],\n \"edges\": [\n { \"id\": \"e1\", \"source\": \"title-1\", \"target\": \"name-1\" },\n { \"id\": \"e2\", \"source\": \"name-1\", \"target\": \"email-1\" },\n { \"id\": \"e3\", \"source\": \"email-1\", \"target\": \"message-1\" }\n ]\n}\n\nUser: \"Create a user registration form with age, address and country selector\"\nResponse:\n{\n \"nodes\": [\n {\n \"id\": \"title-1\",\n \"type\": \"ui\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": { \"label\": \"User Registration\", \"type\": \"title\" }\n },\n {\n \"id\": \"age-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": \"Age\",\n \"name\": \"age\",\n \"type\": \"number\",\n \"required\": true,\n \"placeholder\": \"Enter your age\"\n }\n },\n {\n \"id\": \"address-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": \"Address\",\n \"name\": \"address\",\n \"type\": \"address\",\n \"required\": true,\n \"placeholder\": \"Enter your address\"\n }\n },\n {\n \"id\": \"country-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 750 },\n \"data\": {\n \"label\": \"Country\",\n \"name\": \"country\",\n \"type\": \"select\",\n \"required\": true,\n \"options\": [\n { \"value\": \"us\", \"label\": \"United States\" },\n { \"value\": \"ca\", \"label\": \"Canada\" },\n { \"value\": \"uk\", \"label\": \"United Kingdom\" },\n { \"value\": \"fr\", \"label\": \"France\" },\n { \"value\": \"de\", \"label\": \"Germany\" }\n ]\n }\n },\n {\n \"id\": \"submit-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 1000 },\n \"data\": {\n \"label\": \"Submit\",\n \"type\": \"submit\"\n }\n }\n ],\n \"edges\": [\n { \"id\": \"e1\", \"source\": \"title-1\", \"target\": \"age-1\" },\n { \"id\": \"e2\", \"source\": \"age-1\", \"target\": \"address-1\" },\n { \"id\": \"e3\", \"source\": \"address-1\", \"target\": \"country-1\" },\n { \"id\": \"e4\", \"source\": \"country-1\", \"target\": \"submit-1\" }\n ]\n}\n\nUser: \"Create a form with name, age, and show different questions based on age (movie for 18+, color for under 18)\"\nResponse:\n{\n \"nodes\": [\n {\n \"id\": \"title-1\",\n \"type\": \"ui\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": { \"label\": \"Survey Form\", \"type\": \"title\" }\n },\n {\n \"id\": \"name-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": \"Name\",\n \"name\": \"name\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": \"Enter your name\"\n }\n },\n {\n \"id\": \"age-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": \"Age\",\n \"name\": \"age\",\n \"type\": \"number\",\n \"required\": true,\n \"placeholder\": \"Enter your age\"\n }\n },\n {\n \"id\": \"movie-1\",\n \"type\": \"input\",\n \"position\": { \"x\": -350, \"y\": 750 },\n \"data\": {\n \"label\": \"Favorite Movie\",\n \"name\": \"favoriteMovie\",\n \"type\": \"text\",\n \"required\": true,\n \"helperText\": \"For adults 18 and over\"\n }\n },\n {\n \"id\": \"color-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 350, \"y\": 750 },\n \"data\": {\n \"label\": \"Favorite Color\",\n \"name\": \"favoriteColor\",\n \"type\": \"text\",\n \"required\": true,\n \"helperText\": \"For those under 18\"\n }\n },\n {\n \"id\": \"submit-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 1000 },\n \"data\": {\n \"label\": \"Submit\",\n \"type\": \"submit\"\n }\n }\n ],\n \"edges\": [\n { \"id\": \"e1\", \"source\": \"title-1\", \"target\": \"name-1\" },\n { \"id\": \"e2\", \"source\": \"name-1\", \"target\": \"age-1\" },\n {\n \"id\": \"e3\",\n \"source\": \"age-1\",\n \"target\": \"movie-1\",\n \"type\": \"conditional\",\n \"data\": {\n \"label\": \"If 18 or older\",\n \"conditions\": [\n {\n \"field\": \"age-1\",\n \"operator\": \">=\",\n \"value\": \"18\"\n }\n ]\n }\n },\n {\n \"id\": \"e4\",\n \"source\": \"age-1\",\n \"target\": \"color-1\",\n \"type\": \"conditional\",\n \"data\": {\n \"label\": \"If under 18\",\n \"conditions\": [\n {\n \"field\": \"age-1\",\n \"operator\": \"<\",\n \"value\": \"18\"\n }\n ]\n }\n },\n { \"id\": \"e5\", \"source\": \"movie-1\", \"target\": \"submit-1\" },\n { \"id\": \"e6\", \"source\": \"color-1\", \"target\": \"submit-1\" }\n ]\n}\n\nRemember:\n- Always respond with ONLY valid JSON\n- No markdown code blocks\n- No explanations outside the JSON\n- Follow the exact structure shown above\n- For submit buttons, ALWAYS use type \"input\" with data.type \"submit\"\n- For conditional edges, ALWAYS specify the value as a string and use proper operators (>=, <, ===, etc.)\n- Never leave condition values empty - always provide the comparison value\n", Un = {
1400
1404
  claude: "claude-3-5-haiku-20241022",
1401
1405
  deepseek: "deepseek-chat",
1402
1406
  gemini: "gemini-2.5-flash",
1403
1407
  openai: "gpt-4o-mini"
1404
- }, Hn = .3;
1405
- function Un(e) {
1408
+ }, Wn = .3;
1409
+ function Gn(e) {
1406
1410
  try {
1407
1411
  return JSON.parse(e);
1408
1412
  } catch (t) {
@@ -1414,10 +1418,10 @@ function Un(e) {
1414
1418
  }
1415
1419
  }
1416
1420
  }
1417
- async function Wn(e) {
1418
- let t = e.config.model || Vn.gemini, n = e.config.temperature ?? Hn, r = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${t}:generateContent?key=${e.config.apiKey}`, {
1421
+ async function Kn(e) {
1422
+ let t = e.config.model || Un.gemini, n = e.config.temperature ?? Wn, r = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${t}:generateContent?key=${e.config.apiKey}`, {
1419
1423
  body: JSON.stringify({
1420
- contents: [{ parts: [{ text: `${Bn}\n\nUser request: ${e.prompt}` }] }],
1424
+ contents: [{ parts: [{ text: `${Hn}\n\nUser request: ${e.prompt}` }] }],
1421
1425
  generationConfig: {
1422
1426
  responseMimeType: "application/json",
1423
1427
  temperature: n
@@ -1432,13 +1436,13 @@ async function Wn(e) {
1432
1436
  }
1433
1437
  let i = (await r.json()).candidates?.[0]?.content?.parts?.[0]?.text;
1434
1438
  if (!i) throw Error("No response from Gemini");
1435
- return Un(i);
1439
+ return Gn(i);
1436
1440
  }
1437
- async function Gn(e) {
1438
- let t = e.config.model || Vn.openai, n = e.config.temperature ?? Hn, r = await fetch("https://api.openai.com/v1/chat/completions", {
1441
+ async function qn(e) {
1442
+ let t = e.config.model || Un.openai, n = e.config.temperature ?? Wn, r = await fetch("https://api.openai.com/v1/chat/completions", {
1439
1443
  body: JSON.stringify({
1440
1444
  messages: [{
1441
- content: Bn,
1445
+ content: Hn,
1442
1446
  role: "system"
1443
1447
  }, {
1444
1448
  content: e.prompt,
@@ -1460,13 +1464,13 @@ async function Gn(e) {
1460
1464
  }
1461
1465
  let i = (await r.json()).choices?.[0]?.message?.content;
1462
1466
  if (!i) throw Error("No response from OpenAI");
1463
- return Un(i);
1467
+ return Gn(i);
1464
1468
  }
1465
- async function Kn(e) {
1466
- let t = e.config.model || Vn.deepseek, n = e.config.temperature ?? Hn, r = await fetch("https://api.deepseek.com/v1/chat/completions", {
1469
+ async function Jn(e) {
1470
+ let t = e.config.model || Un.deepseek, n = e.config.temperature ?? Wn, r = await fetch("https://api.deepseek.com/v1/chat/completions", {
1467
1471
  body: JSON.stringify({
1468
1472
  messages: [{
1469
- content: Bn,
1473
+ content: Hn,
1470
1474
  role: "system"
1471
1475
  }, {
1472
1476
  content: e.prompt,
@@ -1488,10 +1492,10 @@ async function Kn(e) {
1488
1492
  }
1489
1493
  let i = (await r.json()).choices?.[0]?.message?.content;
1490
1494
  if (!i) throw Error("No response from DeepSeek");
1491
- return Un(i);
1495
+ return Gn(i);
1492
1496
  }
1493
- async function qn(e) {
1494
- let t = e.config.model || Vn.claude, n = e.config.temperature ?? Hn, r = await fetch("https://api.anthropic.com/v1/messages", {
1497
+ async function Yn(e) {
1498
+ let t = e.config.model || Un.claude, n = e.config.temperature ?? Wn, r = await fetch("https://api.anthropic.com/v1/messages", {
1495
1499
  body: JSON.stringify({
1496
1500
  max_tokens: 4096,
1497
1501
  messages: [{
@@ -1499,7 +1503,7 @@ async function qn(e) {
1499
1503
  role: "user"
1500
1504
  }],
1501
1505
  model: t,
1502
- system: Bn,
1506
+ system: Hn,
1503
1507
  temperature: n
1504
1508
  }),
1505
1509
  headers: {
@@ -1515,20 +1519,20 @@ async function qn(e) {
1515
1519
  }
1516
1520
  let i = (await r.json()).content?.[0]?.text;
1517
1521
  if (!i) throw Error("No response from Claude");
1518
- return Un(i);
1522
+ return Gn(i);
1519
1523
  }
1520
- function Jn(e) {
1524
+ function Xn(e) {
1521
1525
  switch (e.config.provider) {
1522
- case "gemini": return Wn(e);
1523
- case "openai": return Gn(e);
1524
- case "deepseek": return Kn(e);
1525
- case "claude": return qn(e);
1526
+ case "gemini": return Kn(e);
1527
+ case "openai": return qn(e);
1528
+ case "deepseek": return Jn(e);
1529
+ case "claude": return Yn(e);
1526
1530
  default: throw Error(`Unsupported AI provider: ${e.config.provider}`);
1527
1531
  }
1528
1532
  }
1529
1533
  //#endregion
1530
1534
  //#region src/editor/features/TreegeEditor/panel/AIGeneratorDialog.tsx
1531
- var Yn = ({ aiConfig: e, onGenerate: t }) => {
1535
+ var Zn = ({ aiConfig: e, onGenerate: t }) => {
1532
1536
  let [n, r] = F(!1), [i, a] = F(""), [o, s] = F(!1), c = W(), l = async () => {
1533
1537
  if (!i.trim()) {
1534
1538
  H.error(c("editor.aiGenerator.enterDescription"));
@@ -1540,7 +1544,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1540
1544
  }
1541
1545
  s(!0);
1542
1546
  try {
1543
- let n = await Jn({
1547
+ let n = await Xn({
1544
1548
  config: e,
1545
1549
  prompt: i.trim()
1546
1550
  });
@@ -1633,15 +1637,15 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1633
1637
  ]
1634
1638
  })]
1635
1639
  });
1636
- }, Xn = Qt(), Zn = ({ onExportJson: e, onSave: t, extraMenuItems: n }) => {
1637
- let { flowId: r, setFlowId: i, aiConfig: a } = U(), { setNodes: o, setEdges: s, addNodes: c, screenToFlowPosition: l } = N(), u = r || Xn, d = je(), f = Ae(), p = Be(null), m = W(), h = () => {
1640
+ }, Qn = en(), $n = ({ onExportJson: e, onSave: t, extraMenuItems: n }) => {
1641
+ let { flowId: r, setFlowId: i, aiConfig: a } = U(), { setNodes: o, setEdges: s, addNodes: c, screenToFlowPosition: l } = N(), u = r || Qn, d = je(), f = Ae(), p = Be(null), m = W(), h = () => {
1638
1642
  let e = (window.innerWidth || 0) / 2, t = (window.innerHeight || 0) / 2, n = parseInt(getComputedStyle(document.documentElement).getPropertyValue("--node-width"), 10), r = parseInt(getComputedStyle(document.documentElement).getPropertyValue("--node-height"), 10), i = l({
1639
1643
  x: e - n,
1640
1644
  y: t - r
1641
1645
  });
1642
1646
  c([{
1643
- ...ln,
1644
- id: Qt(),
1647
+ ...dn,
1648
+ id: en(),
1645
1649
  position: i,
1646
1650
  selected: !0
1647
1651
  }]);
@@ -1690,7 +1694,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1690
1694
  position: "top-right",
1691
1695
  className: "tg:flex tg:gap-2",
1692
1696
  children: [
1693
- /* @__PURE__ */ L(Yn, {
1697
+ /* @__PURE__ */ L(Zn, {
1694
1698
  aiConfig: a,
1695
1699
  onGenerate: (e) => {
1696
1700
  o(e.nodes), s(e.edges);
@@ -1722,17 +1726,17 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1722
1726
  })
1723
1727
  ]
1724
1728
  }),
1725
- /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(tn, {
1729
+ /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(rn, {
1726
1730
  asChild: !0,
1727
1731
  children: /* @__PURE__ */ L(A, {
1728
1732
  variant: "outline",
1729
1733
  size: "sm",
1730
1734
  children: /* @__PURE__ */ L(it, {})
1731
1735
  })
1732
- }), /* @__PURE__ */ R(nn, {
1736
+ }), /* @__PURE__ */ R(an, {
1733
1737
  align: "start",
1734
1738
  children: [
1735
- /* @__PURE__ */ L(rn, {
1739
+ /* @__PURE__ */ L(on, {
1736
1740
  className: "tg:font-normal",
1737
1741
  children: /* @__PURE__ */ R("div", {
1738
1742
  className: "tg:flex tg:flex-col tg:gap-1",
@@ -1800,7 +1804,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1800
1804
  })
1801
1805
  ]
1802
1806
  });
1803
- }, Qn = {
1807
+ }, er = {
1804
1808
  ar: "ar",
1805
1809
  de: "de",
1806
1810
  en: "en",
@@ -1814,7 +1818,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1814
1818
  children: [/* @__PURE__ */ L(v, {
1815
1819
  className: "tg:uppercase",
1816
1820
  children: /* @__PURE__ */ L(T, { placeholder: "" })
1817
- }), /* @__PURE__ */ L(C, { children: /* @__PURE__ */ L(w, { children: Object.values(Qn).map((e) => /* @__PURE__ */ L(h, {
1821
+ }), /* @__PURE__ */ L(C, { children: /* @__PURE__ */ L(w, { children: Object.values(er).map((e) => /* @__PURE__ */ L(h, {
1818
1822
  value: e,
1819
1823
  className: "tg:uppercase",
1820
1824
  children: e
@@ -1828,7 +1832,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1828
1832
  selectedNode: i,
1829
1833
  selectedNodes: r
1830
1834
  };
1831
- }, $n = () => {
1835
+ }, tr = () => {
1832
1836
  let [e, t] = F("en"), { updateSelectedNodeData: n } = G(), { selectedNode: r } = $(), i = W(), { Field: a } = Ve({
1833
1837
  defaultValues: {
1834
1838
  label: r?.data?.label || { en: "" },
@@ -1895,7 +1899,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1895
1899
  })]
1896
1900
  })
1897
1901
  });
1898
- }, er = () => {
1902
+ }, nr = () => {
1899
1903
  let [e, t] = F("en"), { selectedNode: n } = $(), { updateSelectedNodeData: r } = G(), { Field: i } = Ve({
1900
1904
  defaultValues: { label: n?.data?.label || { en: "" } },
1901
1905
  listeners: {
@@ -1940,12 +1944,12 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1940
1944
  })]
1941
1945
  })
1942
1946
  });
1943
- }, tr = [
1947
+ }, rr = [
1944
1948
  "POST",
1945
1949
  "PUT",
1946
1950
  "PATCH"
1947
- ], nr = ({ value: e, onChange: t }) => {
1948
- let { selectedNode: n } = $(), r = W(), i = Ut(n?.id), { handleSubmit: a, Field: o, Subscribe: s } = Ve({
1951
+ ], ir = ({ value: e, onChange: t }) => {
1952
+ let { selectedNode: n } = $(), r = W(), i = Gt(n?.id), { handleSubmit: a, Field: o, Subscribe: s } = Ve({
1949
1953
  defaultValues: {
1950
1954
  body: e?.body || "",
1951
1955
  fetchOnMount: e?.fetchOnMount ?? !e?.searchParam,
@@ -1991,7 +1995,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1991
1995
  onChange: ({ target: t }) => e.handleChange(t.value),
1992
1996
  placeholder: r("editor.httpConfigForm.apiUrlPlaceholder"),
1993
1997
  className: "tg:flex-1"
1994
- }), /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(tn, {
1998
+ }), /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(rn, {
1995
1999
  asChild: !0,
1996
2000
  children: /* @__PURE__ */ L(A, {
1997
2001
  type: "button",
@@ -1999,7 +2003,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
1999
2003
  size: "icon",
2000
2004
  children: /* @__PURE__ */ L(Ot, { className: "tg:h-4 tg:w-4" })
2001
2005
  })
2002
- }), /* @__PURE__ */ L(nn, {
2006
+ }), /* @__PURE__ */ L(an, {
2003
2007
  align: "end",
2004
2008
  children: i.length === 0 ? /* @__PURE__ */ L(J, {
2005
2009
  disabled: !0,
@@ -2122,7 +2126,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2122
2126
  method: e.values.method,
2123
2127
  sendAllFormValues: e.values.sendAllFormValues
2124
2128
  }),
2125
- children: ({ method: e, sendAllFormValues: t }) => tr.includes(e || "") && /* @__PURE__ */ R("div", {
2129
+ children: ({ method: e, sendAllFormValues: t }) => rr.includes(e || "") && /* @__PURE__ */ R("div", {
2126
2130
  className: "tg:space-y-4",
2127
2131
  children: [/* @__PURE__ */ L(o, {
2128
2132
  name: "sendAllFormValues",
@@ -2145,7 +2149,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2145
2149
  children: [/* @__PURE__ */ L(d, {
2146
2150
  htmlFor: e.name,
2147
2151
  children: r("editor.httpConfigForm.requestBody")
2148
- }), /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(tn, {
2152
+ }), /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(rn, {
2149
2153
  asChild: !0,
2150
2154
  children: /* @__PURE__ */ R(A, {
2151
2155
  type: "button",
@@ -2154,7 +2158,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2154
2158
  disabled: t,
2155
2159
  children: [/* @__PURE__ */ L(Ot, { className: "tg:mr-2 tg:h-4 tg:w-4" }), r("editor.httpConfigForm.insertVariable")]
2156
2160
  })
2157
- }), /* @__PURE__ */ L(nn, {
2161
+ }), /* @__PURE__ */ L(an, {
2158
2162
  align: "end",
2159
2163
  children: i.length === 0 ? /* @__PURE__ */ L(J, {
2160
2164
  disabled: !0,
@@ -2329,12 +2333,12 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2329
2333
  })
2330
2334
  ]
2331
2335
  }) });
2332
- }, rr = [
2336
+ }, ar = [
2333
2337
  "POST",
2334
2338
  "PUT",
2335
2339
  "PATCH"
2336
- ], ir = ({ value: e, onChange: t }) => {
2337
- let [n, r] = F("en"), { selectedNode: i } = $(), a = W(), o = Ut(i?.id), { handleSubmit: s, Field: c, Subscribe: l } = Ve({
2340
+ ], or = ({ value: e, onChange: t }) => {
2341
+ let [n, r] = F("en"), { selectedNode: i } = $(), a = W(), o = Gt(i?.id), { handleSubmit: s, Field: c, Subscribe: l } = Ve({
2338
2342
  defaultValues: {
2339
2343
  body: e?.body || "",
2340
2344
  errorMessage: e?.errorMessage || { en: "" },
@@ -2376,7 +2380,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2376
2380
  onChange: ({ target: t }) => e.handleChange(t.value),
2377
2381
  placeholder: a("editor.submitConfigForm.apiUrlPlaceholder"),
2378
2382
  className: "tg:flex-1"
2379
- }), /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(tn, {
2383
+ }), /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(rn, {
2380
2384
  asChild: !0,
2381
2385
  children: /* @__PURE__ */ L(A, {
2382
2386
  type: "button",
@@ -2384,7 +2388,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2384
2388
  size: "icon",
2385
2389
  children: /* @__PURE__ */ L(Ot, { className: "tg:h-4 tg:w-4" })
2386
2390
  })
2387
- }), /* @__PURE__ */ L(nn, {
2391
+ }), /* @__PURE__ */ L(an, {
2388
2392
  align: "end",
2389
2393
  children: o.length === 0 ? /* @__PURE__ */ L(J, {
2390
2394
  disabled: !0,
@@ -2503,7 +2507,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2503
2507
  method: e.values.method,
2504
2508
  sendAllFormValues: e.values.sendAllFormValues
2505
2509
  }),
2506
- children: ({ method: e, sendAllFormValues: t }) => rr.includes(e || "") && /* @__PURE__ */ R("div", {
2510
+ children: ({ method: e, sendAllFormValues: t }) => ar.includes(e || "") && /* @__PURE__ */ R("div", {
2507
2511
  className: "tg:space-y-4",
2508
2512
  children: [/* @__PURE__ */ L(c, {
2509
2513
  name: "sendAllFormValues",
@@ -2526,7 +2530,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2526
2530
  children: [/* @__PURE__ */ L(d, {
2527
2531
  htmlFor: e.name,
2528
2532
  children: a("editor.submitConfigForm.requestBody")
2529
- }), /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(tn, {
2533
+ }), /* @__PURE__ */ R(K, { children: [/* @__PURE__ */ L(rn, {
2530
2534
  asChild: !0,
2531
2535
  children: /* @__PURE__ */ R(A, {
2532
2536
  type: "button",
@@ -2535,7 +2539,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2535
2539
  disabled: t,
2536
2540
  children: [/* @__PURE__ */ L(Ot, { className: "tg:mr-2 tg:h-4 tg:w-4" }), a("editor.submitConfigForm.insertVariable")]
2537
2541
  })
2538
- }), /* @__PURE__ */ L(nn, {
2542
+ }), /* @__PURE__ */ L(an, {
2539
2543
  align: "end",
2540
2544
  children: o.length === 0 ? /* @__PURE__ */ L(J, {
2541
2545
  disabled: !0,
@@ -2686,7 +2690,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2686
2690
  })
2687
2691
  ]
2688
2692
  }) });
2689
- }, ar = ({ options: e, id: t, value: n, onValueChange: r, placeholder: i = "Select...", searchPlaceholder: a = "Search or create...", createLabel: o = (e) => `Use: ${e}`, clearLabel: s = "Clear selection", emptyLabel: c = "No results found", className: l, allowClear: u = !0, allowCreate: d = !0 }) => {
2693
+ }, sr = ({ options: e, id: t, value: n, onValueChange: r, placeholder: i = "Select...", searchPlaceholder: a = "Search or create...", createLabel: o = (e) => `Use: ${e}`, clearLabel: s = "Clear selection", emptyLabel: c = "No results found", className: l, allowClear: u = !0, allowCreate: d = !0 }) => {
2690
2694
  let [p, m] = F(!1), [h, g] = F(""), _ = (e) => e ?? "", v = (e) => e.trim().toLowerCase(), y = _(n), ee = n !== null && n !== "", S = ee ? e.find((e) => _(e.value) === y) : void 0, C = v(h), re = d && C !== "" && !e.some((e) => v(e.label) === C || v(e.value ?? "") === C), w = (e) => {
2691
2695
  e === y ? u && r?.("") : r?.(e), m(!1), g("");
2692
2696
  };
@@ -2748,7 +2752,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2748
2752
  })
2749
2753
  })]
2750
2754
  });
2751
- }, or = Object.entries({
2755
+ }, cr = Object.entries({
2752
2756
  alphanumeric: "^[a-zA-Z0-9]+$",
2753
2757
  email: "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
2754
2758
  letters: "^[a-zA-Z]+$",
@@ -2757,39 +2761,39 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2757
2761
  }).map(([e, t]) => ({
2758
2762
  label: e.charAt(0).toUpperCase() + e.slice(1).replace(/_/g, " "),
2759
2763
  value: t
2760
- })), sr = ({ id: e, value: t, onValueChange: n }) => /* @__PURE__ */ L(ar, {
2764
+ })), lr = ({ id: e, value: t, onValueChange: n }) => /* @__PURE__ */ L(sr, {
2761
2765
  id: e,
2762
- options: ze(() => t && !or.some((e) => e.value === t) ? [...or, {
2766
+ options: ze(() => t && !cr.some((e) => e.value === t) ? [...cr, {
2763
2767
  label: `Custom: ${t}`,
2764
2768
  value: t
2765
- }] : or, [t]),
2769
+ }] : cr, [t]),
2766
2770
  value: t,
2767
2771
  onValueChange: n,
2768
2772
  placeholder: "Select or create a pattern",
2769
2773
  searchPlaceholder: "Search patterns...",
2770
2774
  createLabel: (e) => `Use pattern: ${e}`
2771
- }), cr = 400, lr = .8, ur = (e) => new Promise((t, n) => {
2775
+ }), ur = 400, dr = .8, fr = (e) => new Promise((t, n) => {
2772
2776
  let r = new FileReader();
2773
2777
  r.onerror = () => n(/* @__PURE__ */ Error("read_failed")), r.onload = () => {
2774
2778
  let e = new Image();
2775
2779
  e.onload = () => t(e), e.onerror = () => n(/* @__PURE__ */ Error("decode_failed")), e.src = r.result;
2776
2780
  }, r.readAsDataURL(e);
2777
- }), dr = async (e) => {
2781
+ }), pr = async (e) => {
2778
2782
  if (!e.type.startsWith("image/")) throw Error("invalid_type");
2779
2783
  if (e.size > 5242880) throw Error("too_large");
2780
- let t = await ur(e), n = Math.min(1, cr / Math.max(t.width, t.height)), r = document.createElement("canvas");
2784
+ let t = await fr(e), n = Math.min(1, ur / Math.max(t.width, t.height)), r = document.createElement("canvas");
2781
2785
  r.width = Math.round(t.width * n), r.height = Math.round(t.height * n);
2782
2786
  let i = r.getContext("2d");
2783
2787
  if (!i) throw Error("canvas_unavailable");
2784
- return i.drawImage(t, 0, 0, r.width, r.height), r.toDataURL("image/jpeg", lr);
2785
- }, fr = 400, pr = (e) => {
2788
+ return i.drawImage(t, 0, 0, r.width, r.height), r.toDataURL("image/jpeg", dr);
2789
+ }, mr = 400, hr = (e) => {
2786
2790
  if (!/^https?:\/\//i.test(e)) return !1;
2787
2791
  try {
2788
2792
  return !!new URL(e).hostname;
2789
2793
  } catch {
2790
2794
  return !1;
2791
2795
  }
2792
- }, mr = ({ value: e, onChange: t }) => {
2796
+ }, gr = ({ value: e, onChange: t }) => {
2793
2797
  let n = Be(null), r = Be(null), [i, a] = F(!1), [o, s] = F(e && /^https?:\/\//i.test(e) ? e : ""), c = W();
2794
2798
  Le(() => {
2795
2799
  i || s(e && /^https?:\/\//i.test(e) ? e : "");
@@ -2799,7 +2803,7 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2799
2803
  let l = async (e) => {
2800
2804
  let r = e.target.files?.[0];
2801
2805
  if (r) try {
2802
- t(await dr(r)), a(!1);
2806
+ t(await pr(r)), a(!1);
2803
2807
  } catch (e) {
2804
2808
  let t = e.message;
2805
2809
  t === "too_large" ? H.error(c("editor.inputNodeForm.optionImageTooLarge")) : t === "invalid_type" ? H.error(c("editor.inputNodeForm.optionImageInvalid")) : H.error(c("editor.inputNodeForm.optionImageError"));
@@ -2863,9 +2867,9 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2863
2867
  let i = n.target.value;
2864
2868
  s(i), r.current && clearTimeout(r.current);
2865
2869
  let a = i.trim();
2866
- !pr(a) || a === e || (r.current = setTimeout(() => {
2870
+ !hr(a) || a === e || (r.current = setTimeout(() => {
2867
2871
  t(a);
2868
- }, fr));
2872
+ }, mr));
2869
2873
  },
2870
2874
  onKeyDown: (e) => {
2871
2875
  e.key === "Enter" && (e.preventDefault(), u());
@@ -2890,19 +2894,19 @@ var Yn = ({ aiConfig: e, onGenerate: t }) => {
2890
2894
  };
2891
2895
  //#endregion
2892
2896
  //#region src/shared/components/ui/collapsible.tsx
2893
- function hr({ ...e }) {
2897
+ function _r({ ...e }) {
2894
2898
  return /* @__PURE__ */ L(Rt.Root, {
2895
2899
  "data-slot": "collapsible",
2896
2900
  ...e
2897
2901
  });
2898
2902
  }
2899
- function gr({ ...e }) {
2903
+ function vr({ ...e }) {
2900
2904
  return /* @__PURE__ */ L(Rt.CollapsibleTrigger, {
2901
2905
  "data-slot": "collapsible-trigger",
2902
2906
  ...e
2903
2907
  });
2904
2908
  }
2905
- function _r({ ...e }) {
2909
+ function yr({ ...e }) {
2906
2910
  return /* @__PURE__ */ L(Rt.CollapsibleContent, {
2907
2911
  "data-slot": "collapsible-content",
2908
2912
  ...e
@@ -2910,13 +2914,13 @@ function _r({ ...e }) {
2910
2914
  }
2911
2915
  //#endregion
2912
2916
  //#region src/editor/features/TreegeEditor/forms/InputNodeForm.tsx
2913
- var vr = () => {
2917
+ var br = () => {
2914
2918
  let [e, t] = F("en"), { selectedNode: n } = $(), { updateSelectedNodeData: r } = G(), i = [
2915
2919
  "select",
2916
2920
  "radio",
2917
2921
  "autocomplete",
2918
2922
  "checkbox"
2919
- ].includes(n?.data?.type || ""), a = Ut(n?.id), o = W(), s = n?.data?.type === "submit", c = n?.data?.type === "hidden", { handleSubmit: l, Field: u } = Ve({
2923
+ ].includes(n?.data?.type || ""), a = Gt(n?.id), o = W(), s = n?.data?.type === "submit", c = n?.data?.type === "hidden", { handleSubmit: l, Field: u } = Ve({
2920
2924
  defaultValues: {
2921
2925
  defaultValue: n?.data?.defaultValue,
2922
2926
  disablePast: n?.data?.disablePast,
@@ -3032,10 +3036,10 @@ var vr = () => {
3032
3036
  onValueChange: t
3033
3037
  })]
3034
3038
  }),
3035
- n?.data?.type === "http" && /* @__PURE__ */ R(hr, {
3039
+ n?.data?.type === "http" && /* @__PURE__ */ R(_r, {
3036
3040
  defaultOpen: !0,
3037
3041
  className: "tg:flex tg:w-full tg:max-w-[350px] tg:flex-col tg:gap-2",
3038
- children: [/* @__PURE__ */ L(gr, {
3042
+ children: [/* @__PURE__ */ L(vr, {
3039
3043
  asChild: !0,
3040
3044
  children: /* @__PURE__ */ R("div", {
3041
3045
  className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
@@ -3052,11 +3056,11 @@ var vr = () => {
3052
3056
  })]
3053
3057
  })]
3054
3058
  })
3055
- }), /* @__PURE__ */ L(_r, {
3059
+ }), /* @__PURE__ */ L(yr, {
3056
3060
  className: "tg:flex tg:flex-col tg:gap-4",
3057
3061
  children: /* @__PURE__ */ L(u, {
3058
3062
  name: "httpConfig",
3059
- children: (e) => /* @__PURE__ */ L(nr, {
3063
+ children: (e) => /* @__PURE__ */ L(ir, {
3060
3064
  value: e.state.value,
3061
3065
  onChange: (t) => {
3062
3066
  e.handleChange(t), l().then();
@@ -3065,9 +3069,9 @@ var vr = () => {
3065
3069
  })
3066
3070
  })]
3067
3071
  }),
3068
- s && /* @__PURE__ */ R(hr, {
3072
+ s && /* @__PURE__ */ R(_r, {
3069
3073
  className: "tg:flex tg:w-full tg:max-w-[350px] tg:flex-col tg:gap-2",
3070
- children: [/* @__PURE__ */ L(gr, {
3074
+ children: [/* @__PURE__ */ L(vr, {
3071
3075
  asChild: !0,
3072
3076
  children: /* @__PURE__ */ R("div", {
3073
3077
  className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
@@ -3084,11 +3088,11 @@ var vr = () => {
3084
3088
  })]
3085
3089
  })]
3086
3090
  })
3087
- }), /* @__PURE__ */ L(_r, {
3091
+ }), /* @__PURE__ */ L(yr, {
3088
3092
  className: "tg:flex tg:flex-col tg:gap-4",
3089
3093
  children: /* @__PURE__ */ L(u, {
3090
3094
  name: "submitConfig",
3091
- children: (e) => /* @__PURE__ */ L(ir, {
3095
+ children: (e) => /* @__PURE__ */ L(or, {
3092
3096
  value: e.state.value,
3093
3097
  onChange: (t) => {
3094
3098
  e.handleChange(t), l().then();
@@ -3111,10 +3115,10 @@ var vr = () => {
3111
3115
  })]
3112
3116
  })
3113
3117
  }),
3114
- i && /* @__PURE__ */ R(hr, {
3118
+ i && /* @__PURE__ */ R(_r, {
3115
3119
  defaultOpen: !0,
3116
3120
  className: "tg:flex tg:w-full tg:max-w-[350px] tg:flex-col tg:gap-2",
3117
- children: [/* @__PURE__ */ L(gr, {
3121
+ children: [/* @__PURE__ */ L(vr, {
3118
3122
  asChild: !0,
3119
3123
  children: /* @__PURE__ */ R("div", {
3120
3124
  className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
@@ -3131,7 +3135,7 @@ var vr = () => {
3131
3135
  })]
3132
3136
  })]
3133
3137
  })
3134
- }), /* @__PURE__ */ R(_r, {
3138
+ }), /* @__PURE__ */ R(yr, {
3135
3139
  className: "tg:flex tg:flex-col tg:gap-4",
3136
3140
  children: [
3137
3141
  /* @__PURE__ */ L(u, {
@@ -3148,7 +3152,7 @@ var vr = () => {
3148
3152
  children: [
3149
3153
  n?.data?.type === "radio" && /* @__PURE__ */ L(u, {
3150
3154
  name: `options[${i}].image`,
3151
- children: (e) => /* @__PURE__ */ L(mr, {
3155
+ children: (e) => /* @__PURE__ */ L(gr, {
3152
3156
  value: e.state.value,
3153
3157
  onChange: (t) => e.handleChange(t)
3154
3158
  })
@@ -3250,9 +3254,9 @@ var vr = () => {
3250
3254
  ]
3251
3255
  })]
3252
3256
  }),
3253
- !s && /* @__PURE__ */ R(hr, {
3257
+ !s && /* @__PURE__ */ R(_r, {
3254
3258
  className: "tg:flex tg:w-full tg:max-w-[350px] tg:flex-col tg:gap-2",
3255
- children: [/* @__PURE__ */ L(gr, {
3259
+ children: [/* @__PURE__ */ L(vr, {
3256
3260
  asChild: !0,
3257
3261
  children: /* @__PURE__ */ R("div", {
3258
3262
  className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
@@ -3269,7 +3273,7 @@ var vr = () => {
3269
3273
  })]
3270
3274
  })]
3271
3275
  })
3272
- }), /* @__PURE__ */ R(_r, {
3276
+ }), /* @__PURE__ */ R(yr, {
3273
3277
  className: "tg:flex tg:flex-col tg:gap-6",
3274
3278
  children: [
3275
3279
  /* @__PURE__ */ L(u, {
@@ -3305,7 +3309,7 @@ var vr = () => {
3305
3309
  children: (e) => /* @__PURE__ */ R(j, { children: [/* @__PURE__ */ L(d, {
3306
3310
  htmlFor: e.name,
3307
3311
  children: o("editor.inputNodeForm.pattern")
3308
- }), /* @__PURE__ */ L(sr, {
3312
+ }), /* @__PURE__ */ L(lr, {
3309
3313
  id: e.name,
3310
3314
  value: e.state.value,
3311
3315
  onValueChange: e.handleChange
@@ -3341,9 +3345,9 @@ var vr = () => {
3341
3345
  ]
3342
3346
  })]
3343
3347
  }),
3344
- !s && /* @__PURE__ */ R(hr, {
3348
+ !s && /* @__PURE__ */ R(_r, {
3345
3349
  className: "tg:flex tg:w-full tg:max-w-[350px] tg:flex-col tg:gap-2",
3346
- children: [/* @__PURE__ */ L(gr, {
3350
+ children: [/* @__PURE__ */ L(vr, {
3347
3351
  asChild: !0,
3348
3352
  children: /* @__PURE__ */ R("div", {
3349
3353
  className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
@@ -3360,7 +3364,7 @@ var vr = () => {
3360
3364
  })]
3361
3365
  })]
3362
3366
  })
3363
- }), /* @__PURE__ */ R(_r, {
3367
+ }), /* @__PURE__ */ R(yr, {
3364
3368
  className: "tg:flex tg:flex-col tg:gap-6",
3365
3369
  children: [/* @__PURE__ */ L(u, {
3366
3370
  name: "name",
@@ -3593,7 +3597,7 @@ var vr = () => {
3593
3597
  ]
3594
3598
  })
3595
3599
  });
3596
- }, yr = () => {
3600
+ }, xr = () => {
3597
3601
  let [e, t] = F("en"), { selectedNode: n } = $(), { updateSelectedNodeData: r } = G(), { Field: i } = Ve({
3598
3602
  defaultValues: { label: n?.data?.label || { en: "" } },
3599
3603
  listeners: {
@@ -3641,7 +3645,7 @@ var vr = () => {
3641
3645
  })
3642
3646
  })
3643
3647
  });
3644
- }, br = () => {
3648
+ }, Sr = () => {
3645
3649
  let [e, t] = F(""), [r, i] = F(!1), { selectedNode: a, groupNodes: o } = $(), { setNodes: s } = N(), c = a?.parentId || "none", l = n(a), u = W(), f = Re(), p = Re();
3646
3650
  if (l) return null;
3647
3651
  let m = (e) => {
@@ -3669,7 +3673,7 @@ var vr = () => {
3669
3673
  H.error("This group already exists", { description: "Use the selector to add the node to an existing group." });
3670
3674
  return;
3671
3675
  }
3672
- let n = Qt();
3676
+ let n = en();
3673
3677
  s((t) => [{
3674
3678
  data: { label: { en: e.trim() } },
3675
3679
  id: n,
@@ -3777,7 +3781,7 @@ var vr = () => {
3777
3781
  })]
3778
3782
  })]
3779
3783
  });
3780
- }, xr = Object.values(X), Sr = Object.values(dn), Cr = () => {
3784
+ }, Cr = Object.values(X), wr = Object.values(pn), Tr = () => {
3781
3785
  let { selectedNode: e } = $(), { updateSelectedNodeType: t } = G(), { getEdges: a } = N(), { openNodeTypeChangeConfirmation: o } = U(), s = n(e), c = W(), u = Re(), d = Z(l.flow), f = () => e ? r(e) || i(e) ? e.data?.type || "" : e.type || "" : "", p = (n, r) => {
3782
3786
  if (!e) return;
3783
3787
  let i = a().filter((t) => t.source === e.id).length;
@@ -3797,11 +3801,11 @@ var vr = () => {
3797
3801
  }), /* @__PURE__ */ R(g, {
3798
3802
  value: f(),
3799
3803
  onValueChange: (e) => {
3800
- if (xr.includes(e)) {
3804
+ if (Cr.includes(e)) {
3801
3805
  p(l.input, e);
3802
3806
  return;
3803
3807
  }
3804
- if (Sr.includes(e)) {
3808
+ if (wr.includes(e)) {
3805
3809
  p(l.ui, e);
3806
3810
  return;
3807
3811
  }
@@ -3818,13 +3822,13 @@ var vr = () => {
3818
3822
  value: l.group,
3819
3823
  children: c("editor.selectNodeType.options.group")
3820
3824
  }) }) : /* @__PURE__ */ R(I, { children: [
3821
- /* @__PURE__ */ R(w, { children: [/* @__PURE__ */ L(y, { children: c("editor.selectNodeType.options.input") }), xr.map((e) => /* @__PURE__ */ R(h, {
3825
+ /* @__PURE__ */ R(w, { children: [/* @__PURE__ */ L(y, { children: c("editor.selectNodeType.options.input") }), Cr.map((e) => /* @__PURE__ */ R(h, {
3822
3826
  value: e,
3823
3827
  className: "tg:capitalize",
3824
3828
  children: [/* @__PURE__ */ L(Z(e), {}), e]
3825
3829
  }, e))] }),
3826
3830
  /* @__PURE__ */ L(ue, {}),
3827
- /* @__PURE__ */ R(w, { children: [/* @__PURE__ */ L(y, { children: c("editor.selectNodeType.options.ui") }), Sr.map((e) => /* @__PURE__ */ R(h, {
3831
+ /* @__PURE__ */ R(w, { children: [/* @__PURE__ */ L(y, { children: c("editor.selectNodeType.options.ui") }), wr.map((e) => /* @__PURE__ */ R(h, {
3828
3832
  value: e,
3829
3833
  className: "tg:capitalize",
3830
3834
  children: [/* @__PURE__ */ L(Z(e), {}), e]
@@ -3840,27 +3844,27 @@ var vr = () => {
3840
3844
  };
3841
3845
  //#endregion
3842
3846
  //#region src/shared/components/ui/sheet.tsx
3843
- function wr({ ...e }) {
3847
+ function Er({ ...e }) {
3844
3848
  return /* @__PURE__ */ L(Ft.Root, {
3845
3849
  "data-slot": "sheet",
3846
3850
  ...e
3847
3851
  });
3848
3852
  }
3849
- function Tr({ ...e }) {
3853
+ function Dr({ ...e }) {
3850
3854
  return /* @__PURE__ */ L(Ft.Portal, {
3851
3855
  "data-slot": "sheet-portal",
3852
3856
  ...e
3853
3857
  });
3854
3858
  }
3855
- function Er({ className: e, ...t }) {
3859
+ function Or({ className: e, ...t }) {
3856
3860
  return /* @__PURE__ */ L(Ft.Overlay, {
3857
3861
  "data-slot": "sheet-overlay",
3858
3862
  className: D("tg:data-[state=closed]:fade-out-0 tg:data-[state=open]:fade-in-0 tg:fixed tg:inset-0 tg:z-50 tg:bg-black/50 tg:data-[state=closed]:animate-out tg:data-[state=open]:animate-in", e),
3859
3863
  ...t
3860
3864
  });
3861
3865
  }
3862
- function Dr({ className: e, children: t, side: n = "right", ...r }) {
3863
- return /* @__PURE__ */ R(Tr, { children: [/* @__PURE__ */ L(Er, {}), /* @__PURE__ */ R(Ft.Content, {
3866
+ function kr({ className: e, children: t, side: n = "right", ...r }) {
3867
+ return /* @__PURE__ */ R(Dr, { children: [/* @__PURE__ */ L(Or, {}), /* @__PURE__ */ R(Ft.Content, {
3864
3868
  "data-slot": "sheet-content",
3865
3869
  className: D("tg:fixed tg:z-50 tg:flex tg:flex-col tg:gap-4 tg:bg-background tg:shadow-lg tg:transition tg:ease-in-out tg:data-[state=closed]:animate-out tg:data-[state=open]:animate-in tg:data-[state=closed]:duration-300 tg:data-[state=open]:duration-500", n === "right" && "tg:data-[state=closed]:slide-out-to-right tg:data-[state=open]:slide-in-from-right tg:inset-y-0 tg:right-0 tg:h-full tg:w-3/4 tg:border-l tg:sm:max-w-sm", n === "left" && "tg:data-[state=closed]:slide-out-to-left tg:data-[state=open]:slide-in-from-left tg:inset-y-0 tg:left-0 tg:h-full tg:w-3/4 tg:border-r tg:sm:max-w-sm", n === "top" && "tg:data-[state=closed]:slide-out-to-top tg:data-[state=open]:slide-in-from-top tg:inset-x-0 tg:top-0 tg:h-auto tg:border-b", n === "bottom" && "tg:data-[state=closed]:slide-out-to-bottom tg:data-[state=open]:slide-in-from-bottom tg:inset-x-0 tg:bottom-0 tg:h-auto tg:border-t", e),
3866
3870
  ...r,
@@ -3873,28 +3877,28 @@ function Dr({ className: e, children: t, side: n = "right", ...r }) {
3873
3877
  })]
3874
3878
  })] });
3875
3879
  }
3876
- function Or({ className: e, ...t }) {
3880
+ function Ar({ className: e, ...t }) {
3877
3881
  return /* @__PURE__ */ L("div", {
3878
3882
  "data-slot": "sheet-header",
3879
3883
  className: D("tg:flex tg:flex-col tg:gap-1.5 tg:p-4", e),
3880
3884
  ...t
3881
3885
  });
3882
3886
  }
3883
- function kr({ className: e, ...t }) {
3887
+ function jr({ className: e, ...t }) {
3884
3888
  return /* @__PURE__ */ L("div", {
3885
3889
  "data-slot": "sheet-footer",
3886
3890
  className: D("tg:mt-auto tg:flex tg:flex-col tg:gap-2 tg:p-4", e),
3887
3891
  ...t
3888
3892
  });
3889
3893
  }
3890
- function Ar({ className: e, ...t }) {
3894
+ function Mr({ className: e, ...t }) {
3891
3895
  return /* @__PURE__ */ L(Ft.Title, {
3892
3896
  "data-slot": "sheet-title",
3893
3897
  className: D("tg:font-semibold tg:text-foreground", e),
3894
3898
  ...t
3895
3899
  });
3896
3900
  }
3897
- function jr({ className: e, ...t }) {
3901
+ function Nr({ className: e, ...t }) {
3898
3902
  return /* @__PURE__ */ L(Ft.Description, {
3899
3903
  "data-slot": "sheet-description",
3900
3904
  className: D("tg:text-muted-foreground tg:text-sm", e),
@@ -3903,42 +3907,42 @@ function jr({ className: e, ...t }) {
3903
3907
  }
3904
3908
  //#endregion
3905
3909
  //#region src/editor/features/TreegeEditor/sheets/NodeActionsSheet.tsx
3906
- var Mr = () => {
3910
+ var Pr = () => {
3907
3911
  let { selectedNode: e } = $(), { clearSelection: t } = G(), { isNodeSheetOpen: a, setIsNodeSheetOpen: s, openDeleteNodeConfirmation: c } = U(), l = W(), u = l(e?.data?.label), d = () => {
3908
3912
  s(!1), t();
3909
3913
  };
3910
- return /* @__PURE__ */ L(wr, {
3914
+ return /* @__PURE__ */ L(Er, {
3911
3915
  open: a && !!e,
3912
3916
  onOpenChange: (e) => {
3913
3917
  e || d();
3914
3918
  },
3915
- children: /* @__PURE__ */ R(Dr, {
3919
+ children: /* @__PURE__ */ R(kr, {
3916
3920
  className: "tg:flex tg:flex-col tg:gap-0",
3917
3921
  children: [
3918
- /* @__PURE__ */ R(Or, { children: [/* @__PURE__ */ R(Ar, { children: [
3922
+ /* @__PURE__ */ R(Ar, { children: [/* @__PURE__ */ R(Mr, { children: [
3919
3923
  l("editor.nodeActionsSheet.editNode"),
3920
3924
  " ",
3921
3925
  /* @__PURE__ */ L("span", {
3922
3926
  className: "tg:font-light tg:text-muted-foreground tg:text-xs",
3923
3927
  children: e?.id
3924
3928
  })
3925
- ] }), /* @__PURE__ */ L(jr, { children: u || "\xA0" })] }),
3926
- /* @__PURE__ */ L(Kt, {
3929
+ ] }), /* @__PURE__ */ L(Nr, { children: u || "\xA0" })] }),
3930
+ /* @__PURE__ */ L(Jt, {
3927
3931
  className: "tg:flex tg:min-h-0 tg:flex-1 tg:flex-col tg:px-4",
3928
3932
  children: /* @__PURE__ */ R("div", {
3929
3933
  className: "tg:space-y-6 tg:py-4",
3930
3934
  children: [
3931
- /* @__PURE__ */ L(Cr, {}),
3932
- /* @__PURE__ */ L(br, {}),
3935
+ /* @__PURE__ */ L(Tr, {}),
3936
+ /* @__PURE__ */ L(Sr, {}),
3933
3937
  /* @__PURE__ */ L(le, {}),
3934
- r(e) && /* @__PURE__ */ L(vr, {}),
3935
- i(e) && /* @__PURE__ */ L(yr, {}),
3936
- o(e) && /* @__PURE__ */ L($n, {}),
3937
- n(e) && /* @__PURE__ */ L(er, {})
3938
+ r(e) && /* @__PURE__ */ L(br, {}),
3939
+ i(e) && /* @__PURE__ */ L(xr, {}),
3940
+ o(e) && /* @__PURE__ */ L(tr, {}),
3941
+ n(e) && /* @__PURE__ */ L(nr, {})
3938
3942
  ]
3939
3943
  })
3940
3944
  }),
3941
- /* @__PURE__ */ L(kr, {
3945
+ /* @__PURE__ */ L(jr, {
3942
3946
  className: "tg:flex tg:items-end tg:border-t",
3943
3947
  children: /* @__PURE__ */ L(A, {
3944
3948
  variant: "ghost",
@@ -3953,7 +3957,7 @@ var Mr = () => {
3953
3957
  ]
3954
3958
  })
3955
3959
  });
3956
- }, Nr = ({ ...e }) => {
3960
+ }, Fr = ({ ...e }) => {
3957
3961
  let { theme: t = "system" } = zt();
3958
3962
  return /* @__PURE__ */ L(Lt, {
3959
3963
  theme: t,
@@ -3965,26 +3969,26 @@ var Mr = () => {
3965
3969
  },
3966
3970
  ...e
3967
3971
  });
3968
- }, Pr = {
3972
+ }, Ir = {
3969
3973
  desktop: "(min-width: 1024px)",
3970
3974
  mobile: "(max-width: 767px)",
3971
3975
  tablet: "(min-width: 768px) and (max-width: 1023px)"
3972
- }, Fr = (e) => e in Pr, Ir = (e) => {
3973
- let [t, n] = F(void 0), r = Fr(e) ? Pr[e] : e;
3976
+ }, Lr = (e) => e in Ir, Rr = (e) => {
3977
+ let [t, n] = F(void 0), r = Lr(e) ? Ir[e] : e;
3974
3978
  return Le(() => {
3975
3979
  let e = window.matchMedia(r), t = () => n(e.matches);
3976
3980
  return e.addEventListener("change", t), n(e.matches), () => e.removeEventListener("change", t);
3977
3981
  }, [r]), !!t;
3978
- }, Lr = ({ flow: e, onExportJson: t, onSave: n, theme: r, className: i, extraMenuItems: a }) => {
3979
- let { onConnect: o, onConnectEnd: s, onEdgesDelete: c, isValidConnection: l } = un(), [u, d] = F(!1);
3982
+ }, zr = ({ flow: e, onExportJson: t, onSave: n, theme: r, className: i, extraMenuItems: a }) => {
3983
+ let { onConnect: o, onConnectEnd: s, onEdgesDelete: c, isValidConnection: l } = fn(), [u, d] = F(!1);
3980
3984
  return /* @__PURE__ */ R(Ee, {
3981
3985
  fitView: !0,
3982
3986
  minZoom: .1,
3983
- fitViewOptions: { maxZoom: Ir("mobile") ? .6 : 1 },
3987
+ fitViewOptions: { maxZoom: Rr("mobile") ? .6 : 1 },
3984
3988
  colorMode: r,
3985
3989
  selectNodesOnDrag: !1,
3986
- nodeTypes: Tn,
3987
- edgeTypes: Xt,
3990
+ nodeTypes: Dn,
3991
+ edgeTypes: Qt,
3988
3992
  defaultEdges: e?.edges || [],
3989
3993
  defaultNodes: e?.nodes || [],
3990
3994
  onConnect: o,
@@ -3993,38 +3997,38 @@ var Mr = () => {
3993
3997
  isValidConnection: l,
3994
3998
  className: D(i, "treege"),
3995
3999
  children: [
3996
- /* @__PURE__ */ L(zn, {}),
4000
+ /* @__PURE__ */ L(Vn, {}),
3997
4001
  /* @__PURE__ */ L(he, {
3998
4002
  gap: 10,
3999
4003
  variant: ge.Dots
4000
4004
  }),
4001
- /* @__PURE__ */ L(Zn, {
4005
+ /* @__PURE__ */ L($n, {
4002
4006
  onExportJson: t,
4003
4007
  onSave: n,
4004
4008
  extraMenuItems: a
4005
4009
  }),
4006
4010
  /* @__PURE__ */ L(Ht, { theme: r }),
4007
4011
  u && /* @__PURE__ */ L(Se, {}),
4008
- /* @__PURE__ */ L(ye, { children: /* @__PURE__ */ L(En, {
4012
+ /* @__PURE__ */ L(ye, { children: /* @__PURE__ */ L(On, {
4009
4013
  show: u,
4010
4014
  onToggle: () => d((e) => !e)
4011
4015
  }) }),
4012
- /* @__PURE__ */ L(Mr, {}),
4013
- /* @__PURE__ */ L(An, {}),
4014
- /* @__PURE__ */ L(kn, {})
4016
+ /* @__PURE__ */ L(Pr, {}),
4017
+ /* @__PURE__ */ L(Mn, {}),
4018
+ /* @__PURE__ */ L(jn, {})
4015
4019
  ]
4016
4020
  });
4017
- }, Rr = ({ flow: e, onExportJson: t, onSave: n, theme: r = "dark", language: i = "en", aiConfig: a, extraMenuItems: o }) => /* @__PURE__ */ L(u, {
4021
+ }, Br = ({ flow: e, onExportJson: t, onSave: n, theme: r = "dark", language: i = "en", aiConfig: a, extraMenuItems: o }) => /* @__PURE__ */ R(I, { children: [/* @__PURE__ */ L(Wt, {}), /* @__PURE__ */ L(u, {
4018
4022
  defaultTheme: r,
4019
4023
  storageKey: "treege-editor-theme",
4020
4024
  theme: r,
4021
- children: /* @__PURE__ */ R(Gt, {
4025
+ children: /* @__PURE__ */ R(qt, {
4022
4026
  value: {
4023
4027
  aiConfig: a,
4024
4028
  flowId: e?.id,
4025
4029
  language: i
4026
4030
  },
4027
- children: [/* @__PURE__ */ L(Nr, { position: "bottom-center" }), /* @__PURE__ */ L(De, { children: /* @__PURE__ */ L(Lr, {
4031
+ children: [/* @__PURE__ */ L(Fr, { position: "bottom-center" }), /* @__PURE__ */ L(De, { children: /* @__PURE__ */ L(zr, {
4028
4032
  onExportJson: t,
4029
4033
  onSave: n,
4030
4034
  flow: e,
@@ -4032,6 +4036,6 @@ var Mr = () => {
4032
4036
  extraMenuItems: o
4033
4037
  }) })]
4034
4038
  })
4035
- });
4039
+ })] });
4036
4040
  //#endregion
4037
- export { Rr as t };
4041
+ export { Br as t };