treege 3.0.0-beta.95 → 3.0.0-beta.96
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{DefaultSubmitButton-D4Hqyara.js → DefaultSubmitButton-CAOTg3w7.js} +196 -196
- package/dist/{ThemeContext-CDewydK5.js → ThemeContext-B9-cptw0.js} +21 -7
- package/dist/editor/types/ai.d.ts +1 -1
- package/dist/editor/utils/aiFlowGenerator.d.ts +16 -1
- package/dist/{editor-BzhBNy8O.js → editor-CSc1Ygb5.js} +745 -722
- package/dist/editor.js +2 -2
- package/dist/main.js +6 -6
- package/dist/renderer/types/renderer.d.ts +3 -3
- package/dist/renderer/utils/form.d.ts +13 -1
- package/dist/renderer-DX3WeZtk.js +437 -0
- package/dist/renderer-native.js +899 -899
- package/dist/renderer.js +5 -5
- package/dist/useRenderNode-C9RSQFX3.js +600 -0
- package/package.json +1 -1
- package/dist/renderer-Cd2P21x9.js +0 -437
- package/dist/useRenderNode-BaBKq6Ed.js +0 -600
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as e,
|
|
2
|
-
import { $ as
|
|
1
|
+
import { $ as e, A as t, D as n, G as r, K as i, O as a, P as o, Q as s, U as c, V as l, W as u, X as d, Y as f, Z as p, _ as m, b as h, et as g, f as _, g as v, k as y, n as b, p as x, q as S, t as C, v as w } from "./ThemeContext-B9-cptw0.js";
|
|
2
|
+
import { $ as T, A as E, B as D, D as O, E as ee, F as k, G as A, H as j, I as te, J as ne, K as re, L as ie, M as ae, N as oe, O as se, P as ce, Q as le, R as ue, T as de, U as fe, V as pe, W as M, X as N, Y as me, Z as P, at as F, ct as I, et as he, f as ge, it as L, j as _e, k as ve, l as ye, lt as R, n as be, nt as xe, ot as z, p as Se, q as B, rt as V, s as Ce, st as we, t as Te, tt as Ee, w as De, z as Oe } from "./DefaultSubmitButton-CAOTg3w7.js";
|
|
3
3
|
import { Background as ke, BackgroundVariant as Ae, BaseEdge as je, ControlButton as Me, Controls as Ne, EdgeLabelRenderer as Pe, Handle as Fe, MiniMap as Ie, Panel as Le, Position as Re, ReactFlow as ze, ReactFlowProvider as Be, addEdge as Ve, getBezierPath as He, useConnection as Ue, useEdges as We, useNodes as Ge, useNodesInitialized as Ke, useReactFlow as qe, useStore as Je, useUpdateNodeInternals as Ye } from "@xyflow/react";
|
|
4
4
|
import * as Xe from "react";
|
|
5
5
|
import Ze, { createContext as Qe, memo as $e, useCallback as H, useContext as et, useEffect as U, useId as tt, useMemo as W, useRef as nt, useState as G } from "react";
|
|
@@ -29,7 +29,7 @@ var Mn = "data:image/svg+xml,%3csvg%20width='462'%20height='144'%20viewBox='0%20
|
|
|
29
29
|
alt: "Treege",
|
|
30
30
|
className: "tg:relative tg:h-7 tg:w-auto tg:drop-shadow-[0_0px_35px] tg:drop-shadow-blue-600 tg:md:h-14"
|
|
31
31
|
})
|
|
32
|
-
}), Fn = "/*! 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-red-700:oklch(50.5% .213 27.518);--tg-color-amber-500:oklch(76.9% .188 70.08);--tg-color-amber-600:oklch(66.6% .179 58.318);--tg-color-amber-700:oklch(55.5% .163 48.998);--tg-color-green-500:oklch(72.3% .219 149.579);--tg-color-green-700:oklch(52.7% .154 150.069);--tg-color-emerald-500:oklch(69.6% .17 162.48);--tg-color-sky-400:oklch(74.6% .16 232.661);--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-blue-700:oklch(48.8% .243 264.376);--tg-color-purple-500:oklch(62.7% .265 303.9);--tg-color-purple-600:oklch(55.8% .288 302.321);--tg-color-purple-700:oklch(49.6% .265 301.924);--tg-color-gray-100:oklch(96.7% .003 264.542);--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-gray-800:oklch(27.8% .033 256.848);--tg-color-gray-900:oklch(21% .034 264.665);--tg-color-black:#000;--tg-color-white:#fff;--tg-spacing:.25rem;--tg-container-sm:24rem;--tg-container-md:28rem;--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-xl:1.25rem;--tg-text-xl--line-height:calc(1.75 / 1.25);--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-leading-snug:1.375;--tg-leading-normal:1.5;--tg-radius-xs:.125rem;--tg-ease-in-out:cubic-bezier(.4, 0, .2, 1);--tg-animate-spin:spin 1s linear infinite;--tg-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) 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\\:\\@container\\/field-group{container:field-group/inline-size}.tg\\:pointer-events-auto{pointer-events:auto}.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\\:relative\\!{position:relative!important}.tg\\:inset-0{inset:calc(var(--tg-spacing) * 0)}.tg\\:inset-auto\\!{inset:auto!important}.tg\\:inset-x-0{inset-inline:calc(var(--tg-spacing) * 0)}.tg\\:inset-y-0{inset-block:calc(var(--tg-spacing) * 0)}.tg\\:-top-0\\.5{top:calc(var(--tg-spacing) * -.5)}.tg\\:-top-1{top:calc(var(--tg-spacing) * -1)}.tg\\:top-0{top:calc(var(--tg-spacing) * 0)}.tg\\:top-1\\/2{top:50%}.tg\\:top-4{top:calc(var(--tg-spacing) * 4)}.tg\\:top-\\[50\\%\\]{top:50%}.tg\\:-right-0\\.5{right:calc(var(--tg-spacing) * -.5)}.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\\:right-8{right:calc(var(--tg-spacing) * 8)}.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-\\[50\\%\\]{left:50%}.tg\\:z-50{z-index:50}.tg\\:z-10000{z-index:10000}.tg\\:z-\\[2000\\]{z-index:2000}.tg\\:m-0{margin:calc(var(--tg-spacing) * 0)}.tg\\:-mx-1{margin-inline:calc(var(--tg-spacing) * -1)}.tg\\:mx-auto{margin-inline:auto}.tg\\:-my-2{margin-block:calc(var(--tg-spacing) * -2)}.tg\\:my-0{margin-block:calc(var(--tg-spacing) * 0)}.tg\\:my-1{margin-block:calc(var(--tg-spacing) * 1)}.tg\\:my-2{margin-block:calc(var(--tg-spacing) * 2)}.tg\\:my-4{margin-block:calc(var(--tg-spacing) * 4)}.tg\\:my-8{margin-block:calc(var(--tg-spacing) * 8)}.tg\\:my-10{margin-block:calc(var(--tg-spacing) * 10)}.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-6{margin-top:calc(var(--tg-spacing) * 6)}.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-3{margin-bottom:calc(var(--tg-spacing) * 3)}.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\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tg\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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\\:field-sizing-fixed{field-sizing:fixed}.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-5{width:calc(var(--tg-spacing) * 5);height:calc(var(--tg-spacing) * 5)}.tg\\:size-6{width:calc(var(--tg-spacing) * 6);height:calc(var(--tg-spacing) * 6)}.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-16{width:calc(var(--tg-spacing) * 16);height:calc(var(--tg-spacing) * 16)}.tg\\:size-auto{width:auto;height:auto}.tg\\:size-full{width:100%;height:100%}.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-4{height:calc(var(--tg-spacing) * 4)}.tg\\:h-5{height:calc(var(--tg-spacing) * 5)}.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-\\[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-24{max-height:calc(var(--tg-spacing) * 24)}.tg\\:max-h-40{max-height:calc(var(--tg-spacing) * 40)}.tg\\:max-h-72{max-height:calc(var(--tg-spacing) * 72)}.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-5{min-height:calc(var(--tg-spacing) * 5)}.tg\\:min-h-6{min-height:calc(var(--tg-spacing) * 6)}.tg\\:min-h-16{min-height:calc(var(--tg-spacing) * 16)}.tg\\:w-\\(--cell-size\\){width:var(--cell-size)}.tg\\:w-\\(--radix-popover-trigger-width\\){width:var(--radix-popover-trigger-width)}.tg\\:w-0{width:calc(var(--tg-spacing) * 0)}.tg\\:w-1\\/3{width:33.3333%}.tg\\:w-1\\/4{width:25%}.tg\\:w-2\\.5{width:calc(var(--tg-spacing) * 2.5)}.tg\\:w-3{width:calc(var(--tg-spacing) * 3)}.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-24{width:calc(var(--tg-spacing) * 24)}.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-\\[36rem\\]{width:36rem}.tg\\:w-\\[var\\(--radix-popover-trigger-width\\)\\]{width:var(--radix-popover-trigger-width)}.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-18{max-width:calc(var(--tg-spacing) * 18)}.tg\\:max-w-87\\.5{max-width:calc(var(--tg-spacing) * 87.5)}.tg\\:max-w-\\[50\\%\\]{max-width:50%}.tg\\:max-w-\\[90vw\\]{max-width:90vw}.tg\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.tg\\:max-w-full{max-width:100%}.tg\\:max-w-lg{max-width:var(--tg-container-lg)}.tg\\:max-w-md{max-width:var(--tg-container-md)}.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-8{min-width:calc(var(--tg-spacing) * 8)}.tg\\:min-w-9{min-width:calc(var(--tg-spacing) * 9)}.tg\\:min-w-10{min-width:calc(var(--tg-spacing) * 10)}.tg\\:min-w-14{min-width:calc(var(--tg-spacing) * 14)}.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\\:basis-full{flex-basis:100%}.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-1\\/2{--tw-translate-y:calc(1 / 2 * 100%);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\\:transform-none\\!{transform:none!important}.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-pulse{animation:var(--tg-animate-pulse)}.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\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tg\\:grid-rows-\\[0fr\\]{grid-template-rows:0fr}.tg\\:grid-rows-\\[1fr\\]{grid-template-rows:1fr}.tg\\:flex-col{flex-direction:column}.tg\\:flex-col-reverse{flex-direction:column-reverse}.tg\\:flex-row{flex-direction:row}.tg\\:flex-wrap{flex-wrap:wrap}.tg\\:place-content-center{place-content:center}.tg\\:items-center{align-items:center}.tg\\:items-center\\!{align-items:center!important}.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-2\\.5{gap:calc(var(--tg-spacing) * 2.5)}.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)}.tg\\:gap-7{gap:calc(var(--tg-spacing) * 7)}: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\\:self-center{align-self:center}.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-t-lg{border-top-left-radius:var(--treege-radius);border-top-right-radius:var(--treege-radius)}.tg\\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.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\\:rounded-b-lg{border-bottom-right-radius:var(--treege-radius);border-bottom-left-radius:var(--treege-radius)}.tg\\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.tg\\:border{border-style:var(--tw-border-style);border-width:1px}.tg\\:border-0{border-style:var(--tw-border-style);border-width:0}.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-amber-500\\/40{border-color:var(--tg-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:border-amber-500\\/40{border-color:color-mix(in oklab, var(--tg-color-amber-500) 40%, transparent)}}.tg\\:border-border{border-color:var(--treege-border)}.tg\\:border-destructive,.tg\\:border-destructive\\/50{border-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:border-destructive\\/50{border-color:color-mix(in oklab, var(--treege-destructive) 50%, transparent)}}.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-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-amber-500\\/10{background-color:var(--tg-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-amber-500\\/10{background-color:color-mix(in oklab, var(--tg-color-amber-500) 10%, transparent)}}.tg\\:bg-amber-500\\/15{background-color:var(--tg-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-amber-500\\/15{background-color:color-mix(in oklab, var(--tg-color-amber-500) 15%, transparent)}}.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,.tg\\:bg-blue-500\\/15{background-color:var(--tg-color-blue-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-blue-500\\/15{background-color:color-mix(in oklab, var(--tg-color-blue-500) 15%, transparent)}}.tg\\:bg-border{background-color:var(--treege-border)}.tg\\:bg-card{background-color:var(--treege-card)}.tg\\:bg-destructive,.tg\\:bg-destructive\\/10{background-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-destructive\\/10{background-color:color-mix(in oklab, var(--treege-destructive) 10%, transparent)}}.tg\\:bg-emerald-500{background-color:var(--tg-color-emerald-500)}.tg\\:bg-foreground{background-color:var(--treege-foreground)}.tg\\:bg-gray-900{background-color:var(--tg-color-gray-900)}.tg\\:bg-green-500\\/15{background-color:var(--tg-color-green-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-green-500\\/15{background-color:color-mix(in oklab, var(--tg-color-green-500) 15%, transparent)}}.tg\\:bg-muted{background-color:var(--treege-muted)}.tg\\:bg-muted-foreground{background-color:var(--treege-muted-foreground)}.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-muted\\/50{background-color:var(--treege-muted)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-muted\\/50{background-color:color-mix(in oklab, var(--treege-muted) 50%, transparent)}}.tg\\:bg-popover{background-color:var(--treege-popover)}.tg\\:bg-primary{background-color:var(--treege-primary)}.tg\\:bg-purple-500\\/15{background-color:var(--tg-color-purple-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-purple-500\\/15{background-color:color-mix(in oklab, var(--tg-color-purple-500) 15%, transparent)}}.tg\\:bg-purple-600{background-color:var(--tg-color-purple-600)}.tg\\:bg-red-500\\/15{background-color:var(--tg-color-red-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-red-500\\/15{background-color:color-mix(in oklab, var(--tg-color-red-500) 15%, transparent)}}.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-0\\.5{padding:calc(var(--tg-spacing) * .5)}.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-2\\.5{padding-inline:calc(var(--tg-spacing) * 2.5)}.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\\:pr-14{padding-right:calc(var(--tg-spacing) * 14)}.tg\\:pr-22{padding-right:calc(var(--tg-spacing) * 22)}.tg\\:pb-1\\.5{padding-bottom:calc(var(--tg-spacing) * 1.5)}.tg\\:pl-2{padding-left:calc(var(--tg-spacing) * 2)}.tg\\:pl-4{padding-left:calc(var(--tg-spacing) * 4)}.tg\\:pl-8{padding-left:calc(var(--tg-spacing) * 8)}.tg\\:text-center{text-align:center}.tg\\:text-right{text-align:right}.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-xl{font-size:var(--tg-text-xl);line-height:var(--tw-leading,var(--tg-text-xl--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\\:leading-normal{--tw-leading:var(--tg-leading-normal);line-height:var(--tg-leading-normal)}.tg\\:leading-snug{--tw-leading:var(--tg-leading-snug);line-height:var(--tg-leading-snug)}.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\\:wrap-break-word{overflow-wrap:break-word}.tg\\:break-all{word-break:break-all}.tg\\:whitespace-nowrap{white-space:nowrap}.tg\\:whitespace-pre-wrap{white-space:pre-wrap}.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-amber-600{color:var(--tg-color-amber-600)}.tg\\:text-amber-700{color:var(--tg-color-amber-700)}.tg\\:text-background{color:var(--treege-background)}.tg\\:text-blue-700{color:var(--tg-color-blue-700)}.tg\\:text-current{color:currentColor}.tg\\:text-destructive{color:var(--treege-destructive)}.tg\\:text-foreground{color:var(--treege-foreground)}.tg\\:text-gray-400{color:var(--tg-color-gray-400)}.tg\\:text-gray-500{color:var(--tg-color-gray-500)}.tg\\:text-green-700{color:var(--tg-color-green-700)}.tg\\:text-muted-foreground,.tg\\:text-muted-foreground\\/60{color:var(--treege-muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tg\\:text-muted-foreground\\/60{color:color-mix(in oklab, var(--treege-muted-foreground) 60%, transparent)}}.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-purple-700{color:var(--tg-color-purple-700)}.tg\\:text-red-500{color:var(--tg-color-red-500)}.tg\\:text-red-700{color:var(--tg-color-red-700)}.tg\\:text-secondary-foreground{color:var(--treege-secondary-foreground)}.tg\\:text-sky-400\\/90{color:var(--tg-color-sky-400)}@supports (color:color-mix(in lab, red, red)){.tg\\:text-sky-400\\/90{color:color-mix(in oklab, var(--tg-color-sky-400) 90%, transparent)}}.tg\\:text-white{color:var(--tg-color-white)}.tg\\:capitalize{text-transform:capitalize}.tg\\:uppercase{text-transform:uppercase}.tg\\:no-underline{text-decoration-line:none}.tg\\:underline{text-decoration-line:underline}.tg\\:underline-offset-2{text-underline-offset:2px}.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\\:opacity-100\\!{opacity:1!important}.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-none{--tw-shadow:0 0 #0000;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-2{--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\\:ring-background{--tw-ring-color:var(--treege-background)}.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-\\[grid-template-rows\\]{transition-property:grid-template-rows;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-0{--tw-duration:0s;transition-duration:0s}.tg\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tg\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tg\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.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)}@media (hover:hover){.tg\\:group-hover\\:flex:is(:where(.tg\\:group):hover *){display:flex}.tg\\:group-hover\\:hidden:is(:where(.tg\\:group):hover *){display:none}.tg\\:group-hover\\:opacity-100:is(:where(.tg\\:group):hover *){opacity:1}.tg\\:group-hover\\/option\\:invisible:is(:where(.tg\\:group\\/option):hover *){visibility:hidden}.tg\\:group-hover\\/option\\:flex:is(:where(.tg\\:group\\/option):hover *){display:flex}.tg\\:group-hover\\/option\\:hidden:is(:where(.tg\\:group\\/option):hover *){display:none}.tg\\:group-hover\\/option\\:pr-16:is(:where(.tg\\:group\\/option):hover *){padding-right:calc(var(--tg-spacing) * 16)}.tg\\:group-hover\\/seam\\:pointer-events-auto:is(:where(.tg\\:group\\/seam):hover *){pointer-events:auto}.tg\\:group-hover\\/seam\\:opacity-100:is(:where(.tg\\:group\\/seam):hover *){opacity:1}.tg\\:group-hover\\/seam\\:duration-150:is(:where(.tg\\:group\\/seam):hover *){--tw-duration:.15s;transition-duration:.15s}}.tg\\:group-has-\\[\\[data-orientation\\=horizontal\\]\\]\\/field\\:text-balance:is(:where(.tg\\:group\\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.tg\\:group-has-\\[\\[data-slot\\=item-description\\]\\]\\/item\\:translate-y-0\\.5:is(:where(.tg\\:group\\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--tg-spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:group-has-\\[\\[data-slot\\=item-description\\]\\]\\/item\\:self-start:is(:where(.tg\\:group\\/item):has([data-slot=item-description]) *){align-self:flex-start}.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] *),.tg\\:group-data-\\[disabled\\=true\\]\\/field\\:opacity-50:is(:where(.tg\\:group\\/field)[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\\:group-data-\\[variant\\=outline\\]\\/field-group\\:-mb-2:is(:where(.tg\\:group\\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--tg-spacing) * -2)}.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\\:first\\:rounded-l-md:first-child{border-top-left-radius:calc(var(--treege-radius) - 2px);border-bottom-left-radius:calc(var(--treege-radius) - 2px)}.tg\\:last\\:mt-0:last-child{margin-top:calc(var(--tg-spacing) * 0)}.tg\\:last\\:rounded-r-md:last-child{border-top-right-radius:calc(var(--treege-radius) - 2px);border-bottom-right-radius:calc(var(--treege-radius) - 2px)}.tg\\:focus-within\\:pointer-events-auto:focus-within{pointer-events:auto}.tg\\:focus-within\\:opacity-100:focus-within{opacity:1}.tg\\:focus-within\\:duration-150:focus-within{--tw-duration:.15s;transition-duration:.15s}@media (hover:hover){.tg\\:hover\\:bg-accent:hover{background-color:var(--treege-accent)}.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-gray-800:hover{background-color:var(--tg-color-gray-800)}.tg\\:hover\\:bg-muted:hover{background-color:var(--treege-muted)}.tg\\:hover\\:bg-primary:hover,.tg\\:hover\\:bg-primary\\/80:hover{background-color:var(--treege-primary)}@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)}}.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\\:bg-transparent\\!:hover{background-color:#0000!important}.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-destructive:hover{color:var(--treege-destructive)}.tg\\:hover\\:text-muted-foreground:hover{color:var(--treege-muted-foreground)}.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\\:z-10:focus{z-index:10}.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\\:z-10:focus-visible{z-index:10}.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-2:focus-visible{--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-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-gray-900:focus-visible{--tw-ring-color:var(--tg-color-gray-900)}.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\\:ring-offset-2:focus-visible{--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-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-data-\\[state\\=checked\\]\\:border-primary:has([data-state=checked]){border-color:var(--treege-primary)}.tg\\:has-data-\\[state\\=checked\\]\\:bg-primary\\/5:has([data-state=checked]){background-color:var(--treege-primary)}@supports (color:color-mix(in lab, red, red)){.tg\\:has-data-\\[state\\=checked\\]\\:bg-primary\\/5:has([data-state=checked]){background-color:color-mix(in oklab, var(--treege-primary) 5%, transparent)}}@media (hover:hover){.tg\\:hover\\:has-data-\\[state\\=unchecked\\]\\:border-muted-foreground\\/40:hover:has([data-state=unchecked]){border-color:var(--treege-muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tg\\:hover\\:has-data-\\[state\\=unchecked\\]\\:border-muted-foreground\\/40:hover:has([data-state=unchecked]){border-color:color-mix(in oklab, var(--treege-muted-foreground) 40%, transparent)}}}.tg\\:has-\\[\\>\\[data-slot\\=checkbox-group\\]\\]\\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--tg-spacing) * 3)}.tg\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.tg\\:has-\\[\\>\\[data-slot\\=field\\]\\]\\:w-full:has(>[data-slot=field]){width:100%}.tg\\:has-\\[\\>\\[data-slot\\=field\\]\\]\\:flex-col:has(>[data-slot=field]){flex-direction:column}.tg\\:has-\\[\\>\\[data-slot\\=field\\]\\]\\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--treege-radius) - 2px)}.tg\\:has-\\[\\>\\[data-slot\\=field\\]\\]\\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.tg\\:has-\\[\\>\\[data-slot\\=radio-group\\]\\]\\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--tg-spacing) * 3)}.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-\\[invalid\\=true\\]\\:text-destructive[data-invalid=true]{color:var(--treege-destructive)}.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)}.tg\\:data-\\[slot\\=checkbox-group\\]\\:gap-3[data-slot=checkbox-group]{gap:calc(var(--tg-spacing) * 3)}: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\\=on\\]\\:bg-accent[data-state=on]{background-color:var(--treege-accent)}.tg\\:data-\\[state\\=on\\]\\:text-accent-foreground[data-state=on]{color:var(--treege-accent-foreground)}.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)}.tg\\:data-\\[variant\\=label\\]\\:text-sm[data-variant=label]{font-size:var(--tg-text-sm);line-height:var(--tw-leading,var(--tg-text-sm--line-height))}.tg\\:data-\\[variant\\=legend\\]\\:text-base[data-variant=legend]{font-size:var(--tg-text-base);line-height:var(--tw-leading,var(--tg-text-base--line-height))}.tg\\:data-\\[variant\\=outline\\]\\:border-l-0[data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.tg\\:data-\\[variant\\=outline\\]\\:shadow-xs[data-variant=outline]{--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\\:data-\\[variant\\=outline\\]\\:first\\:border-l[data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.tg\\:nth-last-2\\:-mt-1:nth-last-child(2){margin-top:calc(var(--tg-spacing) * -1)}@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))}}@media (width>=64rem){.tg\\:lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container field-group (width>=28rem){.tg\\:\\@md\\/field-group\\:flex-row{flex-direction:row}.tg\\:\\@md\\/field-group\\:items-center{align-items:center}.tg\\:\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}.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\\:bg-white:is(.dark *){background-color:var(--tg-color-white)}.tg\\:dark\\:text-gray-900:is(.dark *){color:var(--tg-color-gray-900)}.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-gray-100:is(.dark *):hover{background-color:var(--tg-color-gray-100)}.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\\:focus-visible\\:ring-white:is(.dark *):focus-visible{--tw-ring-color:var(--tg-color-white)}.tg\\:dark\\:has-data-\\[state\\=checked\\]\\:bg-primary\\/10:is(.dark *):has([data-state=checked]){background-color:var(--treege-primary)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:has-data-\\[state\\=checked\\]\\:bg-primary\\/10:is(.dark *):has([data-state=checked]){background-color:color-mix(in oklab, var(--treege-primary) 10%, 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\\:\\[\\&_img\\]\\:size-full img{width:100%;height:100%}.tg\\:\\[\\&_img\\]\\:object-cover img{object-fit:cover}.tg\\:\\[\\&_label\\:empty\\]\\:hidden label:empty{display:none}.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\\:\\[\\&\\+\\[data-slot\\=item-content\\]\\]\\:flex-none+[data-slot=item-content]{flex:none}.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}.tg\\:\\[a\\]\\:transition-colors:is(a){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))}@media (hover:hover){.tg\\:\\[a\\]\\:hover\\:bg-accent\\/50:is(a):hover{background-color:var(--treege-accent)}@supports (color:color-mix(in lab, red, red)){.tg\\:\\[a\\]\\:hover\\:bg-accent\\/50:is(a):hover{background-color:color-mix(in oklab, var(--treege-accent) 50%, transparent)}}}: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\\:\\[\\&\\>\\*\\]\\:w-full>*{width:100%}.tg\\:\\[\\&\\>\\*\\]\\:data-\\[slot\\=field\\]\\:p-4>[data-slot=field]{padding:calc(var(--tg-spacing) * 4)}@container field-group (width>=28rem){.tg\\:\\@md\\/field-group\\:\\[\\&\\>\\*\\]\\:w-auto>*{width:auto}}.tg\\:\\[\\&\\>\\.sr-only\\]\\:w-auto>.sr-only{width:auto}.tg\\:\\[\\&\\>\\[data-slot\\=field-group\\]\\]\\:gap-4>[data-slot=field-group]{gap:calc(var(--tg-spacing) * 4)}.tg\\:\\[\\&\\>\\[data-slot\\=field-label\\]\\]\\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (width>=28rem){.tg\\:\\@md\\/field-group\\:\\[\\&\\>\\[data-slot\\=field-label\\]\\]\\:flex-auto>[data-slot=field-label]{flex:auto}}:is(.tg\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.tg\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (width>=28rem){:is(.tg\\:\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.tg\\:\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.tg\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.tg\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.tg\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--treege-primary)}.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}[data-variant=legend]+.tg\\:\\[\\[data-variant\\=legend\\]\\+\\&\\]\\:-mt-1\\.5{margin-top:calc(var(--tg-spacing) * -1.5)}@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{--treege-font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif;--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}.treege,.treege *,[data-slot$=-content],[data-slot$=-content] *{font-family:var(--treege-font-sans), sans-serif}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:hover,div.react-flow__node:active{z-index:9999!important}.react-flow__connectionline,.react-flow__connection{z-index:10000!important}div.react-flow__node__wrapper{border-style:var(--tw-border-style);border-width:1px;border-color:var(--treege-border);background-color:var(--treege-card);padding:calc(var(--tg-spacing) * 4);flex-direction:column;justify-content:center;width:270px;min-height:90px;display:flex}div.react-flow__node__wrapper.stacked{border-top-width:0}div.react-flow__node.selected .react-flow__node__wrapper{border-color:oklch(from var(--treege-primary) l c h / 50%)}div.react-flow__node.selected .react-flow__node__wrapper.stacked{box-shadow:inset 0 1px 0 oklch(from var(--treege-primary) l c h / 50%)}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 pulse{50%{opacity:.5}}@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))}}", In = () => /* @__PURE__ */ q("style", {
|
|
32
|
+
}), Fn = "/*! 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-red-700:oklch(50.5% .213 27.518);--tg-color-amber-500:oklch(76.9% .188 70.08);--tg-color-amber-600:oklch(66.6% .179 58.318);--tg-color-amber-700:oklch(55.5% .163 48.998);--tg-color-green-500:oklch(72.3% .219 149.579);--tg-color-green-700:oklch(52.7% .154 150.069);--tg-color-emerald-500:oklch(69.6% .17 162.48);--tg-color-sky-400:oklch(74.6% .16 232.661);--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-blue-700:oklch(48.8% .243 264.376);--tg-color-purple-500:oklch(62.7% .265 303.9);--tg-color-purple-600:oklch(55.8% .288 302.321);--tg-color-purple-700:oklch(49.6% .265 301.924);--tg-color-gray-100:oklch(96.7% .003 264.542);--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-gray-800:oklch(27.8% .033 256.848);--tg-color-gray-900:oklch(21% .034 264.665);--tg-color-black:#000;--tg-color-white:#fff;--tg-spacing:.25rem;--tg-container-sm:24rem;--tg-container-md:28rem;--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-xl:1.25rem;--tg-text-xl--line-height:calc(1.75 / 1.25);--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-leading-snug:1.375;--tg-leading-normal:1.5;--tg-radius-xs:.125rem;--tg-ease-in-out:cubic-bezier(.4, 0, .2, 1);--tg-animate-spin:spin 1s linear infinite;--tg-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) 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\\:\\@container\\/field-group{container:field-group/inline-size}.tg\\:pointer-events-auto{pointer-events:auto}.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\\:relative\\!{position:relative!important}.tg\\:inset-0{inset:calc(var(--tg-spacing) * 0)}.tg\\:inset-auto\\!{inset:auto!important}.tg\\:inset-x-0{inset-inline:calc(var(--tg-spacing) * 0)}.tg\\:inset-y-0{inset-block:calc(var(--tg-spacing) * 0)}.tg\\:-top-0\\.5{top:calc(var(--tg-spacing) * -.5)}.tg\\:-top-1{top:calc(var(--tg-spacing) * -1)}.tg\\:top-0{top:calc(var(--tg-spacing) * 0)}.tg\\:top-1\\/2{top:50%}.tg\\:top-4{top:calc(var(--tg-spacing) * 4)}.tg\\:top-\\[50\\%\\]{top:50%}.tg\\:-right-0\\.5{right:calc(var(--tg-spacing) * -.5)}.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\\:right-8{right:calc(var(--tg-spacing) * 8)}.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-\\[50\\%\\]{left:50%}.tg\\:z-50{z-index:50}.tg\\:z-10000{z-index:10000}.tg\\:z-\\[2000\\]{z-index:2000}.tg\\:m-0{margin:calc(var(--tg-spacing) * 0)}.tg\\:-mx-1{margin-inline:calc(var(--tg-spacing) * -1)}.tg\\:mx-auto{margin-inline:auto}.tg\\:-my-2{margin-block:calc(var(--tg-spacing) * -2)}.tg\\:my-0{margin-block:calc(var(--tg-spacing) * 0)}.tg\\:my-1{margin-block:calc(var(--tg-spacing) * 1)}.tg\\:my-2{margin-block:calc(var(--tg-spacing) * 2)}.tg\\:my-4{margin-block:calc(var(--tg-spacing) * 4)}.tg\\:my-8{margin-block:calc(var(--tg-spacing) * 8)}.tg\\:my-10{margin-block:calc(var(--tg-spacing) * 10)}.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-6{margin-top:calc(var(--tg-spacing) * 6)}.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-3{margin-bottom:calc(var(--tg-spacing) * 3)}.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\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tg\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.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\\:field-sizing-fixed{field-sizing:fixed}.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-5{width:calc(var(--tg-spacing) * 5);height:calc(var(--tg-spacing) * 5)}.tg\\:size-6{width:calc(var(--tg-spacing) * 6);height:calc(var(--tg-spacing) * 6)}.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-16{width:calc(var(--tg-spacing) * 16);height:calc(var(--tg-spacing) * 16)}.tg\\:size-auto{width:auto;height:auto}.tg\\:size-full{width:100%;height:100%}.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-4{height:calc(var(--tg-spacing) * 4)}.tg\\:h-5{height:calc(var(--tg-spacing) * 5)}.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-\\[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-24{max-height:calc(var(--tg-spacing) * 24)}.tg\\:max-h-40{max-height:calc(var(--tg-spacing) * 40)}.tg\\:max-h-72{max-height:calc(var(--tg-spacing) * 72)}.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-5{min-height:calc(var(--tg-spacing) * 5)}.tg\\:min-h-6{min-height:calc(var(--tg-spacing) * 6)}.tg\\:min-h-16{min-height:calc(var(--tg-spacing) * 16)}.tg\\:w-\\(--cell-size\\){width:var(--cell-size)}.tg\\:w-\\(--radix-popover-trigger-width\\){width:var(--radix-popover-trigger-width)}.tg\\:w-0{width:calc(var(--tg-spacing) * 0)}.tg\\:w-1\\/3{width:33.3333%}.tg\\:w-1\\/4{width:25%}.tg\\:w-2\\.5{width:calc(var(--tg-spacing) * 2.5)}.tg\\:w-3{width:calc(var(--tg-spacing) * 3)}.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-24{width:calc(var(--tg-spacing) * 24)}.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-\\[36rem\\]{width:36rem}.tg\\:w-\\[var\\(--radix-popover-trigger-width\\)\\]{width:var(--radix-popover-trigger-width)}.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-18{max-width:calc(var(--tg-spacing) * 18)}.tg\\:max-w-87\\.5{max-width:calc(var(--tg-spacing) * 87.5)}.tg\\:max-w-\\[50\\%\\]{max-width:50%}.tg\\:max-w-\\[90vw\\]{max-width:90vw}.tg\\:max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.tg\\:max-w-full{max-width:100%}.tg\\:max-w-lg{max-width:var(--tg-container-lg)}.tg\\:max-w-md{max-width:var(--tg-container-md)}.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-8{min-width:calc(var(--tg-spacing) * 8)}.tg\\:min-w-9{min-width:calc(var(--tg-spacing) * 9)}.tg\\:min-w-10{min-width:calc(var(--tg-spacing) * 10)}.tg\\:min-w-14{min-width:calc(var(--tg-spacing) * 14)}.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\\:basis-full{flex-basis:100%}.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-1\\/2{--tw-translate-y:calc(1 / 2 * 100%);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\\:transform-none\\!{transform:none!important}.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-pulse{animation:var(--tg-animate-pulse)}.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\\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.tg\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tg\\:grid-rows-\\[0fr\\]{grid-template-rows:0fr}.tg\\:grid-rows-\\[1fr\\]{grid-template-rows:1fr}.tg\\:flex-col{flex-direction:column}.tg\\:flex-col-reverse{flex-direction:column-reverse}.tg\\:flex-row{flex-direction:row}.tg\\:flex-wrap{flex-wrap:wrap}.tg\\:place-content-center{place-content:center}.tg\\:items-center{align-items:center}.tg\\:items-center\\!{align-items:center!important}.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-2\\.5{gap:calc(var(--tg-spacing) * 2.5)}.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)}.tg\\:gap-7{gap:calc(var(--tg-spacing) * 7)}: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\\:self-center{align-self:center}.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-t-lg{border-top-left-radius:var(--treege-radius);border-top-right-radius:var(--treege-radius)}.tg\\:rounded-t-none{border-top-left-radius:0;border-top-right-radius:0}.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\\:rounded-b-lg{border-bottom-right-radius:var(--treege-radius);border-bottom-left-radius:var(--treege-radius)}.tg\\:rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.tg\\:border{border-style:var(--tw-border-style);border-width:1px}.tg\\:border-0{border-style:var(--tw-border-style);border-width:0}.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-amber-500\\/40{border-color:var(--tg-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:border-amber-500\\/40{border-color:color-mix(in oklab, var(--tg-color-amber-500) 40%, transparent)}}.tg\\:border-border{border-color:var(--treege-border)}.tg\\:border-destructive,.tg\\:border-destructive\\/50{border-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:border-destructive\\/50{border-color:color-mix(in oklab, var(--treege-destructive) 50%, transparent)}}.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-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-amber-500\\/10{background-color:var(--tg-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-amber-500\\/10{background-color:color-mix(in oklab, var(--tg-color-amber-500) 10%, transparent)}}.tg\\:bg-amber-500\\/15{background-color:var(--tg-color-amber-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-amber-500\\/15{background-color:color-mix(in oklab, var(--tg-color-amber-500) 15%, transparent)}}.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,.tg\\:bg-blue-500\\/15{background-color:var(--tg-color-blue-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-blue-500\\/15{background-color:color-mix(in oklab, var(--tg-color-blue-500) 15%, transparent)}}.tg\\:bg-border{background-color:var(--treege-border)}.tg\\:bg-card{background-color:var(--treege-card)}.tg\\:bg-destructive,.tg\\:bg-destructive\\/10{background-color:var(--treege-destructive)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-destructive\\/10{background-color:color-mix(in oklab, var(--treege-destructive) 10%, transparent)}}.tg\\:bg-emerald-500{background-color:var(--tg-color-emerald-500)}.tg\\:bg-foreground{background-color:var(--treege-foreground)}.tg\\:bg-gray-900{background-color:var(--tg-color-gray-900)}.tg\\:bg-green-500\\/15{background-color:var(--tg-color-green-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-green-500\\/15{background-color:color-mix(in oklab, var(--tg-color-green-500) 15%, transparent)}}.tg\\:bg-muted{background-color:var(--treege-muted)}.tg\\:bg-muted-foreground{background-color:var(--treege-muted-foreground)}.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-muted\\/50{background-color:var(--treege-muted)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-muted\\/50{background-color:color-mix(in oklab, var(--treege-muted) 50%, transparent)}}.tg\\:bg-popover{background-color:var(--treege-popover)}.tg\\:bg-primary{background-color:var(--treege-primary)}.tg\\:bg-purple-500\\/15{background-color:var(--tg-color-purple-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-purple-500\\/15{background-color:color-mix(in oklab, var(--tg-color-purple-500) 15%, transparent)}}.tg\\:bg-purple-600{background-color:var(--tg-color-purple-600)}.tg\\:bg-red-500\\/15{background-color:var(--tg-color-red-500)}@supports (color:color-mix(in lab, red, red)){.tg\\:bg-red-500\\/15{background-color:color-mix(in oklab, var(--tg-color-red-500) 15%, transparent)}}.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-0\\.5{padding:calc(var(--tg-spacing) * .5)}.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-0{padding-inline:calc(var(--tg-spacing) * 0)}.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-2\\.5{padding-inline:calc(var(--tg-spacing) * 2.5)}.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\\:pr-14{padding-right:calc(var(--tg-spacing) * 14)}.tg\\:pr-22{padding-right:calc(var(--tg-spacing) * 22)}.tg\\:pb-1\\.5{padding-bottom:calc(var(--tg-spacing) * 1.5)}.tg\\:pl-2{padding-left:calc(var(--tg-spacing) * 2)}.tg\\:pl-4{padding-left:calc(var(--tg-spacing) * 4)}.tg\\:pl-8{padding-left:calc(var(--tg-spacing) * 8)}.tg\\:text-center{text-align:center}.tg\\:text-right{text-align:right}.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-xl{font-size:var(--tg-text-xl);line-height:var(--tw-leading,var(--tg-text-xl--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\\:leading-normal{--tw-leading:var(--tg-leading-normal);line-height:var(--tg-leading-normal)}.tg\\:leading-snug{--tw-leading:var(--tg-leading-snug);line-height:var(--tg-leading-snug)}.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\\:wrap-break-word{overflow-wrap:break-word}.tg\\:break-all{word-break:break-all}.tg\\:whitespace-nowrap{white-space:nowrap}.tg\\:whitespace-pre-wrap{white-space:pre-wrap}.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-amber-600{color:var(--tg-color-amber-600)}.tg\\:text-amber-700{color:var(--tg-color-amber-700)}.tg\\:text-background{color:var(--treege-background)}.tg\\:text-blue-700{color:var(--tg-color-blue-700)}.tg\\:text-current{color:currentColor}.tg\\:text-destructive{color:var(--treege-destructive)}.tg\\:text-foreground{color:var(--treege-foreground)}.tg\\:text-gray-400{color:var(--tg-color-gray-400)}.tg\\:text-gray-500{color:var(--tg-color-gray-500)}.tg\\:text-green-700{color:var(--tg-color-green-700)}.tg\\:text-muted-foreground,.tg\\:text-muted-foreground\\/60{color:var(--treege-muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tg\\:text-muted-foreground\\/60{color:color-mix(in oklab, var(--treege-muted-foreground) 60%, transparent)}}.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-purple-700{color:var(--tg-color-purple-700)}.tg\\:text-red-500{color:var(--tg-color-red-500)}.tg\\:text-red-700{color:var(--tg-color-red-700)}.tg\\:text-secondary-foreground{color:var(--treege-secondary-foreground)}.tg\\:text-sky-400\\/90{color:var(--tg-color-sky-400)}@supports (color:color-mix(in lab, red, red)){.tg\\:text-sky-400\\/90{color:color-mix(in oklab, var(--tg-color-sky-400) 90%, transparent)}}.tg\\:text-white{color:var(--tg-color-white)}.tg\\:capitalize{text-transform:capitalize}.tg\\:uppercase{text-transform:uppercase}.tg\\:no-underline{text-decoration-line:none}.tg\\:underline{text-decoration-line:underline}.tg\\:underline-offset-2{text-underline-offset:2px}.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\\:opacity-100\\!{opacity:1!important}.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-none{--tw-shadow:0 0 #0000;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-2{--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\\:ring-background{--tw-ring-color:var(--treege-background)}.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-\\[grid-template-rows\\]{transition-property:grid-template-rows;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-0{--tw-duration:0s;transition-duration:0s}.tg\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tg\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tg\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.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)}@media (hover:hover){.tg\\:group-hover\\:flex:is(:where(.tg\\:group):hover *){display:flex}.tg\\:group-hover\\:hidden:is(:where(.tg\\:group):hover *){display:none}.tg\\:group-hover\\:opacity-100:is(:where(.tg\\:group):hover *){opacity:1}.tg\\:group-hover\\/option\\:invisible:is(:where(.tg\\:group\\/option):hover *){visibility:hidden}.tg\\:group-hover\\/option\\:flex:is(:where(.tg\\:group\\/option):hover *){display:flex}.tg\\:group-hover\\/option\\:hidden:is(:where(.tg\\:group\\/option):hover *){display:none}.tg\\:group-hover\\/option\\:pr-16:is(:where(.tg\\:group\\/option):hover *){padding-right:calc(var(--tg-spacing) * 16)}.tg\\:group-hover\\/seam\\:pointer-events-auto:is(:where(.tg\\:group\\/seam):hover *){pointer-events:auto}.tg\\:group-hover\\/seam\\:opacity-100:is(:where(.tg\\:group\\/seam):hover *){opacity:1}.tg\\:group-hover\\/seam\\:duration-150:is(:where(.tg\\:group\\/seam):hover *){--tw-duration:.15s;transition-duration:.15s}}.tg\\:group-has-\\[\\[data-orientation\\=horizontal\\]\\]\\/field\\:text-balance:is(:where(.tg\\:group\\/field):has([data-orientation=horizontal]) *){text-wrap:balance}.tg\\:group-has-\\[\\[data-slot\\=item-description\\]\\]\\/item\\:translate-y-0\\.5:is(:where(.tg\\:group\\/item):has([data-slot=item-description]) *){--tw-translate-y:calc(var(--tg-spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.tg\\:group-has-\\[\\[data-slot\\=item-description\\]\\]\\/item\\:self-start:is(:where(.tg\\:group\\/item):has([data-slot=item-description]) *){align-self:flex-start}.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] *),.tg\\:group-data-\\[disabled\\=true\\]\\/field\\:opacity-50:is(:where(.tg\\:group\\/field)[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\\:group-data-\\[variant\\=outline\\]\\/field-group\\:-mb-2:is(:where(.tg\\:group\\/field-group)[data-variant=outline] *){margin-bottom:calc(var(--tg-spacing) * -2)}.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\\:first\\:rounded-l-md:first-child{border-top-left-radius:calc(var(--treege-radius) - 2px);border-bottom-left-radius:calc(var(--treege-radius) - 2px)}.tg\\:last\\:mt-0:last-child{margin-top:calc(var(--tg-spacing) * 0)}.tg\\:last\\:rounded-r-md:last-child{border-top-right-radius:calc(var(--treege-radius) - 2px);border-bottom-right-radius:calc(var(--treege-radius) - 2px)}.tg\\:focus-within\\:pointer-events-auto:focus-within{pointer-events:auto}.tg\\:focus-within\\:opacity-100:focus-within{opacity:1}.tg\\:focus-within\\:duration-150:focus-within{--tw-duration:.15s;transition-duration:.15s}@media (hover:hover){.tg\\:hover\\:bg-accent:hover{background-color:var(--treege-accent)}.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-gray-800:hover{background-color:var(--tg-color-gray-800)}.tg\\:hover\\:bg-muted:hover{background-color:var(--treege-muted)}.tg\\:hover\\:bg-primary:hover,.tg\\:hover\\:bg-primary\\/80:hover{background-color:var(--treege-primary)}@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)}}.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\\:bg-transparent\\!:hover{background-color:#0000!important}.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-destructive:hover{color:var(--treege-destructive)}.tg\\:hover\\:text-muted-foreground:hover{color:var(--treege-muted-foreground)}.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\\:z-10:focus{z-index:10}.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\\:z-10:focus-visible{z-index:10}.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-2:focus-visible{--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-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-gray-900:focus-visible{--tw-ring-color:var(--tg-color-gray-900)}.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\\:ring-offset-2:focus-visible{--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-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-data-\\[state\\=checked\\]\\:border-primary:has([data-state=checked]){border-color:var(--treege-primary)}.tg\\:has-data-\\[state\\=checked\\]\\:bg-primary\\/5:has([data-state=checked]){background-color:var(--treege-primary)}@supports (color:color-mix(in lab, red, red)){.tg\\:has-data-\\[state\\=checked\\]\\:bg-primary\\/5:has([data-state=checked]){background-color:color-mix(in oklab, var(--treege-primary) 5%, transparent)}}@media (hover:hover){.tg\\:hover\\:has-data-\\[state\\=unchecked\\]\\:border-muted-foreground\\/40:hover:has([data-state=unchecked]){border-color:var(--treege-muted-foreground)}@supports (color:color-mix(in lab, red, red)){.tg\\:hover\\:has-data-\\[state\\=unchecked\\]\\:border-muted-foreground\\/40:hover:has([data-state=unchecked]){border-color:color-mix(in oklab, var(--treege-muted-foreground) 40%, transparent)}}}.tg\\:has-\\[\\>\\[data-slot\\=checkbox-group\\]\\]\\:gap-3:has(>[data-slot=checkbox-group]){gap:calc(var(--tg-spacing) * 3)}.tg\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}.tg\\:has-\\[\\>\\[data-slot\\=field\\]\\]\\:w-full:has(>[data-slot=field]){width:100%}.tg\\:has-\\[\\>\\[data-slot\\=field\\]\\]\\:flex-col:has(>[data-slot=field]){flex-direction:column}.tg\\:has-\\[\\>\\[data-slot\\=field\\]\\]\\:rounded-md:has(>[data-slot=field]){border-radius:calc(var(--treege-radius) - 2px)}.tg\\:has-\\[\\>\\[data-slot\\=field\\]\\]\\:border:has(>[data-slot=field]){border-style:var(--tw-border-style);border-width:1px}.tg\\:has-\\[\\>\\[data-slot\\=radio-group\\]\\]\\:gap-3:has(>[data-slot=radio-group]){gap:calc(var(--tg-spacing) * 3)}.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-\\[invalid\\=true\\]\\:text-destructive[data-invalid=true]{color:var(--treege-destructive)}.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)}.tg\\:data-\\[slot\\=checkbox-group\\]\\:gap-3[data-slot=checkbox-group]{gap:calc(var(--tg-spacing) * 3)}: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\\=on\\]\\:bg-accent[data-state=on]{background-color:var(--treege-accent)}.tg\\:data-\\[state\\=on\\]\\:text-accent-foreground[data-state=on]{color:var(--treege-accent-foreground)}.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)}.tg\\:data-\\[variant\\=label\\]\\:text-sm[data-variant=label]{font-size:var(--tg-text-sm);line-height:var(--tw-leading,var(--tg-text-sm--line-height))}.tg\\:data-\\[variant\\=legend\\]\\:text-base[data-variant=legend]{font-size:var(--tg-text-base);line-height:var(--tw-leading,var(--tg-text-base--line-height))}.tg\\:data-\\[variant\\=outline\\]\\:border-l-0[data-variant=outline]{border-left-style:var(--tw-border-style);border-left-width:0}.tg\\:data-\\[variant\\=outline\\]\\:shadow-xs[data-variant=outline]{--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\\:data-\\[variant\\=outline\\]\\:first\\:border-l[data-variant=outline]:first-child{border-left-style:var(--tw-border-style);border-left-width:1px}.tg\\:nth-last-2\\:-mt-1:nth-last-child(2){margin-top:calc(var(--tg-spacing) * -1)}@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))}}@media (width>=64rem){.tg\\:lg\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@container field-group (width>=28rem){.tg\\:\\@md\\/field-group\\:flex-row{flex-direction:row}.tg\\:\\@md\\/field-group\\:items-center{align-items:center}.tg\\:\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:items-start:has(>[data-slot=field-content]){align-items:flex-start}}.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\\:bg-white:is(.dark *){background-color:var(--tg-color-white)}.tg\\:dark\\:text-gray-900:is(.dark *){color:var(--tg-color-gray-900)}.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-gray-100:is(.dark *):hover{background-color:var(--tg-color-gray-100)}.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\\:focus-visible\\:ring-white:is(.dark *):focus-visible{--tw-ring-color:var(--tg-color-white)}.tg\\:dark\\:has-data-\\[state\\=checked\\]\\:bg-primary\\/10:is(.dark *):has([data-state=checked]){background-color:var(--treege-primary)}@supports (color:color-mix(in lab, red, red)){.tg\\:dark\\:has-data-\\[state\\=checked\\]\\:bg-primary\\/10:is(.dark *):has([data-state=checked]){background-color:color-mix(in oklab, var(--treege-primary) 10%, 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\\:\\[\\&_img\\]\\:size-full img{width:100%;height:100%}.tg\\:\\[\\&_img\\]\\:object-cover img{object-fit:cover}.tg\\:\\[\\&_label\\:empty\\]\\:hidden label:empty{display:none}.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\\:\\[\\&\\+\\[data-slot\\=item-content\\]\\]\\:flex-none+[data-slot=item-content]{flex:none}.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}.tg\\:\\[a\\]\\:transition-colors:is(a){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))}@media (hover:hover){.tg\\:\\[a\\]\\:hover\\:bg-accent\\/50:is(a):hover{background-color:var(--treege-accent)}@supports (color:color-mix(in lab, red, red)){.tg\\:\\[a\\]\\:hover\\:bg-accent\\/50:is(a):hover{background-color:color-mix(in oklab, var(--treege-accent) 50%, transparent)}}}: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\\:\\[\\&\\>\\*\\]\\:w-full>*{width:100%}.tg\\:\\[\\&\\>\\*\\]\\:data-\\[slot\\=field\\]\\:p-4>[data-slot=field]{padding:calc(var(--tg-spacing) * 4)}@container field-group (width>=28rem){.tg\\:\\@md\\/field-group\\:\\[\\&\\>\\*\\]\\:w-auto>*{width:auto}}.tg\\:\\[\\&\\>\\.sr-only\\]\\:w-auto>.sr-only{width:auto}.tg\\:\\[\\&\\>\\[data-slot\\=field-group\\]\\]\\:gap-4>[data-slot=field-group]{gap:calc(var(--tg-spacing) * 4)}.tg\\:\\[\\&\\>\\[data-slot\\=field-label\\]\\]\\:flex-auto>[data-slot=field-label]{flex:auto}@container field-group (width>=28rem){.tg\\:\\@md\\/field-group\\:\\[\\&\\>\\[data-slot\\=field-label\\]\\]\\:flex-auto>[data-slot=field-label]{flex:auto}}:is(.tg\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.tg\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}@container field-group (width>=28rem){:is(.tg\\:\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content])>[role=checkbox],.tg\\:\\@md\\/field-group\\:has-\\[\\>\\[data-slot\\=field-content\\]\\]\\:\\[\\&\\>\\[role\\=checkbox\\]\\,\\[role\\=radio\\]\\]\\:mt-px:has(>[data-slot=field-content]) [role=radio]){margin-top:1px}}.tg\\:\\[\\&\\>a\\]\\:underline>a{text-decoration-line:underline}.tg\\:\\[\\&\\>a\\]\\:underline-offset-4>a{text-underline-offset:4px}.tg\\:\\[\\&\\>a\\:hover\\]\\:text-primary>a:hover{color:var(--treege-primary)}.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}[data-variant=legend]+.tg\\:\\[\\[data-variant\\=legend\\]\\+\\&\\]\\:-mt-1\\.5{margin-top:calc(var(--tg-spacing) * -1.5)}@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{--treege-font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif;--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}.treege,.treege *,[data-slot$=-content],[data-slot$=-content] *{font-family:var(--treege-font-sans), sans-serif}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:hover,div.react-flow__node:active{z-index:9999!important}.react-flow__connectionline,.react-flow__connection{z-index:10000!important}div.react-flow__node__wrapper{border-style:var(--tw-border-style);border-width:1px;border-color:var(--treege-border);background-color:var(--treege-card);padding:calc(var(--tg-spacing) * 4);flex-direction:column;justify-content:center;width:270px;min-height:90px;display:flex}div.react-flow__node__wrapper.stacked{border-top-width:0}div.react-flow__node.selected .react-flow__node__wrapper{border-color:oklch(from var(--treege-primary) l c h / 50%)}div.react-flow__node.selected .react-flow__node__wrapper.stacked{box-shadow:inset 0 1px 0 oklch(from var(--treege-primary) l c h / 50%)}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 pulse{50%{opacity:.5}}@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))}}", In = () => /* @__PURE__ */ q("style", {
|
|
33
33
|
href: "treege-editor",
|
|
34
34
|
precedence: "default",
|
|
35
35
|
children: Fn
|
|
@@ -74,19 +74,19 @@ var Mn = "data:image/svg+xml,%3csvg%20width='462'%20height='144'%20viewBox='0%20
|
|
|
74
74
|
setFlowId: () => {},
|
|
75
75
|
setIsNodeSheetOpen: () => {},
|
|
76
76
|
setLanguage: () => {}
|
|
77
|
-
}, zn = (
|
|
78
|
-
let
|
|
77
|
+
}, zn = (t) => {
|
|
78
|
+
let n = Ge(), r = We(), { language: i } = Z();
|
|
79
79
|
return W(() => {
|
|
80
|
-
if (!
|
|
81
|
-
let
|
|
80
|
+
if (!t) return [];
|
|
81
|
+
let a = (e, t = /* @__PURE__ */ new Set()) => {
|
|
82
82
|
if (t.has(e)) return [];
|
|
83
|
-
let
|
|
84
|
-
return
|
|
85
|
-
},
|
|
86
|
-
return
|
|
83
|
+
let n = new Set(t).add(e);
|
|
84
|
+
return r.filter((t) => t.target === e).flatMap((e) => [e.source, ...a(e.source, n)]);
|
|
85
|
+
}, o = a(t);
|
|
86
|
+
return n.filter((t) => o.includes(t.id) && e(t)).map((e) => {
|
|
87
87
|
let t = e.data;
|
|
88
88
|
return {
|
|
89
|
-
label:
|
|
89
|
+
label: d(t.label, i) || t.name || e.id,
|
|
90
90
|
name: t.name,
|
|
91
91
|
nodeId: e.id,
|
|
92
92
|
options: t.options,
|
|
@@ -94,10 +94,10 @@ var Mn = "data:image/svg+xml,%3csvg%20width='462'%20height='144'%20viewBox='0%20
|
|
|
94
94
|
};
|
|
95
95
|
});
|
|
96
96
|
}, [
|
|
97
|
-
e,
|
|
98
97
|
t,
|
|
99
98
|
n,
|
|
100
|
-
r
|
|
99
|
+
r,
|
|
100
|
+
i
|
|
101
101
|
]);
|
|
102
102
|
}, Bn = /* @__PURE__ */ new WeakMap(), Vn = (e, t) => e && t ? "middle" : e ? "last" : t ? "first" : "single", Hn = (e) => {
|
|
103
103
|
let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map(), r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Map();
|
|
@@ -117,7 +117,7 @@ var Mn = "data:image/svg+xml,%3csvg%20width='462'%20height='144'%20viewBox='0%20
|
|
|
117
117
|
return (i === "first" || i === "middle") && (a === "middle" || a === "last");
|
|
118
118
|
}), Q = (e) => {
|
|
119
119
|
let t = Z();
|
|
120
|
-
return
|
|
120
|
+
return S(e ?? t.language);
|
|
121
121
|
};
|
|
122
122
|
//#endregion
|
|
123
123
|
//#region src/shared/components/ui/scroll-area.tsx
|
|
@@ -219,22 +219,22 @@ var Zn = {
|
|
|
219
219
|
targetPosition: l,
|
|
220
220
|
targetX: o,
|
|
221
221
|
targetY: s
|
|
222
|
-
}), [m, h] = G(!1), [g, _] = G("basic"), { updateEdgeData: v, deleteElements: y } = qe(), { language:
|
|
222
|
+
}), [m, h] = G(!1), [g, _] = G("basic"), { updateEdgeData: v, deleteElements: y } = qe(), { language: b } = Z(), x = Wn(t, n), S = zn(n), C = S.find((e) => e.nodeId === t) ?? S[0], w = Q(), E = We(), D = W(() => {
|
|
223
223
|
let n = /* @__PURE__ */ new Set();
|
|
224
|
-
return
|
|
224
|
+
return C && E.forEach((r) => {
|
|
225
225
|
r.id === e || r.source !== t || r.data?.conditions?.forEach((e) => {
|
|
226
|
-
e.field ===
|
|
226
|
+
e.field === C.nodeId && e.value && n.add(e.value);
|
|
227
227
|
});
|
|
228
228
|
}), n;
|
|
229
229
|
}, [
|
|
230
|
-
|
|
230
|
+
E,
|
|
231
231
|
e,
|
|
232
232
|
t,
|
|
233
|
-
|
|
234
|
-
]),
|
|
233
|
+
C
|
|
234
|
+
]), O = !!f?.configured || !!f?.isFallback || !!f?.label || (f?.conditions?.some(Qn) ?? !1), { handleSubmit: ee, reset: k, setFieldValue: j, Field: te } = rt({
|
|
235
235
|
defaultValues: {
|
|
236
236
|
conditions: f?.conditions || [{
|
|
237
|
-
field:
|
|
237
|
+
field: C?.nodeId ?? "",
|
|
238
238
|
operator: "===",
|
|
239
239
|
value: ""
|
|
240
240
|
}],
|
|
@@ -256,7 +256,7 @@ var Zn = {
|
|
|
256
256
|
}), ne = (e) => {
|
|
257
257
|
e.stopPropagation();
|
|
258
258
|
}, re = () => {
|
|
259
|
-
|
|
259
|
+
k({
|
|
260
260
|
conditions: [],
|
|
261
261
|
isFallback: !1,
|
|
262
262
|
label: ""
|
|
@@ -273,31 +273,31 @@ var Zn = {
|
|
|
273
273
|
}, oe = (e) => {
|
|
274
274
|
(e === "basic" || e === "advanced") && _(e);
|
|
275
275
|
}, se = (e) => {
|
|
276
|
-
|
|
277
|
-
field:
|
|
276
|
+
C && (j("conditions", [{
|
|
277
|
+
field: C.nodeId,
|
|
278
278
|
operator: "===",
|
|
279
279
|
value: e
|
|
280
|
-
}]),
|
|
280
|
+
}]), j("isFallback", !1));
|
|
281
281
|
}, ce = () => {
|
|
282
|
-
if (f?.isFallback) return f.label ||
|
|
282
|
+
if (f?.isFallback) return f.label || w("editor.conditionalEdge.fallback");
|
|
283
283
|
if (f?.label) return f.label;
|
|
284
284
|
let e = f?.conditions ?? [];
|
|
285
285
|
if (e.length === 0) return null;
|
|
286
286
|
if (e.length === 1) {
|
|
287
|
-
let [t] = e, n =
|
|
287
|
+
let [t] = e, n = S.find((e) => e.nodeId === t.field)?.label ?? t.field ?? "";
|
|
288
288
|
return `${n === t.field && n.length > 5 ? `${n.slice(0, 5)}…` : n} ${Zn[t.operator] ?? t.operator} ${t.value ?? ""}`;
|
|
289
289
|
}
|
|
290
290
|
let t = e.filter((e) => e.logicalOperator === i.AND).length, n = e.filter((e) => e.logicalOperator === i.OR).length;
|
|
291
|
-
return t > 0 && n === 0 ? `${e.length} ${
|
|
292
|
-
}, ue = () => f?.isFallback ? "var(--treege-chart-4)" :
|
|
293
|
-
return
|
|
291
|
+
return t > 0 && n === 0 ? `${e.length} ${w("editor.conditionalEdge.conditionsAnd")}` : n > 0 && t === 0 ? `${e.length} ${w("editor.conditionalEdge.conditionsOr")}` : `${e.length} ${w("editor.conditionalEdge.conditionsMixed")}`;
|
|
292
|
+
}, ue = () => f?.isFallback ? "var(--treege-chart-4)" : O ? "var(--treege-chart-2)" : "var(--treege-chart-3)";
|
|
293
|
+
return x ? null : /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q(je, {
|
|
294
294
|
path: p,
|
|
295
295
|
markerEnd: u,
|
|
296
296
|
style: {
|
|
297
297
|
...d,
|
|
298
298
|
stroke: ue(),
|
|
299
299
|
strokeDasharray: f?.isFallback ? "5,5" : void 0,
|
|
300
|
-
strokeWidth:
|
|
300
|
+
strokeWidth: O ? 2 : d?.strokeWidth
|
|
301
301
|
}
|
|
302
302
|
}), /* @__PURE__ */ q(Pe, { children: /* @__PURE__ */ q("div", {
|
|
303
303
|
className: "nodrag nopan nowheel tg:absolute tg:z-10000",
|
|
@@ -311,13 +311,13 @@ var Zn = {
|
|
|
311
311
|
children: [/* @__PURE__ */ q(he, {
|
|
312
312
|
asChild: !0,
|
|
313
313
|
children: /* @__PURE__ */ J(I, {
|
|
314
|
-
variant:
|
|
314
|
+
variant: O ? "default" : "secondary",
|
|
315
315
|
size: "xs",
|
|
316
|
-
className: R("tg:transition-[filter]",
|
|
316
|
+
className: R("tg:transition-[filter]", O ? "tg:hover:bg-primary tg:hover:brightness-125" : "tg:hover:bg-secondary tg:hover:brightness-90"),
|
|
317
317
|
onClick: ne,
|
|
318
|
-
children: [/* @__PURE__ */ q(un, { className: "tg:h-3 tg:w-3" }),
|
|
318
|
+
children: [/* @__PURE__ */ q(un, { className: "tg:h-3 tg:w-3" }), O ? ce() : w("editor.conditionalEdge.defineCondition")]
|
|
319
319
|
})
|
|
320
|
-
}), /* @__PURE__ */ q(
|
|
320
|
+
}), /* @__PURE__ */ q(T, {
|
|
321
321
|
className: "tg:w-96 tg:p-1",
|
|
322
322
|
align: "center",
|
|
323
323
|
onClick: (e) => e.stopPropagation(),
|
|
@@ -334,10 +334,10 @@ var Zn = {
|
|
|
334
334
|
className: "tg:space-y-2",
|
|
335
335
|
children: [/* @__PURE__ */ q("h4", {
|
|
336
336
|
className: "tg:font-medium tg:leading-none",
|
|
337
|
-
children:
|
|
337
|
+
children: w("editor.conditionalEdge.displayConditions")
|
|
338
338
|
}), /* @__PURE__ */ q("p", {
|
|
339
339
|
className: "tg:text-muted-foreground tg:text-sm",
|
|
340
|
-
children:
|
|
340
|
+
children: w("editor.conditionalEdge.displayConditionsDesc")
|
|
341
341
|
})]
|
|
342
342
|
}),
|
|
343
343
|
/* @__PURE__ */ J(Yn, {
|
|
@@ -348,43 +348,43 @@ var Zn = {
|
|
|
348
348
|
onValueChange: oe,
|
|
349
349
|
children: [/* @__PURE__ */ q(Xn, {
|
|
350
350
|
value: "basic",
|
|
351
|
-
"aria-label":
|
|
352
|
-
children:
|
|
351
|
+
"aria-label": w("editor.conditionalEdge.basic"),
|
|
352
|
+
children: w("editor.conditionalEdge.basic")
|
|
353
353
|
}), /* @__PURE__ */ q(Xn, {
|
|
354
354
|
value: "advanced",
|
|
355
|
-
"aria-label":
|
|
356
|
-
children:
|
|
355
|
+
"aria-label": w("editor.conditionalEdge.advanced"),
|
|
356
|
+
children: w("editor.conditionalEdge.advanced")
|
|
357
357
|
})]
|
|
358
358
|
}),
|
|
359
359
|
g === "basic" ? /* @__PURE__ */ J("div", {
|
|
360
360
|
className: "tg:grid tg:gap-4",
|
|
361
|
-
children: [/* @__PURE__ */ q(
|
|
361
|
+
children: [/* @__PURE__ */ q(te, {
|
|
362
362
|
name: "label",
|
|
363
363
|
children: (e) => /* @__PURE__ */ J(z, { children: [
|
|
364
364
|
/* @__PURE__ */ q(V, {
|
|
365
365
|
htmlFor: e.name,
|
|
366
|
-
children:
|
|
366
|
+
children: w("editor.conditionalEdge.labelOptional")
|
|
367
367
|
}),
|
|
368
368
|
/* @__PURE__ */ q(L, {
|
|
369
369
|
id: e.name,
|
|
370
|
-
placeholder:
|
|
370
|
+
placeholder: w("editor.conditionalEdge.labelPlaceholder"),
|
|
371
371
|
value: e.state.value,
|
|
372
372
|
onChange: (t) => e.handleChange(t.target.value)
|
|
373
373
|
}),
|
|
374
|
-
/* @__PURE__ */ q(F, { children:
|
|
374
|
+
/* @__PURE__ */ q(F, { children: w("editor.conditionalEdge.labelDesc") })
|
|
375
375
|
] })
|
|
376
|
-
}),
|
|
376
|
+
}), C ? /* @__PURE__ */ q(te, {
|
|
377
377
|
name: "conditions",
|
|
378
378
|
children: (e) => {
|
|
379
|
-
let t = e.state.value?.[0]?.value ?? "", n =
|
|
380
|
-
return /* @__PURE__ */ J(z, { children: [/* @__PURE__ */ q(V, { children:
|
|
379
|
+
let t = e.state.value?.[0]?.value ?? "", n = C.options ?? [], r = n.length > 0;
|
|
380
|
+
return /* @__PURE__ */ J(z, { children: [/* @__PURE__ */ q(V, { children: w("editor.conditionalEdge.basicConditionLabel").replace("{name}", C.label) }), r ? /* @__PURE__ */ J(M, {
|
|
381
381
|
value: t,
|
|
382
382
|
onValueChange: se,
|
|
383
383
|
children: [/* @__PURE__ */ q(N, {
|
|
384
384
|
className: "tg:w-full",
|
|
385
|
-
children: /* @__PURE__ */ q(P, { placeholder:
|
|
386
|
-
}), /* @__PURE__ */ q(
|
|
387
|
-
let n =
|
|
385
|
+
children: /* @__PURE__ */ q(P, { placeholder: w("editor.conditionalEdge.selectValue") })
|
|
386
|
+
}), /* @__PURE__ */ q(A, { children: n.map((e) => {
|
|
387
|
+
let n = D.has(e.value) && e.value !== t, r = $n(e.label, b), i = r && r !== e.value ? `${r} (${e.value})` : e.value;
|
|
388
388
|
return /* @__PURE__ */ q(B, {
|
|
389
389
|
value: e.value,
|
|
390
390
|
disabled: n,
|
|
@@ -392,35 +392,35 @@ var Zn = {
|
|
|
392
392
|
}, e.value);
|
|
393
393
|
}) })]
|
|
394
394
|
}) : /* @__PURE__ */ q(L, {
|
|
395
|
-
placeholder:
|
|
395
|
+
placeholder: w("editor.conditionalEdge.valuePlaceholder"),
|
|
396
396
|
value: t,
|
|
397
397
|
onChange: (e) => se(e.target.value)
|
|
398
398
|
})] });
|
|
399
399
|
}
|
|
400
400
|
}) : /* @__PURE__ */ q("p", {
|
|
401
401
|
className: "tg:text-muted-foreground tg:text-sm",
|
|
402
|
-
children:
|
|
402
|
+
children: w("editor.conditionalEdge.noFieldsAvailable")
|
|
403
403
|
})]
|
|
404
404
|
}) : /* @__PURE__ */ J("div", {
|
|
405
405
|
className: "tg:grid tg:gap-4",
|
|
406
406
|
children: [
|
|
407
|
-
/* @__PURE__ */ q(
|
|
407
|
+
/* @__PURE__ */ q(te, {
|
|
408
408
|
name: "label",
|
|
409
409
|
children: (e) => /* @__PURE__ */ J(z, { children: [
|
|
410
410
|
/* @__PURE__ */ q(V, {
|
|
411
411
|
htmlFor: e.name,
|
|
412
|
-
children:
|
|
412
|
+
children: w("editor.conditionalEdge.labelOptional")
|
|
413
413
|
}),
|
|
414
414
|
/* @__PURE__ */ q(L, {
|
|
415
415
|
id: e.name,
|
|
416
|
-
placeholder:
|
|
416
|
+
placeholder: w("editor.conditionalEdge.labelPlaceholder"),
|
|
417
417
|
value: e.state.value,
|
|
418
418
|
onChange: (t) => e.handleChange(t.target.value)
|
|
419
419
|
}),
|
|
420
|
-
/* @__PURE__ */ q(F, { children:
|
|
420
|
+
/* @__PURE__ */ q(F, { children: w("editor.conditionalEdge.labelDesc") })
|
|
421
421
|
] })
|
|
422
422
|
}),
|
|
423
|
-
/* @__PURE__ */ q(
|
|
423
|
+
/* @__PURE__ */ q(te, {
|
|
424
424
|
name: "isFallback",
|
|
425
425
|
children: (e) => /* @__PURE__ */ q(z, { children: /* @__PURE__ */ J("div", {
|
|
426
426
|
className: "tg:flex tg:items-center tg:gap-3 tg:rounded-lg tg:border tg:bg-muted/20 tg:p-3",
|
|
@@ -433,15 +433,15 @@ var Zn = {
|
|
|
433
433
|
children: [/* @__PURE__ */ q(V, {
|
|
434
434
|
htmlFor: e.name,
|
|
435
435
|
className: "tg:cursor-pointer tg:font-medium",
|
|
436
|
-
children:
|
|
436
|
+
children: w("editor.conditionalEdge.fallbackPath")
|
|
437
437
|
}), /* @__PURE__ */ q(F, {
|
|
438
438
|
className: "tg:text-xs",
|
|
439
|
-
children:
|
|
439
|
+
children: w("editor.conditionalEdge.fallbackPathDesc")
|
|
440
440
|
})]
|
|
441
441
|
})]
|
|
442
442
|
}) })
|
|
443
443
|
}),
|
|
444
|
-
/* @__PURE__ */ q(
|
|
444
|
+
/* @__PURE__ */ q(te, {
|
|
445
445
|
name: "conditions",
|
|
446
446
|
mode: "array",
|
|
447
447
|
children: (e) => {
|
|
@@ -450,7 +450,7 @@ var Zn = {
|
|
|
450
450
|
className: "tg:space-y-3",
|
|
451
451
|
children: [/* @__PURE__ */ q(V, {
|
|
452
452
|
className: t ? "tg:text-muted-foreground" : "",
|
|
453
|
-
children:
|
|
453
|
+
children: w("editor.conditionalEdge.conditions")
|
|
454
454
|
}), /* @__PURE__ */ J("div", {
|
|
455
455
|
className: "tg:space-y-2",
|
|
456
456
|
children: [e.state.value?.map((n, r) => /* @__PURE__ */ J("div", {
|
|
@@ -458,11 +458,11 @@ var Zn = {
|
|
|
458
458
|
children: [/* @__PURE__ */ J("div", {
|
|
459
459
|
className: "tg:space-y-2 tg:rounded-lg tg:border tg:bg-muted/30 tg:p-3",
|
|
460
460
|
children: [
|
|
461
|
-
/* @__PURE__ */ q(
|
|
461
|
+
/* @__PURE__ */ q(te, {
|
|
462
462
|
name: `conditions[${r}].field`,
|
|
463
463
|
children: (e) => /* @__PURE__ */ J(z, { children: [/* @__PURE__ */ q(V, {
|
|
464
464
|
htmlFor: `field-${r}`,
|
|
465
|
-
children:
|
|
465
|
+
children: w("editor.conditionalEdge.field")
|
|
466
466
|
}), /* @__PURE__ */ J(M, {
|
|
467
467
|
disabled: t,
|
|
468
468
|
value: e.state.value || "",
|
|
@@ -470,12 +470,12 @@ var Zn = {
|
|
|
470
470
|
children: [/* @__PURE__ */ q(N, {
|
|
471
471
|
id: `field-${r}`,
|
|
472
472
|
className: "tg:w-full",
|
|
473
|
-
children: /* @__PURE__ */ q(P, { placeholder:
|
|
474
|
-
}), /* @__PURE__ */ q(
|
|
473
|
+
children: /* @__PURE__ */ q(P, { placeholder: w("editor.conditionalEdge.selectField") })
|
|
474
|
+
}), /* @__PURE__ */ q(A, { children: S.length === 0 ? /* @__PURE__ */ q(B, {
|
|
475
475
|
value: "none",
|
|
476
476
|
disabled: !0,
|
|
477
|
-
children:
|
|
478
|
-
}) :
|
|
477
|
+
children: w("editor.conditionalEdge.noFieldsAvailable")
|
|
478
|
+
}) : S.map((e) => /* @__PURE__ */ J(B, {
|
|
479
479
|
value: e.nodeId,
|
|
480
480
|
children: [
|
|
481
481
|
e.label,
|
|
@@ -488,11 +488,11 @@ var Zn = {
|
|
|
488
488
|
}),
|
|
489
489
|
/* @__PURE__ */ J("div", {
|
|
490
490
|
className: "tg:flex tg:gap-2",
|
|
491
|
-
children: [/* @__PURE__ */ q(
|
|
491
|
+
children: [/* @__PURE__ */ q(te, {
|
|
492
492
|
name: `conditions[${r}].operator`,
|
|
493
493
|
children: (e) => /* @__PURE__ */ J(z, { children: [/* @__PURE__ */ q(V, {
|
|
494
494
|
htmlFor: `operator-${r}`,
|
|
495
|
-
children:
|
|
495
|
+
children: w("editor.conditionalEdge.operator")
|
|
496
496
|
}), /* @__PURE__ */ J(M, {
|
|
497
497
|
disabled: t,
|
|
498
498
|
value: e.state.value || "===",
|
|
@@ -500,7 +500,7 @@ var Zn = {
|
|
|
500
500
|
children: [/* @__PURE__ */ q(N, {
|
|
501
501
|
id: `operator-${r}`,
|
|
502
502
|
children: /* @__PURE__ */ q(P, {})
|
|
503
|
-
}), /* @__PURE__ */ J(
|
|
503
|
+
}), /* @__PURE__ */ J(A, { children: [
|
|
504
504
|
/* @__PURE__ */ q(B, {
|
|
505
505
|
value: "===",
|
|
506
506
|
children: "="
|
|
@@ -527,17 +527,17 @@ var Zn = {
|
|
|
527
527
|
})
|
|
528
528
|
] })]
|
|
529
529
|
})] })
|
|
530
|
-
}), /* @__PURE__ */ q(
|
|
530
|
+
}), /* @__PURE__ */ q(te, {
|
|
531
531
|
name: `conditions[${r}].value`,
|
|
532
532
|
children: (e) => /* @__PURE__ */ J(z, {
|
|
533
533
|
className: "tg:w-full",
|
|
534
534
|
children: [/* @__PURE__ */ q(V, {
|
|
535
535
|
htmlFor: `value-${r}`,
|
|
536
|
-
children:
|
|
536
|
+
children: w("editor.conditionalEdge.value")
|
|
537
537
|
}), /* @__PURE__ */ q(L, {
|
|
538
538
|
disabled: t,
|
|
539
539
|
id: `value-${r}`,
|
|
540
|
-
placeholder:
|
|
540
|
+
placeholder: w("editor.conditionalEdge.valuePlaceholder"),
|
|
541
541
|
value: e.state.value || "",
|
|
542
542
|
onChange: (t) => e.handleChange(t.target.value)
|
|
543
543
|
})]
|
|
@@ -551,12 +551,12 @@ var Zn = {
|
|
|
551
551
|
size: "sm",
|
|
552
552
|
className: "tg:w-full",
|
|
553
553
|
onClick: () => {
|
|
554
|
-
e.removeValue(r),
|
|
554
|
+
e.removeValue(r), ee().then();
|
|
555
555
|
},
|
|
556
|
-
children: [/* @__PURE__ */ q(Y, { className: "tg:mr-1 tg:h-4 tg:w-4" }),
|
|
556
|
+
children: [/* @__PURE__ */ q(Y, { className: "tg:mr-1 tg:h-4 tg:w-4" }), w("editor.conditionalEdge.removeCondition")]
|
|
557
557
|
})
|
|
558
558
|
]
|
|
559
|
-
}), e.state.value && r < e.state.value.length - 1 && /* @__PURE__ */ q(
|
|
559
|
+
}), e.state.value && r < e.state.value.length - 1 && /* @__PURE__ */ q(te, {
|
|
560
560
|
name: `conditions[${r}].logicalOperator`,
|
|
561
561
|
children: (e) => /* @__PURE__ */ q("div", {
|
|
562
562
|
className: "tg:flex tg:justify-center",
|
|
@@ -567,7 +567,7 @@ var Zn = {
|
|
|
567
567
|
children: [/* @__PURE__ */ q(N, {
|
|
568
568
|
className: "tg:h-9 tg:w-32 tg:font-semibold",
|
|
569
569
|
children: /* @__PURE__ */ q(P, {})
|
|
570
|
-
}), /* @__PURE__ */ J(
|
|
570
|
+
}), /* @__PURE__ */ J(A, { children: [/* @__PURE__ */ q(B, {
|
|
571
571
|
value: i.AND,
|
|
572
572
|
children: "AND"
|
|
573
573
|
}), /* @__PURE__ */ q(B, {
|
|
@@ -585,13 +585,13 @@ var Zn = {
|
|
|
585
585
|
className: "tg:w-full",
|
|
586
586
|
onClick: () => {
|
|
587
587
|
e.pushValue({
|
|
588
|
-
field:
|
|
588
|
+
field: S[0]?.nodeId ?? "",
|
|
589
589
|
logicalOperator: i.AND,
|
|
590
590
|
operator: "===",
|
|
591
591
|
value: ""
|
|
592
|
-
}),
|
|
592
|
+
}), ee().then();
|
|
593
593
|
},
|
|
594
|
-
children: [/* @__PURE__ */ q(Jt, { className: "tg:mr-2 tg:h-4 tg:w-4" }),
|
|
594
|
+
children: [/* @__PURE__ */ q(Jt, { className: "tg:mr-2 tg:h-4 tg:w-4" }), w("editor.conditionalEdge.addCondition")]
|
|
595
595
|
})]
|
|
596
596
|
})]
|
|
597
597
|
});
|
|
@@ -607,7 +607,7 @@ var Zn = {
|
|
|
607
607
|
variant: "ghost",
|
|
608
608
|
className: "tg:text-destructive tg:hover:text-destructive",
|
|
609
609
|
onClick: ie,
|
|
610
|
-
children: [/* @__PURE__ */ q(on, { className: "tg:mr-1 tg:h-4 tg:w-4" }),
|
|
610
|
+
children: [/* @__PURE__ */ q(on, { className: "tg:mr-1 tg:h-4 tg:w-4" }), w("common.delete")]
|
|
611
611
|
}), /* @__PURE__ */ J("div", {
|
|
612
612
|
className: "tg:ml-auto tg:flex tg:gap-2",
|
|
613
613
|
children: [/* @__PURE__ */ J(I, {
|
|
@@ -615,12 +615,12 @@ var Zn = {
|
|
|
615
615
|
size: "sm",
|
|
616
616
|
variant: "outline",
|
|
617
617
|
onClick: re,
|
|
618
|
-
children: [/* @__PURE__ */ q(Y, { className: "tg:mr-1 tg:h-4 tg:w-4" }),
|
|
618
|
+
children: [/* @__PURE__ */ q(Y, { className: "tg:mr-1 tg:h-4 tg:w-4" }), w("common.clear")]
|
|
619
619
|
}), /* @__PURE__ */ q(I, {
|
|
620
620
|
type: "button",
|
|
621
621
|
size: "sm",
|
|
622
622
|
onClick: () => ae(!1),
|
|
623
|
-
children:
|
|
623
|
+
children: w("common.close")
|
|
624
624
|
})]
|
|
625
625
|
})]
|
|
626
626
|
})
|
|
@@ -663,24 +663,24 @@ var Zn = {
|
|
|
663
663
|
divider: "divider",
|
|
664
664
|
title: "title"
|
|
665
665
|
}, nr = {
|
|
666
|
-
[
|
|
667
|
-
[
|
|
668
|
-
[
|
|
669
|
-
[
|
|
670
|
-
[
|
|
671
|
-
[
|
|
672
|
-
[
|
|
673
|
-
[
|
|
674
|
-
[
|
|
675
|
-
[
|
|
676
|
-
[
|
|
677
|
-
[
|
|
678
|
-
[
|
|
679
|
-
[
|
|
680
|
-
[
|
|
681
|
-
[
|
|
682
|
-
[
|
|
683
|
-
[
|
|
666
|
+
[u.address]: Ht,
|
|
667
|
+
[u.autocomplete]: $t,
|
|
668
|
+
[u.checkbox]: ft,
|
|
669
|
+
[u.date]: ct,
|
|
670
|
+
[u.daterange]: lt,
|
|
671
|
+
[u.file]: Kt,
|
|
672
|
+
[u.hidden]: wt,
|
|
673
|
+
[u.http]: xt,
|
|
674
|
+
[u.number]: At,
|
|
675
|
+
[u.password]: Ft,
|
|
676
|
+
[u.radio]: _t,
|
|
677
|
+
[u.select]: zt,
|
|
678
|
+
[u.submit]: en,
|
|
679
|
+
[u.switch]: an,
|
|
680
|
+
[u.text]: ut,
|
|
681
|
+
[u.textarea]: Qt,
|
|
682
|
+
[u.time]: yt,
|
|
683
|
+
[u.timerange]: bt,
|
|
684
684
|
[tr.divider]: Wt,
|
|
685
685
|
[tr.title]: jt
|
|
686
686
|
}, rr = Xt, ir = (e) => e && nr[e] || rr;
|
|
@@ -787,10 +787,10 @@ var gr = ({ onSelect: e }) => {
|
|
|
787
787
|
side: "bottom",
|
|
788
788
|
className: "treege-scrollbar tg:max-h-80",
|
|
789
789
|
children: [
|
|
790
|
-
/* @__PURE__ */ J(cr, { children: [/* @__PURE__ */ q(dr, { children: t("editor.selectNodeType.options.input") }), Object.values(
|
|
790
|
+
/* @__PURE__ */ J(cr, { children: [/* @__PURE__ */ q(dr, { children: t("editor.selectNodeType.options.input") }), Object.values(u).map((t) => /* @__PURE__ */ J($, {
|
|
791
791
|
onClick: () => e({
|
|
792
792
|
data: { type: t },
|
|
793
|
-
type:
|
|
793
|
+
type: c.input
|
|
794
794
|
}),
|
|
795
795
|
className: "tg:capitalize",
|
|
796
796
|
children: [/* @__PURE__ */ q(ir(t), {}), t]
|
|
@@ -799,7 +799,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
799
799
|
/* @__PURE__ */ J(cr, { children: [/* @__PURE__ */ q(dr, { children: t("editor.selectNodeType.options.ui") }), Object.values(tr).map((t) => /* @__PURE__ */ J($, {
|
|
800
800
|
onClick: () => e({
|
|
801
801
|
data: { type: t },
|
|
802
|
-
type:
|
|
802
|
+
type: c.ui
|
|
803
803
|
}),
|
|
804
804
|
className: "tg:capitalize",
|
|
805
805
|
children: [/* @__PURE__ */ q(ir(t), {}), t]
|
|
@@ -950,123 +950,123 @@ var gr = ({ onSelect: e }) => {
|
|
|
950
950
|
};
|
|
951
951
|
});
|
|
952
952
|
}, Dr = () => {
|
|
953
|
-
let { setNodes:
|
|
954
|
-
let
|
|
955
|
-
if (
|
|
956
|
-
|
|
953
|
+
let { setNodes: t, setEdges: n, screenToFlowPosition: r, getNode: i, getNodes: a, getEdges: o } = qe(), { takeSnapshot: s } = Sr(), c = H((r, i, a = !1, c) => {
|
|
954
|
+
let l = r.id, u = o().filter((e) => e.source === l), d = e(r);
|
|
955
|
+
if (u.length > 0 && !d) return;
|
|
956
|
+
s();
|
|
957
957
|
let f = vr(), p = {
|
|
958
958
|
...yr,
|
|
959
|
-
...
|
|
960
|
-
data:
|
|
961
|
-
type:
|
|
959
|
+
...c && {
|
|
960
|
+
data: c.data ?? {},
|
|
961
|
+
type: c.type
|
|
962
962
|
},
|
|
963
963
|
id: f,
|
|
964
|
-
position:
|
|
965
|
-
selected:
|
|
964
|
+
position: i,
|
|
965
|
+
selected: a
|
|
966
966
|
};
|
|
967
|
-
|
|
968
|
-
let t = e.filter((e) => e.source ===
|
|
967
|
+
r?.parentId && (p.parentId = r.parentId), t((e) => e.concat(p)), n((e) => {
|
|
968
|
+
let t = e.filter((e) => e.source === l).length > 0, n = {
|
|
969
969
|
data: t && d ? { conditions: [{
|
|
970
|
-
field:
|
|
970
|
+
field: l,
|
|
971
971
|
operator: "===",
|
|
972
972
|
value: ""
|
|
973
973
|
}] } : void 0,
|
|
974
974
|
id: vr(),
|
|
975
|
-
source:
|
|
975
|
+
source: l,
|
|
976
976
|
target: f,
|
|
977
977
|
type: t && d ? "conditional" : "default"
|
|
978
978
|
};
|
|
979
|
-
return t && d ? e.map((e) => e.source ===
|
|
979
|
+
return t && d ? e.map((e) => e.source === l ? {
|
|
980
980
|
...e,
|
|
981
981
|
data: {
|
|
982
982
|
...e.data,
|
|
983
983
|
conditions: e.data?.conditions || [{
|
|
984
|
-
field:
|
|
984
|
+
field: l,
|
|
985
985
|
operator: "===",
|
|
986
986
|
value: ""
|
|
987
987
|
}]
|
|
988
988
|
},
|
|
989
989
|
type: "conditional"
|
|
990
990
|
} : e).concat(n) : e.concat(n);
|
|
991
|
-
}),
|
|
992
|
-
|
|
991
|
+
}), a && requestAnimationFrame(() => {
|
|
992
|
+
t((e) => e.map((e) => ({
|
|
993
993
|
...e,
|
|
994
994
|
selected: e.id === f
|
|
995
|
-
}))),
|
|
995
|
+
}))), n((e) => e.map((e) => ({
|
|
996
996
|
...e,
|
|
997
997
|
selected: !1
|
|
998
998
|
})));
|
|
999
999
|
});
|
|
1000
1000
|
}, [
|
|
1001
|
-
|
|
1002
|
-
e,
|
|
1001
|
+
o,
|
|
1003
1002
|
t,
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1003
|
+
n,
|
|
1004
|
+
s
|
|
1005
|
+
]), l = H((e, r) => {
|
|
1006
|
+
s();
|
|
1007
|
+
let i = getComputedStyle(document.documentElement).getPropertyValue("--node-height"), a = parseFloat(i) || 100, { node: o, edges: c } = wr(e, r, {
|
|
1008
1008
|
baseNode: yr,
|
|
1009
1009
|
commonNodeId: vr(),
|
|
1010
1010
|
nodeHeight: a,
|
|
1011
1011
|
verticalSpacing: 100
|
|
1012
1012
|
});
|
|
1013
|
-
|
|
1014
|
-
|
|
1013
|
+
t((e) => e.concat(o)), n((e) => e.concat(...c)), requestAnimationFrame(() => {
|
|
1014
|
+
t((e) => e.map((e) => ({
|
|
1015
1015
|
...e,
|
|
1016
|
-
selected: e.id ===
|
|
1017
|
-
}))),
|
|
1016
|
+
selected: e.id === o.id
|
|
1017
|
+
}))), n((e) => e.map((e) => ({
|
|
1018
1018
|
...e,
|
|
1019
1019
|
selected: !1
|
|
1020
1020
|
})));
|
|
1021
1021
|
});
|
|
1022
1022
|
}, [
|
|
1023
|
-
e,
|
|
1024
1023
|
t,
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
c
|
|
1029
|
-
|
|
1030
|
-
|
|
1024
|
+
n,
|
|
1025
|
+
s
|
|
1026
|
+
]), u = H((t) => {
|
|
1027
|
+
let r = t.source, a = i(r), c = o(), l = !c.some((e) => e.source === r), u = !c.some((e) => e.source === t.target);
|
|
1028
|
+
l && u || (s(), n((n) => {
|
|
1029
|
+
let i = Ve(t, n);
|
|
1030
|
+
return i.filter((e) => e.source === r).length > 1 && a && e(a) ? i.map((e) => e.source === r ? {
|
|
1031
1031
|
...e,
|
|
1032
1032
|
data: {
|
|
1033
1033
|
...e.data,
|
|
1034
1034
|
conditions: e.data?.conditions || [{
|
|
1035
|
-
field:
|
|
1035
|
+
field: r,
|
|
1036
1036
|
operator: "===",
|
|
1037
1037
|
value: ""
|
|
1038
1038
|
}]
|
|
1039
1039
|
},
|
|
1040
1040
|
type: "conditional"
|
|
1041
|
-
} : e) :
|
|
1041
|
+
} : e) : i;
|
|
1042
1042
|
}));
|
|
1043
1043
|
}, [
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1044
|
+
n,
|
|
1045
|
+
i,
|
|
1046
|
+
o,
|
|
1047
|
+
s
|
|
1048
1048
|
]), d = H((e, t) => {
|
|
1049
|
-
let n =
|
|
1049
|
+
let n = i(e);
|
|
1050
1050
|
if (!n) return;
|
|
1051
|
-
let
|
|
1052
|
-
|
|
1051
|
+
let r = getComputedStyle(document.documentElement).getPropertyValue("--node-height"), s = getComputedStyle(document.documentElement).getPropertyValue("--node-width"), l = parseFloat(r) || 100, u = parseFloat(s) || 100, d = n.position.y + l + 100, f = a(), p = o(), m = f.filter((t) => p.some((n) => n.source === e && n.target === t.id)).map((e) => e.position.x);
|
|
1052
|
+
c(n, {
|
|
1053
1053
|
x: m.length === 0 ? n.position.x : m.length % 2 == 1 ? Math.max(...m) + u + 50 : Math.min(...m) - u - 50,
|
|
1054
1054
|
y: d
|
|
1055
1055
|
}, !0, t);
|
|
1056
1056
|
}, [
|
|
1057
|
-
r,
|
|
1058
1057
|
i,
|
|
1059
1058
|
a,
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
o();
|
|
1065
|
-
|
|
1059
|
+
o,
|
|
1060
|
+
c
|
|
1061
|
+
]), f = H((r, a) => {
|
|
1062
|
+
let o = i(r);
|
|
1063
|
+
if (!(o && e(o))) return;
|
|
1064
|
+
s();
|
|
1065
|
+
let c = getComputedStyle(document.documentElement).getPropertyValue("--node-height"), l = getComputedStyle(document.documentElement).getPropertyValue("--node-width"), u = parseFloat(c) || 100, d = parseFloat(l) || 100, f = o.position.y + u + 100, p = d / 2 + 50 / 2, m = (e, t) => {
|
|
1066
1066
|
let n = {
|
|
1067
1067
|
...yr,
|
|
1068
|
-
...
|
|
1069
|
-
data: { ...
|
|
1068
|
+
...a ? { type: a.type } : {},
|
|
1069
|
+
data: { ...a?.data ?? yr.data },
|
|
1070
1070
|
id: vr(),
|
|
1071
1071
|
position: {
|
|
1072
1072
|
x: e,
|
|
@@ -1074,50 +1074,50 @@ var gr = ({ onSelect: e }) => {
|
|
|
1074
1074
|
},
|
|
1075
1075
|
selected: t
|
|
1076
1076
|
};
|
|
1077
|
-
return
|
|
1078
|
-
}, h = m(
|
|
1079
|
-
|
|
1077
|
+
return o.parentId && (n.parentId = o.parentId), n;
|
|
1078
|
+
}, h = m(o.position.x - p, !0), g = m(o.position.x + p, !1);
|
|
1079
|
+
t((e) => e.concat(h, g)), n((e) => {
|
|
1080
1080
|
let t = () => [{
|
|
1081
|
-
field:
|
|
1081
|
+
field: r,
|
|
1082
1082
|
operator: "===",
|
|
1083
1083
|
value: ""
|
|
1084
|
-
}],
|
|
1084
|
+
}], n = [h, g].map((e) => ({
|
|
1085
1085
|
data: { conditions: t() },
|
|
1086
1086
|
id: vr(),
|
|
1087
|
-
source:
|
|
1087
|
+
source: r,
|
|
1088
1088
|
target: e.id,
|
|
1089
1089
|
type: "conditional"
|
|
1090
1090
|
}));
|
|
1091
|
-
return e.map((e) => e.source ===
|
|
1091
|
+
return e.map((e) => e.source === r ? {
|
|
1092
1092
|
...e,
|
|
1093
1093
|
data: {
|
|
1094
1094
|
...e.data,
|
|
1095
1095
|
conditions: e.data?.conditions || t()
|
|
1096
1096
|
},
|
|
1097
1097
|
type: "conditional"
|
|
1098
|
-
} : e).concat(
|
|
1098
|
+
} : e).concat(n);
|
|
1099
1099
|
}), requestAnimationFrame(() => {
|
|
1100
|
-
|
|
1100
|
+
t((e) => e.map((e) => ({
|
|
1101
1101
|
...e,
|
|
1102
1102
|
selected: e.id === h.id
|
|
1103
|
-
}))),
|
|
1103
|
+
}))), n((e) => e.map((e) => ({
|
|
1104
1104
|
...e,
|
|
1105
1105
|
selected: !1
|
|
1106
1106
|
})));
|
|
1107
1107
|
});
|
|
1108
1108
|
}, [
|
|
1109
|
-
|
|
1110
|
-
e,
|
|
1109
|
+
i,
|
|
1111
1110
|
t,
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1111
|
+
n,
|
|
1112
|
+
s
|
|
1113
|
+
]), p = H((e, r) => {
|
|
1114
|
+
let a = i(e);
|
|
1115
|
+
if (!a) return;
|
|
1116
|
+
let c = o(), l = c.filter((t) => t.source === e);
|
|
1117
1117
|
if (l.length !== 1) return;
|
|
1118
|
-
let u = l[0], d =
|
|
1118
|
+
let u = l[0], d = i(u.target);
|
|
1119
1119
|
if (!d) return;
|
|
1120
|
-
|
|
1120
|
+
s();
|
|
1121
1121
|
let f = getComputedStyle(document.documentElement).getPropertyValue("--node-height"), p = (parseFloat(f) || 100) + 100, m = new Set([d.id]), h = [d.id];
|
|
1122
1122
|
for (; h.length > 0;) {
|
|
1123
1123
|
let e = h.shift();
|
|
@@ -1127,9 +1127,9 @@ var gr = ({ onSelect: e }) => {
|
|
|
1127
1127
|
}
|
|
1128
1128
|
let g = vr(), _ = {
|
|
1129
1129
|
...yr,
|
|
1130
|
-
...
|
|
1131
|
-
data:
|
|
1132
|
-
type:
|
|
1130
|
+
...r && {
|
|
1131
|
+
data: r.data ?? {},
|
|
1132
|
+
type: r.type
|
|
1133
1133
|
},
|
|
1134
1134
|
id: g,
|
|
1135
1135
|
position: {
|
|
@@ -1138,121 +1138,121 @@ var gr = ({ onSelect: e }) => {
|
|
|
1138
1138
|
},
|
|
1139
1139
|
selected: !0
|
|
1140
1140
|
};
|
|
1141
|
-
|
|
1141
|
+
a.parentId && (_.parentId = a.parentId), t((e) => e.map((e) => m.has(e.id) ? {
|
|
1142
1142
|
...e,
|
|
1143
1143
|
position: {
|
|
1144
1144
|
x: e.position.x,
|
|
1145
1145
|
y: e.position.y + p
|
|
1146
1146
|
}
|
|
1147
|
-
} : e).concat(_)),
|
|
1147
|
+
} : e).concat(_)), n((t) => t.map((e) => e.id === u.id ? {
|
|
1148
1148
|
...e,
|
|
1149
1149
|
source: g
|
|
1150
1150
|
} : e).concat({
|
|
1151
1151
|
id: vr(),
|
|
1152
|
-
source:
|
|
1152
|
+
source: e,
|
|
1153
1153
|
target: g,
|
|
1154
1154
|
type: "default"
|
|
1155
1155
|
})), requestAnimationFrame(() => {
|
|
1156
|
-
|
|
1156
|
+
t((e) => e.map((e) => ({
|
|
1157
1157
|
...e,
|
|
1158
1158
|
selected: e.id === g
|
|
1159
|
-
}))),
|
|
1159
|
+
}))), n((e) => e.map((e) => ({
|
|
1160
1160
|
...e,
|
|
1161
1161
|
selected: !1
|
|
1162
1162
|
})));
|
|
1163
1163
|
});
|
|
1164
1164
|
}, [
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
e,
|
|
1165
|
+
i,
|
|
1166
|
+
o,
|
|
1168
1167
|
t,
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1168
|
+
n,
|
|
1169
|
+
s
|
|
1170
|
+
]), m = H((e, r) => {
|
|
1171
|
+
let a = i(e), o = i(r);
|
|
1172
|
+
if (!(a && o)) return;
|
|
1173
|
+
s(), n((t) => t.map((t) => t.source === e && t.target === r ? {
|
|
1174
|
+
...t,
|
|
1175
|
+
source: r,
|
|
1176
|
+
target: e
|
|
1177
|
+
} : t.target === e ? {
|
|
1178
|
+
...t,
|
|
1179
|
+
target: r
|
|
1180
|
+
} : t.source === r ? {
|
|
1181
|
+
...t,
|
|
1182
|
+
source: e
|
|
1183
|
+
} : t));
|
|
1184
|
+
let c = a.measured?.height, l = o.measured?.height, u = c != null && l != null ? l - c : 0;
|
|
1185
|
+
t((t) => t.map((t) => t.id === e ? {
|
|
1186
|
+
...t,
|
|
1187
1187
|
position: {
|
|
1188
|
-
x:
|
|
1189
|
-
y:
|
|
1188
|
+
x: t.position.x,
|
|
1189
|
+
y: o.position.y + u
|
|
1190
1190
|
}
|
|
1191
|
-
} :
|
|
1192
|
-
...
|
|
1191
|
+
} : t.id === r ? {
|
|
1192
|
+
...t,
|
|
1193
1193
|
position: {
|
|
1194
|
-
x:
|
|
1194
|
+
x: t.position.x,
|
|
1195
1195
|
y: a.position.y
|
|
1196
1196
|
}
|
|
1197
|
-
} :
|
|
1197
|
+
} : t));
|
|
1198
1198
|
}, [
|
|
1199
|
-
|
|
1200
|
-
e,
|
|
1199
|
+
i,
|
|
1201
1200
|
t,
|
|
1202
|
-
|
|
1201
|
+
n,
|
|
1202
|
+
s
|
|
1203
1203
|
]), h = H((e) => {
|
|
1204
|
-
let t =
|
|
1204
|
+
let t = o(), n = t.filter((t) => t.target === e);
|
|
1205
1205
|
if (n.length !== 1 || t.filter((t) => t.source === e).length > 1) return;
|
|
1206
1206
|
let r = n[0].source;
|
|
1207
1207
|
t.filter((e) => e.source === r).length === 1 && m(r, e);
|
|
1208
|
-
}, [
|
|
1209
|
-
let t =
|
|
1208
|
+
}, [o, m]), g = H((e) => {
|
|
1209
|
+
let t = o(), n = t.filter((t) => t.source === e);
|
|
1210
1210
|
if (n.length !== 1) return;
|
|
1211
1211
|
let r = n[0].target;
|
|
1212
1212
|
t.filter((e) => e.target === r).length === 1 && (t.filter((e) => e.source === r).length > 1 || m(e, r));
|
|
1213
|
-
}, [
|
|
1214
|
-
let
|
|
1215
|
-
if (!
|
|
1216
|
-
let { clientX:
|
|
1217
|
-
if (u && u !==
|
|
1218
|
-
let e =
|
|
1219
|
-
e &&
|
|
1213
|
+
}, [o, m]), _ = H((e, t) => {
|
|
1214
|
+
let n = t.fromNode;
|
|
1215
|
+
if (!n) return;
|
|
1216
|
+
let { clientX: a, clientY: s } = "changedTouches" in e ? e.changedTouches[0] : e, u = document.elementFromPoint(a, s)?.closest?.(".react-flow__node")?.getAttribute("data-id") ?? null ?? t.toNode?.id ?? null;
|
|
1217
|
+
if (u && u !== n.id) {
|
|
1218
|
+
let e = i(u), t = o(), r = !t.some((e) => e.source === n.id), a = !t.some((e) => e.source === u);
|
|
1219
|
+
e && r && a && l(n, e);
|
|
1220
1220
|
return;
|
|
1221
1221
|
}
|
|
1222
1222
|
if (!t.isValid) {
|
|
1223
|
-
let e =
|
|
1224
|
-
x:
|
|
1225
|
-
y:
|
|
1226
|
-
}), t =
|
|
1223
|
+
let e = r({
|
|
1224
|
+
x: a,
|
|
1225
|
+
y: s
|
|
1226
|
+
}), t = n.parentId ? i(n.parentId) : void 0, o = t?.position ?? {
|
|
1227
1227
|
x: 0,
|
|
1228
1228
|
y: 0
|
|
1229
1229
|
};
|
|
1230
|
-
|
|
1231
|
-
x: e.x -
|
|
1232
|
-
y: e.y -
|
|
1230
|
+
c(n, t ? {
|
|
1231
|
+
x: e.x - o.x,
|
|
1232
|
+
y: e.y - o.y
|
|
1233
1233
|
} : e, !0);
|
|
1234
1234
|
}
|
|
1235
1235
|
}, [
|
|
1236
|
+
l,
|
|
1236
1237
|
c,
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
n
|
|
1238
|
+
i,
|
|
1239
|
+
o,
|
|
1240
|
+
r
|
|
1241
1241
|
]), v = H((e) => {
|
|
1242
|
-
|
|
1243
|
-
}, [
|
|
1242
|
+
n((t) => Er(t.filter((t) => !e.find((e) => e.id === t.id)), new Set(e.map((e) => e.source))));
|
|
1243
|
+
}, [n]);
|
|
1244
1244
|
return {
|
|
1245
|
-
isValidConnection: H((
|
|
1246
|
-
if (
|
|
1247
|
-
let
|
|
1248
|
-
if (!
|
|
1249
|
-
let
|
|
1250
|
-
return Cr(
|
|
1251
|
-
}, [
|
|
1245
|
+
isValidConnection: H((t) => {
|
|
1246
|
+
if (t.source === t.target) return !1;
|
|
1247
|
+
let n = i(t.source);
|
|
1248
|
+
if (!n) return !1;
|
|
1249
|
+
let r = o();
|
|
1250
|
+
return Cr(r, t.source, t.target) || Tr(r, t.source, t.target) ? !1 : !(r.filter((e) => e.source === t.source).length > 0 && !e(n));
|
|
1251
|
+
}, [i, o]),
|
|
1252
1252
|
moveStackNodeDown: g,
|
|
1253
1253
|
moveStackNodeUp: h,
|
|
1254
1254
|
onAddFromHandle: d,
|
|
1255
|
-
onConnect:
|
|
1255
|
+
onConnect: u,
|
|
1256
1256
|
onConnectEnd: _,
|
|
1257
1257
|
onCreateBranch: f,
|
|
1258
1258
|
onEdgesDelete: v,
|
|
@@ -1294,9 +1294,9 @@ var gr = ({ onSelect: e }) => {
|
|
|
1294
1294
|
children: [
|
|
1295
1295
|
/* @__PURE__ */ q("div", {
|
|
1296
1296
|
className: R("tg:flex tg:items-center tg:gap-2", _ && "tg:pointer-events-none tg:opacity-0 tg:transition-opacity tg:duration-0 tg:focus-within:pointer-events-auto tg:focus-within:opacity-100 tg:focus-within:duration-150 tg:group-hover/seam:pointer-events-auto tg:group-hover/seam:opacity-100 tg:group-hover/seam:duration-150"),
|
|
1297
|
-
children: /* @__PURE__ */ J(
|
|
1297
|
+
children: /* @__PURE__ */ J(j, {
|
|
1298
1298
|
delayDuration: 300,
|
|
1299
|
-
children: [_ && /* @__PURE__ */ J(
|
|
1299
|
+
children: [_ && /* @__PURE__ */ J(D, {
|
|
1300
1300
|
disableHoverableContent: !0,
|
|
1301
1301
|
children: [/* @__PURE__ */ q(fe, {
|
|
1302
1302
|
asChild: !0,
|
|
@@ -1311,7 +1311,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
1311
1311
|
side: "left",
|
|
1312
1312
|
children: h("editor.stackedEdge.insertNode")
|
|
1313
1313
|
})]
|
|
1314
|
-
}), _ && !g ? /* @__PURE__ */ J(
|
|
1314
|
+
}), _ && !g ? /* @__PURE__ */ J(D, {
|
|
1315
1315
|
disableHoverableContent: !0,
|
|
1316
1316
|
children: [/* @__PURE__ */ q(fe, {
|
|
1317
1317
|
asChild: !0,
|
|
@@ -1371,7 +1371,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
1371
1371
|
]
|
|
1372
1372
|
});
|
|
1373
1373
|
}, kr = () => {
|
|
1374
|
-
let e = Ge(), t = W(() => e.filter(
|
|
1374
|
+
let e = Ge(), t = W(() => e.filter(s), [e]), n = W(() => e.filter((e) => e.selected), [e]), r = W(() => e.find((e) => e.selected), [e]);
|
|
1375
1375
|
return {
|
|
1376
1376
|
groupNodes: t,
|
|
1377
1377
|
hasSelectedNodes: n.length > 0,
|
|
@@ -1380,15 +1380,15 @@ var gr = ({ onSelect: e }) => {
|
|
|
1380
1380
|
selectedNodes: n
|
|
1381
1381
|
};
|
|
1382
1382
|
}, Ar = ({ targetNodes: e, hideLabel: t, onChange: n } = {}) => {
|
|
1383
|
-
let [r, i] = G(""), [a, o] = G(""), [
|
|
1384
|
-
|
|
1385
|
-
if (
|
|
1383
|
+
let [r, i] = G(""), [a, o] = G(""), [c, l] = G(!1), [u, f] = G(!1), { selectedNode: m, groupNodes: h } = kr(), { setNodes: g } = qe(), _ = Q(), v = tt(), y = tt(), b = tt(), x = W(() => e ?? (m ? [m] : []), [e, m]), S = x.length > 0 && x.every(s), C = W(() => new Set(x.map((e) => e.id)), [x]), w = W(() => new Set(x.map((e) => e.parentId)), [x]).size > 1, E = !w && x[0] ? x[0].parentId : void 0, D = E ? h.find((e) => e.id === E) : void 0, O = d(D?.data?.label), ee = w ? "" : E ?? "none", k = _(w ? "editor.selectNodeGroup.mixed" : "editor.selectNodeGroup.noGroup"), j = (e) => {
|
|
1384
|
+
x.length !== 0 && (g((t) => e === "none" ? t.map((e) => {
|
|
1385
|
+
if (C.has(e.id)) {
|
|
1386
1386
|
let { parentId: t, extent: n, ...r } = e;
|
|
1387
1387
|
return r;
|
|
1388
1388
|
}
|
|
1389
1389
|
return e;
|
|
1390
1390
|
}) : t.find((t) => t.id === e) ? t.map((t) => {
|
|
1391
|
-
if (
|
|
1391
|
+
if (C.has(t.id)) {
|
|
1392
1392
|
let { extent: n, ...r } = t;
|
|
1393
1393
|
return {
|
|
1394
1394
|
...r,
|
|
@@ -1397,10 +1397,10 @@ var gr = ({ onSelect: e }) => {
|
|
|
1397
1397
|
}
|
|
1398
1398
|
return t;
|
|
1399
1399
|
}) : t), n?.());
|
|
1400
|
-
},
|
|
1400
|
+
}, te = () => {
|
|
1401
1401
|
let e = r.trim();
|
|
1402
|
-
if (!e ||
|
|
1403
|
-
if (
|
|
1402
|
+
if (!e || x.length === 0) return;
|
|
1403
|
+
if (h.find((t) => d(t.data?.label).toLowerCase() === e.toLowerCase())) {
|
|
1404
1404
|
X.error("This group already exists", { description: "Use the selector to add the node to an existing group." });
|
|
1405
1405
|
return;
|
|
1406
1406
|
}
|
|
@@ -1415,7 +1415,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
1415
1415
|
},
|
|
1416
1416
|
type: "group"
|
|
1417
1417
|
}, ...n.map((e) => {
|
|
1418
|
-
if (
|
|
1418
|
+
if (C.has(e.id)) {
|
|
1419
1419
|
let { extent: n, ...r } = e;
|
|
1420
1420
|
return {
|
|
1421
1421
|
...r,
|
|
@@ -1423,25 +1423,25 @@ var gr = ({ onSelect: e }) => {
|
|
|
1423
1423
|
};
|
|
1424
1424
|
}
|
|
1425
1425
|
return e;
|
|
1426
|
-
})]), i(""),
|
|
1426
|
+
})]), i(""), l(!1), X.success("Group created", { description: `The group "${e}" has been created successfully.` }), n?.();
|
|
1427
1427
|
}, ne = () => {
|
|
1428
|
-
if (!(a.trim() &&
|
|
1428
|
+
if (!(a.trim() && D)) return;
|
|
1429
1429
|
let e = a.trim();
|
|
1430
|
-
if (
|
|
1430
|
+
if (h.find((t) => t.id !== D.id && d(t.data?.label).toLowerCase() === e.toLowerCase())) {
|
|
1431
1431
|
X.error("This group already exists", { description: "Choose a different name." });
|
|
1432
1432
|
return;
|
|
1433
1433
|
}
|
|
1434
|
-
g((t) => t.map((t) => t.id ===
|
|
1434
|
+
g((t) => t.map((t) => t.id === D.id ? {
|
|
1435
1435
|
...t,
|
|
1436
1436
|
data: {
|
|
1437
1437
|
...t.data,
|
|
1438
1438
|
label: p(t.data?.label, "en", e)
|
|
1439
1439
|
}
|
|
1440
|
-
} : t)),
|
|
1440
|
+
} : t)), f(!1);
|
|
1441
1441
|
};
|
|
1442
1442
|
return U(() => {
|
|
1443
|
-
|
|
1444
|
-
}, [
|
|
1443
|
+
u && o(String(O ?? ""));
|
|
1444
|
+
}, [u, O]), S || x.length === 0 ? null : /* @__PURE__ */ J("div", {
|
|
1445
1445
|
className: "tg:space-y-2",
|
|
1446
1446
|
children: [!t && /* @__PURE__ */ q(V, {
|
|
1447
1447
|
htmlFor: v,
|
|
@@ -1450,23 +1450,23 @@ var gr = ({ onSelect: e }) => {
|
|
|
1450
1450
|
className: "tg:flex tg:gap-2",
|
|
1451
1451
|
children: [
|
|
1452
1452
|
/* @__PURE__ */ J(M, {
|
|
1453
|
-
value:
|
|
1454
|
-
onValueChange:
|
|
1453
|
+
value: ee,
|
|
1454
|
+
onValueChange: j,
|
|
1455
1455
|
children: [/* @__PURE__ */ q(N, {
|
|
1456
1456
|
id: v,
|
|
1457
1457
|
className: "tg:flex-1",
|
|
1458
|
-
children: /* @__PURE__ */ q(P, { placeholder:
|
|
1459
|
-
}), /* @__PURE__ */ q(
|
|
1458
|
+
children: /* @__PURE__ */ q(P, { placeholder: k })
|
|
1459
|
+
}), /* @__PURE__ */ q(A, { children: /* @__PURE__ */ J(re, { children: [/* @__PURE__ */ q(B, {
|
|
1460
1460
|
value: "none",
|
|
1461
1461
|
children: _("editor.selectNodeGroup.noGroup")
|
|
1462
|
-
}),
|
|
1462
|
+
}), h.map((e) => /* @__PURE__ */ q(B, {
|
|
1463
1463
|
value: e.id,
|
|
1464
|
-
children:
|
|
1464
|
+
children: d(e.data.label) || e.id
|
|
1465
1465
|
}, e.id))] }) })]
|
|
1466
1466
|
}),
|
|
1467
|
-
|
|
1468
|
-
open:
|
|
1469
|
-
onOpenChange:
|
|
1467
|
+
D && /* @__PURE__ */ J(le, {
|
|
1468
|
+
open: u,
|
|
1469
|
+
onOpenChange: f,
|
|
1470
1470
|
children: [/* @__PURE__ */ q(he, {
|
|
1471
1471
|
asChild: !0,
|
|
1472
1472
|
children: /* @__PURE__ */ q(I, {
|
|
@@ -1475,7 +1475,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
1475
1475
|
title: _("editor.selectNodeGroup.renameGroup"),
|
|
1476
1476
|
children: /* @__PURE__ */ q(qt, { className: "tg:h-4 tg:w-4" })
|
|
1477
1477
|
})
|
|
1478
|
-
}), /* @__PURE__ */ q(
|
|
1478
|
+
}), /* @__PURE__ */ q(T, {
|
|
1479
1479
|
className: "tg:w-80",
|
|
1480
1480
|
align: "end",
|
|
1481
1481
|
onClick: (e) => e.stopPropagation(),
|
|
@@ -1492,11 +1492,11 @@ var gr = ({ onSelect: e }) => {
|
|
|
1492
1492
|
/* @__PURE__ */ J("div", {
|
|
1493
1493
|
className: "tg:space-y-2",
|
|
1494
1494
|
children: [/* @__PURE__ */ q(V, {
|
|
1495
|
-
htmlFor:
|
|
1495
|
+
htmlFor: b,
|
|
1496
1496
|
children: _("editor.selectNodeGroup.groupName")
|
|
1497
1497
|
}), /* @__PURE__ */ q(L, {
|
|
1498
1498
|
autoFocus: !0,
|
|
1499
|
-
id:
|
|
1499
|
+
id: b,
|
|
1500
1500
|
value: a,
|
|
1501
1501
|
onChange: (e) => o(e.target.value),
|
|
1502
1502
|
onKeyDown: (e) => {
|
|
@@ -1509,7 +1509,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
1509
1509
|
children: [/* @__PURE__ */ q(I, {
|
|
1510
1510
|
variant: "outline",
|
|
1511
1511
|
size: "sm",
|
|
1512
|
-
onClick: () =>
|
|
1512
|
+
onClick: () => f(!1),
|
|
1513
1513
|
children: _("common.cancel")
|
|
1514
1514
|
}), /* @__PURE__ */ q(I, {
|
|
1515
1515
|
size: "sm",
|
|
@@ -1523,8 +1523,8 @@ var gr = ({ onSelect: e }) => {
|
|
|
1523
1523
|
})]
|
|
1524
1524
|
}),
|
|
1525
1525
|
/* @__PURE__ */ J(le, {
|
|
1526
|
-
open:
|
|
1527
|
-
onOpenChange:
|
|
1526
|
+
open: c,
|
|
1527
|
+
onOpenChange: l,
|
|
1528
1528
|
children: [/* @__PURE__ */ q(he, {
|
|
1529
1529
|
asChild: !0,
|
|
1530
1530
|
children: /* @__PURE__ */ q(I, {
|
|
@@ -1533,7 +1533,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
1533
1533
|
title: _("editor.selectNodeGroup.createNewGroup"),
|
|
1534
1534
|
children: /* @__PURE__ */ q(Yt, { className: "tg:h-4 tg:w-4" })
|
|
1535
1535
|
})
|
|
1536
|
-
}), /* @__PURE__ */ q(
|
|
1536
|
+
}), /* @__PURE__ */ q(T, {
|
|
1537
1537
|
className: "tg:w-80",
|
|
1538
1538
|
align: "end",
|
|
1539
1539
|
onClick: (e) => e.stopPropagation(),
|
|
@@ -1562,7 +1562,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
1562
1562
|
onChange: (e) => i(e.target.value),
|
|
1563
1563
|
placeholder: "Ex: Step 1 - Personal info",
|
|
1564
1564
|
onKeyDown: (e) => {
|
|
1565
|
-
e.key === "Enter" && (e.preventDefault(),
|
|
1565
|
+
e.key === "Enter" && (e.preventDefault(), te());
|
|
1566
1566
|
}
|
|
1567
1567
|
})]
|
|
1568
1568
|
}),
|
|
@@ -1571,11 +1571,11 @@ var gr = ({ onSelect: e }) => {
|
|
|
1571
1571
|
children: [/* @__PURE__ */ q(I, {
|
|
1572
1572
|
variant: "outline",
|
|
1573
1573
|
size: "sm",
|
|
1574
|
-
onClick: () =>
|
|
1574
|
+
onClick: () => l(!1),
|
|
1575
1575
|
children: _("common.cancel")
|
|
1576
1576
|
}), /* @__PURE__ */ q(I, {
|
|
1577
1577
|
size: "sm",
|
|
1578
|
-
onClick:
|
|
1578
|
+
onClick: te,
|
|
1579
1579
|
disabled: !r.trim(),
|
|
1580
1580
|
children: _("common.create")
|
|
1581
1581
|
})]
|
|
@@ -1588,18 +1588,18 @@ var gr = ({ onSelect: e }) => {
|
|
|
1588
1588
|
})]
|
|
1589
1589
|
});
|
|
1590
1590
|
}, jr = (e) => Math.abs([...e].reduce((e, t) => e * 31 + t.charCodeAt(0) | 0, 0)), Mr = (e) => e ? `hsl(${jr(e) % 360} 65% 45%)` : "", Nr = ({ nodeId: e, groupId: t }) => {
|
|
1591
|
-
let [n, r] = G(!1), i = Q(), a = Ge(), o = W(() => a.find((t) => t.id === e), [a, e]),
|
|
1591
|
+
let [n, r] = G(!1), i = Q(), a = Ge(), o = W(() => a.find((t) => t.id === e), [a, e]), c = W(() => t ? a.find((e) => e.id === t) : void 0, [a, t]), l = s(c) ? i(c.data?.label) : "", u = Mr(t), d = (e) => e.stopPropagation();
|
|
1592
1592
|
return /* @__PURE__ */ J(le, {
|
|
1593
1593
|
open: n,
|
|
1594
1594
|
onOpenChange: r,
|
|
1595
1595
|
children: [/* @__PURE__ */ q(he, {
|
|
1596
1596
|
asChild: !0,
|
|
1597
|
-
onClick:
|
|
1597
|
+
onClick: d,
|
|
1598
1598
|
children: t ? /* @__PURE__ */ J(Oe, {
|
|
1599
1599
|
variant: "default",
|
|
1600
1600
|
className: "nodrag nopan tg:cursor-pointer tg:px-1.5 tg:py-0 tg:text-[10px] tg:text-white tg:capitalize tg:[&>svg]:size-2.5",
|
|
1601
|
-
style: { backgroundColor:
|
|
1602
|
-
title:
|
|
1601
|
+
style: { backgroundColor: u },
|
|
1602
|
+
title: l || t,
|
|
1603
1603
|
children: [/* @__PURE__ */ q(st, {}), /* @__PURE__ */ q(pt, {})]
|
|
1604
1604
|
}) : /* @__PURE__ */ J(Oe, {
|
|
1605
1605
|
variant: "secondary",
|
|
@@ -1607,10 +1607,10 @@ var gr = ({ onSelect: e }) => {
|
|
|
1607
1607
|
title: i("editor.selectNodeGroup.group"),
|
|
1608
1608
|
children: [/* @__PURE__ */ q(st, {}), /* @__PURE__ */ q(pt, {})]
|
|
1609
1609
|
})
|
|
1610
|
-
}), /* @__PURE__ */ q(
|
|
1610
|
+
}), /* @__PURE__ */ q(T, {
|
|
1611
1611
|
align: "start",
|
|
1612
1612
|
className: "tg:w-80",
|
|
1613
|
-
onClick:
|
|
1613
|
+
onClick: d,
|
|
1614
1614
|
children: o && /* @__PURE__ */ q(Ar, {
|
|
1615
1615
|
targetNodes: [o],
|
|
1616
1616
|
onChange: () => r(!1)
|
|
@@ -1623,15 +1623,15 @@ var gr = ({ onSelect: e }) => {
|
|
|
1623
1623
|
className: "tg:pointer-events-none tg:my-2 tg:max-h-24 tg:w-full tg:rounded-md tg:object-cover"
|
|
1624
1624
|
}) : null, Fr = [
|
|
1625
1625
|
{
|
|
1626
|
-
keepFor: (e) => e ===
|
|
1626
|
+
keepFor: (e) => e === u.http,
|
|
1627
1627
|
key: "httpConfig"
|
|
1628
1628
|
},
|
|
1629
1629
|
{
|
|
1630
|
-
keepFor: (e) =>
|
|
1630
|
+
keepFor: (e) => r.includes(e),
|
|
1631
1631
|
key: "optionsSource"
|
|
1632
1632
|
},
|
|
1633
1633
|
{
|
|
1634
|
-
keepFor: (e) => e ===
|
|
1634
|
+
keepFor: (e) => e === u.submit,
|
|
1635
1635
|
key: "submitConfig"
|
|
1636
1636
|
}
|
|
1637
1637
|
], Ir = (e, t) => Fr.some(({ key: n, keepFor: r }) => n === e && !r(t)), Lr = (e, t) => {
|
|
@@ -1778,7 +1778,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
1778
1778
|
}), /* @__PURE__ */ J(le, {
|
|
1779
1779
|
open: n,
|
|
1780
1780
|
onOpenChange: r,
|
|
1781
|
-
children: [/* @__PURE__ */ q(
|
|
1781
|
+
children: [/* @__PURE__ */ q(j, { children: /* @__PURE__ */ J(D, {
|
|
1782
1782
|
disableHoverableContent: !0,
|
|
1783
1783
|
children: [/* @__PURE__ */ q(fe, {
|
|
1784
1784
|
asChild: !0,
|
|
@@ -1798,7 +1798,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
1798
1798
|
side: "bottom",
|
|
1799
1799
|
children: l(t ? "editor.inputNodeForm.optionImageReplace" : "editor.inputNodeForm.optionImageAdd")
|
|
1800
1800
|
})]
|
|
1801
|
-
}) }), /* @__PURE__ */ J(
|
|
1801
|
+
}) }), /* @__PURE__ */ J(T, {
|
|
1802
1802
|
align: "end",
|
|
1803
1803
|
className: "tg:w-64 tg:space-y-3 tg:p-3",
|
|
1804
1804
|
onClick: h,
|
|
@@ -2021,7 +2021,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
2021
2021
|
"aria-label": c("editor.inputNodeForm.optionImageAdd"),
|
|
2022
2022
|
children: /* @__PURE__ */ q(Nt, { className: "tg:h-4 tg:w-4" })
|
|
2023
2023
|
})
|
|
2024
|
-
}), /* @__PURE__ */ J(
|
|
2024
|
+
}), /* @__PURE__ */ J(T, {
|
|
2025
2025
|
align: "start",
|
|
2026
2026
|
className: "tg:w-64 tg:space-y-3 tg:p-3",
|
|
2027
2027
|
children: [
|
|
@@ -2067,7 +2067,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
2067
2067
|
})
|
|
2068
2068
|
]
|
|
2069
2069
|
});
|
|
2070
|
-
}, ci = (e) => !!(e && "type" in e && e.type &&
|
|
2070
|
+
}, ci = (e) => !!(e && "type" in e && e.type && r.includes(e.type)), li = new Set(["radio", "checkbox"]), ui = (e) => {
|
|
2071
2071
|
switch (e) {
|
|
2072
2072
|
case "number":
|
|
2073
2073
|
case "daterange":
|
|
@@ -2077,11 +2077,11 @@ var gr = ({ onSelect: e }) => {
|
|
|
2077
2077
|
case "checkbox": return [];
|
|
2078
2078
|
default: return "";
|
|
2079
2079
|
}
|
|
2080
|
-
}, di = (e) => e.replace(/^[a-z][\w+.-]*:\/\/[^/]+/i, "") || e, fi = ({ nodeId: e, data:
|
|
2081
|
-
let [
|
|
2082
|
-
if (!
|
|
2083
|
-
let
|
|
2084
|
-
data:
|
|
2080
|
+
}, di = (e) => e.replace(/^[a-z][\w+.-]*:\/\/[^/]+/i, "") || e, fi = ({ nodeId: e, data: t }) => {
|
|
2081
|
+
let [n, r] = G(!1), [i, a] = G(""), [o, s] = G(""), [c, u] = G(""), [f, p] = G(""), [m, h] = G(null), { language: g, headers: v } = Z(), { baseUrl: y } = ii(), { updateNodeData: b } = Rr(), S = Q(), C = t?.type;
|
|
2082
|
+
if (!C) return null;
|
|
2083
|
+
let w = ci(t), E = w ? t.optionsSource?.url : void 0, O = E ?? (C === "http" ? t.httpConfig?.url : void 0), ee = w ? t.options ?? [] : [], k = w, A = w, te = x({
|
|
2084
|
+
data: t,
|
|
2085
2085
|
id: e,
|
|
2086
2086
|
position: {
|
|
2087
2087
|
x: 0,
|
|
@@ -2090,7 +2090,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
2090
2090
|
type: "input"
|
|
2091
2091
|
}), ne = {
|
|
2092
2092
|
data: {
|
|
2093
|
-
...
|
|
2093
|
+
...t,
|
|
2094
2094
|
name: void 0,
|
|
2095
2095
|
required: void 0
|
|
2096
2096
|
},
|
|
@@ -2101,57 +2101,57 @@ var gr = ({ onSelect: e }) => {
|
|
|
2101
2101
|
},
|
|
2102
2102
|
type: "input"
|
|
2103
2103
|
}, re = () => {
|
|
2104
|
-
|
|
2104
|
+
a(""), s(""), u(""), p("");
|
|
2105
2105
|
}, ae = (t) => {
|
|
2106
2106
|
t?.preventDefault();
|
|
2107
|
-
let n =
|
|
2108
|
-
if (!(n ||
|
|
2109
|
-
let
|
|
2107
|
+
let n = i.trim(), a = o.trim();
|
|
2108
|
+
if (!(n || a)) return;
|
|
2109
|
+
let s = f.trim(), l = {
|
|
2110
2110
|
label: { [g]: n },
|
|
2111
|
-
value:
|
|
2112
|
-
...
|
|
2113
|
-
...
|
|
2111
|
+
value: a,
|
|
2112
|
+
...k && c && { image: c },
|
|
2113
|
+
...A && s && { description: { [g]: s } }
|
|
2114
2114
|
};
|
|
2115
|
-
b(e, { options:
|
|
2115
|
+
b(e, { options: m === null ? [...ee, l] : ee.map((e, t) => t === m ? l : e) }), re(), h(null), r(!1);
|
|
2116
2116
|
}, oe = (e) => {
|
|
2117
|
-
|
|
2117
|
+
r(e), e || (re(), h(null));
|
|
2118
2118
|
}, se = (e) => {
|
|
2119
|
-
let t =
|
|
2120
|
-
t && (
|
|
2119
|
+
let t = ee[e];
|
|
2120
|
+
t && (a(S(t.label) || ""), s(t.value || ""), u(t.image ?? ""), p(S(t.description) || ""), h(e), r(!0));
|
|
2121
2121
|
}, ce = (t) => {
|
|
2122
|
-
b(e, { options:
|
|
2122
|
+
b(e, { options: ee.filter((e, n) => n !== t) });
|
|
2123
2123
|
}, ue = (e) => {
|
|
2124
2124
|
e.key === "Enter" && (e.preventDefault(), ae());
|
|
2125
2125
|
}, de = (e) => e.stopPropagation();
|
|
2126
|
-
if (
|
|
2127
|
-
let e = ir(
|
|
2126
|
+
if (C === "hidden") {
|
|
2127
|
+
let e = ir(C), n = t.defaultValue?.type === "static" ? t.defaultValue.staticValue : void 0, r = t.defaultValue?.type === "reference" ? t.defaultValue.referenceField : void 0, i = (e) => e && typeof e == "object" && "name" in e ? String(e.name) : String(e), a = Array.isArray(n) ? n.map(i).join(", ") : typeof n == "boolean" ? String(n) : typeof n == "object" && n ? i(n) : n ?? (r ? `→ ${r}` : "");
|
|
2128
2128
|
return /* @__PURE__ */ J("div", {
|
|
2129
2129
|
className: "tg:pointer-events-none tg:flex tg:select-none tg:flex-col tg:gap-1 tg:text-sm",
|
|
2130
2130
|
children: [/* @__PURE__ */ J("div", {
|
|
2131
2131
|
className: "tg:flex tg:items-center tg:gap-1 tg:text-[10px] tg:text-muted-foreground tg:capitalize tg:[&>svg]:size-3",
|
|
2132
|
-
children: [/* @__PURE__ */ q(e, {}),
|
|
2132
|
+
children: [/* @__PURE__ */ q(e, {}), C]
|
|
2133
2133
|
}), /* @__PURE__ */ q("span", {
|
|
2134
2134
|
className: "tg:truncate tg:text-muted-foreground tg:text-xs",
|
|
2135
2135
|
children: a || "—"
|
|
2136
2136
|
})]
|
|
2137
2137
|
});
|
|
2138
2138
|
}
|
|
2139
|
-
if (
|
|
2139
|
+
if (C === "submit") return /* @__PURE__ */ q("div", {
|
|
2140
2140
|
className: "tg:pointer-events-none tg:flex tg:select-none tg:justify-center",
|
|
2141
|
-
children: /* @__PURE__ */ q(
|
|
2141
|
+
children: /* @__PURE__ */ q(l, {
|
|
2142
2142
|
value: {
|
|
2143
|
-
baseUrl:
|
|
2144
|
-
headers:
|
|
2143
|
+
baseUrl: y,
|
|
2144
|
+
headers: v,
|
|
2145
2145
|
language: g,
|
|
2146
2146
|
optionsDisplayLimit: 10
|
|
2147
2147
|
},
|
|
2148
|
-
children: /* @__PURE__ */ q(Te, { label:
|
|
2148
|
+
children: /* @__PURE__ */ q(Te, { label: d(t.label, g) || void 0 })
|
|
2149
2149
|
})
|
|
2150
2150
|
});
|
|
2151
|
-
let M = be[
|
|
2151
|
+
let M = be[C];
|
|
2152
2152
|
if (!M) return null;
|
|
2153
|
-
let N =
|
|
2154
|
-
let r = String(e.value), i =
|
|
2153
|
+
let N = d(t.helperText, g), me = _(t, g), P = ({ option: e, index: t, variant: n }) => {
|
|
2154
|
+
let r = String(e.value), i = S(e.label) || r;
|
|
2155
2155
|
return /* @__PURE__ */ J(K, { children: [r && r !== i && n !== "card" && /* @__PURE__ */ q("span", {
|
|
2156
2156
|
className: "tg:pointer-events-none tg:absolute tg:top-1/2 tg:right-2 tg:max-w-18 tg:-translate-y-1/2 tg:truncate tg:text-[10px] tg:text-muted-foreground/60 tg:group-hover/option:hidden",
|
|
2157
2157
|
children: r
|
|
@@ -2161,7 +2161,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
2161
2161
|
type: "button",
|
|
2162
2162
|
variant: "icon",
|
|
2163
2163
|
size: "icon-sm",
|
|
2164
|
-
"aria-label":
|
|
2164
|
+
"aria-label": S("editor.inputNodeForm.editOption"),
|
|
2165
2165
|
className: "tg:size-5",
|
|
2166
2166
|
onClick: (e) => {
|
|
2167
2167
|
e.preventDefault(), e.stopPropagation(), se(t);
|
|
@@ -2171,7 +2171,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
2171
2171
|
type: "button",
|
|
2172
2172
|
variant: "icon",
|
|
2173
2173
|
size: "icon-sm",
|
|
2174
|
-
"aria-label":
|
|
2174
|
+
"aria-label": S("editor.inputNodeForm.deleteOption"),
|
|
2175
2175
|
className: "tg:size-5 tg:hover:text-destructive",
|
|
2176
2176
|
onClick: (e) => {
|
|
2177
2177
|
e.preventDefault(), e.stopPropagation(), ce(t);
|
|
@@ -2179,23 +2179,23 @@ var gr = ({ onSelect: e }) => {
|
|
|
2179
2179
|
children: /* @__PURE__ */ q(on, {})
|
|
2180
2180
|
})]
|
|
2181
2181
|
})] });
|
|
2182
|
-
}, F =
|
|
2182
|
+
}, F = w && !li.has(C) && !E;
|
|
2183
2183
|
return /* @__PURE__ */ J(K, { children: [
|
|
2184
2184
|
/* @__PURE__ */ q("div", {
|
|
2185
2185
|
className: "tg:pointer-events-none tg:flex tg:select-none tg:flex-col tg:gap-1 tg:[&_label:empty]:hidden",
|
|
2186
|
-
children: /* @__PURE__ */ q(
|
|
2186
|
+
children: /* @__PURE__ */ q(l, {
|
|
2187
2187
|
value: {
|
|
2188
|
-
baseUrl:
|
|
2189
|
-
headers:
|
|
2188
|
+
baseUrl: y,
|
|
2189
|
+
headers: v,
|
|
2190
2190
|
language: g,
|
|
2191
2191
|
optionsDisplayLimit: 10
|
|
2192
2192
|
},
|
|
2193
2193
|
children: /* @__PURE__ */ q(M, {
|
|
2194
2194
|
field: {
|
|
2195
2195
|
id: `${e}-preview`,
|
|
2196
|
-
name:
|
|
2196
|
+
name: te,
|
|
2197
2197
|
placeholder: me || void 0,
|
|
2198
|
-
value: ui(
|
|
2198
|
+
value: ui(C)
|
|
2199
2199
|
},
|
|
2200
2200
|
extra: {
|
|
2201
2201
|
compactOptions: !0,
|
|
@@ -2203,13 +2203,13 @@ var gr = ({ onSelect: e }) => {
|
|
|
2203
2203
|
InputLabel: ie,
|
|
2204
2204
|
missingDependencies: [],
|
|
2205
2205
|
node: ne,
|
|
2206
|
-
renderOptionExtras:
|
|
2206
|
+
renderOptionExtras: E ? void 0 : P,
|
|
2207
2207
|
setValue: () => {}
|
|
2208
2208
|
}
|
|
2209
|
-
},
|
|
2209
|
+
}, C)
|
|
2210
2210
|
})
|
|
2211
2211
|
}),
|
|
2212
|
-
|
|
2212
|
+
O && /* @__PURE__ */ q(j, { children: /* @__PURE__ */ J(D, {
|
|
2213
2213
|
disableHoverableContent: !0,
|
|
2214
2214
|
children: [/* @__PURE__ */ q(fe, {
|
|
2215
2215
|
asChild: !0,
|
|
@@ -2217,18 +2217,18 @@ var gr = ({ onSelect: e }) => {
|
|
|
2217
2217
|
className: "nodrag nopan tg:my-1 tg:flex tg:items-center tg:gap-1 tg:text-muted-foreground tg:text-xs",
|
|
2218
2218
|
children: [/* @__PURE__ */ q(kt, { className: "tg:size-3 tg:shrink-0" }), /* @__PURE__ */ q("span", {
|
|
2219
2219
|
className: "tg:truncate",
|
|
2220
|
-
children: di(
|
|
2220
|
+
children: di(O)
|
|
2221
2221
|
})]
|
|
2222
2222
|
})
|
|
2223
2223
|
}), /* @__PURE__ */ q(pe, {
|
|
2224
2224
|
side: "bottom",
|
|
2225
|
-
children:
|
|
2225
|
+
children: O
|
|
2226
2226
|
})]
|
|
2227
2227
|
}) }),
|
|
2228
|
-
|
|
2228
|
+
w && !E && /* @__PURE__ */ J("div", {
|
|
2229
2229
|
className: "nodrag nopan tg:my-1 tg:flex tg:flex-col tg:gap-0.5",
|
|
2230
|
-
children: [F &&
|
|
2231
|
-
let n =
|
|
2230
|
+
children: [F && ee.map((e, t) => {
|
|
2231
|
+
let n = S(e.label), r = n || e.value || "—", i = `${e.value || "opt"}-${t}`, a = !!e.value && !!n && n !== e.value;
|
|
2232
2232
|
return /* @__PURE__ */ J("div", {
|
|
2233
2233
|
className: "tg:group tg:flex tg:min-h-5 tg:items-center tg:gap-1 tg:text-muted-foreground tg:text-xs",
|
|
2234
2234
|
children: [
|
|
@@ -2246,7 +2246,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
2246
2246
|
type: "button",
|
|
2247
2247
|
variant: "icon",
|
|
2248
2248
|
size: "icon-sm",
|
|
2249
|
-
"aria-label":
|
|
2249
|
+
"aria-label": S("editor.inputNodeForm.editOption"),
|
|
2250
2250
|
className: "tg:size-5",
|
|
2251
2251
|
onClick: (e) => {
|
|
2252
2252
|
e.stopPropagation(), se(t);
|
|
@@ -2256,7 +2256,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
2256
2256
|
type: "button",
|
|
2257
2257
|
variant: "icon",
|
|
2258
2258
|
size: "icon-sm",
|
|
2259
|
-
"aria-label":
|
|
2259
|
+
"aria-label": S("editor.inputNodeForm.deleteOption"),
|
|
2260
2260
|
className: "tg:size-5 tg:hover:text-destructive",
|
|
2261
2261
|
onClick: (e) => {
|
|
2262
2262
|
e.stopPropagation(), ce(t);
|
|
@@ -2267,7 +2267,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
2267
2267
|
]
|
|
2268
2268
|
}, i);
|
|
2269
2269
|
}), /* @__PURE__ */ J(le, {
|
|
2270
|
-
open:
|
|
2270
|
+
open: n,
|
|
2271
2271
|
onOpenChange: oe,
|
|
2272
2272
|
children: [/* @__PURE__ */ q(he, {
|
|
2273
2273
|
asChild: !0,
|
|
@@ -2277,9 +2277,9 @@ var gr = ({ onSelect: e }) => {
|
|
|
2277
2277
|
variant: "link",
|
|
2278
2278
|
size: "xs",
|
|
2279
2279
|
className: "tg:w-fit tg:p-0! tg:focus-visible:border-transparent! tg:focus-visible:ring-0!",
|
|
2280
|
-
children: [/* @__PURE__ */ q(Jt, { className: "tg:size-3" }),
|
|
2280
|
+
children: [/* @__PURE__ */ q(Jt, { className: "tg:size-3" }), S("editor.inputNodeForm.addOption")]
|
|
2281
2281
|
})
|
|
2282
|
-
}), /* @__PURE__ */ q(
|
|
2282
|
+
}), /* @__PURE__ */ q(T, {
|
|
2283
2283
|
align: "start",
|
|
2284
2284
|
className: "tg:w-80 tg:p-3",
|
|
2285
2285
|
onClick: de,
|
|
@@ -2290,32 +2290,32 @@ var gr = ({ onSelect: e }) => {
|
|
|
2290
2290
|
/* @__PURE__ */ J("div", {
|
|
2291
2291
|
className: "tg:flex tg:items-start tg:gap-2",
|
|
2292
2292
|
children: [
|
|
2293
|
-
|
|
2294
|
-
value:
|
|
2293
|
+
k && /* @__PURE__ */ q(si, {
|
|
2294
|
+
value: c,
|
|
2295
2295
|
onChange: u
|
|
2296
2296
|
}),
|
|
2297
2297
|
/* @__PURE__ */ q(L, {
|
|
2298
2298
|
id: `${e}-option-label`,
|
|
2299
2299
|
autoFocus: !0,
|
|
2300
|
-
placeholder:
|
|
2301
|
-
value:
|
|
2302
|
-
onChange: (e) =>
|
|
2300
|
+
placeholder: S("editor.inputNodeForm.optionLabel"),
|
|
2301
|
+
value: i,
|
|
2302
|
+
onChange: (e) => a(e.target.value),
|
|
2303
2303
|
onKeyDown: ue
|
|
2304
2304
|
}),
|
|
2305
2305
|
/* @__PURE__ */ q(L, {
|
|
2306
2306
|
id: `${e}-option-value`,
|
|
2307
|
-
placeholder:
|
|
2308
|
-
value:
|
|
2309
|
-
onChange: (e) =>
|
|
2307
|
+
placeholder: S("editor.inputNodeForm.optionValue"),
|
|
2308
|
+
value: o,
|
|
2309
|
+
onChange: (e) => s(e.target.value),
|
|
2310
2310
|
onKeyDown: ue
|
|
2311
2311
|
})
|
|
2312
2312
|
]
|
|
2313
2313
|
}),
|
|
2314
|
-
|
|
2314
|
+
A && /* @__PURE__ */ q(L, {
|
|
2315
2315
|
id: `${e}-option-description`,
|
|
2316
|
-
placeholder:
|
|
2317
|
-
value:
|
|
2318
|
-
onChange: (e) =>
|
|
2316
|
+
placeholder: S("editor.inputNodeForm.optionDescription"),
|
|
2317
|
+
value: f,
|
|
2318
|
+
onChange: (e) => p(e.target.value),
|
|
2319
2319
|
onKeyDown: ue
|
|
2320
2320
|
}),
|
|
2321
2321
|
/* @__PURE__ */ J("div", {
|
|
@@ -2326,13 +2326,13 @@ var gr = ({ onSelect: e }) => {
|
|
|
2326
2326
|
size: "sm",
|
|
2327
2327
|
className: "tg:flex-1",
|
|
2328
2328
|
onClick: () => oe(!1),
|
|
2329
|
-
children:
|
|
2329
|
+
children: S("common.cancel")
|
|
2330
2330
|
}), /* @__PURE__ */ q(I, {
|
|
2331
2331
|
type: "submit",
|
|
2332
2332
|
size: "sm",
|
|
2333
2333
|
className: "tg:flex-1",
|
|
2334
|
-
disabled: !(
|
|
2335
|
-
children:
|
|
2334
|
+
disabled: !(i.trim() || o.trim()),
|
|
2335
|
+
children: S(m === null ? "common.create" : "common.save")
|
|
2336
2336
|
})]
|
|
2337
2337
|
})
|
|
2338
2338
|
]
|
|
@@ -2342,23 +2342,23 @@ var gr = ({ onSelect: e }) => {
|
|
|
2342
2342
|
})
|
|
2343
2343
|
] });
|
|
2344
2344
|
}, pi = ({ nodeId: e, label: t, placeholder: n, className: r, autoFocus: i }) => {
|
|
2345
|
-
let { language: a } = Z(), { updateNodeData:
|
|
2345
|
+
let { language: a } = Z(), { updateNodeData: o, clearSelection: s } = Rr(), c = Q(), l = nt(null), u = f(t, a), d = n || c("editor.treegeNode.labelPlaceholder");
|
|
2346
2346
|
return U(() => {
|
|
2347
2347
|
if (!i) return;
|
|
2348
2348
|
let e = setTimeout(() => {
|
|
2349
|
-
|
|
2349
|
+
l.current?.focus();
|
|
2350
2350
|
}, 300);
|
|
2351
2351
|
return () => clearTimeout(e);
|
|
2352
2352
|
}, [i]), /* @__PURE__ */ q("input", {
|
|
2353
|
-
ref:
|
|
2353
|
+
ref: l,
|
|
2354
2354
|
type: "text",
|
|
2355
|
-
value:
|
|
2356
|
-
placeholder:
|
|
2355
|
+
value: u,
|
|
2356
|
+
placeholder: d,
|
|
2357
2357
|
onChange: (n) => {
|
|
2358
|
-
|
|
2358
|
+
o(e, { label: p(t, a, n.target.value) });
|
|
2359
2359
|
},
|
|
2360
2360
|
onKeyDown: (e) => {
|
|
2361
|
-
e.key === "Enter" && (e.preventDefault(),
|
|
2361
|
+
e.key === "Enter" && (e.preventDefault(), l.current?.blur(), s());
|
|
2362
2362
|
},
|
|
2363
2363
|
className: R("nodrag nopan tg:w-full tg:truncate tg:bg-transparent tg:outline-none tg:placeholder:text-muted-foreground/40", r)
|
|
2364
2364
|
});
|
|
@@ -2400,7 +2400,7 @@ var gr = ({ onSelect: e }) => {
|
|
|
2400
2400
|
});
|
|
2401
2401
|
}, hi = ({ nodeId: e, required: t }) => {
|
|
2402
2402
|
let { updateNodeData: n } = Rr(), r = Q();
|
|
2403
|
-
return /* @__PURE__ */ q(
|
|
2403
|
+
return /* @__PURE__ */ q(j, { children: /* @__PURE__ */ J(D, {
|
|
2404
2404
|
disableHoverableContent: !0,
|
|
2405
2405
|
children: [/* @__PURE__ */ q(fe, {
|
|
2406
2406
|
asChild: !0,
|
|
@@ -2463,7 +2463,7 @@ var Si = (e) => Je(xi((t) => {
|
|
|
2463
2463
|
isSuccessorDecision: i > 1
|
|
2464
2464
|
};
|
|
2465
2465
|
})), l = !r && (n === "middle" || n === "last") && !s, u = !r && (n === "first" || n === "middle") && !c;
|
|
2466
|
-
return l || u ? /* @__PURE__ */ q(
|
|
2466
|
+
return l || u ? /* @__PURE__ */ q(j, {
|
|
2467
2467
|
delayDuration: 300,
|
|
2468
2468
|
children: /* @__PURE__ */ J("div", {
|
|
2469
2469
|
className: R("tg:absolute tg:flex tg:flex-col tg:gap-0.5 tg:transition-opacity tg:focus-within:opacity-100 tg:group-hover:opacity-100", t ? "tg:opacity-100" : "tg:opacity-0"),
|
|
@@ -2472,7 +2472,7 @@ var Si = (e) => Je(xi((t) => {
|
|
|
2472
2472
|
top: "50%",
|
|
2473
2473
|
transform: "translateY(-50%)"
|
|
2474
2474
|
},
|
|
2475
|
-
children: [l && /* @__PURE__ */ J(
|
|
2475
|
+
children: [l && /* @__PURE__ */ J(D, {
|
|
2476
2476
|
disableHoverableContent: !0,
|
|
2477
2477
|
children: [/* @__PURE__ */ q(fe, {
|
|
2478
2478
|
asChild: !0,
|
|
@@ -2491,7 +2491,7 @@ var Si = (e) => Je(xi((t) => {
|
|
|
2491
2491
|
side: "right",
|
|
2492
2492
|
children: o("editor.stackOrder.moveUp")
|
|
2493
2493
|
})]
|
|
2494
|
-
}), u && /* @__PURE__ */ J(
|
|
2494
|
+
}), u && /* @__PURE__ */ J(D, {
|
|
2495
2495
|
disableHoverableContent: !0,
|
|
2496
2496
|
children: [/* @__PURE__ */ q(fe, {
|
|
2497
2497
|
asChild: !0,
|
|
@@ -2513,11 +2513,11 @@ var Si = (e) => Je(xi((t) => {
|
|
|
2513
2513
|
})]
|
|
2514
2514
|
})
|
|
2515
2515
|
}) : null;
|
|
2516
|
-
}, wi = Object.values(
|
|
2517
|
-
let { updateNodeType: r } = Rr(), { getEdges: i } = qe(), { openNodeTypeChangeConfirmation:
|
|
2518
|
-
let
|
|
2519
|
-
if (t ===
|
|
2520
|
-
|
|
2516
|
+
}, wi = Object.values(u), Ti = Object.values(tr), Ei = ({ nodeId: e, nodeType: t, subType: n }) => {
|
|
2517
|
+
let { updateNodeType: r } = Rr(), { getEdges: i } = qe(), { openNodeTypeChangeConfirmation: a } = Z(), o = Q(), s = (e) => e.stopPropagation(), l = n || t, u = l, d = ir(l), f = (t, n) => {
|
|
2518
|
+
let o = i().filter((t) => t.source === e).length;
|
|
2519
|
+
if (t === c.ui && o > 1) {
|
|
2520
|
+
a({
|
|
2521
2521
|
nodeId: e,
|
|
2522
2522
|
subType: n,
|
|
2523
2523
|
type: t
|
|
@@ -2528,35 +2528,35 @@ var Si = (e) => Je(xi((t) => {
|
|
|
2528
2528
|
};
|
|
2529
2529
|
return /* @__PURE__ */ J(ar, { children: [/* @__PURE__ */ q(or, {
|
|
2530
2530
|
asChild: !0,
|
|
2531
|
-
onClick:
|
|
2531
|
+
onClick: s,
|
|
2532
2532
|
children: /* @__PURE__ */ J(Oe, {
|
|
2533
2533
|
variant: "secondary",
|
|
2534
2534
|
className: "nodrag nopan tg:cursor-pointer tg:px-1.5 tg:py-0 tg:text-[10px] tg:capitalize tg:[&>svg]:size-2.5",
|
|
2535
2535
|
children: [
|
|
2536
2536
|
/* @__PURE__ */ q(d, {}),
|
|
2537
|
-
u ||
|
|
2537
|
+
u || o("editor.selectNodeType.nodeType"),
|
|
2538
2538
|
/* @__PURE__ */ q(pt, {})
|
|
2539
2539
|
]
|
|
2540
2540
|
})
|
|
2541
2541
|
}), /* @__PURE__ */ J(sr, {
|
|
2542
2542
|
align: "start",
|
|
2543
2543
|
className: "treege-scrollbar tg:max-h-80",
|
|
2544
|
-
onClick:
|
|
2544
|
+
onClick: s,
|
|
2545
2545
|
children: [
|
|
2546
|
-
/* @__PURE__ */ J(cr, { children: [/* @__PURE__ */ q(dr, { children:
|
|
2546
|
+
/* @__PURE__ */ J(cr, { children: [/* @__PURE__ */ q(dr, { children: o("editor.selectNodeType.options.input") }), wi.map((e) => {
|
|
2547
2547
|
let r = ir(e);
|
|
2548
2548
|
return /* @__PURE__ */ J($, {
|
|
2549
|
-
onClick: () => f(
|
|
2550
|
-
className: R("tg:capitalize", t ===
|
|
2549
|
+
onClick: () => f(c.input, e),
|
|
2550
|
+
className: R("tg:capitalize", t === c.input && e === n && "tg:bg-accent"),
|
|
2551
2551
|
children: [/* @__PURE__ */ q(r, {}), e]
|
|
2552
2552
|
}, e);
|
|
2553
2553
|
})] }),
|
|
2554
2554
|
/* @__PURE__ */ q(fr, {}),
|
|
2555
|
-
/* @__PURE__ */ J(cr, { children: [/* @__PURE__ */ q(dr, { children:
|
|
2555
|
+
/* @__PURE__ */ J(cr, { children: [/* @__PURE__ */ q(dr, { children: o("editor.selectNodeType.options.ui") }), Ti.map((e) => {
|
|
2556
2556
|
let r = ir(e);
|
|
2557
2557
|
return /* @__PURE__ */ J($, {
|
|
2558
|
-
onClick: () => f(
|
|
2559
|
-
className: R("tg:capitalize", t ===
|
|
2558
|
+
onClick: () => f(c.ui, e),
|
|
2559
|
+
className: R("tg:capitalize", t === c.ui && e === n && "tg:bg-accent"),
|
|
2560
2560
|
children: [/* @__PURE__ */ q(r, {}), e]
|
|
2561
2561
|
}, e);
|
|
2562
2562
|
})] })
|
|
@@ -2635,9 +2635,9 @@ var Si = (e) => Je(xi((t) => {
|
|
|
2635
2635
|
]
|
|
2636
2636
|
});
|
|
2637
2637
|
}), Ai = {
|
|
2638
|
-
[
|
|
2639
|
-
[
|
|
2640
|
-
[
|
|
2638
|
+
[c.group]: () => null,
|
|
2639
|
+
[c.input]: ki,
|
|
2640
|
+
[c.ui]: ki
|
|
2641
2641
|
}, ji = ({ show: e, onToggle: t }) => /* @__PURE__ */ q(Me, {
|
|
2642
2642
|
onClick: t,
|
|
2643
2643
|
title: e ? "Hide minimap" : "Show minimap",
|
|
@@ -2691,13 +2691,13 @@ var Si = (e) => Je(xi((t) => {
|
|
|
2691
2691
|
}, h = (e) => e?.isFallback ? s("editor.conditionalEdge.fallback") : e?.label ? e.label : Ni(e?.conditions, m) || s("editor.changeNodeTypeDialog.noConditions");
|
|
2692
2692
|
return U(() => {
|
|
2693
2693
|
c.length > 0 && u(c[0].id);
|
|
2694
|
-
}, [c]), /* @__PURE__ */ q(
|
|
2694
|
+
}, [c]), /* @__PURE__ */ q(E, {
|
|
2695
2695
|
open: e !== null,
|
|
2696
2696
|
onOpenChange: d,
|
|
2697
2697
|
children: /* @__PURE__ */ J(_e, {
|
|
2698
2698
|
showCloseButton: !1,
|
|
2699
2699
|
children: [
|
|
2700
|
-
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(
|
|
2700
|
+
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(k, { children: s("editor.changeNodeTypeDialog.title") }), /* @__PURE__ */ q(ae, { children: s("editor.changeNodeTypeDialog.description") })] }),
|
|
2701
2701
|
/* @__PURE__ */ q(Gn, {
|
|
2702
2702
|
className: "tg:max-h-80",
|
|
2703
2703
|
children: /* @__PURE__ */ q(ge, {
|
|
@@ -2741,14 +2741,14 @@ var Si = (e) => Je(xi((t) => {
|
|
|
2741
2741
|
});
|
|
2742
2742
|
}, Fi = () => {
|
|
2743
2743
|
let { pendingDeleteNodeId: e, closeDeleteNodeConfirmation: t } = Z(), { deleteNode: n } = Rr(), r = Q();
|
|
2744
|
-
return /* @__PURE__ */ q(
|
|
2744
|
+
return /* @__PURE__ */ q(E, {
|
|
2745
2745
|
open: e !== null,
|
|
2746
2746
|
onOpenChange: (e) => {
|
|
2747
2747
|
e || t();
|
|
2748
2748
|
},
|
|
2749
2749
|
children: /* @__PURE__ */ J(_e, {
|
|
2750
2750
|
showCloseButton: !1,
|
|
2751
|
-
children: [/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(
|
|
2751
|
+
children: [/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(k, { children: r("editor.nodeActionsSheet.deleteNode") }), /* @__PURE__ */ q(ae, { children: r("editor.nodeActionsSheet.deleteNodeConfirm") })] }), /* @__PURE__ */ J(oe, { children: [/* @__PURE__ */ q(I, {
|
|
2752
2752
|
variant: "outline",
|
|
2753
2753
|
onClick: t,
|
|
2754
2754
|
children: r("common.cancel")
|
|
@@ -2910,13 +2910,13 @@ var Si = (e) => Je(xi((t) => {
|
|
|
2910
2910
|
let [r, i] = G({}), [a, o] = G(!1), { document: s, baseUrl: c } = ii(), l = Q(), u = W(() => s ? ei(s) : [], [s]), d = (e, t) => t ? `${e}:${t}` : e;
|
|
2911
2911
|
return U(() => {
|
|
2912
2912
|
e && i({});
|
|
2913
|
-
}, [e]), /* @__PURE__ */ q(
|
|
2913
|
+
}, [e]), /* @__PURE__ */ q(E, {
|
|
2914
2914
|
open: e,
|
|
2915
2915
|
onOpenChange: t,
|
|
2916
2916
|
children: /* @__PURE__ */ J(_e, {
|
|
2917
2917
|
className: "tg:max-w-md",
|
|
2918
2918
|
children: [
|
|
2919
|
-
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(
|
|
2919
|
+
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(k, { children: l("editor.authorizeDialog.title") }), /* @__PURE__ */ q(ae, { children: l("editor.authorizeDialog.description") })] }),
|
|
2920
2920
|
u.length === 0 ? /* @__PURE__ */ q("p", {
|
|
2921
2921
|
className: "tg:py-4 tg:text-center tg:text-muted-foreground tg:text-sm",
|
|
2922
2922
|
children: l("editor.authorizeDialog.noSchemes")
|
|
@@ -3058,13 +3058,13 @@ var Si = (e) => Je(xi((t) => {
|
|
|
3058
3058
|
}, c = (e) => {
|
|
3059
3059
|
a(i.filter((t, n) => n !== e));
|
|
3060
3060
|
};
|
|
3061
|
-
return /* @__PURE__ */ q(
|
|
3061
|
+
return /* @__PURE__ */ q(E, {
|
|
3062
3062
|
open: e,
|
|
3063
3063
|
onOpenChange: t,
|
|
3064
3064
|
children: /* @__PURE__ */ J(_e, {
|
|
3065
3065
|
className: "tg:max-w-lg",
|
|
3066
3066
|
children: [
|
|
3067
|
-
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(
|
|
3067
|
+
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(k, { children: o("editor.headersDialog.title") }), /* @__PURE__ */ q(ae, { children: o("editor.headersDialog.description") })] }),
|
|
3068
3068
|
/* @__PURE__ */ J("div", {
|
|
3069
3069
|
className: "tg:flex tg:flex-col tg:gap-2",
|
|
3070
3070
|
children: [i.length === 0 && /* @__PURE__ */ q("p", {
|
|
@@ -3116,13 +3116,13 @@ var Si = (e) => Je(xi((t) => {
|
|
|
3116
3116
|
e,
|
|
3117
3117
|
p,
|
|
3118
3118
|
m
|
|
3119
|
-
]), /* @__PURE__ */ q(
|
|
3119
|
+
]), /* @__PURE__ */ q(E, {
|
|
3120
3120
|
open: e,
|
|
3121
3121
|
onOpenChange: t,
|
|
3122
3122
|
children: /* @__PURE__ */ J(_e, {
|
|
3123
3123
|
className: "tg:max-w-lg",
|
|
3124
3124
|
children: [
|
|
3125
|
-
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(
|
|
3125
|
+
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(k, { children: v("editor.openApiDialog.title") }), /* @__PURE__ */ q(ae, { children: v("editor.openApiDialog.description") })] }),
|
|
3126
3126
|
/* @__PURE__ */ J(Yn, {
|
|
3127
3127
|
type: "single",
|
|
3128
3128
|
variant: "outline",
|
|
@@ -3219,13 +3219,34 @@ var Si = (e) => Je(xi((t) => {
|
|
|
3219
3219
|
]
|
|
3220
3220
|
})
|
|
3221
3221
|
});
|
|
3222
|
-
}, $i = "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\"\n8. For conditional logic, use conditional edges with proper operators (===, !==, >, <, >=, <=)\n9. TRANSLATABLE TEXT: every node/option translatable text field — \"label\", \"placeholder\", \"helperText\", \"errorMessage\", and each option's \"label\" — MUST be an object keyed by language code, e.g. { \"en\": \"First name\" }. NEVER a bare string. Use the language code that matches the language of the user's request (e.g. \"fr\" for a French request). The ONLY exception is the conditional edge \"label\" (data.label on edges), which stays a plain string.\n\nNODE TYPES:\n- \"input\": Form input fields (text, number, select, checkbox, etc.)\n- \"ui\": UI elements (title, divider)\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\": { \"en\": \"Field Label\" },\n \"name\": \"fieldName\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter value...\" },\n \"helperText\": { \"en\": \"Optional helper text\" },\n \"pattern\": \"regex pattern (optional)\",\n \"errorMessage\": { \"en\": \"Error message if validation fails\" },\n \"options\": [{ \"value\": \"val\", \"label\": { \"en\": \"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\": { \"en\": \"UI Element Label\" },\n \"type\": \"title\" // or \"divider\"\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\": { \"en\": \"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\": { \"en\": \"Contact Form\" }, \"type\": \"title\" }\n },\n {\n \"id\": \"name-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": { \"en\": \"Name\" },\n \"name\": \"name\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your name\" }\n }\n },\n {\n \"id\": \"email-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": { \"en\": \"Email\" },\n \"name\": \"email\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": { \"en\": \"your@email.com\" }\n }\n },\n {\n \"id\": \"message-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 750 },\n \"data\": {\n \"label\": { \"en\": \"Message\" },\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"required\": true,\n \"placeholder\": { \"en\": \"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\": { \"en\": \"User Registration\" }, \"type\": \"title\" }\n },\n {\n \"id\": \"age-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": { \"en\": \"Age\" },\n \"name\": \"age\",\n \"type\": \"number\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your age\" }\n }\n },\n {\n \"id\": \"address-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": { \"en\": \"Address\" },\n \"name\": \"address\",\n \"type\": \"address\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your address\" }\n }\n },\n {\n \"id\": \"country-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 750 },\n \"data\": {\n \"label\": { \"en\": \"Country\" },\n \"name\": \"country\",\n \"type\": \"select\",\n \"required\": true,\n \"options\": [\n { \"value\": \"us\", \"label\": { \"en\": \"United States\" } },\n { \"value\": \"ca\", \"label\": { \"en\": \"Canada\" } },\n { \"value\": \"uk\", \"label\": { \"en\": \"United Kingdom\" } },\n { \"value\": \"fr\", \"label\": { \"en\": \"France\" } },\n { \"value\": \"de\", \"label\": { \"en\": \"Germany\" } }\n ]\n }\n },\n {\n \"id\": \"submit-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 1000 },\n \"data\": {\n \"label\": { \"en\": \"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\": { \"en\": \"Survey Form\" }, \"type\": \"title\" }\n },\n {\n \"id\": \"name-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": { \"en\": \"Name\" },\n \"name\": \"name\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your name\" }\n }\n },\n {\n \"id\": \"age-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": { \"en\": \"Age\" },\n \"name\": \"age\",\n \"type\": \"number\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your age\" }\n }\n },\n {\n \"id\": \"movie-1\",\n \"type\": \"input\",\n \"position\": { \"x\": -350, \"y\": 750 },\n \"data\": {\n \"label\": { \"en\": \"Favorite Movie\" },\n \"name\": \"favoriteMovie\",\n \"type\": \"text\",\n \"required\": true,\n \"helperText\": { \"en\": \"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\": { \"en\": \"Favorite Color\" },\n \"name\": \"favoriteColor\",\n \"type\": \"text\",\n \"required\": true,\n \"helperText\": { \"en\": \"For those under 18\" }\n }\n },\n {\n \"id\": \"submit-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 1000 },\n \"data\": {\n \"label\": { \"en\": \"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", ea = {
|
|
3223
|
-
claude: "claude-
|
|
3222
|
+
}, $i = "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\"\n8. For conditional logic, use conditional edges with proper operators (===, !==, >, <, >=, <=)\n9. TRANSLATABLE TEXT: every node/option translatable text field — \"label\", \"placeholder\", \"helperText\", \"errorMessage\", and each option's \"label\" — MUST be an object keyed by language code, e.g. { \"en\": \"First name\" }. NEVER a bare string. Use the language code that matches the language of the user's request (e.g. \"fr\" for a French request). The ONLY exception is the conditional edge \"label\" (data.label on edges), which stays a plain string.\n\nNODE TYPES:\n- \"input\": Form input fields (text, number, select, checkbox, etc.)\n- \"ui\": UI elements (title, divider)\n- \"group\": Metadata-only container that names a STEP of the flow. At runtime, each group of nodes is rendered as one step of a multi-step form. Groups are never rendered on the canvas: they MUST have \"hidden\": true and position { \"x\": 0, \"y\": 0 }. Nodes belong to a group via their \"parentId\" field.\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 \"parentId\": \"group-id\", // optional — id of the group (step) this node belongs to\n \"data\": {\n \"label\": { \"en\": \"Field Label\" },\n \"name\": \"fieldName\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter value...\" },\n \"helperText\": { \"en\": \"Optional helper text\" },\n \"pattern\": \"regex pattern (optional)\",\n \"errorMessage\": { \"en\": \"Error message if validation fails\" },\n \"options\": [{ \"value\": \"val\", \"label\": { \"en\": \"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 \"parentId\": \"group-id\", // optional — id of the group (step) this node belongs to\n \"data\": {\n \"label\": { \"en\": \"UI Element Label\" },\n \"type\": \"title\" // or \"divider\"\n }\n}\n\nGROUP NODE DATA STRUCTURE:\n{\n \"id\": \"unique-id\",\n \"type\": \"group\",\n \"hidden\": true,\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": {\n \"label\": { \"en\": \"Group Label\" }\n }\n}\nGROUP RULES (all mandatory):\n- Groups MUST always have \"hidden\": true and position { \"x\": 0, \"y\": 0 } — never give a group a real position or size.\n- Group nodes MUST appear BEFORE their child nodes in the \"nodes\" array.\n- A group's \"data.label\" names the step shown to the end user — always provide one.\n- Use groups when the form has distinct steps (e.g. \"Contact details\" then \"Payment\"); a short single-step form needs no groups at all.\n- Edges connect input/ui nodes, never group nodes.\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\": { \"en\": \"Contact Form\" }, \"type\": \"title\" }\n },\n {\n \"id\": \"name-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": { \"en\": \"Name\" },\n \"name\": \"name\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your name\" }\n }\n },\n {\n \"id\": \"email-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": { \"en\": \"Email\" },\n \"name\": \"email\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": { \"en\": \"your@email.com\" }\n }\n },\n {\n \"id\": \"message-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 750 },\n \"data\": {\n \"label\": { \"en\": \"Message\" },\n \"name\": \"message\",\n \"type\": \"textarea\",\n \"required\": true,\n \"placeholder\": { \"en\": \"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\": { \"en\": \"User Registration\" }, \"type\": \"title\" }\n },\n {\n \"id\": \"age-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": { \"en\": \"Age\" },\n \"name\": \"age\",\n \"type\": \"number\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your age\" }\n }\n },\n {\n \"id\": \"address-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": { \"en\": \"Address\" },\n \"name\": \"address\",\n \"type\": \"address\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your address\" }\n }\n },\n {\n \"id\": \"country-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 750 },\n \"data\": {\n \"label\": { \"en\": \"Country\" },\n \"name\": \"country\",\n \"type\": \"select\",\n \"required\": true,\n \"options\": [\n { \"value\": \"us\", \"label\": { \"en\": \"United States\" } },\n { \"value\": \"ca\", \"label\": { \"en\": \"Canada\" } },\n { \"value\": \"uk\", \"label\": { \"en\": \"United Kingdom\" } },\n { \"value\": \"fr\", \"label\": { \"en\": \"France\" } },\n { \"value\": \"de\", \"label\": { \"en\": \"Germany\" } }\n ]\n }\n },\n {\n \"id\": \"submit-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 1000 },\n \"data\": {\n \"label\": { \"en\": \"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\": { \"en\": \"Survey Form\" }, \"type\": \"title\" }\n },\n {\n \"id\": \"name-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"data\": {\n \"label\": { \"en\": \"Name\" },\n \"name\": \"name\",\n \"type\": \"text\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your name\" }\n }\n },\n {\n \"id\": \"age-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"data\": {\n \"label\": { \"en\": \"Age\" },\n \"name\": \"age\",\n \"type\": \"number\",\n \"required\": true,\n \"placeholder\": { \"en\": \"Enter your age\" }\n }\n },\n {\n \"id\": \"movie-1\",\n \"type\": \"input\",\n \"position\": { \"x\": -350, \"y\": 750 },\n \"data\": {\n \"label\": { \"en\": \"Favorite Movie\" },\n \"name\": \"favoriteMovie\",\n \"type\": \"text\",\n \"required\": true,\n \"helperText\": { \"en\": \"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\": { \"en\": \"Favorite Color\" },\n \"name\": \"favoriteColor\",\n \"type\": \"text\",\n \"required\": true,\n \"helperText\": { \"en\": \"For those under 18\" }\n }\n },\n {\n \"id\": \"submit-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 1000 },\n \"data\": {\n \"label\": { \"en\": \"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\nUser: \"Create a two-step order form: first the customer info (name, email), then the order (product selector, quantity)\"\nResponse:\n{\n \"nodes\": [\n {\n \"id\": \"g-customer\",\n \"type\": \"group\",\n \"hidden\": true,\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": { \"label\": { \"en\": \"Customer\" } }\n },\n {\n \"id\": \"g-order\",\n \"type\": \"group\",\n \"hidden\": true,\n \"position\": { \"x\": 0, \"y\": 0 },\n \"data\": { \"label\": { \"en\": \"Order\" } }\n },\n {\n \"id\": \"name-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 0 },\n \"parentId\": \"g-customer\",\n \"data\": { \"label\": { \"en\": \"Name\" }, \"name\": \"name\", \"type\": \"text\", \"required\": true }\n },\n {\n \"id\": \"email-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 250 },\n \"parentId\": \"g-customer\",\n \"data\": { \"label\": { \"en\": \"Email\" }, \"name\": \"email\", \"type\": \"text\", \"required\": true }\n },\n {\n \"id\": \"product-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 500 },\n \"parentId\": \"g-order\",\n \"data\": {\n \"label\": { \"en\": \"Product\" },\n \"name\": \"product\",\n \"type\": \"select\",\n \"required\": true,\n \"options\": [\n { \"value\": \"basic\", \"label\": { \"en\": \"Basic\" } },\n { \"value\": \"pro\", \"label\": { \"en\": \"Pro\" } }\n ]\n }\n },\n {\n \"id\": \"quantity-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 750 },\n \"parentId\": \"g-order\",\n \"data\": { \"label\": { \"en\": \"Quantity\" }, \"name\": \"quantity\", \"type\": \"number\", \"required\": true }\n },\n {\n \"id\": \"submit-1\",\n \"type\": \"input\",\n \"position\": { \"x\": 0, \"y\": 1000 },\n \"parentId\": \"g-order\",\n \"data\": { \"label\": { \"en\": \"Submit\" }, \"type\": \"submit\" }\n }\n ],\n \"edges\": [\n { \"id\": \"e1\", \"source\": \"name-1\", \"target\": \"email-1\" },\n { \"id\": \"e2\", \"source\": \"email-1\", \"target\": \"product-1\" },\n { \"id\": \"e3\", \"source\": \"product-1\", \"target\": \"quantity-1\" },\n { \"id\": \"e4\", \"source\": \"quantity-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- Group nodes MUST be hidden, at position (0, 0), and listed before their children\n", ea = {
|
|
3223
|
+
claude: "claude-opus-4-8",
|
|
3224
3224
|
deepseek: "deepseek-chat",
|
|
3225
3225
|
gemini: "gemini-2.5-flash",
|
|
3226
3226
|
openai: "gpt-4o-mini"
|
|
3227
|
-
}, ta = .3
|
|
3228
|
-
|
|
3227
|
+
}, ta = .3, na = (e) => {
|
|
3228
|
+
if (!(Array.isArray(e?.nodes) && Array.isArray(e?.edges))) throw Error("Invalid AI response: expected { nodes: [...], edges: [...] }");
|
|
3229
|
+
let t = new Set(e.nodes.filter((e) => e.type === c.group).map((e) => e.id)), n = e.nodes.map((e) => {
|
|
3230
|
+
if (e.type === c.group) return {
|
|
3231
|
+
...e,
|
|
3232
|
+
hidden: !0,
|
|
3233
|
+
position: {
|
|
3234
|
+
x: 0,
|
|
3235
|
+
y: 0
|
|
3236
|
+
}
|
|
3237
|
+
};
|
|
3238
|
+
if (e.parentId && !t.has(e.parentId)) {
|
|
3239
|
+
let { parentId: t, ...n } = e;
|
|
3240
|
+
return n;
|
|
3241
|
+
}
|
|
3242
|
+
return e;
|
|
3243
|
+
}), r = n.filter((e) => e.type === c.group), i = n.filter((e) => e.type !== c.group);
|
|
3244
|
+
return {
|
|
3245
|
+
...e,
|
|
3246
|
+
nodes: [...r, ...i]
|
|
3247
|
+
};
|
|
3248
|
+
};
|
|
3249
|
+
function ra(e) {
|
|
3229
3250
|
try {
|
|
3230
3251
|
return JSON.parse(e);
|
|
3231
3252
|
} catch (t) {
|
|
@@ -3237,7 +3258,7 @@ function na(e) {
|
|
|
3237
3258
|
}
|
|
3238
3259
|
}
|
|
3239
3260
|
}
|
|
3240
|
-
async function
|
|
3261
|
+
async function ia(e) {
|
|
3241
3262
|
let t = e.config.model || ea.gemini, n = e.config.temperature ?? ta, r = await fetch(`https://generativelanguage.googleapis.com/v1beta/models/${t}:generateContent?key=${e.config.apiKey}`, {
|
|
3242
3263
|
body: JSON.stringify({
|
|
3243
3264
|
contents: [{ parts: [{ text: `${$i}\n\nUser request: ${e.prompt}` }] }],
|
|
@@ -3255,9 +3276,9 @@ async function ra(e) {
|
|
|
3255
3276
|
}
|
|
3256
3277
|
let i = (await r.json()).candidates?.[0]?.content?.parts?.[0]?.text;
|
|
3257
3278
|
if (!i) throw Error("No response from Gemini");
|
|
3258
|
-
return
|
|
3279
|
+
return ra(i);
|
|
3259
3280
|
}
|
|
3260
|
-
async function
|
|
3281
|
+
async function aa(e) {
|
|
3261
3282
|
let t = e.config.model || ea.openai, n = e.config.temperature ?? ta, r = await fetch("https://api.openai.com/v1/chat/completions", {
|
|
3262
3283
|
body: JSON.stringify({
|
|
3263
3284
|
messages: [{
|
|
@@ -3283,9 +3304,9 @@ async function ia(e) {
|
|
|
3283
3304
|
}
|
|
3284
3305
|
let i = (await r.json()).choices?.[0]?.message?.content;
|
|
3285
3306
|
if (!i) throw Error("No response from OpenAI");
|
|
3286
|
-
return
|
|
3307
|
+
return ra(i);
|
|
3287
3308
|
}
|
|
3288
|
-
async function
|
|
3309
|
+
async function oa(e) {
|
|
3289
3310
|
let t = e.config.model || ea.deepseek, n = e.config.temperature ?? ta, r = await fetch("https://api.deepseek.com/v1/chat/completions", {
|
|
3290
3311
|
body: JSON.stringify({
|
|
3291
3312
|
messages: [{
|
|
@@ -3311,19 +3332,19 @@ async function aa(e) {
|
|
|
3311
3332
|
}
|
|
3312
3333
|
let i = (await r.json()).choices?.[0]?.message?.content;
|
|
3313
3334
|
if (!i) throw Error("No response from DeepSeek");
|
|
3314
|
-
return
|
|
3335
|
+
return ra(i);
|
|
3315
3336
|
}
|
|
3316
|
-
async function
|
|
3337
|
+
async function sa(e) {
|
|
3317
3338
|
let t = e.config.model || ea.claude, n = e.config.temperature ?? ta, r = await fetch("https://api.anthropic.com/v1/messages", {
|
|
3318
3339
|
body: JSON.stringify({
|
|
3319
|
-
max_tokens:
|
|
3340
|
+
max_tokens: 16e3,
|
|
3320
3341
|
messages: [{
|
|
3321
3342
|
content: e.prompt,
|
|
3322
3343
|
role: "user"
|
|
3323
3344
|
}],
|
|
3324
3345
|
model: t,
|
|
3325
3346
|
system: $i,
|
|
3326
|
-
temperature: n
|
|
3347
|
+
...t.startsWith("claude-3") || t.includes("-4-5") || t.includes("-4-6") ? { temperature: n } : {}
|
|
3327
3348
|
}),
|
|
3328
3349
|
headers: {
|
|
3329
3350
|
"anthropic-version": "2023-06-01",
|
|
@@ -3338,20 +3359,22 @@ async function oa(e) {
|
|
|
3338
3359
|
}
|
|
3339
3360
|
let i = (await r.json()).content?.[0]?.text;
|
|
3340
3361
|
if (!i) throw Error("No response from Claude");
|
|
3341
|
-
return
|
|
3362
|
+
return ra(i);
|
|
3342
3363
|
}
|
|
3343
|
-
function
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3364
|
+
async function ca(e) {
|
|
3365
|
+
return na(await (() => {
|
|
3366
|
+
switch (e.config.provider) {
|
|
3367
|
+
case "gemini": return ia(e);
|
|
3368
|
+
case "openai": return aa(e);
|
|
3369
|
+
case "deepseek": return oa(e);
|
|
3370
|
+
case "claude": return sa(e);
|
|
3371
|
+
default: throw Error(`Unsupported AI provider: ${e.config.provider}`);
|
|
3372
|
+
}
|
|
3373
|
+
})());
|
|
3351
3374
|
}
|
|
3352
3375
|
//#endregion
|
|
3353
3376
|
//#region src/editor/features/TreegeEditor/panel/AIGeneratorDialog.tsx
|
|
3354
|
-
var
|
|
3377
|
+
var la = ({ aiConfig: e, onGenerate: t }) => {
|
|
3355
3378
|
let [n, r] = G(!1), [i, a] = G(""), [o, s] = G(!1), c = Q(), l = async () => {
|
|
3356
3379
|
if (!i.trim()) {
|
|
3357
3380
|
X.error(c("editor.aiGenerator.enterDescription"));
|
|
@@ -3363,7 +3386,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3363
3386
|
}
|
|
3364
3387
|
s(!0);
|
|
3365
3388
|
try {
|
|
3366
|
-
let n = await
|
|
3389
|
+
let n = await ca({
|
|
3367
3390
|
config: e,
|
|
3368
3391
|
prompt: i.trim()
|
|
3369
3392
|
});
|
|
@@ -3377,10 +3400,10 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3377
3400
|
s(!1);
|
|
3378
3401
|
}
|
|
3379
3402
|
};
|
|
3380
|
-
return /* @__PURE__ */ J(
|
|
3403
|
+
return /* @__PURE__ */ J(E, {
|
|
3381
3404
|
open: n,
|
|
3382
3405
|
onOpenChange: r,
|
|
3383
|
-
children: [/* @__PURE__ */ q(
|
|
3406
|
+
children: [/* @__PURE__ */ q(te, {
|
|
3384
3407
|
asChild: !0,
|
|
3385
3408
|
children: /* @__PURE__ */ J(I, {
|
|
3386
3409
|
variant: "outline",
|
|
@@ -3398,7 +3421,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3398
3421
|
}), /* @__PURE__ */ J(_e, {
|
|
3399
3422
|
className: "tg:sm:max-w-[550px]!",
|
|
3400
3423
|
children: [
|
|
3401
|
-
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(
|
|
3424
|
+
/* @__PURE__ */ J(ce, { children: [/* @__PURE__ */ q(k, { children: c("editor.aiGenerator.title") }), /* @__PURE__ */ q(ae, { children: c("editor.aiGenerator.titleDescription") })] }),
|
|
3402
3425
|
/* @__PURE__ */ J("div", {
|
|
3403
3426
|
className: "tg:grid tg:gap-4 tg:py-4",
|
|
3404
3427
|
children: [/* @__PURE__ */ J("div", {
|
|
@@ -3456,37 +3479,37 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3456
3479
|
]
|
|
3457
3480
|
})]
|
|
3458
3481
|
});
|
|
3459
|
-
},
|
|
3460
|
-
hasInputNodes: Je((e) => e.nodes.some((e) => e.type ===
|
|
3482
|
+
}, ua = () => ({
|
|
3483
|
+
hasInputNodes: Je((e) => e.nodes.some((e) => e.type === c.input)),
|
|
3461
3484
|
isEmpty: Je((e) => e.nodes.length === 0 && e.edges.length === 0)
|
|
3462
|
-
}),
|
|
3485
|
+
}), da = { variant: "card" }, fa = (e) => typeof e == "object" && !!e && !Array.isArray(e), pa = (e) => {
|
|
3463
3486
|
if (e == null || e === "") return !0;
|
|
3464
3487
|
if (Array.isArray(e)) return e.length === 0;
|
|
3465
|
-
if (
|
|
3488
|
+
if (fa(e)) {
|
|
3466
3489
|
let t = Object.values(e);
|
|
3467
|
-
return t.length === 0 || t.every(
|
|
3490
|
+
return t.length === 0 || t.every(pa);
|
|
3468
3491
|
}
|
|
3469
3492
|
return !1;
|
|
3470
|
-
},
|
|
3471
|
-
let t = Object.entries(e).filter(([e, t]) => !
|
|
3493
|
+
}, ma = (e, t) => Object.hasOwn(da, e) && t === da[e], ha = (e, t) => pa(t) || ma(e, t), ga = (e) => {
|
|
3494
|
+
let t = Object.entries(e).filter(([e, t]) => !ha(e, t));
|
|
3472
3495
|
return Object.fromEntries(t);
|
|
3473
|
-
},
|
|
3496
|
+
}, _a = (e) => ({
|
|
3474
3497
|
...e,
|
|
3475
3498
|
edges: e.edges.map(({ selected: e, ...t }) => t),
|
|
3476
3499
|
nodes: e.nodes.map(({ selected: e, dragging: t, measured: n, ...r }) => r.data ? {
|
|
3477
3500
|
...r,
|
|
3478
|
-
data:
|
|
3501
|
+
data: ga(r.data)
|
|
3479
3502
|
} : r)
|
|
3480
|
-
}),
|
|
3503
|
+
}), va = (e) => typeof e == "object" && !!e && !Array.isArray(e), ya = /^(authorization|proxy-authorization|cookie|x-api-key|api-?key|x-auth-token|x-access-token|x-secret)$/i, ba = [
|
|
3481
3504
|
"httpConfig",
|
|
3482
3505
|
"optionsSource",
|
|
3483
3506
|
"submitConfig"
|
|
3484
|
-
],
|
|
3485
|
-
if (!(
|
|
3507
|
+
], xa = (e) => ya.test(e.trim()), Sa = (e) => !!e?.some((e) => xa(e.key) && e.value.trim() !== ""), Ca = (e) => {
|
|
3508
|
+
if (!(va(e) && va(e.headers))) return {
|
|
3486
3509
|
config: e,
|
|
3487
3510
|
removed: 0
|
|
3488
3511
|
};
|
|
3489
|
-
let t = Object.entries(e.headers).filter(([e]) => !
|
|
3512
|
+
let t = Object.entries(e.headers).filter(([e]) => !xa(e)), n = Object.keys(e.headers).length - t.length;
|
|
3490
3513
|
return {
|
|
3491
3514
|
config: {
|
|
3492
3515
|
...e,
|
|
@@ -3494,15 +3517,15 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3494
3517
|
},
|
|
3495
3518
|
removed: n
|
|
3496
3519
|
};
|
|
3497
|
-
},
|
|
3520
|
+
}, wa = (e) => {
|
|
3498
3521
|
let t = e.nodes.map((e) => {
|
|
3499
|
-
if (!
|
|
3522
|
+
if (!va(e.data)) return {
|
|
3500
3523
|
node: e,
|
|
3501
3524
|
removed: 0
|
|
3502
3525
|
};
|
|
3503
|
-
let t =
|
|
3526
|
+
let t = ba.map((t) => ({
|
|
3504
3527
|
key: t,
|
|
3505
|
-
...
|
|
3528
|
+
...Ca(e.data[t])
|
|
3506
3529
|
})).filter((e) => e.removed > 0);
|
|
3507
3530
|
if (t.length === 0) return {
|
|
3508
3531
|
node: e,
|
|
@@ -3527,7 +3550,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3527
3550
|
},
|
|
3528
3551
|
strippedCount: t.reduce((e, t) => e + t.removed, 0)
|
|
3529
3552
|
};
|
|
3530
|
-
},
|
|
3553
|
+
}, Ta = {
|
|
3531
3554
|
ar: "ar",
|
|
3532
3555
|
de: "de",
|
|
3533
3556
|
en: "en",
|
|
@@ -3535,13 +3558,13 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3535
3558
|
fr: "fr",
|
|
3536
3559
|
it: "it",
|
|
3537
3560
|
pt: "pt"
|
|
3538
|
-
},
|
|
3539
|
-
let [o, s] = G(!1), [c, l] = G(!1), [u, d] = G(!1), [f, p] = G(!1), { flowId: m, setFlowId: h, aiConfig: g, language: _, setLanguage: v } = Z(), { document: y } = ii(), { setNodes:
|
|
3540
|
-
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 =
|
|
3561
|
+
}, Ea = vr(), Da = ({ onExportJson: e, onSave: t, extraMenuItems: n, onAuthorize: r, headers: i, onHeadersChange: a }) => {
|
|
3562
|
+
let [o, s] = G(!1), [c, l] = G(!1), [u, d] = G(!1), [f, p] = G(!1), { flowId: m, setFlowId: h, aiConfig: g, language: _, setLanguage: v } = Z(), { document: y } = ii(), { setNodes: b, setEdges: x, addNodes: S, screenToFlowPosition: C } = qe(), w = Object.keys(i ?? {}).length > 0, T = m || Ea, E = Ge(), D = We(), { hasInputNodes: O, isEmpty: ee } = ua(), k = nt(null), A = !!y && !f, j = Q(), te = () => {
|
|
3563
|
+
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 = C({
|
|
3541
3564
|
x: e - n,
|
|
3542
3565
|
y: t - r
|
|
3543
3566
|
});
|
|
3544
|
-
|
|
3567
|
+
S([{
|
|
3545
3568
|
...yr,
|
|
3546
3569
|
id: vr(),
|
|
3547
3570
|
position: i,
|
|
@@ -3554,39 +3577,39 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3554
3577
|
n.onload = (e) => {
|
|
3555
3578
|
try {
|
|
3556
3579
|
let t = JSON.parse(e.target?.result);
|
|
3557
|
-
t && Array.isArray(t.nodes) && Array.isArray(t.edges) ? (
|
|
3580
|
+
t && Array.isArray(t.nodes) && Array.isArray(t.edges) ? (b(t.nodes), x(t.edges), X.success(j("editor.actionsPanel.importSuccess"), { description: j("editor.actionsPanel.importSuccessDesc") })) : X.error(j("editor.actionsPanel.invalidJson"), { description: j("editor.actionsPanel.invalidJsonDesc") });
|
|
3558
3581
|
} catch (e) {
|
|
3559
|
-
console.warn(e), X.error(
|
|
3582
|
+
console.warn(e), X.error(j("editor.actionsPanel.parseError"), { description: j("editor.actionsPanel.parseErrorDesc") });
|
|
3560
3583
|
}
|
|
3561
|
-
|
|
3584
|
+
k.current && (k.current.value = "");
|
|
3562
3585
|
}, n.readAsText(t);
|
|
3563
3586
|
}, re = () => {
|
|
3564
|
-
let { flow: e, strippedCount: t } =
|
|
3565
|
-
edges:
|
|
3566
|
-
id:
|
|
3567
|
-
nodes:
|
|
3587
|
+
let { flow: e, strippedCount: t } = wa({
|
|
3588
|
+
edges: D,
|
|
3589
|
+
id: T,
|
|
3590
|
+
nodes: E
|
|
3568
3591
|
});
|
|
3569
|
-
return t > 0 && X.warning(
|
|
3592
|
+
return t > 0 && X.warning(j("editor.actionsPanel.sensitiveHeadersStripped"), { description: j("editor.actionsPanel.sensitiveHeadersStrippedDesc") }), _a(e);
|
|
3570
3593
|
}, ie = () => {
|
|
3571
3594
|
let t = re(), n = new Blob([JSON.stringify(t, null, 2)], { type: "application/json" }), r = URL.createObjectURL(n), i = document.createElement("a");
|
|
3572
|
-
i.href = r, i.download = "treege.json", i.click(), URL.revokeObjectURL(r), X.success(
|
|
3595
|
+
i.href = r, i.download = "treege.json", i.click(), URL.revokeObjectURL(r), X.success(j("editor.actionsPanel.downloadSuccess"), { description: j("editor.actionsPanel.downloadSuccessDesc") }), m || h?.(T), e?.(t);
|
|
3573
3596
|
}, ae = H(() => {
|
|
3574
3597
|
if (!t) return;
|
|
3575
|
-
m || h?.(
|
|
3576
|
-
let { flow: e, strippedCount: n } =
|
|
3577
|
-
edges:
|
|
3578
|
-
id:
|
|
3579
|
-
nodes:
|
|
3598
|
+
m || h?.(T);
|
|
3599
|
+
let { flow: e, strippedCount: n } = wa({
|
|
3600
|
+
edges: D,
|
|
3601
|
+
id: T,
|
|
3602
|
+
nodes: E
|
|
3580
3603
|
});
|
|
3581
|
-
n > 0 && X.warning(
|
|
3604
|
+
n > 0 && X.warning(j("editor.actionsPanel.sensitiveHeadersStripped"), { description: j("editor.actionsPanel.sensitiveHeadersStrippedDesc") }), t?.(_a(e));
|
|
3582
3605
|
}, [
|
|
3583
|
-
|
|
3606
|
+
D,
|
|
3584
3607
|
m,
|
|
3585
|
-
w,
|
|
3586
3608
|
T,
|
|
3609
|
+
E,
|
|
3587
3610
|
t,
|
|
3588
3611
|
h,
|
|
3589
|
-
|
|
3612
|
+
j
|
|
3590
3613
|
]);
|
|
3591
3614
|
return U(() => {
|
|
3592
3615
|
y && p(!1);
|
|
@@ -3601,22 +3624,22 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3601
3624
|
position: "top-right",
|
|
3602
3625
|
className: "tg:flex tg:gap-2",
|
|
3603
3626
|
children: [
|
|
3604
|
-
/* @__PURE__ */ q(
|
|
3627
|
+
/* @__PURE__ */ q(la, {
|
|
3605
3628
|
aiConfig: g,
|
|
3606
3629
|
onGenerate: (e) => {
|
|
3607
|
-
|
|
3630
|
+
b(e.nodes), x(e.edges);
|
|
3608
3631
|
}
|
|
3609
3632
|
}),
|
|
3610
3633
|
/* @__PURE__ */ J(I, {
|
|
3611
3634
|
variant: "outline",
|
|
3612
3635
|
size: "sm",
|
|
3613
|
-
onClick:
|
|
3636
|
+
onClick: te,
|
|
3614
3637
|
children: [
|
|
3615
3638
|
/* @__PURE__ */ q(Jt, {}),
|
|
3616
3639
|
" ",
|
|
3617
3640
|
/* @__PURE__ */ q("span", {
|
|
3618
3641
|
className: "tg:hidden tg:md:inline",
|
|
3619
|
-
children:
|
|
3642
|
+
children: j("editor.actionsPanel.addNode")
|
|
3620
3643
|
})
|
|
3621
3644
|
]
|
|
3622
3645
|
}),
|
|
@@ -3629,7 +3652,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3629
3652
|
" ",
|
|
3630
3653
|
/* @__PURE__ */ q("span", {
|
|
3631
3654
|
className: "tg:hidden tg:md:inline",
|
|
3632
|
-
children:
|
|
3655
|
+
children: j("common.save")
|
|
3633
3656
|
})
|
|
3634
3657
|
]
|
|
3635
3658
|
}),
|
|
@@ -3641,7 +3664,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3641
3664
|
variant: "outline",
|
|
3642
3665
|
size: "sm",
|
|
3643
3666
|
className: "tg:relative",
|
|
3644
|
-
children: [/* @__PURE__ */ q(Ct, {}),
|
|
3667
|
+
children: [/* @__PURE__ */ q(Ct, {}), A && /* @__PURE__ */ q("span", {
|
|
3645
3668
|
"aria-hidden": !0,
|
|
3646
3669
|
className: "tg:absolute tg:-top-0.5 tg:-right-0.5 tg:size-2 tg:rounded-full tg:bg-destructive tg:ring-2 tg:ring-background"
|
|
3647
3670
|
})]
|
|
@@ -3651,20 +3674,20 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3651
3674
|
children: [
|
|
3652
3675
|
/* @__PURE__ */ J(cr, { children: [
|
|
3653
3676
|
/* @__PURE__ */ J($, {
|
|
3654
|
-
onClick: () =>
|
|
3677
|
+
onClick: () => k?.current?.click(),
|
|
3655
3678
|
children: [
|
|
3656
3679
|
/* @__PURE__ */ q(St, {}),
|
|
3657
3680
|
" ",
|
|
3658
|
-
|
|
3681
|
+
j("editor.actionsPanel.importJson")
|
|
3659
3682
|
]
|
|
3660
3683
|
}),
|
|
3661
3684
|
/* @__PURE__ */ J($, {
|
|
3662
3685
|
onClick: ie,
|
|
3663
|
-
disabled: !
|
|
3686
|
+
disabled: !O,
|
|
3664
3687
|
children: [
|
|
3665
3688
|
/* @__PURE__ */ q(it, {}),
|
|
3666
3689
|
" ",
|
|
3667
|
-
|
|
3690
|
+
j("editor.actionsPanel.exportJson")
|
|
3668
3691
|
]
|
|
3669
3692
|
}),
|
|
3670
3693
|
/* @__PURE__ */ J($, {
|
|
@@ -3672,7 +3695,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3672
3695
|
children: [
|
|
3673
3696
|
/* @__PURE__ */ q(Dt, {}),
|
|
3674
3697
|
" ",
|
|
3675
|
-
|
|
3698
|
+
j("editor.actionsPanel.openApi"),
|
|
3676
3699
|
y && /* @__PURE__ */ q("span", {
|
|
3677
3700
|
"aria-hidden": !0,
|
|
3678
3701
|
className: "tg:ml-auto tg:size-2 tg:rounded-full tg:bg-emerald-500"
|
|
@@ -3684,8 +3707,8 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3684
3707
|
children: [
|
|
3685
3708
|
/* @__PURE__ */ q(Ft, {}),
|
|
3686
3709
|
" ",
|
|
3687
|
-
|
|
3688
|
-
|
|
3710
|
+
j("editor.actionsPanel.globalHeaders"),
|
|
3711
|
+
w && /* @__PURE__ */ q("span", {
|
|
3689
3712
|
"aria-hidden": !0,
|
|
3690
3713
|
className: "tg:ml-auto tg:size-2 tg:rounded-full tg:bg-emerald-500"
|
|
3691
3714
|
})
|
|
@@ -3696,8 +3719,8 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3696
3719
|
children: [
|
|
3697
3720
|
/* @__PURE__ */ q(Vt, {}),
|
|
3698
3721
|
" ",
|
|
3699
|
-
|
|
3700
|
-
|
|
3722
|
+
j("editor.actionsPanel.authorize"),
|
|
3723
|
+
A && /* @__PURE__ */ q("span", {
|
|
3701
3724
|
"aria-hidden": !0,
|
|
3702
3725
|
className: "tg:ml-auto tg:size-2 tg:rounded-full tg:bg-destructive"
|
|
3703
3726
|
})
|
|
@@ -3708,11 +3731,11 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3708
3731
|
/* @__PURE__ */ q(cr, { children: /* @__PURE__ */ J(pr, { children: [/* @__PURE__ */ J(mr, { children: [
|
|
3709
3732
|
/* @__PURE__ */ q(It, {}),
|
|
3710
3733
|
" ",
|
|
3711
|
-
|
|
3734
|
+
j("editor.actionsPanel.language")
|
|
3712
3735
|
] }), /* @__PURE__ */ q(hr, { children: /* @__PURE__ */ q(lr, {
|
|
3713
3736
|
value: _,
|
|
3714
3737
|
onValueChange: v,
|
|
3715
|
-
children: Object.values(
|
|
3738
|
+
children: Object.values(Ta).map((e) => /* @__PURE__ */ q(ur, {
|
|
3716
3739
|
value: e,
|
|
3717
3740
|
className: "tg:uppercase",
|
|
3718
3741
|
children: e
|
|
@@ -3726,20 +3749,20 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3726
3749
|
/* @__PURE__ */ q(fr, {}),
|
|
3727
3750
|
/* @__PURE__ */ q(cr, { children: /* @__PURE__ */ J($, {
|
|
3728
3751
|
onClick: () => {
|
|
3729
|
-
|
|
3752
|
+
b([]), x([]), X.success(j("editor.actionsPanel.clearSuccess"), { description: j("editor.actionsPanel.clearSuccessDesc") });
|
|
3730
3753
|
},
|
|
3731
|
-
disabled:
|
|
3754
|
+
disabled: ee,
|
|
3732
3755
|
className: "tg:text-destructive tg:focus:text-destructive",
|
|
3733
3756
|
children: [
|
|
3734
3757
|
/* @__PURE__ */ q(on, { className: "tg:text-destructive" }),
|
|
3735
3758
|
" ",
|
|
3736
|
-
|
|
3759
|
+
j("editor.actionsPanel.clear")
|
|
3737
3760
|
]
|
|
3738
3761
|
}) }),
|
|
3739
3762
|
/* @__PURE__ */ q(fr, {}),
|
|
3740
3763
|
/* @__PURE__ */ J(dr, {
|
|
3741
3764
|
className: "tg:font-normal tg:text-muted-foreground tg:text-xs",
|
|
3742
|
-
children: ["v", "3.0.0-beta.
|
|
3765
|
+
children: ["v", "3.0.0-beta.96"]
|
|
3743
3766
|
})
|
|
3744
3767
|
]
|
|
3745
3768
|
})]
|
|
@@ -3748,7 +3771,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3748
3771
|
type: "file",
|
|
3749
3772
|
accept: "application/json,.json",
|
|
3750
3773
|
className: "tg:hidden",
|
|
3751
|
-
ref:
|
|
3774
|
+
ref: k,
|
|
3752
3775
|
onChange: ne
|
|
3753
3776
|
}),
|
|
3754
3777
|
/* @__PURE__ */ q(Qi, {
|
|
@@ -3768,8 +3791,8 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3768
3791
|
})
|
|
3769
3792
|
]
|
|
3770
3793
|
});
|
|
3771
|
-
},
|
|
3772
|
-
let { selectedNodes: e } = kr(), { clearSelection: t, deleteNodes: n } = Rr(), r = Q(), i = W(() => e.filter((e) => !
|
|
3794
|
+
}, Oa = () => {
|
|
3795
|
+
let { selectedNodes: e } = kr(), { clearSelection: t, deleteNodes: n } = Rr(), r = Q(), i = W(() => e.filter((e) => !s(e)), [e]);
|
|
3773
3796
|
return i.length < 2 ? null : /* @__PURE__ */ q(Le, {
|
|
3774
3797
|
position: "top-center",
|
|
3775
3798
|
className: "tg:pointer-events-auto",
|
|
@@ -3817,22 +3840,22 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3817
3840
|
]
|
|
3818
3841
|
})
|
|
3819
3842
|
});
|
|
3820
|
-
},
|
|
3843
|
+
}, ka = ({ value: e = "en", onValueChange: t }) => /* @__PURE__ */ J(M, {
|
|
3821
3844
|
value: e,
|
|
3822
3845
|
onValueChange: t,
|
|
3823
3846
|
children: [/* @__PURE__ */ q(N, {
|
|
3824
3847
|
className: "tg:uppercase",
|
|
3825
3848
|
children: /* @__PURE__ */ q(P, { placeholder: "" })
|
|
3826
|
-
}), /* @__PURE__ */ q(
|
|
3849
|
+
}), /* @__PURE__ */ q(A, { children: /* @__PURE__ */ q(re, { children: Object.values(Ta).map((e) => /* @__PURE__ */ q(B, {
|
|
3827
3850
|
value: e,
|
|
3828
3851
|
className: "tg:uppercase",
|
|
3829
3852
|
children: e
|
|
3830
3853
|
}, e)) }) })]
|
|
3831
|
-
}),
|
|
3854
|
+
}), Aa = ({ value: e, language: t, onChange: n, ...r }) => /* @__PURE__ */ q(L, {
|
|
3832
3855
|
...r,
|
|
3833
|
-
value:
|
|
3856
|
+
value: f(e, t),
|
|
3834
3857
|
onChange: ({ target: r }) => n(p(e, t, r.value))
|
|
3835
|
-
}),
|
|
3858
|
+
}), ja = () => {
|
|
3836
3859
|
let [e, t] = G("en"), { selectedNode: n } = kr(), { updateSelectedNodeData: r } = Rr(), { Field: i } = rt({
|
|
3837
3860
|
defaultValues: { label: n?.data?.label || {} },
|
|
3838
3861
|
listeners: {
|
|
@@ -3858,7 +3881,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3858
3881
|
children: [/* @__PURE__ */ q(V, {
|
|
3859
3882
|
htmlFor: t.name,
|
|
3860
3883
|
children: "Label"
|
|
3861
|
-
}), /* @__PURE__ */ q(
|
|
3884
|
+
}), /* @__PURE__ */ q(Aa, {
|
|
3862
3885
|
id: t.name,
|
|
3863
3886
|
name: t.name,
|
|
3864
3887
|
value: t.state.value,
|
|
@@ -3867,29 +3890,29 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3867
3890
|
onBlur: t.handleBlur
|
|
3868
3891
|
})]
|
|
3869
3892
|
})
|
|
3870
|
-
}), /* @__PURE__ */ q(
|
|
3893
|
+
}), /* @__PURE__ */ q(ka, {
|
|
3871
3894
|
value: e,
|
|
3872
3895
|
onValueChange: t
|
|
3873
3896
|
})]
|
|
3874
3897
|
})
|
|
3875
3898
|
});
|
|
3876
|
-
},
|
|
3899
|
+
}, Ma = /^"?\{\{[\w-]+}}"?$/, Na = new Set([
|
|
3877
3900
|
"Number",
|
|
3878
3901
|
"True",
|
|
3879
3902
|
"False",
|
|
3880
3903
|
"Null"
|
|
3881
|
-
]),
|
|
3904
|
+
]), Pa = (e, t) => {
|
|
3882
3905
|
let n = (t) => {
|
|
3883
3906
|
if (!t) return null;
|
|
3884
|
-
let r = t.name === "String" && t.parent?.name === "PropertyName", i = t.name === "PropertyName" || r || t.name === "String" ||
|
|
3907
|
+
let r = t.name === "String" && t.parent?.name === "PropertyName", i = t.name === "PropertyName" || r || t.name === "String" || Na.has(t.name) ? t : null;
|
|
3885
3908
|
return i ? {
|
|
3886
3909
|
from: i.from,
|
|
3887
|
-
isToken:
|
|
3910
|
+
isToken: Ma.test(e.sliceDoc(i.from, i.to)),
|
|
3888
3911
|
to: i.to
|
|
3889
3912
|
} : n(t.parent);
|
|
3890
3913
|
};
|
|
3891
3914
|
return n(kn(e).resolveInner(t, -1));
|
|
3892
|
-
},
|
|
3915
|
+
}, Fa = /"\{\{([\w-]+)}}"|\{\{([\w-]+)}}/g, Ia = class extends On {
|
|
3893
3916
|
constructor(e, t) {
|
|
3894
3917
|
super(), this.nodeId = e, this.label = t;
|
|
3895
3918
|
}
|
|
@@ -3903,7 +3926,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3903
3926
|
ignoreEvent() {
|
|
3904
3927
|
return !1;
|
|
3905
3928
|
}
|
|
3906
|
-
},
|
|
3929
|
+
}, La = Tn.baseTheme({
|
|
3907
3930
|
".tg-cm-token": {
|
|
3908
3931
|
backgroundColor: "rgba(59, 130, 246, 0.15)",
|
|
3909
3932
|
borderRadius: "4px",
|
|
@@ -3917,8 +3940,8 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3917
3940
|
backgroundColor: "rgba(59, 130, 246, 0.25)",
|
|
3918
3941
|
color: "#93c5fd"
|
|
3919
3942
|
}
|
|
3920
|
-
}),
|
|
3921
|
-
let r = Q(), { theme: i } =
|
|
3943
|
+
}), Ra = ({ value: e, onChange: t, fields: n }) => {
|
|
3944
|
+
let r = Q(), { theme: i } = b(), a = i === "dark" ? "dark" : i === "light" ? "light" : typeof window < "u" && window.matchMedia?.("(prefers-color-scheme: dark)").matches ? "dark" : "light", o = W(() => {
|
|
3922
3945
|
if (!e.trim()) return !1;
|
|
3923
3946
|
try {
|
|
3924
3947
|
return JSON.parse(e), !1;
|
|
@@ -3927,8 +3950,8 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3927
3950
|
}
|
|
3928
3951
|
}, [e]), s = W(() => {
|
|
3929
3952
|
let e = (e) => n.find((t) => t.nodeId === e)?.label ?? e, t = new En({
|
|
3930
|
-
decoration: (t) => wn.replace({ widget: new
|
|
3931
|
-
regexp:
|
|
3953
|
+
decoration: (t) => wn.replace({ widget: new Ia(t[1] ?? t[2], e(t[1] ?? t[2])) }),
|
|
3954
|
+
regexp: Fa
|
|
3932
3955
|
}), i = Dn.fromClass(class {
|
|
3933
3956
|
decorations;
|
|
3934
3957
|
constructor(e) {
|
|
@@ -3952,7 +3975,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3952
3975
|
}))
|
|
3953
3976
|
};
|
|
3954
3977
|
if (!e.explicit) return null;
|
|
3955
|
-
let i =
|
|
3978
|
+
let i = Pa(e.state, e.pos);
|
|
3956
3979
|
if (!i) return null;
|
|
3957
3980
|
let a = n.map((e) => ({
|
|
3958
3981
|
apply: `"{{${e.nodeId}}}"`,
|
|
@@ -3976,11 +3999,11 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
3976
3999
|
x: e.clientX,
|
|
3977
4000
|
y: e.clientY
|
|
3978
4001
|
});
|
|
3979
|
-
return n == null || !
|
|
4002
|
+
return n == null || !Pa(t.state, n) || requestAnimationFrame(() => xn(t)), !1;
|
|
3980
4003
|
} });
|
|
3981
4004
|
return [
|
|
3982
4005
|
Sn(),
|
|
3983
|
-
|
|
4006
|
+
La,
|
|
3984
4007
|
i,
|
|
3985
4008
|
bn({ override: [a] }),
|
|
3986
4009
|
o,
|
|
@@ -4017,93 +4040,93 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4017
4040
|
})
|
|
4018
4041
|
]
|
|
4019
4042
|
});
|
|
4020
|
-
},
|
|
4043
|
+
}, za = [
|
|
4021
4044
|
"POST",
|
|
4022
4045
|
"PUT",
|
|
4023
4046
|
"PATCH"
|
|
4024
|
-
],
|
|
4025
|
-
let
|
|
4026
|
-
if (!Array.isArray(
|
|
4027
|
-
let
|
|
4028
|
-
if (!
|
|
4029
|
-
let
|
|
4030
|
-
for (let [e, t] of Object.entries(
|
|
4031
|
-
return
|
|
4032
|
-
},
|
|
4033
|
-
let [
|
|
4047
|
+
], Ba = (e, t) => {
|
|
4048
|
+
let n = a(e, t);
|
|
4049
|
+
if (!Array.isArray(n) || n.length === 0) return [];
|
|
4050
|
+
let r = n[0];
|
|
4051
|
+
if (!r || typeof r != "object") return [];
|
|
4052
|
+
let i = [];
|
|
4053
|
+
for (let [e, t] of Object.entries(r)) if (i.push(e), typeof t == "object" && t && !Array.isArray(t)) for (let n of Object.keys(t)) i.push(`${e}.${n}`);
|
|
4054
|
+
return i;
|
|
4055
|
+
}, Va = ({ request: e, mapping: r, onMappingChange: i, showOptionalFields: a = !1 }) => {
|
|
4056
|
+
let [s, c] = G(!1), [l, u] = G([]), [d, f] = G(null), { headers: p } = Z(), { baseUrl: m } = ii(), { url: h, method: g = "GET", headers: _, queryParams: v, body: b, responsePath: x = "" } = e, S = Q(), C = W(() => l.map((e) => ({
|
|
4034
4057
|
label: e,
|
|
4035
4058
|
value: e
|
|
4036
|
-
})), [
|
|
4059
|
+
})), [l]), w = W(() => {
|
|
4037
4060
|
let e = /* @__PURE__ */ new Set();
|
|
4038
4061
|
for (let t of [
|
|
4039
4062
|
h,
|
|
4040
|
-
|
|
4063
|
+
b,
|
|
4041
4064
|
...Object.values(v ?? {})
|
|
4042
4065
|
]) if (t) for (let n of t.matchAll(/\{\{([\w-]+)}}/g)) e.add(n[1]);
|
|
4043
4066
|
return Array.from(e);
|
|
4044
4067
|
}, [
|
|
4045
4068
|
h,
|
|
4046
|
-
|
|
4069
|
+
b,
|
|
4047
4070
|
v
|
|
4048
|
-
]),
|
|
4071
|
+
]), T = w.length > 0, E = T ? { description: S("editor.optionsSourceForm.detectDynamicHint") } : void 0, D = async () => {
|
|
4049
4072
|
if (!h) {
|
|
4050
|
-
X.error(
|
|
4073
|
+
X.error(S("editor.optionsSourceForm.urlRequired"));
|
|
4051
4074
|
return;
|
|
4052
4075
|
}
|
|
4053
|
-
|
|
4076
|
+
c(!0);
|
|
4054
4077
|
try {
|
|
4055
|
-
let e = await
|
|
4056
|
-
body:
|
|
4057
|
-
headers:
|
|
4078
|
+
let e = await y({
|
|
4079
|
+
body: b && za.includes(g) ? b : void 0,
|
|
4080
|
+
headers: t(p, _),
|
|
4058
4081
|
method: g,
|
|
4059
4082
|
queryParams: v,
|
|
4060
|
-
url:
|
|
4083
|
+
url: o(h, m)
|
|
4061
4084
|
});
|
|
4062
4085
|
if (!e.success) {
|
|
4063
|
-
X.error(e.error ||
|
|
4086
|
+
X.error(e.error || S("editor.optionsSourceForm.detectFailed"), E);
|
|
4064
4087
|
return;
|
|
4065
4088
|
}
|
|
4066
|
-
let
|
|
4067
|
-
if (
|
|
4068
|
-
X.error(
|
|
4089
|
+
let i = Ba(e.data, x);
|
|
4090
|
+
if (i.length === 0) {
|
|
4091
|
+
X.error(S("editor.optionsSourceForm.noFieldsDetected"), E), u([]), f(null);
|
|
4069
4092
|
return;
|
|
4070
4093
|
}
|
|
4071
|
-
u(
|
|
4094
|
+
u(i), r.valueField && r.labelField ? f(n(e.data, x, r).length) : f(null), X.success(S("editor.optionsSourceForm.detectSuccess"));
|
|
4072
4095
|
} catch (e) {
|
|
4073
|
-
X.error(e instanceof Error ? e.message :
|
|
4096
|
+
X.error(e instanceof Error ? e.message : S("editor.optionsSourceForm.detectFailed"), E);
|
|
4074
4097
|
} finally {
|
|
4075
|
-
|
|
4098
|
+
c(!1);
|
|
4076
4099
|
}
|
|
4077
|
-
},
|
|
4078
|
-
let o =
|
|
4079
|
-
return
|
|
4100
|
+
}, O = (e, t, n, a) => {
|
|
4101
|
+
let o = r[e] ?? "";
|
|
4102
|
+
return C.length === 0 ? /* @__PURE__ */ J(z, {
|
|
4080
4103
|
className: "tg:min-w-0",
|
|
4081
4104
|
children: [/* @__PURE__ */ J(V, {
|
|
4082
4105
|
className: "tg:text-xs",
|
|
4083
|
-
children: [
|
|
4106
|
+
children: [t, a && /* @__PURE__ */ q("span", {
|
|
4084
4107
|
className: "tg:text-red-500",
|
|
4085
4108
|
children: " *"
|
|
4086
4109
|
})]
|
|
4087
4110
|
}), /* @__PURE__ */ q(L, {
|
|
4088
4111
|
value: o,
|
|
4089
|
-
placeholder:
|
|
4090
|
-
onChange: ({ target: t }) =>
|
|
4112
|
+
placeholder: n,
|
|
4113
|
+
onChange: ({ target: t }) => i({ [e]: t.value || void 0 })
|
|
4091
4114
|
})]
|
|
4092
4115
|
}) : /* @__PURE__ */ J(z, {
|
|
4093
4116
|
className: "tg:min-w-0",
|
|
4094
4117
|
children: [/* @__PURE__ */ J(V, {
|
|
4095
4118
|
className: "tg:text-xs",
|
|
4096
|
-
children: [
|
|
4119
|
+
children: [t, a && /* @__PURE__ */ q("span", {
|
|
4097
4120
|
className: "tg:text-red-500",
|
|
4098
4121
|
children: " *"
|
|
4099
4122
|
})]
|
|
4100
4123
|
}), /* @__PURE__ */ J(M, {
|
|
4101
4124
|
value: o || void 0,
|
|
4102
|
-
onValueChange: (t) =>
|
|
4125
|
+
onValueChange: (t) => i({ [e]: t || void 0 }),
|
|
4103
4126
|
children: [/* @__PURE__ */ q(N, {
|
|
4104
4127
|
className: "tg:w-full tg:min-w-0",
|
|
4105
|
-
children: /* @__PURE__ */ q(P, { placeholder:
|
|
4106
|
-
}), /* @__PURE__ */ q(
|
|
4128
|
+
children: /* @__PURE__ */ q(P, { placeholder: n })
|
|
4129
|
+
}), /* @__PURE__ */ q(A, { children: C.map((e) => /* @__PURE__ */ q(B, {
|
|
4107
4130
|
value: e.value,
|
|
4108
4131
|
children: e.label
|
|
4109
4132
|
}, e.value)) })]
|
|
@@ -4113,10 +4136,10 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4113
4136
|
return /* @__PURE__ */ J("div", {
|
|
4114
4137
|
className: "tg:flex tg:flex-col tg:gap-4",
|
|
4115
4138
|
children: [
|
|
4116
|
-
|
|
4139
|
+
T && /* @__PURE__ */ J("div", {
|
|
4117
4140
|
role: "note",
|
|
4118
4141
|
className: "tg:flex tg:items-start tg:gap-2 tg:rounded-md tg:border tg:border-amber-500/40 tg:bg-amber-500/10 tg:p-2 tg:text-amber-600 tg:text-xs",
|
|
4119
|
-
children: [/* @__PURE__ */ q(Pt, { className: "tg:mt-0.5 tg:h-4 tg:w-4 tg:shrink-0" }), /* @__PURE__ */ q("span", { children:
|
|
4142
|
+
children: [/* @__PURE__ */ q(Pt, { className: "tg:mt-0.5 tg:h-4 tg:w-4 tg:shrink-0" }), /* @__PURE__ */ q("span", { children: S("editor.optionsSourceForm.dynamicVarsWarning").replace("{vars}", w.map((e) => `{{${e}}}`).join(", ")) })]
|
|
4120
4143
|
}),
|
|
4121
4144
|
/* @__PURE__ */ J("div", {
|
|
4122
4145
|
className: "tg:flex tg:items-center tg:justify-between",
|
|
@@ -4124,42 +4147,42 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4124
4147
|
type: "button",
|
|
4125
4148
|
variant: "outline",
|
|
4126
4149
|
size: "sm",
|
|
4127
|
-
onClick:
|
|
4128
|
-
disabled:
|
|
4129
|
-
children: [
|
|
4150
|
+
onClick: D,
|
|
4151
|
+
disabled: s || !h,
|
|
4152
|
+
children: [s ? /* @__PURE__ */ q(Bt, { className: "tg:mr-2 tg:h-4 tg:w-4 tg:animate-spin" }) : /* @__PURE__ */ q(rn, { className: "tg:mr-2 tg:h-4 tg:w-4" }), S("editor.optionsSourceForm.detect")]
|
|
4130
4153
|
}), d !== null && /* @__PURE__ */ q("span", {
|
|
4131
4154
|
className: "tg:text-muted-foreground tg:text-xs",
|
|
4132
|
-
children:
|
|
4155
|
+
children: S("editor.optionsSourceForm.previewCount").replace("{count}", String(d))
|
|
4133
4156
|
})]
|
|
4134
4157
|
}),
|
|
4135
4158
|
/* @__PURE__ */ J("div", {
|
|
4136
4159
|
className: "tg:grid tg:grid-cols-2 tg:gap-3",
|
|
4137
4160
|
children: [
|
|
4138
|
-
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
|
|
4161
|
+
O("labelField", S("editor.optionsSourceForm.labelField"), S("editor.optionsSourceForm.labelFieldPlaceholder"), !0),
|
|
4162
|
+
O("valueField", S("editor.optionsSourceForm.valueField"), S("editor.optionsSourceForm.valueFieldPlaceholder"), !0),
|
|
4163
|
+
a && O("descriptionField", S("editor.optionsSourceForm.descriptionField"), S("editor.optionsSourceForm.descriptionFieldPlaceholder"), !1),
|
|
4164
|
+
a && O("imageField", S("editor.optionsSourceForm.imageField"), S("editor.optionsSourceForm.imageFieldPlaceholder"), !1)
|
|
4142
4165
|
]
|
|
4143
4166
|
})
|
|
4144
4167
|
]
|
|
4145
4168
|
});
|
|
4146
|
-
},
|
|
4169
|
+
}, Ha = ({ headers: e }) => {
|
|
4147
4170
|
let t = Q();
|
|
4148
|
-
return
|
|
4171
|
+
return Sa(e) ? /* @__PURE__ */ J("div", {
|
|
4149
4172
|
role: "alert",
|
|
4150
4173
|
className: "tg:flex tg:items-start tg:gap-2 tg:rounded-md tg:border tg:border-destructive/50 tg:bg-destructive/10 tg:p-2 tg:text-destructive tg:text-xs",
|
|
4151
4174
|
children: [/* @__PURE__ */ q(nn, { className: "tg:mt-0.5 tg:h-4 tg:w-4 tg:shrink-0" }), /* @__PURE__ */ q("span", { children: t("editor.sensitiveHeaderWarning.message") })]
|
|
4152
4175
|
}) : null;
|
|
4153
|
-
},
|
|
4176
|
+
}, Ua = {
|
|
4154
4177
|
DELETE: "tg:bg-red-500/15 tg:text-red-700 dark:tg:text-red-300",
|
|
4155
4178
|
GET: "tg:bg-blue-500/15 tg:text-blue-700 dark:tg:text-blue-300",
|
|
4156
4179
|
PATCH: "tg:bg-purple-500/15 tg:text-purple-700 dark:tg:text-purple-300",
|
|
4157
4180
|
POST: "tg:bg-green-500/15 tg:text-green-700 dark:tg:text-green-300",
|
|
4158
4181
|
PUT: "tg:bg-amber-500/15 tg:text-amber-700 dark:tg:text-amber-300"
|
|
4159
|
-
},
|
|
4182
|
+
}, Wa = /^(https?:)?\/\//i, Ga = ({ value: e, onChange: t, placeholder: n, children: r, ...i }) => {
|
|
4160
4183
|
let [a, o] = G(!1), { baseUrl: s, routes: c } = ii(), l = Q(), u = (e, n) => {
|
|
4161
4184
|
t(e.startsWith("/") ? e : `/${e}`, n), o(!1);
|
|
4162
|
-
}, d = !!s && e.startsWith(s), f = !!s && (d || !
|
|
4185
|
+
}, d = !!s && e.startsWith(s), f = !!s && (d || !Wa.test(e)), p = () => {
|
|
4163
4186
|
if (d) {
|
|
4164
4187
|
let n = e.slice(s.length);
|
|
4165
4188
|
t(n.startsWith("/") ? n : `/${n}`);
|
|
@@ -4199,13 +4222,13 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4199
4222
|
title: l("editor.apiUrlCombobox.browseRoutes"),
|
|
4200
4223
|
children: /* @__PURE__ */ q(kt, { className: "tg:h-4 tg:w-4" })
|
|
4201
4224
|
})
|
|
4202
|
-
}), /* @__PURE__ */ q(
|
|
4225
|
+
}), /* @__PURE__ */ q(T, {
|
|
4203
4226
|
align: "end",
|
|
4204
4227
|
className: "tg:w-[36rem] tg:max-w-[90vw] tg:p-0",
|
|
4205
4228
|
onWheel: (e) => e.stopPropagation(),
|
|
4206
|
-
children: /* @__PURE__ */ J(De, { children: [/* @__PURE__ */ q(
|
|
4229
|
+
children: /* @__PURE__ */ J(De, { children: [/* @__PURE__ */ q(O, { placeholder: l("editor.apiUrlCombobox.searchRoutes") }), /* @__PURE__ */ J(ve, {
|
|
4207
4230
|
className: "tg:max-h-72",
|
|
4208
|
-
children: [/* @__PURE__ */ q(de, { children: l("editor.apiUrlCombobox.noRoutes") }), /* @__PURE__ */ q(
|
|
4231
|
+
children: [/* @__PURE__ */ q(de, { children: l("editor.apiUrlCombobox.noRoutes") }), /* @__PURE__ */ q(ee, { children: c.map((e) => {
|
|
4209
4232
|
let t = `${e.method} ${e.path}`;
|
|
4210
4233
|
return /* @__PURE__ */ J(se, {
|
|
4211
4234
|
value: t + (e.summary ?? "") + (e.operationId ?? ""),
|
|
@@ -4213,7 +4236,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4213
4236
|
className: "tg:flex tg:items-center tg:gap-2",
|
|
4214
4237
|
children: [
|
|
4215
4238
|
/* @__PURE__ */ q("span", {
|
|
4216
|
-
className: `tg:inline-flex tg:min-w-14 tg:justify-center tg:rounded tg:px-1.5 tg:py-0.5 tg:font-mono tg:font-semibold tg:text-[10px] ${
|
|
4239
|
+
className: `tg:inline-flex tg:min-w-14 tg:justify-center tg:rounded tg:px-1.5 tg:py-0.5 tg:font-mono tg:font-semibold tg:text-[10px] ${Ua[e.method]}`,
|
|
4217
4240
|
children: e.method
|
|
4218
4241
|
}),
|
|
4219
4242
|
/* @__PURE__ */ q("span", {
|
|
@@ -4233,11 +4256,11 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4233
4256
|
r
|
|
4234
4257
|
]
|
|
4235
4258
|
});
|
|
4236
|
-
},
|
|
4259
|
+
}, Ka = [
|
|
4237
4260
|
"POST",
|
|
4238
4261
|
"PUT",
|
|
4239
4262
|
"PATCH"
|
|
4240
|
-
],
|
|
4263
|
+
], qa = ({ value: e, onChange: t, afterMapping: n }) => {
|
|
4241
4264
|
let { selectedNode: r } = kr(), i = Q(), a = zn(r?.id), { Field: o, Subscribe: s, setFieldValue: c } = rt({
|
|
4242
4265
|
defaultValues: {
|
|
4243
4266
|
body: e?.body || "",
|
|
@@ -4279,7 +4302,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4279
4302
|
htmlFor: e.name,
|
|
4280
4303
|
children: i("editor.httpConfigForm.apiUrl")
|
|
4281
4304
|
}),
|
|
4282
|
-
/* @__PURE__ */ q(
|
|
4305
|
+
/* @__PURE__ */ q(Ga, {
|
|
4283
4306
|
id: e.name,
|
|
4284
4307
|
name: e.name,
|
|
4285
4308
|
value: e.state.value ?? "",
|
|
@@ -4353,7 +4376,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4353
4376
|
children: [/* @__PURE__ */ q(N, {
|
|
4354
4377
|
id: e.name,
|
|
4355
4378
|
children: /* @__PURE__ */ q(P, { placeholder: i("editor.httpConfigForm.selectMethod") })
|
|
4356
|
-
}), /* @__PURE__ */ J(
|
|
4379
|
+
}), /* @__PURE__ */ J(A, { children: [
|
|
4357
4380
|
/* @__PURE__ */ q(B, {
|
|
4358
4381
|
value: "GET",
|
|
4359
4382
|
children: i("editor.httpConfigForm.methodGet")
|
|
@@ -4433,7 +4456,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4433
4456
|
},
|
|
4434
4457
|
children: [/* @__PURE__ */ q(Jt, { className: "tg:mr-2 tg:h-4 tg:w-4" }), i("editor.httpConfigForm.addHeader")]
|
|
4435
4458
|
}),
|
|
4436
|
-
/* @__PURE__ */ q(
|
|
4459
|
+
/* @__PURE__ */ q(Ha, { headers: e.state.value })
|
|
4437
4460
|
]
|
|
4438
4461
|
})
|
|
4439
4462
|
})]
|
|
@@ -4500,7 +4523,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4500
4523
|
method: e.values.method,
|
|
4501
4524
|
sendAllFormValues: e.values.sendAllFormValues
|
|
4502
4525
|
}),
|
|
4503
|
-
children: ({ method: e, sendAllFormValues: t }) =>
|
|
4526
|
+
children: ({ method: e, sendAllFormValues: t }) => Ka.includes(e || "") && /* @__PURE__ */ J("div", {
|
|
4504
4527
|
className: "tg:space-y-4",
|
|
4505
4528
|
children: [/* @__PURE__ */ q(o, {
|
|
4506
4529
|
name: "sendAllFormValues",
|
|
@@ -4519,7 +4542,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4519
4542
|
name: "body",
|
|
4520
4543
|
children: (e) => /* @__PURE__ */ J(z, { children: [
|
|
4521
4544
|
/* @__PURE__ */ q(V, { children: i("editor.httpConfigForm.requestBody") }),
|
|
4522
|
-
/* @__PURE__ */ q(
|
|
4545
|
+
/* @__PURE__ */ q(Ra, {
|
|
4523
4546
|
value: e.state.value ?? "",
|
|
4524
4547
|
onChange: e.handleChange,
|
|
4525
4548
|
fields: a
|
|
@@ -4572,7 +4595,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4572
4595
|
responsePath: e.values.responsePath,
|
|
4573
4596
|
url: e.values.url
|
|
4574
4597
|
}),
|
|
4575
|
-
children: ({ body: t, headers: n, method: r, queryParams: i, responsePath: a, url: o }) => /* @__PURE__ */ q(
|
|
4598
|
+
children: ({ body: t, headers: n, method: r, queryParams: i, responsePath: a, url: o }) => /* @__PURE__ */ q(Va, {
|
|
4576
4599
|
showOptionalFields: !0,
|
|
4577
4600
|
mapping: e.state.value ?? {},
|
|
4578
4601
|
onMappingChange: (t) => e.handleChange({
|
|
@@ -4634,17 +4657,17 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4634
4657
|
})
|
|
4635
4658
|
]
|
|
4636
4659
|
}) });
|
|
4637
|
-
},
|
|
4660
|
+
}, Ja = [
|
|
4638
4661
|
"POST",
|
|
4639
4662
|
"PUT",
|
|
4640
4663
|
"PATCH"
|
|
4641
|
-
],
|
|
4664
|
+
], Ya = [
|
|
4642
4665
|
"GET",
|
|
4643
4666
|
"POST",
|
|
4644
4667
|
"PUT",
|
|
4645
4668
|
"DELETE",
|
|
4646
4669
|
"PATCH"
|
|
4647
|
-
],
|
|
4670
|
+
], Xa = ({ value: e, onChange: t }) => {
|
|
4648
4671
|
let { selectedNode: n } = kr(), r = Q(), i = zn(n?.id), a = e?.url ?? "", o = e?.method ?? "GET", s = e?.body ?? "", c = e?.responsePath ?? "", l = e?.mapping, u = e ? "api" : "static", d = (n) => {
|
|
4649
4672
|
t({
|
|
4650
4673
|
...e ?? {},
|
|
@@ -4686,7 +4709,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4686
4709
|
/* @__PURE__ */ J(z, { children: [/* @__PURE__ */ q(V, {
|
|
4687
4710
|
className: "tg:text-xs",
|
|
4688
4711
|
children: r("editor.httpConfigForm.apiUrl")
|
|
4689
|
-
}), /* @__PURE__ */ q(
|
|
4712
|
+
}), /* @__PURE__ */ q(Ga, {
|
|
4690
4713
|
value: a,
|
|
4691
4714
|
onChange: (e, t) => d(t ? {
|
|
4692
4715
|
method: t,
|
|
@@ -4700,7 +4723,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4700
4723
|
}), /* @__PURE__ */ J(M, {
|
|
4701
4724
|
value: o,
|
|
4702
4725
|
onValueChange: (e) => d({ method: e }),
|
|
4703
|
-
children: [/* @__PURE__ */ q(N, { children: /* @__PURE__ */ q(P, {}) }), /* @__PURE__ */ q(
|
|
4726
|
+
children: [/* @__PURE__ */ q(N, { children: /* @__PURE__ */ q(P, {}) }), /* @__PURE__ */ q(A, { children: Ya.map((e) => /* @__PURE__ */ q(B, {
|
|
4704
4727
|
value: e,
|
|
4705
4728
|
children: e
|
|
4706
4729
|
}, e)) })]
|
|
@@ -4757,7 +4780,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4757
4780
|
}]),
|
|
4758
4781
|
children: [/* @__PURE__ */ q(Jt, { className: "tg:mr-2 tg:h-4 tg:w-4" }), r("editor.httpConfigForm.addHeader")]
|
|
4759
4782
|
}),
|
|
4760
|
-
/* @__PURE__ */ q(
|
|
4783
|
+
/* @__PURE__ */ q(Ha, { headers: f })
|
|
4761
4784
|
]
|
|
4762
4785
|
}),
|
|
4763
4786
|
/* @__PURE__ */ J("div", {
|
|
@@ -4814,10 +4837,10 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4814
4837
|
})
|
|
4815
4838
|
]
|
|
4816
4839
|
}),
|
|
4817
|
-
|
|
4840
|
+
Ja.includes(o) && /* @__PURE__ */ J(z, { children: [/* @__PURE__ */ q(V, {
|
|
4818
4841
|
className: "tg:text-xs",
|
|
4819
4842
|
children: r("editor.httpConfigForm.requestBody")
|
|
4820
|
-
}), /* @__PURE__ */ q(
|
|
4843
|
+
}), /* @__PURE__ */ q(Ra, {
|
|
4821
4844
|
value: s,
|
|
4822
4845
|
onChange: (e) => d({ body: e }),
|
|
4823
4846
|
fields: i
|
|
@@ -4837,7 +4860,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4837
4860
|
children: r("editor.optionsSourceForm.responsePathHint")
|
|
4838
4861
|
})
|
|
4839
4862
|
] }),
|
|
4840
|
-
/* @__PURE__ */ q(
|
|
4863
|
+
/* @__PURE__ */ q(Va, {
|
|
4841
4864
|
request: {
|
|
4842
4865
|
body: s,
|
|
4843
4866
|
headers: e?.headers,
|
|
@@ -4861,26 +4884,26 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4861
4884
|
] })
|
|
4862
4885
|
]
|
|
4863
4886
|
});
|
|
4864
|
-
},
|
|
4887
|
+
}, Za = "#/components/schemas/", Qa = (e, t) => {
|
|
4865
4888
|
let n = $r(e), r = n && t.startsWith(n) ? t.slice(n.length) : t;
|
|
4866
4889
|
return r.startsWith("/") ? r : `/${r}`;
|
|
4867
|
-
},
|
|
4890
|
+
}, $a = (e, t) => t.startsWith(Za) ? e.components?.schemas?.[t.slice(21)] : void 0, eo = (e, t, n) => {
|
|
4868
4891
|
if (!t) return;
|
|
4869
|
-
let r = (e.paths?.[
|
|
4892
|
+
let r = (e.paths?.[Qa(e, t)]?.[n.toLowerCase()])?.requestBody?.content;
|
|
4870
4893
|
if (r) return r["application/json"]?.schema ?? Object.values(r)[0]?.schema;
|
|
4871
|
-
},
|
|
4894
|
+
}, to = (e, t, n = /* @__PURE__ */ new Set()) => {
|
|
4872
4895
|
if (!t) return null;
|
|
4873
|
-
if (t.$ref) return n.has(t.$ref) ? {} :
|
|
4896
|
+
if (t.$ref) return n.has(t.$ref) ? {} : to(e, $a(e, t.$ref), new Set(n).add(t.$ref));
|
|
4874
4897
|
if (t.example !== void 0) return t.example;
|
|
4875
4898
|
if (t.default !== void 0) return t.default;
|
|
4876
4899
|
if (t.enum && t.enum.length > 0) return t.enum[0];
|
|
4877
4900
|
if (t.type === "object" || t.properties) {
|
|
4878
4901
|
let r = {};
|
|
4879
|
-
for (let [i, a] of Object.entries(t.properties ?? {})) r[i] =
|
|
4902
|
+
for (let [i, a] of Object.entries(t.properties ?? {})) r[i] = to(e, a, n);
|
|
4880
4903
|
return r;
|
|
4881
4904
|
}
|
|
4882
4905
|
if (t.type === "array") {
|
|
4883
|
-
let r = t.items ?
|
|
4906
|
+
let r = t.items ? to(e, t.items, n) : null;
|
|
4884
4907
|
return r === null ? [] : [r];
|
|
4885
4908
|
}
|
|
4886
4909
|
switch (t.type) {
|
|
@@ -4890,11 +4913,11 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4890
4913
|
case "boolean": return !1;
|
|
4891
4914
|
default: return null;
|
|
4892
4915
|
}
|
|
4893
|
-
},
|
|
4916
|
+
}, no = [
|
|
4894
4917
|
"POST",
|
|
4895
4918
|
"PUT",
|
|
4896
4919
|
"PATCH"
|
|
4897
|
-
],
|
|
4920
|
+
], ro = ({ value: e, onChange: t }) => {
|
|
4898
4921
|
let [n, r] = G("en"), { selectedNode: i } = kr(), a = Q(), o = zn(i?.id), { document: s } = ii(), { Field: c, Subscribe: l, setFieldValue: u } = rt({
|
|
4899
4922
|
defaultValues: {
|
|
4900
4923
|
errorMessage: e?.errorMessage || {},
|
|
@@ -4936,8 +4959,8 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4936
4959
|
url: e.values.url
|
|
4937
4960
|
}),
|
|
4938
4961
|
children: ({ url: t, method: n }) => {
|
|
4939
|
-
let r =
|
|
4940
|
-
return /* @__PURE__ */ q(
|
|
4962
|
+
let r = eo(s, t ?? "", n ?? "POST");
|
|
4963
|
+
return /* @__PURE__ */ q(j, { children: /* @__PURE__ */ J(D, { children: [/* @__PURE__ */ q(fe, {
|
|
4941
4964
|
asChild: !0,
|
|
4942
4965
|
children: /* @__PURE__ */ q("span", {
|
|
4943
4966
|
className: "tg:inline-flex",
|
|
@@ -4946,7 +4969,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4946
4969
|
variant: "ghost",
|
|
4947
4970
|
size: "sm",
|
|
4948
4971
|
disabled: !r,
|
|
4949
|
-
onClick: () => e.handleChange(JSON.stringify(
|
|
4972
|
+
onClick: () => e.handleChange(JSON.stringify(to(s, r), null, 2)),
|
|
4950
4973
|
children: [/* @__PURE__ */ q(Et, { className: "tg:mr-1 tg:h-3 tg:w-3" }), a("editor.submitConfigForm.fillFromApi")]
|
|
4951
4974
|
})
|
|
4952
4975
|
})
|
|
@@ -4954,7 +4977,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4954
4977
|
}
|
|
4955
4978
|
})]
|
|
4956
4979
|
}),
|
|
4957
|
-
/* @__PURE__ */ q(
|
|
4980
|
+
/* @__PURE__ */ q(Ra, {
|
|
4958
4981
|
value: e.state.value ?? "",
|
|
4959
4982
|
onChange: e.handleChange,
|
|
4960
4983
|
fields: o
|
|
@@ -4969,7 +4992,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
4969
4992
|
htmlFor: e.name,
|
|
4970
4993
|
children: a("editor.submitConfigForm.apiUrl")
|
|
4971
4994
|
}),
|
|
4972
|
-
/* @__PURE__ */ q(
|
|
4995
|
+
/* @__PURE__ */ q(Ga, {
|
|
4973
4996
|
id: e.name,
|
|
4974
4997
|
name: e.name,
|
|
4975
4998
|
value: e.state.value ?? "",
|
|
@@ -5023,7 +5046,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5023
5046
|
children: [/* @__PURE__ */ q(N, {
|
|
5024
5047
|
id: e.name,
|
|
5025
5048
|
children: /* @__PURE__ */ q(P, { placeholder: a("editor.submitConfigForm.selectMethod") })
|
|
5026
|
-
}), /* @__PURE__ */ J(
|
|
5049
|
+
}), /* @__PURE__ */ J(A, { children: [
|
|
5027
5050
|
/* @__PURE__ */ q(B, {
|
|
5028
5051
|
value: "POST",
|
|
5029
5052
|
children: a("editor.submitConfigForm.methodPost")
|
|
@@ -5159,7 +5182,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5159
5182
|
}),
|
|
5160
5183
|
/* @__PURE__ */ q(l, {
|
|
5161
5184
|
selector: (e) => e.values.method,
|
|
5162
|
-
children: (e) =>
|
|
5185
|
+
children: (e) => no.includes(e || "") && /* @__PURE__ */ q(c, {
|
|
5163
5186
|
name: "sendAllFormValues",
|
|
5164
5187
|
children: (e) => /* @__PURE__ */ J("div", {
|
|
5165
5188
|
className: "tg:space-y-1",
|
|
@@ -5213,7 +5236,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5213
5236
|
htmlFor: e.name,
|
|
5214
5237
|
children: a("editor.submitConfigForm.successMessage")
|
|
5215
5238
|
}),
|
|
5216
|
-
/* @__PURE__ */ q(
|
|
5239
|
+
/* @__PURE__ */ q(Aa, {
|
|
5217
5240
|
id: e.name,
|
|
5218
5241
|
name: e.name,
|
|
5219
5242
|
value: e.state.value,
|
|
@@ -5225,7 +5248,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5225
5248
|
/* @__PURE__ */ q(F, { children: a("editor.submitConfigForm.successMessageDesc") })
|
|
5226
5249
|
]
|
|
5227
5250
|
})
|
|
5228
|
-
}), /* @__PURE__ */ q(
|
|
5251
|
+
}), /* @__PURE__ */ q(ka, {
|
|
5229
5252
|
value: n,
|
|
5230
5253
|
onValueChange: r
|
|
5231
5254
|
})]
|
|
@@ -5241,7 +5264,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5241
5264
|
htmlFor: e.name,
|
|
5242
5265
|
children: a("editor.submitConfigForm.errorMessage")
|
|
5243
5266
|
}),
|
|
5244
|
-
/* @__PURE__ */ q(
|
|
5267
|
+
/* @__PURE__ */ q(Aa, {
|
|
5245
5268
|
id: e.name,
|
|
5246
5269
|
name: e.name,
|
|
5247
5270
|
value: e.state.value,
|
|
@@ -5253,7 +5276,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5253
5276
|
/* @__PURE__ */ q(F, { children: a("editor.submitConfigForm.errorMessageDesc") })
|
|
5254
5277
|
]
|
|
5255
5278
|
})
|
|
5256
|
-
}), /* @__PURE__ */ q(
|
|
5279
|
+
}), /* @__PURE__ */ q(ka, {
|
|
5257
5280
|
value: n,
|
|
5258
5281
|
onValueChange: r
|
|
5259
5282
|
})]
|
|
@@ -5282,8 +5305,8 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5282
5305
|
})
|
|
5283
5306
|
]
|
|
5284
5307
|
}) });
|
|
5285
|
-
},
|
|
5286
|
-
let [f, p] = G(!1), [m, h] = G(""), g = (e) => e ?? "", _ = (e) => e.trim().toLowerCase(), v = g(n), y = n !== null && n !== "",
|
|
5308
|
+
}, io = ({ 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 }) => {
|
|
5309
|
+
let [f, p] = G(!1), [m, h] = G(""), g = (e) => e ?? "", _ = (e) => e.trim().toLowerCase(), v = g(n), y = n !== null && n !== "", b = y ? e.find((e) => g(e.value) === v) : void 0, x = _(m), S = d && x !== "" && !e.some((e) => _(e.label) === x || _(e.value ?? "") === x), C = (e) => {
|
|
5287
5310
|
e === v ? u && r?.("") : r?.(e), p(!1), h("");
|
|
5288
5311
|
};
|
|
5289
5312
|
return /* @__PURE__ */ J(le, {
|
|
@@ -5300,21 +5323,21 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5300
5323
|
className: R("tg:w-full tg:justify-between tg:font-normal", l),
|
|
5301
5324
|
children: [/* @__PURE__ */ q("span", {
|
|
5302
5325
|
className: "tg:truncate",
|
|
5303
|
-
children: y &&
|
|
5326
|
+
children: y && b ? b.label : i
|
|
5304
5327
|
}), /* @__PURE__ */ q(gt, { className: "tg:ml-2 tg:h-4 tg:w-4 tg:shrink-0 tg:opacity-50" })]
|
|
5305
5328
|
})
|
|
5306
|
-
}), /* @__PURE__ */ q(
|
|
5329
|
+
}), /* @__PURE__ */ q(T, {
|
|
5307
5330
|
className: "tg:w-full tg:p-0",
|
|
5308
5331
|
align: "start",
|
|
5309
5332
|
children: /* @__PURE__ */ J(De, {
|
|
5310
5333
|
shouldFilter: !1,
|
|
5311
|
-
children: [/* @__PURE__ */ q(
|
|
5334
|
+
children: [/* @__PURE__ */ q(O, {
|
|
5312
5335
|
placeholder: a,
|
|
5313
5336
|
value: m,
|
|
5314
5337
|
onValueChange: h
|
|
5315
5338
|
}), /* @__PURE__ */ J(ve, { children: [
|
|
5316
5339
|
/* @__PURE__ */ q(de, { children: c }),
|
|
5317
|
-
u && y && /* @__PURE__ */ q(
|
|
5340
|
+
u && y && /* @__PURE__ */ q(ee, { children: /* @__PURE__ */ J(se, {
|
|
5318
5341
|
value: "__clear__",
|
|
5319
5342
|
onSelect: () => {
|
|
5320
5343
|
r?.(""), p(!1), h("");
|
|
@@ -5322,7 +5345,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5322
5345
|
className: "tg:mt-1 tg:text-muted-foreground",
|
|
5323
5346
|
children: [/* @__PURE__ */ q(Y, { className: "tg:mr-2 tg:h-4 tg:w-4" }), s]
|
|
5324
5347
|
}) }),
|
|
5325
|
-
/* @__PURE__ */ J(
|
|
5348
|
+
/* @__PURE__ */ J(ee, { children: [S && /* @__PURE__ */ J(se, {
|
|
5326
5349
|
value: `__create__${m}`,
|
|
5327
5350
|
onSelect: () => {
|
|
5328
5351
|
m.trim() && (r?.(m.trim()), p(!1), h(""));
|
|
@@ -5334,7 +5357,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5334
5357
|
return e.label.toLowerCase().includes(t) || (e.value?.toLowerCase() ?? "").includes(t);
|
|
5335
5358
|
}).map((e, t) => /* @__PURE__ */ J(se, {
|
|
5336
5359
|
value: e.label,
|
|
5337
|
-
onSelect: () =>
|
|
5360
|
+
onSelect: () => C(e?.value || ""),
|
|
5338
5361
|
children: [/* @__PURE__ */ q(dt, {
|
|
5339
5362
|
"aria-hidden": "true",
|
|
5340
5363
|
className: R("tg:mr-2 tg:h-4 tg:w-4", y && g(e.value) === v ? "tg:opacity-100" : "tg:opacity-0")
|
|
@@ -5344,7 +5367,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5344
5367
|
})
|
|
5345
5368
|
})]
|
|
5346
5369
|
});
|
|
5347
|
-
},
|
|
5370
|
+
}, ao = Object.entries({
|
|
5348
5371
|
alphanumeric: "^[a-zA-Z0-9]+$",
|
|
5349
5372
|
email: "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
|
|
5350
5373
|
letters: "^[a-zA-Z]+$",
|
|
@@ -5353,25 +5376,25 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5353
5376
|
}).map(([e, t]) => ({
|
|
5354
5377
|
label: e.charAt(0).toUpperCase() + e.slice(1).replace(/_/g, " "),
|
|
5355
5378
|
value: t
|
|
5356
|
-
})),
|
|
5379
|
+
})), oo = ({ id: e, value: t, onValueChange: n }) => /* @__PURE__ */ q(io, {
|
|
5357
5380
|
id: e,
|
|
5358
|
-
options: W(() => t && !
|
|
5381
|
+
options: W(() => t && !ao.some((e) => e.value === t) ? [...ao, {
|
|
5359
5382
|
label: `Custom: ${t}`,
|
|
5360
5383
|
value: t
|
|
5361
|
-
}] :
|
|
5384
|
+
}] : ao, [t]),
|
|
5362
5385
|
value: t,
|
|
5363
5386
|
onValueChange: n,
|
|
5364
5387
|
placeholder: "Select or create a pattern",
|
|
5365
5388
|
searchPlaceholder: "Search patterns...",
|
|
5366
5389
|
createLabel: (e) => `Use pattern: ${e}`
|
|
5367
|
-
}),
|
|
5368
|
-
let i = Q(), a = nt(null), o =
|
|
5390
|
+
}), so = ({ id: e, multiple: t, value: n, onChange: r }) => {
|
|
5391
|
+
let i = Q(), a = nt(null), o = h(n), s = async (e) => {
|
|
5369
5392
|
let { files: n } = e.target;
|
|
5370
5393
|
if (!(!n || n.length === 0)) {
|
|
5371
5394
|
if (t) {
|
|
5372
|
-
let e = await
|
|
5395
|
+
let e = await m(Array.from(n));
|
|
5373
5396
|
r([...o, ...e]);
|
|
5374
|
-
} else r(await
|
|
5397
|
+
} else r(await v(n[0]));
|
|
5375
5398
|
e.target.value = "";
|
|
5376
5399
|
}
|
|
5377
5400
|
}, c = (e) => {
|
|
@@ -5398,7 +5421,7 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5398
5421
|
}),
|
|
5399
5422
|
e.size > 0 && /* @__PURE__ */ q("span", {
|
|
5400
5423
|
className: "tg:shrink-0 tg:text-muted-foreground tg:text-xs",
|
|
5401
|
-
children:
|
|
5424
|
+
children: w(e.size)
|
|
5402
5425
|
}),
|
|
5403
5426
|
/* @__PURE__ */ q(I, {
|
|
5404
5427
|
type: "button",
|
|
@@ -5430,19 +5453,19 @@ var ca = ({ aiConfig: e, onGenerate: t }) => {
|
|
|
5430
5453
|
};
|
|
5431
5454
|
//#endregion
|
|
5432
5455
|
//#region src/shared/components/ui/collapsible.tsx
|
|
5433
|
-
function
|
|
5456
|
+
function co({ ...e }) {
|
|
5434
5457
|
return /* @__PURE__ */ q(An.Root, {
|
|
5435
5458
|
"data-slot": "collapsible",
|
|
5436
5459
|
...e
|
|
5437
5460
|
});
|
|
5438
5461
|
}
|
|
5439
|
-
function
|
|
5462
|
+
function lo({ ...e }) {
|
|
5440
5463
|
return /* @__PURE__ */ q(An.CollapsibleTrigger, {
|
|
5441
5464
|
"data-slot": "collapsible-trigger",
|
|
5442
5465
|
...e
|
|
5443
5466
|
});
|
|
5444
5467
|
}
|
|
5445
|
-
function
|
|
5468
|
+
function uo({ ...e }) {
|
|
5446
5469
|
return /* @__PURE__ */ q(An.CollapsibleContent, {
|
|
5447
5470
|
"data-slot": "collapsible-content",
|
|
5448
5471
|
...e
|
|
@@ -5450,8 +5473,8 @@ function lo({ ...e }) {
|
|
|
5450
5473
|
}
|
|
5451
5474
|
//#endregion
|
|
5452
5475
|
//#region src/editor/features/TreegeEditor/forms/InputNodeForm.tsx
|
|
5453
|
-
var
|
|
5454
|
-
let { language: e } = Z(), [t, n] = G(
|
|
5476
|
+
var fo = (e) => Object.values(Ta).includes(e), po = () => {
|
|
5477
|
+
let { language: e } = Z(), [t, n] = G(fo(e) ? e : "en"), { selectedNode: r } = kr(), { updateSelectedNodeData: i } = Rr(), a = ci(r?.data), o = zn(r?.id), s = Q(), c = r?.data?.type === "submit", l = r?.data?.type === "hidden", { handleSubmit: u, Field: d, Subscribe: f } = rt({
|
|
5455
5478
|
defaultValues: {
|
|
5456
5479
|
defaultValue: r?.data?.defaultValue,
|
|
5457
5480
|
disablePast: r?.data?.disablePast,
|
|
@@ -5509,7 +5532,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5509
5532
|
children: [/* @__PURE__ */ q(V, {
|
|
5510
5533
|
htmlFor: e.name,
|
|
5511
5534
|
children: s("editor.inputNodeForm.label")
|
|
5512
|
-
}), /* @__PURE__ */ q(
|
|
5535
|
+
}), /* @__PURE__ */ q(Aa, {
|
|
5513
5536
|
autoFocus: !0,
|
|
5514
5537
|
id: e.name,
|
|
5515
5538
|
name: e.name,
|
|
@@ -5519,7 +5542,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5519
5542
|
onBlur: e.handleBlur
|
|
5520
5543
|
})]
|
|
5521
5544
|
})
|
|
5522
|
-
}), /* @__PURE__ */ q(
|
|
5545
|
+
}), /* @__PURE__ */ q(ka, {
|
|
5523
5546
|
value: t,
|
|
5524
5547
|
onValueChange: n
|
|
5525
5548
|
})]
|
|
@@ -5533,7 +5556,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5533
5556
|
children: [/* @__PURE__ */ q(V, {
|
|
5534
5557
|
htmlFor: e.name,
|
|
5535
5558
|
children: s("editor.inputNodeForm.placeholder")
|
|
5536
|
-
}), /* @__PURE__ */ q(
|
|
5559
|
+
}), /* @__PURE__ */ q(Aa, {
|
|
5537
5560
|
id: e.name,
|
|
5538
5561
|
name: e.name,
|
|
5539
5562
|
value: e.state.value,
|
|
@@ -5542,7 +5565,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5542
5565
|
onBlur: e.handleBlur
|
|
5543
5566
|
})]
|
|
5544
5567
|
})
|
|
5545
|
-
}), /* @__PURE__ */ q(
|
|
5568
|
+
}), /* @__PURE__ */ q(ka, {
|
|
5546
5569
|
value: t,
|
|
5547
5570
|
onValueChange: n
|
|
5548
5571
|
})]
|
|
@@ -5556,7 +5579,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5556
5579
|
children: [/* @__PURE__ */ q(V, {
|
|
5557
5580
|
htmlFor: e.name,
|
|
5558
5581
|
children: s("editor.inputNodeForm.helperText")
|
|
5559
|
-
}), /* @__PURE__ */ q(
|
|
5582
|
+
}), /* @__PURE__ */ q(Aa, {
|
|
5560
5583
|
id: e.name,
|
|
5561
5584
|
name: e.name,
|
|
5562
5585
|
value: e.state.value,
|
|
@@ -5565,15 +5588,15 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5565
5588
|
onBlur: e.handleBlur
|
|
5566
5589
|
})]
|
|
5567
5590
|
})
|
|
5568
|
-
}), /* @__PURE__ */ q(
|
|
5591
|
+
}), /* @__PURE__ */ q(ka, {
|
|
5569
5592
|
value: t,
|
|
5570
5593
|
onValueChange: n
|
|
5571
5594
|
})]
|
|
5572
5595
|
}),
|
|
5573
|
-
r?.data?.type === "http" && /* @__PURE__ */ J(
|
|
5596
|
+
r?.data?.type === "http" && /* @__PURE__ */ J(co, {
|
|
5574
5597
|
defaultOpen: !0,
|
|
5575
5598
|
className: "tg:flex tg:w-full tg:max-w-87.5 tg:flex-col tg:gap-2",
|
|
5576
|
-
children: [/* @__PURE__ */ q(
|
|
5599
|
+
children: [/* @__PURE__ */ q(lo, {
|
|
5577
5600
|
asChild: !0,
|
|
5578
5601
|
children: /* @__PURE__ */ J("div", {
|
|
5579
5602
|
className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
|
|
@@ -5590,11 +5613,11 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5590
5613
|
})]
|
|
5591
5614
|
})]
|
|
5592
5615
|
})
|
|
5593
|
-
}), /* @__PURE__ */ q(
|
|
5616
|
+
}), /* @__PURE__ */ q(uo, {
|
|
5594
5617
|
className: "tg:flex tg:flex-col tg:gap-4",
|
|
5595
5618
|
children: /* @__PURE__ */ q(d, {
|
|
5596
5619
|
name: "httpConfig",
|
|
5597
|
-
children: (e) => /* @__PURE__ */ q(
|
|
5620
|
+
children: (e) => /* @__PURE__ */ q(qa, {
|
|
5598
5621
|
value: e.state.value,
|
|
5599
5622
|
onChange: (t) => {
|
|
5600
5623
|
e.handleChange(t), u().then();
|
|
@@ -5607,10 +5630,10 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5607
5630
|
})
|
|
5608
5631
|
})]
|
|
5609
5632
|
}),
|
|
5610
|
-
c && /* @__PURE__ */ J(
|
|
5633
|
+
c && /* @__PURE__ */ J(co, {
|
|
5611
5634
|
defaultOpen: !0,
|
|
5612
5635
|
className: "tg:flex tg:w-full tg:max-w-87.5 tg:flex-col tg:gap-2",
|
|
5613
|
-
children: [/* @__PURE__ */ q(
|
|
5636
|
+
children: [/* @__PURE__ */ q(lo, {
|
|
5614
5637
|
asChild: !0,
|
|
5615
5638
|
children: /* @__PURE__ */ J("div", {
|
|
5616
5639
|
className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
|
|
@@ -5627,11 +5650,11 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5627
5650
|
})]
|
|
5628
5651
|
})]
|
|
5629
5652
|
})
|
|
5630
|
-
}), /* @__PURE__ */ q(
|
|
5653
|
+
}), /* @__PURE__ */ q(uo, {
|
|
5631
5654
|
className: "tg:flex tg:flex-col tg:gap-4",
|
|
5632
5655
|
children: /* @__PURE__ */ q(d, {
|
|
5633
5656
|
name: "submitConfig",
|
|
5634
|
-
children: (e) => /* @__PURE__ */ q(
|
|
5657
|
+
children: (e) => /* @__PURE__ */ q(ro, {
|
|
5635
5658
|
value: e.state.value,
|
|
5636
5659
|
onChange: (t) => {
|
|
5637
5660
|
e.handleChange(t), u().then();
|
|
@@ -5654,10 +5677,10 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5654
5677
|
})]
|
|
5655
5678
|
})
|
|
5656
5679
|
}),
|
|
5657
|
-
a && /* @__PURE__ */ J(
|
|
5680
|
+
a && /* @__PURE__ */ J(co, {
|
|
5658
5681
|
defaultOpen: !0,
|
|
5659
5682
|
className: "tg:flex tg:w-full tg:max-w-87.5 tg:flex-col tg:gap-2",
|
|
5660
|
-
children: [/* @__PURE__ */ q(
|
|
5683
|
+
children: [/* @__PURE__ */ q(lo, {
|
|
5661
5684
|
asChild: !0,
|
|
5662
5685
|
children: /* @__PURE__ */ J("div", {
|
|
5663
5686
|
className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
|
|
@@ -5674,12 +5697,12 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5674
5697
|
})]
|
|
5675
5698
|
})]
|
|
5676
5699
|
})
|
|
5677
|
-
}), /* @__PURE__ */ J(
|
|
5700
|
+
}), /* @__PURE__ */ J(uo, {
|
|
5678
5701
|
className: "tg:flex tg:flex-col tg:gap-4",
|
|
5679
5702
|
children: [
|
|
5680
5703
|
/* @__PURE__ */ q(d, {
|
|
5681
5704
|
name: "optionsSource",
|
|
5682
|
-
children: (e) => /* @__PURE__ */ q(
|
|
5705
|
+
children: (e) => /* @__PURE__ */ q(Xa, {
|
|
5683
5706
|
value: e.state.value,
|
|
5684
5707
|
onChange: (t) => e.handleChange(t)
|
|
5685
5708
|
})
|
|
@@ -5709,7 +5732,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5709
5732
|
}),
|
|
5710
5733
|
/* @__PURE__ */ q(d, {
|
|
5711
5734
|
name: `options[${r}].label`,
|
|
5712
|
-
children: (e) => /* @__PURE__ */ q(
|
|
5735
|
+
children: (e) => /* @__PURE__ */ q(Aa, {
|
|
5713
5736
|
placeholder: s("editor.inputNodeForm.optionLabel"),
|
|
5714
5737
|
value: e.state.value,
|
|
5715
5738
|
language: t,
|
|
@@ -5737,7 +5760,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5737
5760
|
}),
|
|
5738
5761
|
/* @__PURE__ */ q(d, {
|
|
5739
5762
|
name: `options[${r}].description`,
|
|
5740
|
-
children: (e) => /* @__PURE__ */ q(
|
|
5763
|
+
children: (e) => /* @__PURE__ */ q(Aa, {
|
|
5741
5764
|
placeholder: s("editor.inputNodeForm.optionDescription"),
|
|
5742
5765
|
value: e.state.value,
|
|
5743
5766
|
language: t,
|
|
@@ -5791,7 +5814,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5791
5814
|
id: e.name,
|
|
5792
5815
|
className: "tg:w-full",
|
|
5793
5816
|
children: /* @__PURE__ */ q(P, {})
|
|
5794
|
-
}), /* @__PURE__ */ J(
|
|
5817
|
+
}), /* @__PURE__ */ J(A, { children: [/* @__PURE__ */ q(B, {
|
|
5795
5818
|
value: "default",
|
|
5796
5819
|
children: s("editor.inputNodeForm.variantDefault")
|
|
5797
5820
|
}), /* @__PURE__ */ q(B, {
|
|
@@ -5803,9 +5826,9 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5803
5826
|
]
|
|
5804
5827
|
})]
|
|
5805
5828
|
}),
|
|
5806
|
-
!c && /* @__PURE__ */ J(
|
|
5829
|
+
!c && /* @__PURE__ */ J(co, {
|
|
5807
5830
|
className: "tg:flex tg:w-full tg:max-w-87.5 tg:flex-col tg:gap-2",
|
|
5808
|
-
children: [/* @__PURE__ */ q(
|
|
5831
|
+
children: [/* @__PURE__ */ q(lo, {
|
|
5809
5832
|
asChild: !0,
|
|
5810
5833
|
children: /* @__PURE__ */ J("div", {
|
|
5811
5834
|
className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
|
|
@@ -5822,7 +5845,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5822
5845
|
})]
|
|
5823
5846
|
})]
|
|
5824
5847
|
})
|
|
5825
|
-
}), /* @__PURE__ */ J(
|
|
5848
|
+
}), /* @__PURE__ */ J(uo, {
|
|
5826
5849
|
className: "tg:flex tg:flex-col tg:gap-6",
|
|
5827
5850
|
children: [
|
|
5828
5851
|
/* @__PURE__ */ q(d, {
|
|
@@ -5858,7 +5881,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5858
5881
|
children: (e) => /* @__PURE__ */ J(z, { children: [/* @__PURE__ */ q(V, {
|
|
5859
5882
|
htmlFor: e.name,
|
|
5860
5883
|
children: s("editor.inputNodeForm.pattern")
|
|
5861
|
-
}), /* @__PURE__ */ q(
|
|
5884
|
+
}), /* @__PURE__ */ q(oo, {
|
|
5862
5885
|
id: e.name,
|
|
5863
5886
|
value: e.state.value,
|
|
5864
5887
|
onValueChange: e.handleChange
|
|
@@ -5873,7 +5896,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5873
5896
|
children: [/* @__PURE__ */ q(V, {
|
|
5874
5897
|
htmlFor: e.name,
|
|
5875
5898
|
children: s("editor.inputNodeForm.errorMessage")
|
|
5876
|
-
}), /* @__PURE__ */ q(
|
|
5899
|
+
}), /* @__PURE__ */ q(Aa, {
|
|
5877
5900
|
id: e.name,
|
|
5878
5901
|
name: e.name,
|
|
5879
5902
|
value: e.state.value,
|
|
@@ -5882,7 +5905,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5882
5905
|
onBlur: e.handleBlur
|
|
5883
5906
|
})]
|
|
5884
5907
|
})
|
|
5885
|
-
}), /* @__PURE__ */ q(
|
|
5908
|
+
}), /* @__PURE__ */ q(ka, {
|
|
5886
5909
|
value: t,
|
|
5887
5910
|
onValueChange: n
|
|
5888
5911
|
})]
|
|
@@ -5890,9 +5913,9 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5890
5913
|
]
|
|
5891
5914
|
})]
|
|
5892
5915
|
}),
|
|
5893
|
-
!c && /* @__PURE__ */ J(
|
|
5916
|
+
!c && /* @__PURE__ */ J(co, {
|
|
5894
5917
|
className: "tg:flex tg:w-full tg:max-w-87.5 tg:flex-col tg:gap-2",
|
|
5895
|
-
children: [/* @__PURE__ */ q(
|
|
5918
|
+
children: [/* @__PURE__ */ q(lo, {
|
|
5896
5919
|
asChild: !0,
|
|
5897
5920
|
children: /* @__PURE__ */ J("div", {
|
|
5898
5921
|
className: "tg:flex tg:items-center tg:justify-between tg:gap-4",
|
|
@@ -5909,7 +5932,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5909
5932
|
})]
|
|
5910
5933
|
})]
|
|
5911
5934
|
})
|
|
5912
|
-
}), /* @__PURE__ */ J(
|
|
5935
|
+
}), /* @__PURE__ */ J(uo, {
|
|
5913
5936
|
className: "tg:flex tg:flex-col tg:gap-6",
|
|
5914
5937
|
children: [/* @__PURE__ */ q(d, {
|
|
5915
5938
|
name: "name",
|
|
@@ -5941,7 +5964,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5941
5964
|
children: [/* @__PURE__ */ q(N, {
|
|
5942
5965
|
id: e.name,
|
|
5943
5966
|
children: /* @__PURE__ */ q(P, { placeholder: s("editor.inputNodeForm.selectType") })
|
|
5944
|
-
}), /* @__PURE__ */ J(
|
|
5967
|
+
}), /* @__PURE__ */ J(A, { children: [
|
|
5945
5968
|
/* @__PURE__ */ q(B, {
|
|
5946
5969
|
value: "none",
|
|
5947
5970
|
children: s("editor.inputNodeForm.defaultValueTypeNone")
|
|
@@ -5971,7 +5994,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
5971
5994
|
let n = t.value.split(",").map((e) => e.trim()).filter(Boolean);
|
|
5972
5995
|
e.handleChange(n.length > 0 ? n : null);
|
|
5973
5996
|
}
|
|
5974
|
-
})] }) : t === "file" ? /* @__PURE__ */ q(z, { children: /* @__PURE__ */ q(
|
|
5997
|
+
})] }) : t === "file" ? /* @__PURE__ */ q(z, { children: /* @__PURE__ */ q(so, {
|
|
5975
5998
|
id: e.name,
|
|
5976
5999
|
multiple: r?.data?.multiple,
|
|
5977
6000
|
value: e.state.value,
|
|
@@ -6013,7 +6036,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
6013
6036
|
children: [/* @__PURE__ */ q(N, {
|
|
6014
6037
|
id: e.name,
|
|
6015
6038
|
children: /* @__PURE__ */ q(P, { placeholder: s("editor.inputNodeForm.selectReferenceField") })
|
|
6016
|
-
}), /* @__PURE__ */ q(
|
|
6039
|
+
}), /* @__PURE__ */ q(A, { children: o.length === 0 ? /* @__PURE__ */ q(B, {
|
|
6017
6040
|
value: "none",
|
|
6018
6041
|
disabled: !0,
|
|
6019
6042
|
children: s("editor.inputNodeForm.noParentFieldsAvailable")
|
|
@@ -6052,7 +6075,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
6052
6075
|
children: [/* @__PURE__ */ q(N, {
|
|
6053
6076
|
id: t.name,
|
|
6054
6077
|
children: /* @__PURE__ */ q(P, { placeholder: s("editor.inputNodeForm.selectTransformation") })
|
|
6055
|
-
}), /* @__PURE__ */ J(
|
|
6078
|
+
}), /* @__PURE__ */ J(A, { children: [
|
|
6056
6079
|
/* @__PURE__ */ q(B, {
|
|
6057
6080
|
value: "none",
|
|
6058
6081
|
children: s("editor.inputNodeForm.transformNone")
|
|
@@ -6147,7 +6170,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
6147
6170
|
]
|
|
6148
6171
|
})
|
|
6149
6172
|
});
|
|
6150
|
-
},
|
|
6173
|
+
}, mo = () => {
|
|
6151
6174
|
let [e, t] = G("en"), { selectedNode: n } = kr(), { updateSelectedNodeData: r } = Rr(), { Field: i } = rt({
|
|
6152
6175
|
defaultValues: { label: n?.data?.label || {} },
|
|
6153
6176
|
listeners: {
|
|
@@ -6175,7 +6198,7 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
6175
6198
|
children: [/* @__PURE__ */ q(V, {
|
|
6176
6199
|
htmlFor: t.name,
|
|
6177
6200
|
children: "Label"
|
|
6178
|
-
}), /* @__PURE__ */ q(
|
|
6201
|
+
}), /* @__PURE__ */ q(Aa, {
|
|
6179
6202
|
id: t.name,
|
|
6180
6203
|
name: t.name,
|
|
6181
6204
|
value: t.state.value,
|
|
@@ -6184,61 +6207,61 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
6184
6207
|
onBlur: t.handleBlur
|
|
6185
6208
|
})]
|
|
6186
6209
|
})
|
|
6187
|
-
}), /* @__PURE__ */ q(
|
|
6210
|
+
}), /* @__PURE__ */ q(ka, {
|
|
6188
6211
|
value: e,
|
|
6189
6212
|
onValueChange: t
|
|
6190
6213
|
})]
|
|
6191
6214
|
})
|
|
6192
6215
|
})
|
|
6193
6216
|
});
|
|
6194
|
-
},
|
|
6195
|
-
let { selectedNode: t } = kr(), { updateSelectedNodeType: n } = Rr(), { getEdges: r } = qe(), { openNodeTypeChangeConfirmation: i } = Z(),
|
|
6217
|
+
}, ho = Object.values(u), go = Object.values(tr), _o = () => {
|
|
6218
|
+
let { selectedNode: t } = kr(), { updateSelectedNodeType: n } = Rr(), { getEdges: r } = qe(), { openNodeTypeChangeConfirmation: i } = Z(), a = s(t), o = Q(), l = tt(), u = () => t ? e(t) || g(t) ? t.data?.type || "" : t.type || "" : "", d = (e, a) => {
|
|
6196
6219
|
if (!t) return;
|
|
6197
|
-
let
|
|
6198
|
-
if (e ===
|
|
6220
|
+
let o = r().filter((e) => e.source === t.id).length;
|
|
6221
|
+
if (e === c.ui && o > 1) {
|
|
6199
6222
|
i({
|
|
6200
6223
|
nodeId: t.id,
|
|
6201
|
-
subType:
|
|
6224
|
+
subType: a,
|
|
6202
6225
|
type: e
|
|
6203
6226
|
});
|
|
6204
6227
|
return;
|
|
6205
6228
|
}
|
|
6206
|
-
n(e,
|
|
6229
|
+
n(e, a);
|
|
6207
6230
|
};
|
|
6208
6231
|
return /* @__PURE__ */ J(re, { children: [/* @__PURE__ */ q(ne, {
|
|
6209
|
-
htmlFor:
|
|
6210
|
-
children:
|
|
6232
|
+
htmlFor: l,
|
|
6233
|
+
children: o("editor.selectNodeType.nodeType")
|
|
6211
6234
|
}), /* @__PURE__ */ J(M, {
|
|
6212
|
-
value:
|
|
6235
|
+
value: u(),
|
|
6213
6236
|
onValueChange: (e) => {
|
|
6214
|
-
if (
|
|
6215
|
-
d(
|
|
6237
|
+
if (ho.includes(e)) {
|
|
6238
|
+
d(c.input, e);
|
|
6216
6239
|
return;
|
|
6217
6240
|
}
|
|
6218
|
-
if (
|
|
6219
|
-
d(
|
|
6241
|
+
if (go.includes(e)) {
|
|
6242
|
+
d(c.ui, e);
|
|
6220
6243
|
return;
|
|
6221
6244
|
}
|
|
6222
6245
|
d(e);
|
|
6223
6246
|
},
|
|
6224
|
-
disabled:
|
|
6247
|
+
disabled: a,
|
|
6225
6248
|
children: [/* @__PURE__ */ q(N, {
|
|
6226
6249
|
className: "tg:w-full tg:capitalize",
|
|
6227
|
-
id:
|
|
6228
|
-
children: /* @__PURE__ */ q(P, { placeholder:
|
|
6229
|
-
}), /* @__PURE__ */ q(
|
|
6250
|
+
id: l,
|
|
6251
|
+
children: /* @__PURE__ */ q(P, { placeholder: o("editor.selectNodeType.nodeType") })
|
|
6252
|
+
}), /* @__PURE__ */ q(A, {
|
|
6230
6253
|
className: "treege-scrollbar tg:max-h-80",
|
|
6231
|
-
children:
|
|
6232
|
-
value:
|
|
6233
|
-
children:
|
|
6254
|
+
children: a ? /* @__PURE__ */ q(re, { children: /* @__PURE__ */ q(B, {
|
|
6255
|
+
value: c.group,
|
|
6256
|
+
children: o("editor.selectNodeType.options.group")
|
|
6234
6257
|
}) }) : /* @__PURE__ */ J(K, { children: [
|
|
6235
|
-
/* @__PURE__ */ J(re, { children: [/* @__PURE__ */ q(ne, { children:
|
|
6258
|
+
/* @__PURE__ */ J(re, { children: [/* @__PURE__ */ q(ne, { children: o("editor.selectNodeType.options.input") }), ho.map((e) => /* @__PURE__ */ J(B, {
|
|
6236
6259
|
value: e,
|
|
6237
6260
|
className: "tg:capitalize",
|
|
6238
6261
|
children: [/* @__PURE__ */ q(ir(e), {}), e]
|
|
6239
6262
|
}, e))] }),
|
|
6240
6263
|
/* @__PURE__ */ q(me, {}),
|
|
6241
|
-
/* @__PURE__ */ J(re, { children: [/* @__PURE__ */ q(ne, { children:
|
|
6264
|
+
/* @__PURE__ */ J(re, { children: [/* @__PURE__ */ q(ne, { children: o("editor.selectNodeType.options.ui") }), go.map((e) => /* @__PURE__ */ J(B, {
|
|
6242
6265
|
value: e,
|
|
6243
6266
|
className: "tg:capitalize",
|
|
6244
6267
|
children: [/* @__PURE__ */ q(ir(e), {}), e]
|
|
@@ -6249,28 +6272,28 @@ var uo = (e) => Object.values(wa).includes(e), fo = () => {
|
|
|
6249
6272
|
};
|
|
6250
6273
|
//#endregion
|
|
6251
6274
|
//#region src/shared/components/ui/sheet.tsx
|
|
6252
|
-
function
|
|
6275
|
+
function vo({ ...e }) {
|
|
6253
6276
|
return /* @__PURE__ */ q(vn.Root, {
|
|
6254
6277
|
"data-slot": "sheet",
|
|
6255
6278
|
...e
|
|
6256
6279
|
});
|
|
6257
6280
|
}
|
|
6258
|
-
function
|
|
6281
|
+
function yo({ ...e }) {
|
|
6259
6282
|
return /* @__PURE__ */ q(vn.Portal, {
|
|
6260
6283
|
"data-slot": "sheet-portal",
|
|
6261
6284
|
...e
|
|
6262
6285
|
});
|
|
6263
6286
|
}
|
|
6264
|
-
function
|
|
6287
|
+
function bo({ className: e, ...t }) {
|
|
6265
6288
|
return /* @__PURE__ */ q(vn.Overlay, {
|
|
6266
6289
|
"data-slot": "sheet-overlay",
|
|
6267
6290
|
className: R("tg:data-[state=closed]:fade-out-0 tg:data-[state=open]:fade-in-0 tg:fixed tg:inset-0 tg:z-[2000] tg:bg-black/50 tg:data-[state=closed]:animate-out tg:data-[state=open]:animate-in", e),
|
|
6268
6291
|
...t
|
|
6269
6292
|
});
|
|
6270
6293
|
}
|
|
6271
|
-
function
|
|
6294
|
+
function xo({ className: e, children: t, side: n = "right", ...r }) {
|
|
6272
6295
|
let [i, a] = Xe.useState(null);
|
|
6273
|
-
return /* @__PURE__ */ J(
|
|
6296
|
+
return /* @__PURE__ */ J(yo, { children: [/* @__PURE__ */ q(bo, {}), /* @__PURE__ */ q(vn.Content, {
|
|
6274
6297
|
ref: a,
|
|
6275
6298
|
"data-slot": "sheet-content",
|
|
6276
6299
|
className: R("tg:fixed tg:z-[2000] 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),
|
|
@@ -6287,28 +6310,28 @@ function bo({ className: e, children: t, side: n = "right", ...r }) {
|
|
|
6287
6310
|
})
|
|
6288
6311
|
})] });
|
|
6289
6312
|
}
|
|
6290
|
-
function
|
|
6313
|
+
function So({ className: e, ...t }) {
|
|
6291
6314
|
return /* @__PURE__ */ q("div", {
|
|
6292
6315
|
"data-slot": "sheet-header",
|
|
6293
6316
|
className: R("tg:flex tg:flex-col tg:gap-1.5 tg:p-4", e),
|
|
6294
6317
|
...t
|
|
6295
6318
|
});
|
|
6296
6319
|
}
|
|
6297
|
-
function
|
|
6320
|
+
function Co({ className: e, ...t }) {
|
|
6298
6321
|
return /* @__PURE__ */ q("div", {
|
|
6299
6322
|
"data-slot": "sheet-footer",
|
|
6300
6323
|
className: R("tg:mt-auto tg:flex tg:flex-col tg:gap-2 tg:p-4", e),
|
|
6301
6324
|
...t
|
|
6302
6325
|
});
|
|
6303
6326
|
}
|
|
6304
|
-
function
|
|
6327
|
+
function wo({ className: e, ...t }) {
|
|
6305
6328
|
return /* @__PURE__ */ q(vn.Title, {
|
|
6306
6329
|
"data-slot": "sheet-title",
|
|
6307
6330
|
className: R("tg:font-semibold tg:text-foreground", e),
|
|
6308
6331
|
...t
|
|
6309
6332
|
});
|
|
6310
6333
|
}
|
|
6311
|
-
function
|
|
6334
|
+
function To({ className: e, ...t }) {
|
|
6312
6335
|
return /* @__PURE__ */ q(vn.Description, {
|
|
6313
6336
|
"data-slot": "sheet-description",
|
|
6314
6337
|
className: R("tg:text-muted-foreground tg:text-sm", e),
|
|
@@ -6317,44 +6340,44 @@ function wo({ className: e, ...t }) {
|
|
|
6317
6340
|
}
|
|
6318
6341
|
//#endregion
|
|
6319
6342
|
//#region src/editor/features/TreegeEditor/sheets/NodeActionsSheet.tsx
|
|
6320
|
-
var
|
|
6321
|
-
let { selectedNode: t } = kr(), { clearSelection: n } = Rr(), { isNodeSheetOpen: r, setIsNodeSheetOpen: i, openDeleteNodeConfirmation: a } = Z(), o = Q(),
|
|
6343
|
+
var Eo = () => {
|
|
6344
|
+
let { selectedNode: t } = kr(), { clearSelection: n } = Rr(), { isNodeSheetOpen: r, setIsNodeSheetOpen: i, openDeleteNodeConfirmation: a } = Z(), o = Q(), c = o(t?.data?.label), l = () => {
|
|
6322
6345
|
i(!1), n();
|
|
6323
6346
|
};
|
|
6324
|
-
return /* @__PURE__ */ q(
|
|
6347
|
+
return /* @__PURE__ */ q(vo, {
|
|
6325
6348
|
open: r && !!t,
|
|
6326
6349
|
onOpenChange: (e) => {
|
|
6327
|
-
e ||
|
|
6350
|
+
e || l();
|
|
6328
6351
|
},
|
|
6329
|
-
children: /* @__PURE__ */ J(
|
|
6352
|
+
children: /* @__PURE__ */ J(xo, {
|
|
6330
6353
|
className: "tg:flex tg:flex-col tg:gap-0",
|
|
6331
6354
|
onKeyDown: (e) => {
|
|
6332
|
-
e.key !== "Enter" || e.defaultPrevented || e.target.tagName === "INPUT" && (e.preventDefault(),
|
|
6355
|
+
e.key !== "Enter" || e.defaultPrevented || e.target.tagName === "INPUT" && (e.preventDefault(), l());
|
|
6333
6356
|
},
|
|
6334
6357
|
children: [
|
|
6335
|
-
/* @__PURE__ */ J(
|
|
6358
|
+
/* @__PURE__ */ J(So, { children: [/* @__PURE__ */ J(wo, { children: [
|
|
6336
6359
|
o("editor.nodeActionsSheet.editNode"),
|
|
6337
6360
|
" ",
|
|
6338
6361
|
/* @__PURE__ */ q("span", {
|
|
6339
6362
|
className: "tg:font-light tg:text-muted-foreground tg:text-xs",
|
|
6340
6363
|
children: t?.id
|
|
6341
6364
|
})
|
|
6342
|
-
] }), /* @__PURE__ */ q(
|
|
6365
|
+
] }), /* @__PURE__ */ q(To, { children: c || "\xA0" })] }),
|
|
6343
6366
|
/* @__PURE__ */ q(Gn, {
|
|
6344
6367
|
className: "tg:flex tg:min-h-0 tg:flex-1 tg:flex-col tg:px-4",
|
|
6345
6368
|
children: /* @__PURE__ */ J("div", {
|
|
6346
6369
|
className: "tg:space-y-6 tg:py-4",
|
|
6347
6370
|
children: [
|
|
6348
|
-
/* @__PURE__ */ q(
|
|
6371
|
+
/* @__PURE__ */ q(_o, {}),
|
|
6349
6372
|
/* @__PURE__ */ q(Ar, {}),
|
|
6350
6373
|
/* @__PURE__ */ q(ue, {}),
|
|
6351
|
-
u(t) && /* @__PURE__ */ q(fo, {}),
|
|
6352
6374
|
e(t) && /* @__PURE__ */ q(po, {}),
|
|
6353
|
-
|
|
6375
|
+
g(t) && /* @__PURE__ */ q(mo, {}),
|
|
6376
|
+
s(t) && /* @__PURE__ */ q(ja, {})
|
|
6354
6377
|
]
|
|
6355
6378
|
})
|
|
6356
6379
|
}),
|
|
6357
|
-
/* @__PURE__ */ q(
|
|
6380
|
+
/* @__PURE__ */ q(Co, {
|
|
6358
6381
|
className: "tg:flex tg:items-end tg:border-t",
|
|
6359
6382
|
children: /* @__PURE__ */ q(I, {
|
|
6360
6383
|
variant: "ghost",
|
|
@@ -6369,7 +6392,7 @@ var To = () => {
|
|
|
6369
6392
|
]
|
|
6370
6393
|
})
|
|
6371
6394
|
});
|
|
6372
|
-
},
|
|
6395
|
+
}, Do = ({ ...e }) => {
|
|
6373
6396
|
let { theme: t = "system" } = jn();
|
|
6374
6397
|
return /* @__PURE__ */ q(_n, {
|
|
6375
6398
|
theme: t,
|
|
@@ -6381,17 +6404,17 @@ var To = () => {
|
|
|
6381
6404
|
},
|
|
6382
6405
|
...e
|
|
6383
6406
|
});
|
|
6384
|
-
},
|
|
6407
|
+
}, Oo = {
|
|
6385
6408
|
desktop: "(min-width: 1024px)",
|
|
6386
6409
|
mobile: "(max-width: 767px)",
|
|
6387
6410
|
tablet: "(min-width: 768px) and (max-width: 1023px)"
|
|
6388
|
-
},
|
|
6389
|
-
let [t, n] = G(void 0), r =
|
|
6411
|
+
}, ko = (e) => e in Oo, Ao = (e) => {
|
|
6412
|
+
let [t, n] = G(void 0), r = ko(e) ? Oo[e] : e;
|
|
6390
6413
|
return U(() => {
|
|
6391
6414
|
let e = window.matchMedia(r), t = () => n(e.matches);
|
|
6392
6415
|
return e.addEventListener("change", t), n(e.matches), () => e.removeEventListener("change", t);
|
|
6393
6416
|
}, [r]), !!t;
|
|
6394
|
-
},
|
|
6417
|
+
}, jo = ({ flow: e, onExportJson: t, onSave: n, onChange: r, theme: i, className: a, extraMenuItems: o, onAuthorize: s, headers: c, onHeadersChange: l }) => {
|
|
6395
6418
|
let [u, d] = G(!1), [f, p] = G(null), { onConnect: m, onConnectEnd: h, onEdgesDelete: g, isValidConnection: _ } = Dr(), { onBeforeDelete: v, takeSnapshot: y } = Sr({ enableShortcuts: !0 });
|
|
6396
6419
|
return /* @__PURE__ */ q(Ee, {
|
|
6397
6420
|
container: f,
|
|
@@ -6400,7 +6423,7 @@ var To = () => {
|
|
|
6400
6423
|
fitView: !0,
|
|
6401
6424
|
panOnScroll: !0,
|
|
6402
6425
|
minZoom: .1,
|
|
6403
|
-
fitViewOptions: { maxZoom:
|
|
6426
|
+
fitViewOptions: { maxZoom: Ao("mobile") ? .6 : 1 },
|
|
6404
6427
|
colorMode: i,
|
|
6405
6428
|
selectNodesOnDrag: !1,
|
|
6406
6429
|
nodesDraggable: !1,
|
|
@@ -6423,7 +6446,7 @@ var To = () => {
|
|
|
6423
6446
|
gap: 10,
|
|
6424
6447
|
variant: Ae.Dots
|
|
6425
6448
|
}),
|
|
6426
|
-
/* @__PURE__ */ q(
|
|
6449
|
+
/* @__PURE__ */ q(Da, {
|
|
6427
6450
|
onExportJson: t,
|
|
6428
6451
|
onSave: n,
|
|
6429
6452
|
extraMenuItems: o,
|
|
@@ -6432,7 +6455,7 @@ var To = () => {
|
|
|
6432
6455
|
onHeadersChange: l
|
|
6433
6456
|
}),
|
|
6434
6457
|
/* @__PURE__ */ q(Pn, { theme: i }),
|
|
6435
|
-
/* @__PURE__ */ q(
|
|
6458
|
+
/* @__PURE__ */ q(Oa, {}),
|
|
6436
6459
|
/* @__PURE__ */ q(Ne, {
|
|
6437
6460
|
showInteractive: !1,
|
|
6438
6461
|
children: /* @__PURE__ */ q(ji, {
|
|
@@ -6440,22 +6463,22 @@ var To = () => {
|
|
|
6440
6463
|
onToggle: () => d((e) => !e)
|
|
6441
6464
|
})
|
|
6442
6465
|
}),
|
|
6443
|
-
/* @__PURE__ */ q(
|
|
6466
|
+
/* @__PURE__ */ q(Eo, {}),
|
|
6444
6467
|
/* @__PURE__ */ q(Fi, {}),
|
|
6445
6468
|
/* @__PURE__ */ q(Pi, {}),
|
|
6446
6469
|
u && /* @__PURE__ */ q(Ie, {})
|
|
6447
6470
|
]
|
|
6448
6471
|
})
|
|
6449
6472
|
});
|
|
6450
|
-
},
|
|
6473
|
+
}, Mo = ({ flow: e, onExportJson: t, onSave: n, onChange: r, onLanguageChange: i, aiConfig: a, extraMenuItems: o, openApi: s, baseUrl: c, onAuthorize: l, headers: u, onHeadersChange: d, language: f, theme: p = "dark", defaultLanguage: m = "en" }) => {
|
|
6451
6474
|
let [h, g] = G(m), _ = f !== void 0, v = _ ? f : h, y = H((e) => {
|
|
6452
6475
|
_ || g(e), i?.(e);
|
|
6453
6476
|
}, [_, i]);
|
|
6454
|
-
return /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q(In, {}), /* @__PURE__ */ J(
|
|
6477
|
+
return /* @__PURE__ */ J(K, { children: [/* @__PURE__ */ q(In, {}), /* @__PURE__ */ J(C, {
|
|
6455
6478
|
defaultTheme: p,
|
|
6456
6479
|
storageKey: "treege-editor-theme",
|
|
6457
6480
|
theme: p,
|
|
6458
|
-
children: [/* @__PURE__ */ q(
|
|
6481
|
+
children: [/* @__PURE__ */ q(Do, { position: "bottom-center" }), /* @__PURE__ */ q(Rn, {
|
|
6459
6482
|
value: {
|
|
6460
6483
|
aiConfig: a,
|
|
6461
6484
|
flowId: e?.id,
|
|
@@ -6466,7 +6489,7 @@ var To = () => {
|
|
|
6466
6489
|
children: /* @__PURE__ */ q(ri, {
|
|
6467
6490
|
initialDocument: s,
|
|
6468
6491
|
initialBaseUrl: c,
|
|
6469
|
-
children: /* @__PURE__ */ q(Be, { children: /* @__PURE__ */ q(
|
|
6492
|
+
children: /* @__PURE__ */ q(Be, { children: /* @__PURE__ */ q(jo, {
|
|
6470
6493
|
onExportJson: t,
|
|
6471
6494
|
onSave: n,
|
|
6472
6495
|
onChange: r,
|
|
@@ -6482,4 +6505,4 @@ var To = () => {
|
|
|
6482
6505
|
})] });
|
|
6483
6506
|
};
|
|
6484
6507
|
//#endregion
|
|
6485
|
-
export {
|
|
6508
|
+
export { Mo as t };
|