treege 3.0.0-beta.22 → 3.0.0-beta.24

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.
@@ -0,0 +1,1813 @@
1
+ (function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(`/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-outline-style:solid;--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-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{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-300:oklch(80.8% .114 19.571);--color-red-500:oklch(63.7% .237 25.331);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-green-50:oklch(98.2% .018 155.826);--color-green-300:oklch(87.1% .15 154.449);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-widest:.1em;--radius-xs:.125rem;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-card:var(--treege-card);--color-ring:var(--treege-ring);--color-chart-2:var(--treege-chart-2);--color-chart-3:var(--treege-chart-3);--color-chart-4:var(--treege-chart-4)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{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{.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-0{inset-inline:calc(var(--spacing)*0)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-3\\.5{top:calc(var(--spacing)*-3.5)}.top-0{top:calc(var(--spacing)*0)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-5{top:calc(var(--spacing)*5)}.top-\\[50\\%\\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-5{left:calc(var(--spacing)*5)}.left-6{left:calc(var(--spacing)*6)}.left-\\[50\\%\\]{left:50%}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing)*-1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-4{margin-block:calc(var(--spacing)*4)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-10{margin-top:calc(var(--spacing)*10)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.field-sizing-content{field-sizing:content}.aspect-square{aspect-ratio:1}.size-\\(--cell-size\\){width:var(--cell-size);height:var(--cell-size)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-auto{width:auto;height:auto}.size-full{width:100%;height:100%}.\\!h-3{height:calc(var(--spacing)*3)!important}.\\!h-6{height:calc(var(--spacing)*6)!important}.h-\\(--cell-size\\){height:var(--cell-size)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-\\[1\\.15rem\\]{height:1.15rem}.h-\\[var\\(--radix-select-trigger-height\\)\\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-\\(--radix-dropdown-menu-content-available-height\\){max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-\\(--radix-select-content-available-height\\){max-height:var(--radix-select-content-available-height)}.max-h-150{max-height:calc(var(--spacing)*150)}.max-h-\\[300px\\]{max-height:300px}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-16{min-height:calc(var(--spacing)*16)}.\\!w-3{width:calc(var(--spacing)*3)!important}.\\!w-6{width:calc(var(--spacing)*6)!important}.w-\\(--cell-size\\){width:var(--cell-size)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\\/4{width:75%}.w-4{width:calc(var(--spacing)*4)}.w-4\\/12{width:33.3333%}.w-8{width:calc(var(--spacing)*8)}.w-8\\/12{width:66.6667%}.w-12{width:calc(var(--spacing)*12)}.w-32{width:calc(var(--spacing)*32)}.w-72{width:calc(var(--spacing)*72)}.w-80{width:calc(var(--spacing)*80)}.w-96{width:calc(var(--spacing)*96)}.w-\\[300px\\]{width:300px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-50{max-width:calc(var(--spacing)*50)}.max-w-\\[350px\\]{max-width:350px}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.max-w-full{max-width:100%}.min-w-\\(--cell-size\\){min-width:var(--cell-size)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\\[8rem\\]{min-width:8rem}.min-w-\\[var\\(--radix-select-trigger-width\\)\\]{min-width:var(--radix-select-trigger-width)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.origin-\\(--radix-dropdown-menu-content-transform-origin\\){transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\\(--radix-popover-content-transform-origin\\){transform-origin:var(--radix-popover-content-transform-origin)}.origin-\\(--radix-select-content-transform-origin\\){transform-origin:var(--radix-select-content-transform-origin)}.origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y: calc(-50% - 2px) ;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.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)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-my-1{scroll-margin-block:calc(var(--spacing)*1)}.scroll-py-1{scroll-padding-block:calc(var(--spacing)*1)}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.place-content-center{place-content:center}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:calc(var(--spacing)*0)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-5{gap:calc(var(--spacing)*5)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing)*3)}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}.gap-y-3{row-gap:calc(var(--spacing)*3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[4px\\]{border-radius:4px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--treege-radius)}.rounded-md{border-radius:calc(var(--treege-radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--treege-radius) - 4px)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-l-md{border-top-left-radius:calc(var(--treege-radius) - 2px);border-bottom-left-radius:calc(var(--treege-radius) - 2px)}.rounded-r-md{border-top-right-radius:calc(var(--treege-radius) - 2px);border-bottom-right-radius:calc(var(--treege-radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-gray-300{border-color:var(--color-gray-300)}.border-input{border-color:var(--treege-input)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.\\!bg-primary{background-color:var(--treege-primary)!important}.bg-accent{background-color:var(--treege-accent)}.bg-background{background-color:var(--treege-background)}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-300{background-color:var(--color-blue-300)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-border{background-color:var(--treege-border)}.bg-chart-2{background-color:var(--treege-chart-2)}.bg-destructive{background-color:var(--treege-destructive)}.bg-foreground{background-color:var(--treege-foreground)}.bg-green-50{background-color:var(--color-green-50)}.bg-muted,.bg-muted\\/20{background-color:var(--treege-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\\/20{background-color:color-mix(in oklab,var(--treege-muted)20%,transparent)}}.bg-muted\\/30{background-color:var(--treege-muted)}@supports (color:color-mix(in lab,red,red)){.bg-muted\\/30{background-color:color-mix(in oklab,var(--treege-muted)30%,transparent)}}.bg-popover{background-color:var(--treege-popover)}.bg-primary{background-color:var(--treege-primary)}.bg-purple-600{background-color:var(--color-purple-600)}.bg-red-50{background-color:var(--color-red-50)}.bg-secondary{background-color:var(--treege-secondary)}.bg-transparent{background-color:#0000}.fill-current{fill:currentColor}.fill-foreground{fill:var(--treege-foreground)}.fill-primary{fill:var(--treege-primary)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-px{padding:1px}.px-\\(--cell-size\\){padding-inline:var(--cell-size)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-10{padding-right:calc(var(--spacing)*10)}.pb-1\\.5{padding-bottom:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-8{padding-left:calc(var(--spacing)*8)}.text-center{text-align:center}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[0\\.8rem\\]{font-size:.8rem}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-balance{text-wrap:balance}.text-nowrap{text-wrap:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-\\[\\#13d3b4\\]{color:#13d3b4}.text-\\[--treege-color-primary\\]{color:--treege-color-primary}.text-accent-foreground{color:var(--treege-accent-foreground)}.text-background{color:var(--treege-background)}.text-current{color:currentColor}.text-destructive{color:var(--treege-destructive)}.text-foreground{color:var(--treege-foreground)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-green-800{color:var(--color-green-800)}.text-muted-foreground{color:var(--treege-muted-foreground)}.text-popover-foreground{color:var(--treege-popover-foreground)}.text-primary{color:var(--treege-primary)}.text-primary-foreground{color:var(--treege-primary-foreground)}.text-red-500{color:var(--color-red-500)}.text-red-800{color:var(--color-red-800)}.text-secondary-foreground{color:var(--treege-secondary-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.\\[color-scheme\\:light\\]{color-scheme:light}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-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)}.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)}.ring-offset-background{--tw-ring-offset-color:var(--treege-background)}.outline-hidden{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.outline-hidden{outline-offset:2px;outline:2px solid #0000}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.drop-shadow-blue-600{--tw-drop-shadow-color:oklch(54.6% .245 262.881)}@supports (color:color-mix(in lab,red,red)){.drop-shadow-blue-600{--tw-drop-shadow-color:color-mix(in oklab,var(--color-blue-600)var(--tw-drop-shadow-alpha),transparent)}}.drop-shadow-blue-600{--tw-drop-shadow:var(--tw-drop-shadow-size)}.filter{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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.fade-in-0{--tw-enter-opacity:0}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.zoom-in-95{--tw-enter-scale:.95}.\\[--cell-size\\:--spacing\\(8\\)\\]{--cell-size:calc(var(--spacing)*8)}.group-data-\\[disabled\\=true\\]\\:pointer-events-none:is(:where(.group)[data-disabled=true] *){pointer-events:none}.group-data-\\[disabled\\=true\\]\\:opacity-50:is(:where(.group)[data-disabled=true] *){opacity:.5}.group-data-\\[focused\\=true\\]\\/day\\:relative:is(:where(.group\\/day)[data-focused=true] *){position:relative}.group-data-\\[focused\\=true\\]\\/day\\:z-10:is(:where(.group\\/day)[data-focused=true] *){z-index:10}.group-data-\\[focused\\=true\\]\\/day\\:border-ring:is(:where(.group\\/day)[data-focused=true] *){border-color:var(--treege-ring)}.group-data-\\[focused\\=true\\]\\/day\\:ring-\\[3px\\]:is(:where(.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)}.group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50:is(:where(.group\\/day)[data-focused=true] *){--tw-ring-color:var(--treege-ring)}@supports (color:color-mix(in lab,red,red)){.group-data-\\[focused\\=true\\]\\/day\\:ring-ring\\/50:is(:where(.group\\/day)[data-focused=true] *){--tw-ring-color:color-mix(in oklab,var(--treege-ring)50%,transparent)}}.peer-disabled\\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\\:opacity-50:is(:where(.peer):disabled~*){opacity:.5}.selection\\:bg-primary ::selection{background-color:var(--treege-primary)}.selection\\:bg-primary::selection{background-color:var(--treege-primary)}.selection\\:text-primary-foreground ::selection{color:var(--treege-primary-foreground)}.selection\\:text-primary-foreground::selection{color:var(--treege-primary-foreground)}.file\\:inline-flex::file-selector-button{display:inline-flex}.file\\:h-7::file-selector-button{height:calc(var(--spacing)*7)}.file\\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\\:bg-transparent::file-selector-button{background-color:#0000}.file\\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\\:text-foreground::file-selector-button{color:var(--treege-foreground)}.placeholder\\:text-muted-foreground::placeholder{color:var(--treege-muted-foreground)}@media(hover:hover){.hover\\:\\!bg-primary\\/80:hover{background-color:var(--treege-primary)!important}@supports (color:color-mix(in lab,red,red)){.hover\\:\\!bg-primary\\/80:hover{background-color:color-mix(in oklab,var(--treege-primary)80%,transparent)!important}}.hover\\:bg-accent:hover{background-color:var(--treege-accent)}.hover\\:bg-blue-600:hover{background-color:var(--color-blue-600)}.hover\\:bg-destructive\\/90:hover{background-color:var(--treege-destructive)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--treege-destructive)90%,transparent)}}.hover\\:bg-primary\\/90:hover{background-color:var(--treege-primary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--treege-primary)90%,transparent)}}.hover\\:bg-purple-700:hover{background-color:var(--color-purple-700)}.hover\\:bg-secondary\\/80:hover{background-color:var(--treege-secondary)}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,var(--treege-secondary)80%,transparent)}}.hover\\:text-accent-foreground:hover{color:var(--treege-accent-foreground)}.hover\\:text-primary:hover{color:var(--treege-primary)}.hover\\:no-underline:hover{text-decoration-line:none}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-100:hover{opacity:1}}.focus\\:bg-accent:focus{background-color:var(--treege-accent)}.focus\\:text-accent-foreground:focus{color:var(--treege-accent-foreground)}.focus\\:text-destructive:focus{color:var(--treege-destructive)}.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)}.focus\\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\\:ring-ring:focus{--tw-ring-color:var(--treege-ring)}.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)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:border-ring:focus-visible{border-color:var(--treege-ring)}.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)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--treege-destructive)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--treege-destructive)20%,transparent)}}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--treege-ring)}@supports (color:color-mix(in lab,red,red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--treege-ring)50%,transparent)}}.focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.has-focus\\:border-ring:has(:focus){border-color:var(--treege-ring)}.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)}.has-focus\\:ring-ring\\/50:has(:focus){--tw-ring-color:var(--treege-ring)}@supports (color:color-mix(in lab,red,red)){.has-focus\\:ring-ring\\/50:has(:focus){--tw-ring-color:color-mix(in oklab,var(--treege-ring)50%,transparent)}}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-disabled\\:opacity-50[aria-disabled=true]{opacity:.5}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--treege-destructive)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--treege-destructive)}@supports (color:color-mix(in lab,red,red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--treege-destructive)20%,transparent)}}.aria-selected\\:text-muted-foreground[aria-selected=true]{color:var(--treege-muted-foreground)}.data-\\[disabled\\]\\:pointer-events-none[data-disabled]{pointer-events:none}.data-\\[disabled\\]\\:opacity-50[data-disabled]{opacity:.5}.data-\\[disabled\\=true\\]\\:pointer-events-none[data-disabled=true]{pointer-events:none}.data-\\[disabled\\=true\\]\\:opacity-50[data-disabled=true]{opacity:.5}.data-\\[inset\\]\\:pl-8[data-inset]{padding-left:calc(var(--spacing)*8)}.data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.data-\\[placeholder\\]\\:text-muted-foreground[data-placeholder]{color:var(--treege-muted-foreground)}.data-\\[range-end\\=true\\]\\:rounded-md[data-range-end=true]{border-radius:calc(var(--treege-radius) - 2px)}.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)}.data-\\[range-end\\=true\\]\\:bg-primary[data-range-end=true]{background-color:var(--treege-primary)}.data-\\[range-end\\=true\\]\\:text-primary-foreground[data-range-end=true]{color:var(--treege-primary-foreground)}.data-\\[range-middle\\=true\\]\\:rounded-none[data-range-middle=true]{border-radius:0}.data-\\[range-middle\\=true\\]\\:bg-accent[data-range-middle=true]{background-color:var(--treege-accent)}.data-\\[range-middle\\=true\\]\\:text-accent-foreground[data-range-middle=true]{color:var(--treege-accent-foreground)}.data-\\[range-start\\=true\\]\\:rounded-md[data-range-start=true]{border-radius:calc(var(--treege-radius) - 2px)}.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)}.data-\\[range-start\\=true\\]\\:bg-primary[data-range-start=true]{background-color:var(--treege-primary)}.data-\\[range-start\\=true\\]\\:text-primary-foreground[data-range-start=true]{color:var(--treege-primary-foreground)}.data-\\[selected-single\\=true\\]\\:bg-primary[data-selected-single=true]{background-color:var(--treege-primary)}.data-\\[selected-single\\=true\\]\\:text-primary-foreground[data-selected-single=true]{color:var(--treege-primary-foreground)}.data-\\[selected\\=true\\]\\:rounded-none[data-selected=true]{border-radius:0}.data-\\[selected\\=true\\]\\:bg-accent[data-selected=true]{background-color:var(--treege-accent)}.data-\\[selected\\=true\\]\\:text-accent-foreground[data-selected=true]{color:var(--treege-accent-foreground)}.data-\\[side\\=bottom\\]\\:translate-y-1[data-side=bottom]{--tw-translate-y:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=bottom\\]\\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:calc(2*var(--spacing)*-1)}.data-\\[side\\=left\\]\\:-translate-x-1[data-side=left]{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=left\\]\\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:calc(2*var(--spacing))}.data-\\[side\\=right\\]\\:translate-x-1[data-side=right]{--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=right\\]\\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:calc(2*var(--spacing)*-1)}.data-\\[side\\=top\\]\\:-translate-y-1[data-side=top]{--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[side\\=top\\]\\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:calc(2*var(--spacing))}.data-\\[size\\=default\\]\\:h-9[data-size=default]{height:calc(var(--spacing)*9)}.data-\\[size\\=sm\\]\\:h-8[data-size=sm]{height:calc(var(--spacing)*8)}:is(.\\*\\*\\:data-\\[slot\\=command-input-wrapper\\]\\:h-12 *)[data-slot=command-input-wrapper]{height:calc(var(--spacing)*12)}:is(.\\*\\: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(.\\*\\:data-\\[slot\\=select-value\\]\\:flex>*)[data-slot=select-value]{display:flex}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:items-center>*)[data-slot=select-value]{align-items:center}:is(.\\*\\:data-\\[slot\\=select-value\\]\\:gap-2>*)[data-slot=select-value]{gap:calc(var(--spacing)*2)}.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)}.data-\\[state\\=checked\\]\\:border-primary[data-state=checked]{border-color:var(--treege-primary)}.data-\\[state\\=checked\\]\\:bg-primary[data-state=checked]{background-color:var(--treege-primary)}.data-\\[state\\=checked\\]\\:text-primary-foreground[data-state=checked]{color:var(--treege-primary-foreground)}.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)}.data-\\[state\\=closed\\]\\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\\[state\\=closed\\]\\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\\[state\\=closed\\]\\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\\[state\\=closed\\]\\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\\[state\\=closed\\]\\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\\[state\\=closed\\]\\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\\[state\\=closed\\]\\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.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)}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--treege-accent)}.data-\\[state\\=open\\]\\:bg-secondary[data-state=open]{background-color:var(--treege-secondary)}.data-\\[state\\=open\\]\\:text-accent-foreground[data-state=open]{color:var(--treege-accent-foreground)}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--treege-muted-foreground)}.data-\\[state\\=open\\]\\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}.data-\\[state\\=open\\]\\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\\[state\\=open\\]\\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\\[state\\=open\\]\\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\\[state\\=open\\]\\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\\[state\\=open\\]\\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\\[state\\=open\\]\\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\\[state\\=unchecked\\]\\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\\[state\\=unchecked\\]\\:bg-input[data-state=unchecked]{background-color:var(--treege-input)}.data-\\[variant\\=destructive\\]\\:text-destructive[data-variant=destructive]{color:var(--treege-destructive)}.data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:var(--treege-destructive)}@supports (color:color-mix(in lab,red,red)){.data-\\[variant\\=destructive\\]\\:focus\\:bg-destructive\\/10[data-variant=destructive]:focus{background-color:color-mix(in oklab,var(--treege-destructive)10%,transparent)}}.data-\\[variant\\=destructive\\]\\:focus\\:text-destructive[data-variant=destructive]:focus{color:var(--treege-destructive)}@media(min-width:40rem){.sm\\:max-w-\\[550px\\]{max-width:550px}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:max-w-sm{max-width:var(--container-sm)}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:text-left{text-align:left}}@media(min-width:48rem){.md\\:flex-row{flex-direction:row}.md\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.dark\\:border-input:is(.dark *){border-color:var(--treege-input)}.dark\\:bg-blue-600:is(.dark *){background-color:var(--color-blue-600)}.dark\\:bg-destructive\\/60:is(.dark *){background-color:var(--treege-destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-destructive\\/60:is(.dark *){background-color:color-mix(in oklab,var(--treege-destructive)60%,transparent)}}.dark\\:bg-green-900\\/20:is(.dark *){background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-green-900\\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--treege-input)}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab,var(--treege-input)30%,transparent)}}.dark\\:bg-red-900\\/20:is(.dark *){background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\\:bg-red-900\\/20:is(.dark *){background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\\:text-green-300:is(.dark *){color:var(--color-green-300)}.dark\\:text-red-300:is(.dark *){color:var(--color-red-300)}.dark\\:\\[color-scheme\\:dark\\]:is(.dark *){color-scheme:dark}@media(hover:hover){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:var(--treege-accent)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--treege-accent)50%,transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--treege-input)}@supports (color:color-mix(in lab,red,red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--treege-input)50%,transparent)}}.dark\\:hover\\:text-accent-foreground:is(.dark *):hover{color:var(--treege-accent-foreground)}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--treege-destructive)}@supports (color:color-mix(in lab,red,red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--treege-destructive)40%,transparent)}}.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)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--treege-destructive)40%,transparent)}}.dark\\:data-\\[state\\=checked\\]\\:bg-primary:is(.dark *)[data-state=checked]{background-color:var(--treege-primary)}.dark\\:data-\\[state\\=checked\\]\\:bg-primary-foreground:is(.dark *)[data-state=checked]{background-color:var(--treege-primary-foreground)}.dark\\:data-\\[state\\=unchecked\\]\\:bg-foreground:is(.dark *)[data-state=unchecked]{background-color:var(--treege-foreground)}.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)){.dark\\:data-\\[state\\=unchecked\\]\\:bg-input\\/80:is(.dark *)[data-state=unchecked]{background-color:color-mix(in oklab,var(--treege-input)80%,transparent)}}.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)){.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)}}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2 [cmdk-group-heading]{padding-inline:calc(var(--spacing)*2)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:py-1\\.5 [cmdk-group-heading]{padding-block:calc(var(--spacing)*1.5)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-xs [cmdk-group-heading]{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-medium [cmdk-group-heading]{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-muted-foreground [cmdk-group-heading]{color:var(--treege-muted-foreground)}.\\[\\&_\\[cmdk-group\\]\\]\\:px-2 [cmdk-group]{padding-inline:calc(var(--spacing)*2)}.\\[\\&_\\[cmdk-group\\]\\:not\\(\\[hidden\\]\\)_\\~\\[cmdk-group\\]\\]\\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:calc(var(--spacing)*0)}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:h-5 [cmdk-input-wrapper] svg{height:calc(var(--spacing)*5)}.\\[\\&_\\[cmdk-input-wrapper\\]_svg\\]\\:w-5 [cmdk-input-wrapper] svg{width:calc(var(--spacing)*5)}.\\[\\&_\\[cmdk-input\\]\\]\\:h-12 [cmdk-input]{height:calc(var(--spacing)*12)}.\\[\\&_\\[cmdk-item\\]\\]\\:px-2 [cmdk-item]{padding-inline:calc(var(--spacing)*2)}.\\[\\&_\\[cmdk-item\\]\\]\\:py-3 [cmdk-item]{padding-block:calc(var(--spacing)*3)}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:h-5 [cmdk-item] svg{height:calc(var(--spacing)*5)}.\\[\\&_\\[cmdk-item\\]_svg\\]\\:w-5 [cmdk-item] svg{width:calc(var(--spacing)*5)}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'text-\\'\\]\\)\\]\\:text-muted-foreground svg:not([class*=text-]){color:var(--treege-muted-foreground)}.\\[\\&\\: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(.rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_next\\>svg\\]\\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_next>svg),:is(.rtl\\:\\*\\*\\:\\[\\.rdp-button\\\\_previous\\>svg\\]\\:rotate-180:where(:dir(rtl),[dir=rtl],[dir=rtl] *) *):is(.rdp-button_previous>svg){rotate:180deg}:is(.\\*\\:\\[span\\]\\:last\\:flex>*):is(span):last-child{display:flex}:is(.\\*\\:\\[span\\]\\:last\\:items-center>*):is(span):last-child{align-items:center}:is(.\\*\\:\\[span\\]\\:last\\:gap-2>*):is(span):last-child{gap:calc(var(--spacing)*2)}:is(.data-\\[variant\\=destructive\\]\\:\\*\\:\\[svg\\]\\:\\!text-destructive[data-variant=destructive]>*):is(svg){color:var(--treege-destructive)!important}.\\[\\&\\: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)}.\\[\\&\\>span\\]\\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&\\>span\\]\\:opacity-70>span{opacity:.7}.\\[\\&\\>svg\\]\\:pointer-events-none>svg{pointer-events:none}.\\[\\&\\>svg\\]\\:size-3>svg{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.\\[\\&\\>svg\\]\\:size-3\\.5>svg{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.\\[\\&\\>svg\\]\\:text-muted-foreground>svg{color:var(--treege-muted-foreground)}[data-slot=card-content] .\\[\\[data-slot\\=card-content\\]_\\&\\]\\:bg-transparent,[data-slot=popover-content] .\\[\\[data-slot\\=popover-content\\]_\\&\\]\\:bg-transparent{background-color:#0000}@media(hover:hover){a.\\[a\\&\\]\\:hover\\:bg-accent:hover{background-color:var(--treege-accent)}a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:var(--treege-destructive)}@supports (color:color-mix(in lab,red,red)){a.\\[a\\&\\]\\:hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--treege-destructive)90%,transparent)}}a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:var(--treege-primary)}@supports (color:color-mix(in lab,red,red)){a.\\[a\\&\\]\\:hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--treege-primary)90%,transparent)}}a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:var(--treege-secondary)}@supports (color:color-mix(in lab,red,red)){a.\\[a\\&\\]\\:hover\\:bg-secondary\\/90:hover{background-color:color-mix(in oklab,var(--treege-secondary)90%,transparent)}}a.\\[a\\&\\]\\:hover\\:text-accent-foreground:hover{color:var(--treege-accent-foreground)}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--treege-radius:.625rem;--treege-background:oklch(100% 0 0);--treege-foreground:oklch(14.5% 0 0);--treege-card:oklch(100% 0 0);--treege-card-foreground:oklch(14.5% 0 0);--treege-popover:oklch(100% 0 0);--treege-popover-foreground:oklch(14.5% 0 0);--treege-primary:oklch(20.5% 0 0);--treege-primary-foreground:oklch(98.5% 0 0);--treege-secondary:oklch(97% 0 0);--treege-secondary-foreground:oklch(20.5% 0 0);--treege-muted:oklch(97% 0 0);--treege-muted-foreground:oklch(55.6% 0 0);--treege-accent:oklch(97% 0 0);--treege-accent-foreground:oklch(20.5% 0 0);--treege-destructive:oklch(57.7% .245 27.325);--treege-border:oklch(92.2% 0 0);--treege-input:oklch(92.2% 0 0);--treege-ring:oklch(70.8% 0 0);--treege-chart-1:oklch(64.6% .222 41.116);--treege-chart-2:oklch(60% .118 184.704);--treege-chart-3:oklch(39.8% .07 227.392);--treege-chart-4:oklch(82.8% .189 84.429);--treege-chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--treege-background:oklch(14.5% 0 0);--treege-foreground:oklch(98.5% 0 0);--treege-card:oklch(20.5% 0 0);--treege-card-foreground:oklch(98.5% 0 0);--treege-popover:oklch(20.5% 0 0);--treege-popover-foreground:oklch(98.5% 0 0);--treege-primary:oklch(92.2% 0 0);--treege-primary-foreground:oklch(20.5% 0 0);--treege-secondary:oklch(26.9% 0 0);--treege-secondary-foreground:oklch(98.5% 0 0);--treege-muted:oklch(26.9% 0 0);--treege-muted-foreground:oklch(70.8% 0 0);--treege-accent:oklch(26.9% 0 0);--treege-accent-foreground:oklch(98.5% 0 0);--treege-destructive:oklch(70.4% .191 22.216);--treege-border:oklch(100% 0 0/.1);--treege-input:oklch(100% 0 0/.15);--treege-ring:oklch(55.6% 0 0);--treege-chart-1:oklch(48.8% .243 264.376);--treege-chart-2:oklch(69.6% .17 162.48);--treege-chart-3:oklch(76.9% .188 70.08);--treege-chart-4:oklch(62.7% .265 303.9);--treege-chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}:root{--node-width:280px;--node-height:150px;--node-border-radius:40px;--treege-color-primary:#13d3b4;--treege-color-tertiary:#0065a8;--treege-color-secondary:#007ff6;--treege-color-submit-primary:#ff4757;--treege-color-submit-secondary:#ff6b81;--treege-color-submit-tertiary:#ee5a6f}button{cursor:pointer;-webkit-user-select:none;user-select:none}#root{width:100vw;height:100vh}div.react-flow__node,div.react-flow__node.react-flow__node-input{border:0}div.react-flow__node__wrapper{padding:calc(var(--spacing)*7);width:270px;height:150px;box-shadow:0 0 20px 6px oklch(from var(--treege-color-primary)l c h/10%),0 0 20px oklch(from var(--treege-color-tertiary)l c h/10%);background:linear-gradient(oklch(from var(--color-card)l c h/33%),oklch(from var(--color-card)l c h/33%))padding-box,linear-gradient(145deg,oklch(from var(--treege-color-primary)l c h/40%),#0000,oklch(from var(--treege-color-secondary)l c h/40%))border-box;border:3px solid #0000;border-radius:40px;flex-direction:column;justify-content:center;display:flex}div.react-flow__node__wrapper.in-group{background:linear-gradient(oklch(from var(--color-card)l c h/33%),oklch(from var(--color-card)l c h/33%))padding-box,linear-gradient(145deg,oklch(from var(--color-chart-2)l c h/33%),#0000,oklch(from var(--color-chart-2)l c h/33%))border-box}div.react-flow__node.selected .react-flow__node__wrapper{box-shadow:0 0 20px 6px oklch(from var(--treege-color-primary)l c h/30%),0 0 20px oklch(from var(--treege-color-tertiary)l c h/30%)}div.react-flow__node__wrapper.submit-type{box-shadow:0 0 20px 6px oklch(from var(--treege-color-submit-primary)l c h/10%),0 0 20px oklch(from var(--treege-color-submit-tertiary)l c h/10%);background:linear-gradient(oklch(from var(--color-card)l c h/33%),oklch(from var(--color-card)l c h/33%))padding-box,linear-gradient(145deg,oklch(from var(--treege-color-submit-primary)l c h/40%),#0000,oklch(from var(--treege-color-submit-secondary)l c h/40%))border-box}div.react-flow__node.selected .react-flow__node__wrapper.submit-type{box-shadow:0 0 20px 6px oklch(from var(--treege-color-submit-primary)l c h/30%),0 0 20px oklch(from var(--treege-color-submit-tertiary)l c h/30%)}div.react-flow__node-group,div.react-flow__node-group.selected{background:oklch(from var(--color-chart-2)l c h/5%);box-shadow:none;border:3px dashed var(--color-chart-2)}div.react-flow__node-group .react-flow__resize-control{opacity:0;padding:4px;transition:opacity .2s}div.react-flow__node-group:hover .react-flow__resize-control,.react-flow__resize-control:hover{opacity:1}div.react-flow__handle{background-color:var(--treege-muted-foreground);height:calc(var(--spacing)*6);width:calc(var(--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(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--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(--color-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)}}@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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}`)),document.head.appendChild(e)}}catch(r){console.error("vite-plugin-css-injected-by-js",r)}})();
2
+ import { j as t, i as G, L as ye, b as Qe, e as It, F as O, f as A, I as X, C as Ee, h as Oe, k as ke, l as _e, m as Pe, n as k, o as _, P as pe, p as he, B as ce, q as ge, r as Xe, s as y, t as Le, v as Be, S as Ye, w as Ze, x as et, y as tt, z as st, A as rt, D as At, E as Dt, G as Ne, g as ae, N as fe, a as Rt, c as Et, T as Ot } from "./ThemeContext-BIT4DHqC.js";
3
+ import * as qe from "react";
4
+ import { createContext as nt, useContext as at, useMemo as U, useRef as K, useState as L, useCallback as Q, useEffect as J, forwardRef as kt } from "react";
5
+ import He from "dompurify";
6
+ import { MapPin as Ue, ChevronsUpDown as ot, Check as it, ChevronLeftIcon as _t, ChevronRightIcon as Pt, ChevronDownIcon as Me, Loader2 as we, CircleIcon as Mt } from "lucide-react";
7
+ import { getDefaultClassNames as lt, DayPicker as $t } from "react-day-picker";
8
+ import * as oe from "@radix-ui/react-tooltip";
9
+ import * as Ae from "@radix-ui/react-radio-group";
10
+ import "cmdk";
11
+ import "@radix-ui/react-dialog";
12
+ import "clsx";
13
+ import "tailwind-merge";
14
+ import "@radix-ui/react-label";
15
+ import "@radix-ui/react-popover";
16
+ import "@radix-ui/react-checkbox";
17
+ import "@radix-ui/react-select";
18
+ import "@radix-ui/react-switch";
19
+ import "@radix-ui/react-separator";
20
+ const ct = nt(void 0), dt = () => at(ct), Zs = ({
21
+ children: e,
22
+ components: r,
23
+ googleApiKey: n,
24
+ language: s,
25
+ theme: a,
26
+ validationMode: i
27
+ }) => {
28
+ const o = {
29
+ components: r,
30
+ googleApiKey: n,
31
+ language: s,
32
+ theme: a,
33
+ validationMode: i
34
+ };
35
+ return /* @__PURE__ */ t.jsx(ct.Provider, { value: o, children: e });
36
+ }, We = (e) => e == null ? null : typeof e == "boolean" || typeof e == "number" ? e : typeof e == "string" ? e === "" ? null : e : typeof e == "object" ? JSON.stringify(e) : String(e), zt = (e, r, n) => {
37
+ const s = We(e), a = We(r);
38
+ if (s === null || a === null)
39
+ switch (n) {
40
+ case "===":
41
+ return s === a;
42
+ case "!==":
43
+ return s !== a;
44
+ default:
45
+ return !1;
46
+ }
47
+ if ([">", "<", ">=", "<="].includes(n)) {
48
+ const i = Number(s), o = Number(a);
49
+ if (!(Number.isNaN(i) || Number.isNaN(o)))
50
+ switch (n) {
51
+ case ">":
52
+ return i > o;
53
+ case "<":
54
+ return i < o;
55
+ case ">=":
56
+ return i >= o;
57
+ case "<=":
58
+ return i <= o;
59
+ default:
60
+ return !1;
61
+ }
62
+ return !1;
63
+ }
64
+ switch (n) {
65
+ case "===": {
66
+ const i = Number(s), o = Number(a);
67
+ return Number.isNaN(i) || Number.isNaN(o) ? String(s) === String(a) : i === o;
68
+ }
69
+ case "!==": {
70
+ const i = Number(s), o = Number(a);
71
+ return Number.isNaN(i) || Number.isNaN(o) ? String(s) !== String(a) : i !== o;
72
+ }
73
+ default:
74
+ return !1;
75
+ }
76
+ }, ve = (e, r, n) => {
77
+ const { field: s, operator: a, value: i } = e;
78
+ if (!(s && a) || i === void 0)
79
+ return !0;
80
+ let o = r[s];
81
+ if (o === void 0 && n) {
82
+ const c = n.get(s);
83
+ c && G(c) && (o = r[c.id]);
84
+ }
85
+ return zt(o, i, a);
86
+ }, Vt = (e, r, n) => {
87
+ if (!e || e.length === 0)
88
+ return !0;
89
+ if (e.length === 1)
90
+ return ve(e[0], r, n);
91
+ let s = ve(e[0], r, n);
92
+ for (let a = 1; a < e.length; a += 1) {
93
+ const i = e[a], o = ve(i, r, n), c = e[a - 1].logicalOperator || ye.AND;
94
+ if (c === ye.AND) {
95
+ if (s = s && o, !s)
96
+ return !1;
97
+ } else if (c === ye.OR && (s = s || o, s))
98
+ return !0;
99
+ }
100
+ return s;
101
+ }, Lt = (e) => e.filter(G), $e = (e) => {
102
+ if (e.data.name)
103
+ return e.data.name;
104
+ if (e.data.label) {
105
+ if (e.data.label.en)
106
+ return e.data.label.en;
107
+ const r = Object.values(e.data.label).find(Boolean);
108
+ if (r)
109
+ return r;
110
+ }
111
+ return e.id;
112
+ }, Bt = (e, r) => {
113
+ const n = r.find((s) => s.id === e);
114
+ return n ? $e(n) : void 0;
115
+ }, Se = (e) => e == null || typeof e == "string" && e.trim() === "" ? !0 : Array.isArray(e) && e.length === 0, qt = (e, r) => {
116
+ if (!e)
117
+ return !1;
118
+ const n = r[e];
119
+ return n != null;
120
+ }, ze = (e, r) => {
121
+ const n = {};
122
+ return r.forEach((s) => {
123
+ const a = s.id, i = $e(s);
124
+ e[a] !== void 0 && (n[i] = e[a]);
125
+ }), n;
126
+ }, Ge = (e, r, n) => {
127
+ if (!r)
128
+ return e;
129
+ switch (r) {
130
+ case "toString":
131
+ return String(e);
132
+ case "toNumber":
133
+ return Number(e);
134
+ case "toBoolean":
135
+ if (typeof e == "string") {
136
+ const s = e.trim().toLowerCase();
137
+ if (["true", "1", "yes", "on"].includes(s))
138
+ return !0;
139
+ if (["false", "0", "no", "off", ""].includes(s))
140
+ return !1;
141
+ }
142
+ return typeof e == "number" ? e !== 0 : typeof e == "boolean" ? e : !!e;
143
+ case "toArray":
144
+ return Array.isArray(e) ? e : [e];
145
+ case "toObject":
146
+ if (n && Array.isArray(n)) {
147
+ if (typeof e != "object" || e === null)
148
+ return e;
149
+ const s = {};
150
+ return n.forEach((a) => {
151
+ a.sourceKey && a.targetKey && (s[a.targetKey] = e[a.sourceKey]);
152
+ }), s;
153
+ }
154
+ return e;
155
+ default:
156
+ return e;
157
+ }
158
+ }, Ke = (e, r) => {
159
+ if (Object.is(e, r))
160
+ return !0;
161
+ if (!(e && r) || typeof e != "object" || typeof r != "object")
162
+ return !1;
163
+ try {
164
+ return JSON.stringify(e) === JSON.stringify(r);
165
+ } catch {
166
+ return !1;
167
+ }
168
+ }, Ht = (e, r, n) => {
169
+ const s = {};
170
+ return e.forEach((a) => {
171
+ const { defaultValue: i } = a.data;
172
+ if (!i || i.type !== "reference" || !i.referenceField)
173
+ return;
174
+ const o = a.id, { referenceField: c, transformFunction: l, objectMapping: m } = i, u = r[c], d = n[c];
175
+ if (u === d || u === void 0 || u === null)
176
+ return;
177
+ const f = Ge(u, l, m), g = Ge(d, l, m), h = r[o], p = Ke(h, g), j = Ke(h, f);
178
+ !p || j || (s[o] = f);
179
+ }), s;
180
+ }, Ut = (e) => {
181
+ const r = /* @__PURE__ */ new Map();
182
+ return e.forEach((n) => {
183
+ const s = r.get(n.source);
184
+ s ? s.push(n) : r.set(n.source, [n]);
185
+ }), r;
186
+ }, Wt = (e, r, n) => {
187
+ const s = [], a = [], i = [];
188
+ e.forEach((m) => {
189
+ const u = m.data?.isFallback, d = m.data?.conditions?.length;
190
+ u ? i.push(m) : d ? a.push(m) : s.push(m);
191
+ });
192
+ const o = [...s];
193
+ if (a.length === 0)
194
+ return i.length > 0 && o.length === 0 && o.push(...i), { edgesToFollow: o, waitingForInput: !1 };
195
+ if (!a.every((m) => {
196
+ const u = m.data?.conditions;
197
+ return u ? u.every((d) => {
198
+ if (!d.field)
199
+ return !0;
200
+ const f = n.get(d.field), g = G(f) ? f.id : d.field;
201
+ return qt(g, r);
202
+ }) : !1;
203
+ }))
204
+ return i.length > 0 && o.push(...i), { edgesToFollow: o, waitingForInput: o.length === 0 };
205
+ const l = a.filter((m) => Vt(m.data?.conditions, r, n));
206
+ return l.length > 0 ? (o.push(...l), { edgesToFollow: o, waitingForInput: !1 }) : (o.push(...i), { edgesToFollow: o, waitingForInput: !1 });
207
+ }, ut = (e, r) => !r.some((n) => n.target === e), Gt = (e, r) => {
208
+ const n = e.filter((s) => ut(s.id, r));
209
+ return n.find(G) || n[0];
210
+ }, Kt = (e, r, n, s) => {
211
+ e.forEach((a) => {
212
+ const i = s.get(a);
213
+ if (!i)
214
+ return;
215
+ let { parentId: o } = i;
216
+ const c = /* @__PURE__ */ new Set();
217
+ for (; o && !c.has(o); ) {
218
+ if (c.add(o), r.add(o), !n.has(o)) {
219
+ const l = n.get(a);
220
+ l !== void 0 && n.set(o, l);
221
+ }
222
+ o = s.get(o)?.parentId;
223
+ }
224
+ });
225
+ }, Jt = (e, r, n) => {
226
+ const s = Gt(e, r);
227
+ if (!s)
228
+ return {
229
+ endOfPathReached: !0,
230
+ visibleNodeIds: /* @__PURE__ */ new Set(),
231
+ visibleNodes: [],
232
+ visibleRootNodes: []
233
+ };
234
+ const a = new Map(e.map((p) => [p.id, p])), i = Ut(r), o = [], c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Set();
235
+ let m = !1;
236
+ const u = (p) => {
237
+ if (l.has(p))
238
+ return;
239
+ l.add(p);
240
+ const j = a.get(p);
241
+ if (!j)
242
+ return;
243
+ c.add(p), o.push(j);
244
+ const I = i.get(p) || [], { edgesToFollow: M, waitingForInput: D } = Wt(I, n, a);
245
+ if (D) {
246
+ m = !0;
247
+ return;
248
+ }
249
+ M.forEach((w) => {
250
+ u(w.target);
251
+ });
252
+ };
253
+ u(s.id);
254
+ const d = new Map(o.map((p, j) => [p.id, j])), f = new Set(c);
255
+ Kt(c, f, d, a);
256
+ const g = e.filter((p) => f.has(p.id)).sort((p, j) => (d.get(p.id) ?? Number.MAX_SAFE_INTEGER) - (d.get(j.id) ?? Number.MAX_SAFE_INTEGER)), h = g.filter((p) => !(p.parentId && f.has(p.parentId)));
257
+ return {
258
+ endOfPathReached: !m,
259
+ visibleNodeIds: f,
260
+ visibleNodes: g,
261
+ visibleRootNodes: h
262
+ };
263
+ }, Qt = (e) => {
264
+ if (e.length === 1)
265
+ return e[0];
266
+ const r = new Set(e.map((s) => s.id)), n = /* @__PURE__ */ new Set();
267
+ return e.forEach((s) => {
268
+ s.nodes.forEach((a) => {
269
+ if (Qe(a)) {
270
+ const i = a.data.targetId;
271
+ i && r.has(i) && n.add(i);
272
+ }
273
+ });
274
+ }), e.find((s) => !n.has(s.id)) || e[0];
275
+ }, mt = (e, r, n, s, a = /* @__PURE__ */ new Set()) => {
276
+ const i = /* @__PURE__ */ new Set();
277
+ for (const o of e)
278
+ if (n.has(o)) {
279
+ const c = s.get(o), l = c ? r.get(c) : void 0;
280
+ if (l) {
281
+ if (c && a.has(c))
282
+ continue;
283
+ c && a.add(c);
284
+ const m = new Set(l.nodes.map((d) => d.id)), u = mt(m, r, n, s, a);
285
+ for (const d of u)
286
+ i.add(d);
287
+ }
288
+ } else
289
+ i.add(o);
290
+ return i;
291
+ }, Xt = (e, r) => {
292
+ const n = /* @__PURE__ */ new Set();
293
+ return r.forEach((s) => {
294
+ e.has(s.source) && e.has(s.target) && n.add(s.source);
295
+ }), Array.from(e).filter((s) => !n.has(s));
296
+ }, ft = (e) => {
297
+ if (!e)
298
+ return { edges: [], id: "empty", nodes: [] };
299
+ const r = Array.isArray(e) ? e : [e];
300
+ if (r.length === 0)
301
+ return { edges: [], id: "empty", nodes: [] };
302
+ const n = Qt(r);
303
+ if (r.length === 1)
304
+ return n;
305
+ const s = new Map(r.map((f) => [f.id, f])), a = [], i = [...n.edges], o = /* @__PURE__ */ new Set([n.id]), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), u = (f) => {
306
+ const g = [];
307
+ return f.forEach((h) => {
308
+ if (!Qe(h)) {
309
+ g.push(h);
310
+ return;
311
+ }
312
+ const p = h.data.targetId;
313
+ if (!p)
314
+ return;
315
+ const j = s.get(p);
316
+ if (!j) {
317
+ console.warn(`Flow with id "${p}" not found`);
318
+ return;
319
+ }
320
+ const I = j.nodes.find((M) => !M.parentId);
321
+ if (!I) {
322
+ console.warn(`Flow "${p}" has no root node; preserving FlowNode "${h.id}"`), g.push(h);
323
+ return;
324
+ }
325
+ c.set(h.id, I.id), l.set(h.id, p), o.has(p) || (o.add(p), i.push(...j.edges), g.push(...u(j.nodes)));
326
+ }), g;
327
+ };
328
+ a.push(...u(n.nodes)), i.forEach((f) => {
329
+ if (c.has(f.source)) {
330
+ const g = m.get(f.source);
331
+ g ? g.push(f) : m.set(f.source, [f]);
332
+ }
333
+ });
334
+ const d = i.map((f) => {
335
+ if (c.has(f.source))
336
+ return null;
337
+ const g = c.get(f.target);
338
+ return g ? { ...f, target: g } : f;
339
+ }).filter((f) => f !== null);
340
+ return c.forEach((f, g) => {
341
+ const h = m.get(g);
342
+ if (!h?.length)
343
+ return;
344
+ const p = l.get(g), j = p ? s.get(p) : void 0;
345
+ if (!j)
346
+ return;
347
+ const I = new Set(j.nodes.map((w) => w.id)), M = mt(
348
+ I,
349
+ s,
350
+ c,
351
+ l,
352
+ new Set(p ? [p] : [])
353
+ );
354
+ Xt(M, d).forEach((w) => {
355
+ h.forEach((x) => {
356
+ const b = c.get(x.target) ?? x.target, v = x.id ?? `${g}__${x.target}`;
357
+ d.push({
358
+ ...x,
359
+ id: `${w}__${v}`,
360
+ source: w,
361
+ target: b
362
+ });
363
+ });
364
+ });
365
+ }), {
366
+ edges: d,
367
+ id: n.id,
368
+ nodes: a
369
+ };
370
+ }, pt = nt(null), Yt = ({ children: e, value: r }) => /* @__PURE__ */ t.jsx(pt.Provider, { value: r, children: e }), xe = () => {
371
+ const r = at(pt) ?? {
372
+ flows: null,
373
+ formErrors: {},
374
+ formValues: {},
375
+ googleApiKey: void 0,
376
+ inputNodes: [],
377
+ language: "",
378
+ setFieldValue: () => {
379
+ }
380
+ }, n = U(() => r.flows ? ft(r.flows).edges : [], [r.flows]);
381
+ return {
382
+ ...r,
383
+ edges: n
384
+ };
385
+ }, Zt = ["b", "i", "em", "strong", "u", "br", "p", "span"], es = ["class"], te = (e, r = {}) => {
386
+ if (e == null || e === "")
387
+ return "";
388
+ const n = String(e), { plainTextOnly: s = !0, allowedTags: a, allowedAttributes: i } = r;
389
+ if (s)
390
+ return He.sanitize(n, {
391
+ ALLOWED_ATTR: [],
392
+ ALLOWED_TAGS: []
393
+ });
394
+ const o = a ?? Zt, c = i ?? es;
395
+ return He.sanitize(n, {
396
+ // Additional security options
397
+ ALLOW_DATA_ATTR: !1,
398
+ // Prevent data-* attributes
399
+ ALLOW_UNKNOWN_PROTOCOLS: !1,
400
+ // Only allow http, https, mailto, etc.
401
+ ALLOWED_ATTR: c,
402
+ ALLOWED_TAGS: o,
403
+ FORBID_ATTR: ["style"],
404
+ // Prevent inline styles
405
+ FORBID_TAGS: ["style", "script"],
406
+ // Explicitly forbid these
407
+ KEEP_CONTENT: !0,
408
+ // Keep text content when removing tags
409
+ RETURN_DOM: !1,
410
+ // Return string, not DOM
411
+ RETURN_DOM_FRAGMENT: !1
412
+ // Return string, not DOM fragment
413
+ });
414
+ }, Je = 100, De = (e, r = {}, n = 0, s = /* @__PURE__ */ new WeakSet()) => {
415
+ if (n > Je)
416
+ return console.warn(`sanitizeHttpResponse: Maximum depth (${Je}) exceeded.`), typeof e == "string" ? te(e, r) : "[Max Depth Exceeded]";
417
+ if (e == null)
418
+ return e;
419
+ if (typeof e == "string")
420
+ return te(e, r);
421
+ if (Array.isArray(e))
422
+ return e.map((a) => De(a, r, n + 1, s));
423
+ if (typeof e == "object") {
424
+ if (s.has(e))
425
+ return console.warn("sanitizeHttpResponse: Circular reference detected. Breaking cycle to prevent infinite recursion."), "[Circular Reference]";
426
+ s.add(e);
427
+ const a = {};
428
+ for (const [i, o] of Object.entries(e))
429
+ a[i] = De(o, r, n + 1, s);
430
+ return s.delete(e), a;
431
+ }
432
+ return e;
433
+ }, B = (e) => {
434
+ const r = xe(), n = e ?? r.language, s = It(n);
435
+ return U(
436
+ () => (a) => {
437
+ const i = s(a);
438
+ return typeof a == "object" && a !== null ? te(i) : i;
439
+ },
440
+ [s]
441
+ );
442
+ }, ts = (e, r = {}, n = "en") => {
443
+ const s = U(() => ft(e), [e]), { nodes: a, edges: i } = s, o = U(() => Lt(a), [a]), c = B(n), l = K({}), [m, u] = L({}), [d, f] = L(() => {
444
+ const x = { ...r };
445
+ return a.forEach((b) => {
446
+ if (G(b)) {
447
+ const v = b.id;
448
+ if (x[v] !== void 0)
449
+ return;
450
+ const { defaultValue: F } = b.data;
451
+ if (!F)
452
+ return;
453
+ if (F.type === "static" && F.staticValue !== void 0 && (x[v] = F.staticValue), F.type === "reference" && F.referenceField) {
454
+ const { referenceField: P } = F, q = x[P];
455
+ q !== void 0 && (x[v] = q);
456
+ }
457
+ }
458
+ }), x;
459
+ }), { endOfPathReached: g, visibleNodes: h, visibleRootNodes: p } = U(
460
+ () => Jt(a, i, d),
461
+ [a, i, d]
462
+ ), j = Q((x, b) => {
463
+ f((v) => ({
464
+ ...v,
465
+ [x]: b
466
+ })), u((v) => {
467
+ const F = { ...v };
468
+ return delete F[x], F;
469
+ });
470
+ }, []), I = Q((x) => {
471
+ Object.keys(x).length !== 0 && (f((b) => ({
472
+ ...b,
473
+ ...x
474
+ })), u((b) => {
475
+ const v = { ...b };
476
+ return Object.keys(x).forEach((F) => {
477
+ delete v[F];
478
+ }), v;
479
+ }));
480
+ }, []), M = Q(
481
+ (x) => {
482
+ const b = {};
483
+ h.forEach((P) => {
484
+ if (G(P)) {
485
+ const q = P.id, ee = d[q];
486
+ if (P.data.required && Se(ee)) {
487
+ b[q] = c(P.data.errorMessage) || c("validation.required");
488
+ return;
489
+ }
490
+ if (!Se(ee) && P.data.pattern)
491
+ try {
492
+ new RegExp(P.data.pattern).test(String(ee)) || (b[q] = c(P.data.errorMessage) || c("validation.invalidFormat"));
493
+ } catch (Y) {
494
+ console.error(`Invalid pattern for field ${q}:`, Y);
495
+ }
496
+ }
497
+ });
498
+ const v = x ? x(d, h) : {}, F = {
499
+ ...b,
500
+ ...v
501
+ };
502
+ return u(F), {
503
+ errors: F,
504
+ hasCustomErrors: Object.keys(v).length > 0,
505
+ isValid: Object.keys(F).length === 0
506
+ };
507
+ },
508
+ [h, d, c]
509
+ ), D = U(() => {
510
+ const x = [];
511
+ return h.forEach((b) => {
512
+ if (!G(b))
513
+ return;
514
+ const v = b.id, F = d[v];
515
+ if (b.data.required && Se(F)) {
516
+ const P = c(b.data.label) || v;
517
+ x.push(P);
518
+ }
519
+ }), x;
520
+ }, [h, d, c]);
521
+ return {
522
+ canSubmit: !U(() => h.some((x) => G(x) && x.data.type === "submit"), [h]) && g && a.length > 0,
523
+ formErrors: m,
524
+ formValues: d,
525
+ inputNodes: o,
526
+ mergedFlow: s,
527
+ missingRequiredFields: D,
528
+ prevFormValuesRef: l,
529
+ setFieldValue: j,
530
+ setFormErrors: u,
531
+ setMultipleFieldValues: I,
532
+ t: c,
533
+ validateForm: M,
534
+ visibleNodes: h,
535
+ visibleRootNodes: p
536
+ };
537
+ }, ss = ({ children: e, onSubmit: r }) => /* @__PURE__ */ t.jsx("form", { onSubmit: r, className: "mx-auto max-w-2xl gap-y-3", children: e }), rs = ({ node: e, children: r }) => {
538
+ const n = B();
539
+ return /* @__PURE__ */ t.jsxs("section", { className: "mb-6 rounded-lg border p-4", children: [
540
+ e.data.label && /* @__PURE__ */ t.jsx("h3", { className: "mb-4 font-semibold text-lg", children: n(e.data.label) }),
541
+ r
542
+ ] });
543
+ }, ns = async (e, r) => {
544
+ if (!e || e.trim().length < 3)
545
+ return [];
546
+ try {
547
+ const n = await fetch(
548
+ `https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(e)}&format=jsonv2&addressdetails=1&limit=5`,
549
+ {
550
+ headers: {
551
+ Accept: "application/json",
552
+ "User-Agent": "Treege Renderer",
553
+ ...r && { "Accept-Language": r }
554
+ }
555
+ }
556
+ );
557
+ return n.ok ? (await n.json()).map((a) => ({
558
+ label: a.display_name,
559
+ value: a.display_name
560
+ })) : [];
561
+ } catch (n) {
562
+ return console.error("Nominatim fetch error:", n), [];
563
+ }
564
+ }, as = (e) => !e || e.trim().length < 3 ? Promise.resolve([]) : new Promise((r) => {
565
+ if (!window.google?.maps?.places) {
566
+ console.warn("Google Places SDK not loaded yet"), r([]);
567
+ return;
568
+ }
569
+ new window.google.maps.places.AutocompleteService().getPlacePredictions({ input: e }, (s, a) => {
570
+ if (a !== google.maps.places.PlacesServiceStatus.OK || !s) {
571
+ console.warn("Google Places API status:", a), r([]);
572
+ return;
573
+ }
574
+ r(
575
+ s.map((i) => ({
576
+ label: i.description,
577
+ value: i.description
578
+ }))
579
+ );
580
+ });
581
+ }), os = ({ node: e, value: r, setValue: n, error: s, label: a, placeholder: i, helperText: o, id: c, name: l }) => {
582
+ const [m, u] = L(""), [d, f] = L([]), [g, h] = L(!1), { googleApiKey: p, language: j } = xe(), I = B(), M = Q(
583
+ (w) => {
584
+ n(w.value), u(w.value), h(!1);
585
+ },
586
+ [n]
587
+ );
588
+ J(() => {
589
+ if (!m || m.trim().length < 3) {
590
+ f([]);
591
+ return;
592
+ }
593
+ const w = setTimeout(async () => {
594
+ const x = p ? await as(m) : await ns(m, j);
595
+ f(x);
596
+ }, 300);
597
+ return () => clearTimeout(w);
598
+ }, [m, p, j]);
599
+ const D = Q(
600
+ (w) => {
601
+ n(w), u(w), w.length >= 3 && h(!0);
602
+ },
603
+ [n]
604
+ );
605
+ return /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
606
+ p && /* @__PURE__ */ t.jsx("script", { async: !0, src: `https://maps.googleapis.com/maps/api/js?key=${p}&libraries=places` }),
607
+ /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
608
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: c, children: [
609
+ a || e.data.name,
610
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
611
+ ] }),
612
+ /* @__PURE__ */ t.jsxs("div", { className: "relative", children: [
613
+ /* @__PURE__ */ t.jsx(
614
+ X,
615
+ {
616
+ type: "text",
617
+ id: c,
618
+ name: l,
619
+ value: r || "",
620
+ onChange: (w) => D(w.target.value),
621
+ onFocus: () => {
622
+ d.length > 0 && h(!0);
623
+ },
624
+ placeholder: i || I("renderer.defaultAddressInput.enterAddress"),
625
+ className: "pr-10",
626
+ autoComplete: "off"
627
+ }
628
+ ),
629
+ /* @__PURE__ */ t.jsx(Ue, { className: "-translate-y-1/2 pointer-events-none absolute top-1/2 right-3 h-4 w-4 text-muted-foreground" }),
630
+ g && /* @__PURE__ */ t.jsx("div", { className: "absolute z-50 mt-1 w-full rounded-md border bg-popover shadow-md", children: /* @__PURE__ */ t.jsx(Ee, { children: /* @__PURE__ */ t.jsxs(Oe, { children: [
631
+ /* @__PURE__ */ t.jsx(ke, { children: I("renderer.defaultAddressInput.noAddressesFound") }),
632
+ /* @__PURE__ */ t.jsx(_e, { children: d.map((w, x) => /* @__PURE__ */ t.jsxs(
633
+ Pe,
634
+ {
635
+ value: w.value,
636
+ onSelect: () => M(w),
637
+ onMouseDown: (b) => b.preventDefault(),
638
+ children: [
639
+ /* @__PURE__ */ t.jsx(Ue, { className: "mr-2 h-4 w-4" }),
640
+ w.label
641
+ ]
642
+ },
643
+ x
644
+ )) })
645
+ ] }) }) })
646
+ ] }),
647
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
648
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
649
+ ] })
650
+ ] });
651
+ }, is = ({
652
+ node: e,
653
+ value: r,
654
+ setValue: n,
655
+ error: s,
656
+ label: a,
657
+ placeholder: i,
658
+ helperText: o,
659
+ id: c
660
+ }) => {
661
+ const l = B(), [m, u] = L(!1), d = `${c}-trigger`, f = `${c}-error`, g = e.data.options || [], h = g.find((p) => p.value === r);
662
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
663
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: d, children: [
664
+ a || e.data.name,
665
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
666
+ ] }),
667
+ /* @__PURE__ */ t.jsxs(pe, { open: m, onOpenChange: u, children: [
668
+ /* @__PURE__ */ t.jsx(he, { asChild: !0, children: /* @__PURE__ */ t.jsxs(
669
+ ce,
670
+ {
671
+ id: d,
672
+ variant: "outline",
673
+ role: "combobox",
674
+ "aria-expanded": m,
675
+ "aria-invalid": !!s || void 0,
676
+ "aria-describedby": s ? f : void 0,
677
+ className: "w-full justify-between font-normal",
678
+ children: [
679
+ r ? h?.label ? l(h.label) : r : i || l("renderer.defaultAutocompleteInput.selectOption"),
680
+ /* @__PURE__ */ t.jsx(ot, { className: "ml-2 size-4 shrink-0 opacity-50" })
681
+ ]
682
+ }
683
+ ) }),
684
+ /* @__PURE__ */ t.jsx(ge, { className: "w-full p-0", align: "start", children: /* @__PURE__ */ t.jsxs(Ee, { children: [
685
+ /* @__PURE__ */ t.jsx(Xe, { placeholder: i || l("renderer.defaultAutocompleteInput.search") }),
686
+ /* @__PURE__ */ t.jsxs(Oe, { children: [
687
+ /* @__PURE__ */ t.jsx(ke, { children: l("renderer.defaultAutocompleteInput.noResults") }),
688
+ /* @__PURE__ */ t.jsx(_e, { children: g.map((p) => /* @__PURE__ */ t.jsxs(
689
+ Pe,
690
+ {
691
+ value: p.value,
692
+ disabled: p.disabled,
693
+ onSelect: (j) => {
694
+ n(j === r ? "" : j), u(!1);
695
+ },
696
+ children: [
697
+ /* @__PURE__ */ t.jsx(it, { className: y("mr-2 size-4", r === p.value ? "opacity-100" : "opacity-0") }),
698
+ l(p.label)
699
+ ]
700
+ },
701
+ p.value
702
+ )) })
703
+ ] })
704
+ ] }) })
705
+ ] }),
706
+ s && /* @__PURE__ */ t.jsx(k, { id: f, children: s }),
707
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
708
+ ] });
709
+ }, ls = ({ node: e, value: r, setValue: n, error: s, label: a, helperText: i, id: o, name: c }) => {
710
+ const l = B();
711
+ if (e.data.options && e.data.options.length > 0) {
712
+ const m = Array.isArray(r) ? r.map(String) : [], u = (d, f) => {
713
+ const g = f ? [...m, d] : m.filter((h) => h !== d);
714
+ n(g);
715
+ };
716
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
717
+ /* @__PURE__ */ t.jsxs(A, { className: "mb-1", children: [
718
+ a || e.data.name,
719
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
720
+ ] }),
721
+ /* @__PURE__ */ t.jsx("div", { className: "space-y-2", children: e.data.options.map((d, f) => /* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-3", children: [
722
+ /* @__PURE__ */ t.jsx(
723
+ Le,
724
+ {
725
+ id: `${o}-${d.value}`,
726
+ name: c,
727
+ checked: m.includes(String(d.value)),
728
+ onCheckedChange: (g) => u(String(d.value), !!g),
729
+ disabled: d.disabled
730
+ }
731
+ ),
732
+ /* @__PURE__ */ t.jsx(A, { htmlFor: `${o}-${d.value}`, className: "cursor-pointer font-normal text-sm", children: l(d.label) ? l(d.label) : d.value })
733
+ ] }, d.value + f)) }),
734
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
735
+ i && !s && /* @__PURE__ */ t.jsx(_, { children: i })
736
+ ] });
737
+ }
738
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
739
+ /* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-3", children: [
740
+ /* @__PURE__ */ t.jsx(
741
+ Le,
742
+ {
743
+ id: o,
744
+ name: c,
745
+ checked: typeof r == "boolean" ? r : !1,
746
+ onCheckedChange: (m) => n(!!m)
747
+ }
748
+ ),
749
+ /* @__PURE__ */ t.jsxs("div", { children: [
750
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: o, className: "cursor-pointer font-medium text-sm", children: [
751
+ a || e.data.name,
752
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
753
+ ] }),
754
+ i && !s && /* @__PURE__ */ t.jsx(_, { children: i })
755
+ ] })
756
+ ] }),
757
+ s && /* @__PURE__ */ t.jsx(k, { children: s })
758
+ ] });
759
+ };
760
+ function ht({
761
+ className: e,
762
+ classNames: r,
763
+ showOutsideDays: n = !0,
764
+ captionLayout: s = "label",
765
+ buttonVariant: a = "ghost",
766
+ formatters: i,
767
+ components: o,
768
+ ...c
769
+ }) {
770
+ const l = lt();
771
+ return /* @__PURE__ */ t.jsx(
772
+ $t,
773
+ {
774
+ showOutsideDays: n,
775
+ className: y(
776
+ "group/calendar bg-background p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",
777
+ String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
778
+ String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
779
+ e
780
+ ),
781
+ captionLayout: s,
782
+ formatters: {
783
+ formatMonthDropdown: (m) => m.toLocaleString("default", { month: "short" }),
784
+ ...i
785
+ },
786
+ classNames: {
787
+ button_next: y(
788
+ Be({ variant: a }),
789
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
790
+ l.button_next
791
+ ),
792
+ button_previous: y(
793
+ Be({ variant: a }),
794
+ "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",
795
+ l.button_previous
796
+ ),
797
+ caption_label: y(
798
+ "select-none font-medium",
799
+ s === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
800
+ l.caption_label
801
+ ),
802
+ day: y(
803
+ "relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none",
804
+ l.day
805
+ ),
806
+ disabled: y("text-muted-foreground opacity-50", l.disabled),
807
+ dropdown: y("absolute bg-popover inset-0 opacity-0", l.dropdown),
808
+ dropdown_root: y(
809
+ "relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md",
810
+ l.dropdown_root
811
+ ),
812
+ dropdowns: y("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5", l.dropdowns),
813
+ hidden: y("invisible", l.hidden),
814
+ month: y("flex flex-col w-full gap-4", l.month),
815
+ month_caption: y("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", l.month_caption),
816
+ months: y("flex gap-4 flex-col md:flex-row relative", l.months),
817
+ nav: y("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between", l.nav),
818
+ outside: y("text-muted-foreground aria-selected:text-muted-foreground", l.outside),
819
+ range_end: y("rounded-r-md bg-accent", l.range_end),
820
+ range_middle: y("rounded-none", l.range_middle),
821
+ range_start: y("rounded-l-md bg-accent", l.range_start),
822
+ root: y("w-fit", l.root),
823
+ table: "w-full border-collapse",
824
+ today: y("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none", l.today),
825
+ week: y("flex w-full mt-2", l.week),
826
+ week_number: y("text-[0.8rem] select-none text-muted-foreground", l.week_number),
827
+ week_number_header: y("select-none w-(--cell-size)", l.week_number_header),
828
+ weekday: y("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none", l.weekday),
829
+ weekdays: y("flex", l.weekdays),
830
+ ...r
831
+ },
832
+ components: {
833
+ Chevron: ({ className: m, orientation: u, ...d }) => u === "left" ? /* @__PURE__ */ t.jsx(_t, { className: y("size-4", m), ...d }) : u === "right" ? /* @__PURE__ */ t.jsx(Pt, { className: y("size-4", m), ...d }) : /* @__PURE__ */ t.jsx(Me, { className: y("size-4", m), ...d }),
834
+ DayButton: cs,
835
+ Root: ({ className: m, rootRef: u, ...d }) => /* @__PURE__ */ t.jsx("div", { "data-slot": "calendar", ref: u, className: y(m), ...d }),
836
+ WeekNumber: ({ children: m, ...u }) => /* @__PURE__ */ t.jsx("td", { ...u, children: /* @__PURE__ */ t.jsx("div", { className: "flex size-(--cell-size) items-center justify-center text-center", children: m }) }),
837
+ ...o
838
+ },
839
+ ...c
840
+ }
841
+ );
842
+ }
843
+ function cs({ className: e, day: r, modifiers: n, ...s }) {
844
+ const a = lt(), i = qe.useRef(null);
845
+ return qe.useEffect(() => {
846
+ n.focused && i.current?.focus();
847
+ }, [n.focused]), /* @__PURE__ */ t.jsx(
848
+ ce,
849
+ {
850
+ ref: i,
851
+ variant: "ghost",
852
+ size: "icon",
853
+ "data-day": r.date.toLocaleDateString(),
854
+ "data-selected-single": n.selected && !n.range_start && !n.range_end && !n.range_middle,
855
+ "data-range-start": n.range_start,
856
+ "data-range-end": n.range_end,
857
+ "data-range-middle": n.range_middle,
858
+ className: y(
859
+ "flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-start=true]:rounded-l-md data-[range-end=true]:bg-primary data-[range-middle=true]:bg-accent data-[range-start=true]:bg-primary data-[selected-single=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:text-accent-foreground data-[range-start=true]:text-primary-foreground data-[selected-single=true]:text-primary-foreground group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground [&>span]:text-xs [&>span]:opacity-70",
860
+ a.day,
861
+ e
862
+ ),
863
+ ...s
864
+ }
865
+ );
866
+ }
867
+ const ds = ({ node: e, value: r, setValue: n, error: s, label: a, placeholder: i, helperText: o, id: c, name: l }) => {
868
+ const [m, u] = L(!1), d = B(), f = r ? new Date(r) : void 0, g = (h) => {
869
+ if (e.data.disablePast) {
870
+ const p = /* @__PURE__ */ new Date();
871
+ return p.setHours(0, 0, 0, 0), h < p;
872
+ }
873
+ return !1;
874
+ };
875
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
876
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: c, children: [
877
+ a || e.data.name,
878
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
879
+ ] }),
880
+ /* @__PURE__ */ t.jsxs(pe, { open: m, onOpenChange: u, children: [
881
+ /* @__PURE__ */ t.jsx(he, { asChild: !0, children: /* @__PURE__ */ t.jsxs(ce, { variant: "outline", id: c, name: l, className: "w-full justify-between font-normal", children: [
882
+ f ? f.toLocaleDateString() : i || d("renderer.defaultInputs.selectDate"),
883
+ /* @__PURE__ */ t.jsx(Me, { className: "size-4" })
884
+ ] }) }),
885
+ /* @__PURE__ */ t.jsx(ge, { className: "w-auto overflow-hidden p-0", align: "start", children: /* @__PURE__ */ t.jsx(
886
+ ht,
887
+ {
888
+ mode: "single",
889
+ selected: f,
890
+ captionLayout: "dropdown",
891
+ disabled: g,
892
+ onSelect: (h) => {
893
+ n(h ? h.toISOString() : ""), u(!1);
894
+ }
895
+ }
896
+ ) })
897
+ ] }),
898
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
899
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
900
+ ] });
901
+ }, us = ({ node: e, value: r, setValue: n, error: s, label: a, helperText: i, id: o }) => {
902
+ const [c, l] = L(!1), m = B(), u = Array.isArray(r) ? r : [], d = u[0] ? new Date(u[0]) : void 0, f = u[1] ? new Date(u[1]) : void 0, g = (j) => {
903
+ n([j?.from ? j.from.toISOString() : void 0, j?.to ? j.to.toISOString() : void 0]);
904
+ }, h = () => d && f ? `${d.toLocaleDateString()} - ${f.toLocaleDateString()}` : d ? d.toLocaleDateString() : m("renderer.defaultInputs.selectDateRange"), p = (j) => {
905
+ if (e.data.disablePast) {
906
+ const I = /* @__PURE__ */ new Date();
907
+ return I.setHours(0, 0, 0, 0), j < I;
908
+ }
909
+ return !1;
910
+ };
911
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
912
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: o, children: [
913
+ a || e.data.name,
914
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
915
+ ] }),
916
+ /* @__PURE__ */ t.jsxs(pe, { open: c, onOpenChange: l, children: [
917
+ /* @__PURE__ */ t.jsx(he, { asChild: !0, children: /* @__PURE__ */ t.jsxs(ce, { id: o, variant: "outline", className: "w-full justify-between font-normal", children: [
918
+ h(),
919
+ /* @__PURE__ */ t.jsx(Me, { className: "size-4" })
920
+ ] }) }),
921
+ /* @__PURE__ */ t.jsx(ge, { className: "w-auto overflow-hidden p-0", align: "start", children: /* @__PURE__ */ t.jsx(
922
+ ht,
923
+ {
924
+ mode: "range",
925
+ selected: { from: d, to: f },
926
+ captionLayout: "dropdown",
927
+ disabled: p,
928
+ onSelect: g,
929
+ numberOfMonths: 2
930
+ }
931
+ ) })
932
+ ] }),
933
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
934
+ i && !s && /* @__PURE__ */ t.jsx(_, { children: i })
935
+ ] });
936
+ }, gt = (e) => new Promise((r, n) => {
937
+ const s = new FileReader();
938
+ s.onload = () => {
939
+ const a = s.result;
940
+ r({
941
+ data: a,
942
+ lastModified: e.lastModified,
943
+ name: e.name,
944
+ size: e.size,
945
+ type: e.type
946
+ });
947
+ }, s.onerror = () => {
948
+ n(new Error(`Failed to read file: ${e.name}`));
949
+ }, s.readAsDataURL(e);
950
+ }), er = (e) => {
951
+ const r = e.data.split(",")[1], n = atob(r), s = new ArrayBuffer(n.length), a = new Uint8Array(s);
952
+ for (let o = 0; o < n.length; o++)
953
+ a[o] = n.charCodeAt(o);
954
+ const i = new Blob([s], { type: e.type });
955
+ return new File([i], e.name, {
956
+ lastModified: e.lastModified,
957
+ type: e.type
958
+ });
959
+ }, ms = (e) => Promise.all(e.map((r) => gt(r))), fs = ({ node: e, setValue: r, error: n, label: s, placeholder: a, helperText: i, name: o, id: c }) => {
960
+ const l = async (m) => {
961
+ const { files: u } = m.target;
962
+ if (!u || u.length === 0) {
963
+ r(null);
964
+ return;
965
+ }
966
+ if (e.data.multiple) {
967
+ const f = await ms(Array.from(u));
968
+ r(f);
969
+ return;
970
+ }
971
+ const d = await gt(u[0]);
972
+ r(d);
973
+ };
974
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
975
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: c, children: [
976
+ s || e.data.name,
977
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
978
+ ] }),
979
+ /* @__PURE__ */ t.jsx(X, { type: "file", name: o, id: c, onChange: l, multiple: e.data.multiple, placeholder: a }),
980
+ n && /* @__PURE__ */ t.jsx(k, { children: n }),
981
+ i && !n && /* @__PURE__ */ t.jsx(_, { children: i })
982
+ ] });
983
+ }, ps = ({ value: e, name: r, id: n }) => /* @__PURE__ */ t.jsx(X, { type: "hidden", id: n, name: r, value: e ?? "" });
984
+ function Ve({ delayDuration: e = 0, ...r }) {
985
+ return /* @__PURE__ */ t.jsx(oe.Provider, { "data-slot": "tooltip-provider", delayDuration: e, ...r });
986
+ }
987
+ function xt({ ...e }) {
988
+ return /* @__PURE__ */ t.jsx(Ve, { children: /* @__PURE__ */ t.jsx(oe.Root, { "data-slot": "tooltip", ...e }) });
989
+ }
990
+ function bt({ ...e }) {
991
+ return /* @__PURE__ */ t.jsx(oe.Trigger, { "data-slot": "tooltip-trigger", ...e });
992
+ }
993
+ function jt({ className: e, sideOffset: r = 0, children: n, ...s }) {
994
+ return /* @__PURE__ */ t.jsx(oe.Portal, { children: /* @__PURE__ */ t.jsxs(
995
+ oe.Content,
996
+ {
997
+ "data-slot": "tooltip-content",
998
+ sideOffset: r,
999
+ className: y(
1000
+ "fade-in-0 zoom-in-95 data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in text-balance rounded-md bg-foreground px-3 py-1.5 text-background text-xs data-[state=closed]:animate-out",
1001
+ e
1002
+ ),
1003
+ ...s,
1004
+ children: [
1005
+ n,
1006
+ /* @__PURE__ */ t.jsx(oe.Arrow, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" })
1007
+ ]
1008
+ }
1009
+ ) });
1010
+ }
1011
+ const Fe = (e, r) => r ? r.split(".").reduce((s, a) => {
1012
+ if (s == null)
1013
+ return;
1014
+ const i = a.match(/^(\w+)\[(\d+)]$/);
1015
+ if (i) {
1016
+ const [, o, c] = i, l = s[o];
1017
+ return Array.isArray(l) ? l[Number.parseInt(c, 10)] : l;
1018
+ }
1019
+ return s[a];
1020
+ }, e) : e, Re = (e) => {
1021
+ const r = e.matchAll(/{{([\w-]+)}}/g);
1022
+ return Array.from(r, (n) => n[1]);
1023
+ }, Ce = (e, r) => Re(e).every((s) => {
1024
+ const a = r[s];
1025
+ return a != null && a !== "";
1026
+ }), Te = (e, r, n = !1) => e.replace(/{{([\w-]+)}}/g, (s, a) => {
1027
+ const i = String(r[a] || "");
1028
+ return n ? encodeURIComponent(i) : i;
1029
+ }), hs = ({ node: e, value: r, setValue: n, error: s, label: a, placeholder: i, helperText: o, id: c, name: l }) => {
1030
+ const [m, u] = L(!1), [d, f] = L(null), [g, h] = L([]), [p, j] = L(""), [I, M] = L(!1), { formValues: D, inputNodes: w } = xe(), x = B(), { httpConfig: b } = e.data, v = K(!1), F = K(""), P = K(b), q = K(D), ee = K(w), Y = K(n), de = K(null), se = U(() => b?.url ? Re(b.url) : [], [b?.url]), re = se.length > 0, ie = U(() => se.map((C) => `${C}:${String(D[C] ?? "")}`).join("|"), [se, D]), le = U(() => b?.url ? re ? Ce(b.url, D) : !0 : !1, [b?.url, re, D]), W = Q(
1031
+ async (C) => {
1032
+ const T = P.current, V = q.current, N = Y.current;
1033
+ if (!T?.url) {
1034
+ f(x("renderer.defaultHttpInput.noUrlConfigured"));
1035
+ return;
1036
+ }
1037
+ if (!(T.url && !Ce(T.url, V))) {
1038
+ u(!0), f(null);
1039
+ try {
1040
+ const $ = Te(T.url, V, !0), R = T.searchParam && C ? `${$}${$.includes("?") ? "&" : "?"}${T.searchParam}=${encodeURIComponent(C)}` : $, E = {};
1041
+ T.headers?.forEach((ne) => {
1042
+ E[ne.key] = Te(ne.value, V);
1043
+ });
1044
+ const S = ["POST", "PUT", "PATCH"].includes(T.method || "") ? T.sendFormData ? JSON.stringify(ze(V, ee.current)) : T.body ? Te(T.body, V) : void 0 : void 0, z = await fetch(R, {
1045
+ body: S || void 0,
1046
+ headers: {
1047
+ "Content-Type": "application/json",
1048
+ ...E
1049
+ },
1050
+ method: T.method || "GET"
1051
+ });
1052
+ if (!z.ok) {
1053
+ f(`HTTP Error ${z.status}: ${z.statusText}`), u(!1);
1054
+ return;
1055
+ }
1056
+ const H = await z.json(), ue = De(H), Z = T.responsePath ? Fe(ue, T.responsePath) : ue;
1057
+ if (T.responseMapping && Array.isArray(Z)) {
1058
+ const { valueField: ne = "value", labelField: be = "label" } = T.responseMapping, je = Z.map((me) => ({
1059
+ label: String(Fe(me, be) || ""),
1060
+ value: String(Fe(me, ne) || "")
1061
+ }));
1062
+ h(je);
1063
+ } else
1064
+ N(typeof Z == "string" ? Z : JSON.stringify(Z));
1065
+ } catch ($) {
1066
+ const R = $ instanceof Error ? $.message : x("renderer.defaultHttpInput.fetchFailed");
1067
+ f(R), console.error("HTTP Input fetch error:", $);
1068
+ } finally {
1069
+ u(!1);
1070
+ }
1071
+ }
1072
+ },
1073
+ [x]
1074
+ );
1075
+ if (J(() => {
1076
+ P.current = b, q.current = D, ee.current = w, Y.current = n, de.current = W;
1077
+ }, [b, D, w, n, W]), J(() => {
1078
+ if (v.current)
1079
+ return;
1080
+ v.current = !0;
1081
+ const C = P.current, T = q.current, V = de.current, N = C?.url && Ce(C.url, T);
1082
+ if (C?.fetchOnMount && N && V && (V(), C.url)) {
1083
+ const $ = Re(C.url);
1084
+ F.current = $.map((R) => `${R}:${String(T[R] ?? "")}`).join("|");
1085
+ }
1086
+ }, []), J(() => {
1087
+ if (!v.current || !re || F.current === ie || !le)
1088
+ return;
1089
+ const C = setTimeout(() => {
1090
+ W(), F.current = ie;
1091
+ }, 500);
1092
+ return () => clearTimeout(C);
1093
+ }, [ie, re, le, W]), J(() => {
1094
+ if (!(b?.searchParam && p))
1095
+ return;
1096
+ const C = setTimeout(() => {
1097
+ W(p);
1098
+ }, 300);
1099
+ return () => clearTimeout(C);
1100
+ }, [p, b?.searchParam, W]), b?.responseMapping) {
1101
+ const C = Array.isArray(r) ? r[0] : r, T = g.find((S) => S.value === C);
1102
+ if (b.searchParam) {
1103
+ const z = m && b?.showLoading ? /* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-2", children: [
1104
+ /* @__PURE__ */ t.jsx(we, { className: "h-4 w-4 animate-spin" }),
1105
+ /* @__PURE__ */ t.jsx("span", { className: "text-muted-foreground", children: T?.label || i || x("renderer.defaultHttpInput.search") })
1106
+ ] }) : T?.label || i || x("renderer.defaultHttpInput.search");
1107
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1108
+ /* @__PURE__ */ t.jsxs(A, { children: [
1109
+ a || e.data.name,
1110
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1111
+ ] }),
1112
+ /* @__PURE__ */ t.jsxs(pe, { open: I, onOpenChange: M, children: [
1113
+ /* @__PURE__ */ t.jsx(he, { asChild: !0, children: /* @__PURE__ */ t.jsxs(ce, { variant: "outline", role: "combobox", "aria-expanded": I, className: "w-full justify-between", children: [
1114
+ z,
1115
+ /* @__PURE__ */ t.jsx(ot, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" })
1116
+ ] }) }),
1117
+ /* @__PURE__ */ t.jsx(ge, { className: "w-[300px] p-0", align: "start", children: /* @__PURE__ */ t.jsxs(Ee, { shouldFilter: !1, children: [
1118
+ /* @__PURE__ */ t.jsx(
1119
+ Xe,
1120
+ {
1121
+ placeholder: x("renderer.defaultHttpInput.search"),
1122
+ value: p,
1123
+ onValueChange: (H) => {
1124
+ j(H), f(null);
1125
+ }
1126
+ }
1127
+ ),
1128
+ /* @__PURE__ */ t.jsxs(Oe, { children: [
1129
+ m && /* @__PURE__ */ t.jsx("div", { className: "flex items-center justify-center p-4", children: /* @__PURE__ */ t.jsx(we, { className: "h-4 w-4 animate-spin" }) }),
1130
+ !m && d && /* @__PURE__ */ t.jsxs("div", { className: "p-4 text-destructive text-sm", children: [
1131
+ /* @__PURE__ */ t.jsx("div", { children: d }),
1132
+ /* @__PURE__ */ t.jsx("button", { type: "button", onClick: () => W(p), className: "mt-2 block text-primary hover:underline", children: x("renderer.defaultHttpInput.retry") })
1133
+ ] }),
1134
+ !(m || d) && /* @__PURE__ */ t.jsxs(t.Fragment, { children: [
1135
+ /* @__PURE__ */ t.jsx(ke, { children: x("renderer.defaultHttpInput.noResults") }),
1136
+ /* @__PURE__ */ t.jsx(_e, { children: g.map((H) => /* @__PURE__ */ t.jsxs(
1137
+ Pe,
1138
+ {
1139
+ value: H.value,
1140
+ onSelect: () => {
1141
+ n(H.value), M(!1);
1142
+ },
1143
+ children: [
1144
+ /* @__PURE__ */ t.jsx(it, { className: y("mr-2 h-4 w-4", r === H.value ? "opacity-100" : "opacity-0") }),
1145
+ H.label
1146
+ ]
1147
+ },
1148
+ H.value
1149
+ )) })
1150
+ ] })
1151
+ ] })
1152
+ ] }) })
1153
+ ] }),
1154
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1155
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
1156
+ ] });
1157
+ }
1158
+ const V = m && b?.showLoading, N = se.filter((S) => {
1159
+ const z = D[S];
1160
+ return z == null || z === "";
1161
+ }), $ = N.map((S) => Bt(S, w) || S), R = g.length === 0 && !V ? d || (N.length > 0 ? `${x("renderer.defaultHttpInput.waitingForRequiredFields")}: ${$.join(", ")}` : x("renderer.defaultHttpInput.noDataAvailable")) : void 0, E = /* @__PURE__ */ t.jsxs(
1162
+ Ye,
1163
+ {
1164
+ value: Array.isArray(r) ? r[0] ?? "" : r ?? "",
1165
+ onValueChange: (S) => n(S),
1166
+ disabled: V || g.length === 0,
1167
+ name: l,
1168
+ children: [
1169
+ /* @__PURE__ */ t.jsxs(Ze, { id: c, name: l, className: "w-full", children: [
1170
+ V && /* @__PURE__ */ t.jsx(we, { className: "mr-2 h-4 w-4 animate-spin" }),
1171
+ /* @__PURE__ */ t.jsx(et, { placeholder: i || x("renderer.defaultHttpInput.selectOption") })
1172
+ ] }),
1173
+ /* @__PURE__ */ t.jsx(tt, { children: /* @__PURE__ */ t.jsx(st, { children: g.map((S, z) => /* @__PURE__ */ t.jsx(rt, { value: S.value, children: S.label }, S.value + z)) }) })
1174
+ ]
1175
+ }
1176
+ );
1177
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1178
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: c, children: [
1179
+ a || e.data.name,
1180
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1181
+ ] }),
1182
+ R ? /* @__PURE__ */ t.jsx(Ve, { children: /* @__PURE__ */ t.jsxs(xt, { children: [
1183
+ /* @__PURE__ */ t.jsx(bt, { asChild: !0, children: /* @__PURE__ */ t.jsx("div", { className: "w-full", children: E }) }),
1184
+ /* @__PURE__ */ t.jsx(jt, { children: /* @__PURE__ */ t.jsx("p", { children: R }) })
1185
+ ] }) }) : E,
1186
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1187
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
1188
+ ] });
1189
+ }
1190
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1191
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: c, children: [
1192
+ a || e.data.name,
1193
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1194
+ ] }),
1195
+ /* @__PURE__ */ t.jsx(X, { type: "text", name: l, id: c, value: typeof r == "string" ? r : JSON.stringify(r), readOnly: !0, disabled: !0 }),
1196
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1197
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
1198
+ ] });
1199
+ }, gs = ({ node: e, value: r, setValue: n, error: s, label: a, placeholder: i, helperText: o, name: c, id: l }) => /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1200
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: l, children: [
1201
+ a || e.data.name,
1202
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1203
+ ] }),
1204
+ /* @__PURE__ */ t.jsx(
1205
+ X,
1206
+ {
1207
+ id: l,
1208
+ type: "number",
1209
+ name: c,
1210
+ value: r ?? "",
1211
+ onChange: (m) => n(m.target.value === "" ? null : Number(m.target.value)),
1212
+ placeholder: i
1213
+ }
1214
+ ),
1215
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1216
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
1217
+ ] }), xs = ({ node: e, value: r, setValue: n, error: s, label: a, placeholder: i, helperText: o, name: c, id: l }) => /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1218
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: l, children: [
1219
+ a || e.data.name,
1220
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1221
+ ] }),
1222
+ /* @__PURE__ */ t.jsx(
1223
+ X,
1224
+ {
1225
+ id: l,
1226
+ name: c,
1227
+ type: "password",
1228
+ value: r ?? "",
1229
+ onChange: (m) => n(m.target.value),
1230
+ placeholder: i,
1231
+ autoComplete: "new-password"
1232
+ }
1233
+ ),
1234
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1235
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
1236
+ ] });
1237
+ function bs({ className: e, ...r }) {
1238
+ return /* @__PURE__ */ t.jsx(Ae.Root, { "data-slot": "radio-group", className: y("grid gap-3", e), ...r });
1239
+ }
1240
+ function js({ className: e, ...r }) {
1241
+ return /* @__PURE__ */ t.jsx(
1242
+ Ae.Item,
1243
+ {
1244
+ "data-slot": "radio-group-item",
1245
+ className: y(
1246
+ "aspect-square size-4 shrink-0 rounded-full border border-input text-primary shadow-xs outline-none transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:bg-input/30 dark:aria-invalid:ring-destructive/40",
1247
+ e
1248
+ ),
1249
+ ...r,
1250
+ children: /* @__PURE__ */ t.jsx(Ae.Indicator, { "data-slot": "radio-group-indicator", className: "relative flex items-center justify-center", children: /* @__PURE__ */ t.jsx(Mt, { className: "-translate-x-1/2 -translate-y-1/2 absolute top-1/2 left-1/2 size-2 fill-primary" }) })
1251
+ }
1252
+ );
1253
+ }
1254
+ const ys = ({ node: e, value: r, setValue: n, error: s, label: a, helperText: i, id: o, name: c }) => {
1255
+ const l = B(), m = r ? String(r) : "";
1256
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1257
+ /* @__PURE__ */ t.jsxs(A, { className: "mb-1", htmlFor: o, children: [
1258
+ a || e.data.name,
1259
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1260
+ ] }),
1261
+ /* @__PURE__ */ t.jsx(bs, { value: m, onValueChange: (u) => n(u), id: o, name: c, children: e.data.options?.map((u, d) => /* @__PURE__ */ t.jsxs("div", { className: "flex items-center space-x-2", children: [
1262
+ /* @__PURE__ */ t.jsx(js, { value: String(u.value), id: `${o}-${u.value}`, disabled: u.disabled }),
1263
+ /* @__PURE__ */ t.jsx(A, { htmlFor: `${o}-${u.value}`, className: "cursor-pointer font-normal text-sm", children: l(u.label) ? l(u.label) : u.value })
1264
+ ] }, u.value + d)) }),
1265
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1266
+ i && !s && /* @__PURE__ */ t.jsx(_, { children: i })
1267
+ ] });
1268
+ }, Ns = ({ node: e, value: r, setValue: n, error: s, label: a, placeholder: i, helperText: o, name: c, id: l }) => {
1269
+ const m = B(), u = r ? String(r) : "";
1270
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1271
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: l, children: [
1272
+ a || e.data.name,
1273
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1274
+ ] }),
1275
+ /* @__PURE__ */ t.jsxs(Ye, { name: c, value: u, onValueChange: (d) => n(d), children: [
1276
+ /* @__PURE__ */ t.jsx(Ze, { id: l, name: c, className: "w-full", children: /* @__PURE__ */ t.jsx(et, { placeholder: i || m("renderer.defaultSelectInput.selectOption") }) }),
1277
+ /* @__PURE__ */ t.jsx(tt, { children: /* @__PURE__ */ t.jsx(st, { children: e.data.options?.map((d, f) => /* @__PURE__ */ t.jsx(rt, { value: String(d.value), disabled: d.disabled, children: m(d.label) ? m(d.label) : d.value }, `${d.value}-${f}`)) }) })
1278
+ ] }),
1279
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1280
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
1281
+ ] });
1282
+ }, yt = kt(
1283
+ ({ label: e, id: r, disabled: n, onBlur: s, onClick: a, onFocus: i, onPointerDown: o, onPointerLeave: c, onPointerMove: l, ...m }, u) => {
1284
+ const d = B();
1285
+ return /* @__PURE__ */ t.jsx(
1286
+ "button",
1287
+ {
1288
+ ref: u,
1289
+ id: r,
1290
+ onBlur: s,
1291
+ onClick: a,
1292
+ onFocus: i,
1293
+ onPointerDown: o,
1294
+ disabled: n,
1295
+ onPointerLeave: c,
1296
+ onPointerMove: l,
1297
+ type: "submit",
1298
+ className: "mt-4 rounded-md bg-blue-500 px-4 py-2 font-medium text-white transition-colors hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
1299
+ ...m,
1300
+ children: e || d("renderer.defaultSubmitButton.submit")
1301
+ }
1302
+ );
1303
+ }
1304
+ ), Nt = ({ children: e, missingFields: r = [] }) => {
1305
+ const n = r.length > 0, s = B();
1306
+ return n ? /* @__PURE__ */ t.jsx(Ve, { children: /* @__PURE__ */ t.jsxs(xt, { children: [
1307
+ /* @__PURE__ */ t.jsx(bt, { asChild: !0, children: e }),
1308
+ /* @__PURE__ */ t.jsx(jt, { children: /* @__PURE__ */ t.jsxs("div", { className: "space-y-1", children: [
1309
+ /* @__PURE__ */ t.jsxs("p", { className: "font-semibold", children: [
1310
+ s("renderer.defaultSubmitButton.requiredFieldsMissing"),
1311
+ ":"
1312
+ ] }),
1313
+ /* @__PURE__ */ t.jsx("ul", { className: "list-inside list-disc", children: r.map((a, i) => /* @__PURE__ */ t.jsx("li", { children: a }, i)) })
1314
+ ] }) })
1315
+ ] }) }) : e;
1316
+ }, ws = ({ missingRequiredFields: e, isSubmitting: r, label: n }) => {
1317
+ const s = dt(), a = s?.components?.submitButton, i = s?.components?.submitButtonWrapper, o = a || yt, c = i || Nt;
1318
+ return /* @__PURE__ */ t.jsx(c, { missingFields: e, children: /* @__PURE__ */ t.jsx(o, { label: n, disabled: r }) });
1319
+ }, vs = ({ node: e, value: r, setValue: n, error: s, label: a, helperText: i, name: o, id: c }) => /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1320
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: c, children: [
1321
+ a || e.data.name,
1322
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1323
+ ] }),
1324
+ /* @__PURE__ */ t.jsx(At, { id: c, name: o, checked: r, onCheckedChange: n }),
1325
+ i && !s && /* @__PURE__ */ t.jsx(_, { children: i }),
1326
+ s && /* @__PURE__ */ t.jsx(k, { children: s })
1327
+ ] }), Ss = ({ node: e, value: r, setValue: n, error: s, label: a, placeholder: i, helperText: o, name: c, id: l }) => /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1328
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: l, children: [
1329
+ a || e.data.name,
1330
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1331
+ ] }),
1332
+ /* @__PURE__ */ t.jsx(
1333
+ Dt,
1334
+ {
1335
+ id: l,
1336
+ name: c,
1337
+ value: r ?? "",
1338
+ onChange: (m) => n(m.target.value),
1339
+ placeholder: i,
1340
+ className: "w-full rounded-md border px-3 py-2",
1341
+ rows: 4
1342
+ }
1343
+ ),
1344
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1345
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
1346
+ ] }), Fs = ({ node: e, value: r, setValue: n, error: s, label: a, placeholder: i, helperText: o, name: c, id: l }) => /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1347
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: l, children: [
1348
+ a || e.data.name,
1349
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1350
+ ] }),
1351
+ /* @__PURE__ */ t.jsx(X, { type: "text", id: l, name: c, value: r ?? "", onChange: (m) => n(m.target.value), placeholder: i }),
1352
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1353
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
1354
+ ] }), Cs = ({ node: e, value: r, setValue: n, error: s, label: a, placeholder: i, helperText: o, name: c, id: l }) => /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1355
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: l, children: [
1356
+ a || e.data.name,
1357
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1358
+ ] }),
1359
+ /* @__PURE__ */ t.jsx(
1360
+ X,
1361
+ {
1362
+ type: "time",
1363
+ id: l,
1364
+ name: c,
1365
+ value: r ?? "",
1366
+ onChange: (m) => n(m.target.value),
1367
+ placeholder: i,
1368
+ className: "bg-background [color-scheme:light] dark:[color-scheme:dark]"
1369
+ }
1370
+ ),
1371
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1372
+ o && !s && /* @__PURE__ */ t.jsx(_, { children: o })
1373
+ ] }), Ts = ({ node: e, value: r, setValue: n, error: s, label: a, helperText: i, id: o, name: c }) => {
1374
+ const l = B(), m = Array.isArray(r) ? r : [], u = m[0] || "", d = m[1] || "", f = (h) => {
1375
+ n([h, d]);
1376
+ }, g = (h) => {
1377
+ n([u, h]);
1378
+ };
1379
+ return /* @__PURE__ */ t.jsxs(O, { className: "mb-4", children: [
1380
+ /* @__PURE__ */ t.jsxs(A, { htmlFor: `${o}-start`, children: [
1381
+ a || e.data.name,
1382
+ e.data.required && /* @__PURE__ */ t.jsx("span", { className: "text-red-500", children: "*" })
1383
+ ] }),
1384
+ /* @__PURE__ */ t.jsxs("div", { className: "flex gap-2", children: [
1385
+ /* @__PURE__ */ t.jsx(
1386
+ X,
1387
+ {
1388
+ id: `${o}-start`,
1389
+ name: `${c}-start`,
1390
+ "aria-label": `${a || e.data.name} - ${l("renderer.defaultInputs.startTime")}`,
1391
+ "aria-invalid": !!s,
1392
+ "aria-describedby": s ? `${e.id}-error` : void 0,
1393
+ type: "time",
1394
+ value: u,
1395
+ onChange: (h) => f(h.target.value),
1396
+ placeholder: l("renderer.defaultInputs.startTime"),
1397
+ className: "flex-1 bg-background [color-scheme:light] dark:[color-scheme:dark]"
1398
+ }
1399
+ ),
1400
+ /* @__PURE__ */ t.jsx(
1401
+ X,
1402
+ {
1403
+ id: `${o}-end`,
1404
+ name: `${c}-end`,
1405
+ "aria-label": `${a || e.data.name} - ${l("renderer.defaultInputs.endTime")}`,
1406
+ "aria-invalid": !!s,
1407
+ "aria-describedby": s ? `${e.id}-error` : void 0,
1408
+ type: "time",
1409
+ value: d,
1410
+ onChange: (h) => g(h.target.value),
1411
+ placeholder: l("renderer.defaultInputs.endTime"),
1412
+ className: "flex-1 bg-background [color-scheme:light] dark:[color-scheme:dark]"
1413
+ }
1414
+ )
1415
+ ] }),
1416
+ s && /* @__PURE__ */ t.jsx(k, { children: s }),
1417
+ i && !s && /* @__PURE__ */ t.jsx(_, { children: i })
1418
+ ] });
1419
+ }, Is = {
1420
+ address: os,
1421
+ autocomplete: is,
1422
+ checkbox: ls,
1423
+ date: ds,
1424
+ daterange: us,
1425
+ file: fs,
1426
+ hidden: ps,
1427
+ http: hs,
1428
+ number: gs,
1429
+ password: xs,
1430
+ radio: ys,
1431
+ select: Ns,
1432
+ submit: ws,
1433
+ switch: vs,
1434
+ text: Fs,
1435
+ textarea: Ss,
1436
+ time: Cs,
1437
+ timerange: Ts
1438
+ }, As = ({ node: e }) => {
1439
+ const n = B()(e.data?.label);
1440
+ return n ? /* @__PURE__ */ t.jsxs("div", { className: "flex items-center gap-x-3", children: [
1441
+ /* @__PURE__ */ t.jsx(Ne, { className: "my-8 flex-1" }),
1442
+ /* @__PURE__ */ t.jsx("h4", { className: "font-semibold text-sm", children: n }),
1443
+ /* @__PURE__ */ t.jsx(Ne, { className: "my-8 flex-1" })
1444
+ ] }) : /* @__PURE__ */ t.jsx(Ne, { className: "my-8" });
1445
+ }, Ds = ({ node: e }) => {
1446
+ const { edges: r } = xe(), n = B(), s = ut(e.id, r);
1447
+ return /* @__PURE__ */ t.jsx("h2", { className: y("mb-5 font-bold text-2xl", !s && "mt-10"), children: n(e.data?.label) });
1448
+ }, Rs = {
1449
+ divider: As,
1450
+ title: Ds
1451
+ }, Es = async (e) => {
1452
+ try {
1453
+ const { url: r, method: n = "GET", headers: s = [], body: a } = e;
1454
+ if (!r || r.trim() === "")
1455
+ return {
1456
+ error: "No URL provided",
1457
+ success: !1
1458
+ };
1459
+ const i = {
1460
+ "Content-Type": "application/json"
1461
+ };
1462
+ s.forEach((u) => {
1463
+ u.key && u.value && (i[u.key] = u.value);
1464
+ });
1465
+ const o = {
1466
+ headers: i,
1467
+ method: n
1468
+ };
1469
+ a && n && ["POST", "PUT", "PATCH"].includes(n) && (o.body = a);
1470
+ const c = await fetch(r, o);
1471
+ let l;
1472
+ return c.headers.get("content-type")?.includes("application/json") ? l = await c.json() : l = await c.text(), c.ok ? {
1473
+ data: l,
1474
+ status: c.status,
1475
+ statusText: c.statusText,
1476
+ success: !0
1477
+ } : {
1478
+ data: l,
1479
+ error: `HTTP ${c.status}: ${c.statusText}`,
1480
+ status: c.status,
1481
+ statusText: c.statusText,
1482
+ success: !1
1483
+ };
1484
+ } catch (r) {
1485
+ return {
1486
+ error: r instanceof Error ? r.message : "An unknown error occurred",
1487
+ success: !1
1488
+ };
1489
+ }
1490
+ }, Ie = (e, r, n = {}) => {
1491
+ if (!e)
1492
+ return "";
1493
+ const { encode: s = !1, json: a = !1 } = n;
1494
+ return e.replace(/\{\{([\w-]+)}}/g, (i, o) => {
1495
+ const c = r[o.trim()];
1496
+ if (c == null)
1497
+ return a ? "null" : "";
1498
+ const l = typeof c == "string" ? te(c) : c;
1499
+ if (s)
1500
+ return encodeURIComponent(String(l));
1501
+ if (a) {
1502
+ if (typeof l == "string")
1503
+ return `"${l.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
1504
+ if (typeof l == "number" || typeof l == "boolean")
1505
+ return String(l);
1506
+ if (typeof l == "object")
1507
+ return JSON.stringify(l);
1508
+ }
1509
+ return String(l);
1510
+ });
1511
+ }, Os = (e, r) => e ? e.replace(/\{\{response\.([\w.-]+)}}/g, (n, s) => {
1512
+ const a = ks(r, s.trim());
1513
+ return a != null ? String(a) : "";
1514
+ }) : "", ks = (e, r) => {
1515
+ if (!(!e || typeof e != "object"))
1516
+ return r.split(".").reduce((n, s) => {
1517
+ if (!(n == null || typeof n != "object"))
1518
+ return n[s];
1519
+ }, e);
1520
+ }, _s = async (e, r, n) => {
1521
+ if (!e.url || e.url.trim() === "")
1522
+ return {
1523
+ error: "No URL configured for submission",
1524
+ success: !1
1525
+ };
1526
+ const s = Ie(e.url, r, { encode: !0 });
1527
+ if (!s || s.trim() === "")
1528
+ return {
1529
+ error: "Invalid URL after template replacement",
1530
+ success: !1
1531
+ };
1532
+ const a = e.headers?.map((l) => ({
1533
+ key: l.key,
1534
+ value: Ie(l.value, r)
1535
+ })), i = e.sendFormData ? JSON.stringify(ze(r, n)) : e.body ? Ie(e.body, r, { json: !0 }) : void 0, o = await Es({
1536
+ body: i,
1537
+ headers: a,
1538
+ method: e.method || "POST",
1539
+ url: s
1540
+ });
1541
+ if (!o.success)
1542
+ return {
1543
+ data: o.data,
1544
+ error: o.error,
1545
+ success: !1
1546
+ };
1547
+ const c = e.redirectUrl ? (() => {
1548
+ const l = Os(e.redirectUrl, o.data);
1549
+ return l && l.trim() !== "" ? l : void 0;
1550
+ })() : void 0;
1551
+ return {
1552
+ data: o.data,
1553
+ redirectUrl: c,
1554
+ success: !0
1555
+ };
1556
+ }, Ps = (e) => {
1557
+ if (!e)
1558
+ return;
1559
+ e.startsWith("http://") || e.startsWith("https://") ? window.location.href = e : window.history?.pushState ? (window.history.pushState({}, "", e), window.dispatchEvent(new PopStateEvent("popstate"))) : window.location.href = e;
1560
+ }, Ms = (e, r, n, s) => {
1561
+ const [a, i] = L(!1), [o, c] = L(null), l = U(() => {
1562
+ const d = e.find((f) => G(f) && f.data?.type === "submit");
1563
+ return d && G(d) ? d : null;
1564
+ }, [e]), m = Q(
1565
+ async (d) => {
1566
+ if (!l?.data?.submitConfig)
1567
+ return null;
1568
+ const f = l.data.submitConfig;
1569
+ if (!f.url || f.url.trim() === "")
1570
+ return null;
1571
+ c(null), f.showLoading !== !1 && i(!0);
1572
+ try {
1573
+ const g = await _s(f, r, s);
1574
+ if (g.success) {
1575
+ const h = ae(f.successMessage, n);
1576
+ if (h && c({ message: h, type: "success" }), d && d(g.data), g.redirectUrl) {
1577
+ const p = g.redirectUrl;
1578
+ setTimeout(() => Ps(p), 1e3);
1579
+ }
1580
+ } else {
1581
+ const h = ae(f.errorMessage, n) || g.error || "An error occurred during submission";
1582
+ c({ message: h, type: "error" });
1583
+ }
1584
+ return g;
1585
+ } catch (g) {
1586
+ const h = ae(f.errorMessage, n) || (g instanceof Error ? g.message : "An unexpected error occurred");
1587
+ return c({ message: h, type: "error" }), {
1588
+ error: h,
1589
+ success: !1
1590
+ };
1591
+ } finally {
1592
+ i(!1);
1593
+ }
1594
+ },
1595
+ [l, r, n, s]
1596
+ );
1597
+ return {
1598
+ clearSubmitMessage: Q(() => {
1599
+ c(null);
1600
+ }, []),
1601
+ handleSubmitWithConfig: m,
1602
+ hasSubmitConfig: !!l?.data?.submitConfig,
1603
+ isSubmitting: a,
1604
+ submitButtonNode: l,
1605
+ submitMessage: o
1606
+ };
1607
+ }, tr = ({
1608
+ components: e,
1609
+ flows: r,
1610
+ googleApiKey: n,
1611
+ language: s,
1612
+ onChange: a,
1613
+ onSubmit: i,
1614
+ theme: o,
1615
+ validate: c,
1616
+ validationMode: l,
1617
+ initialValues: m = {}
1618
+ }) => {
1619
+ const u = dt(), d = {
1620
+ components: {
1621
+ form: e?.form ?? u?.components?.form,
1622
+ group: e?.group ?? u?.components?.group,
1623
+ inputs: { ...u?.components?.inputs, ...e?.inputs },
1624
+ submitButton: e?.submitButton ?? u?.components?.submitButton,
1625
+ submitButtonWrapper: e?.submitButtonWrapper ?? u?.components?.submitButtonWrapper,
1626
+ ui: { ...u?.components?.ui, ...e?.ui }
1627
+ },
1628
+ googleApiKey: n ?? u?.googleApiKey,
1629
+ language: s ?? u?.language ?? "en",
1630
+ theme: o ?? u?.theme ?? "dark",
1631
+ validationMode: l ?? u?.validationMode ?? "onSubmit"
1632
+ }, {
1633
+ canSubmit: f,
1634
+ mergedFlow: g,
1635
+ formErrors: h,
1636
+ formValues: p,
1637
+ inputNodes: j,
1638
+ missingRequiredFields: I,
1639
+ prevFormValuesRef: M,
1640
+ visibleNodes: D,
1641
+ visibleRootNodes: w,
1642
+ setFieldValue: x,
1643
+ setMultipleFieldValues: b,
1644
+ validateForm: v,
1645
+ t: F
1646
+ } = ts(r, m, d.language), { handleSubmitWithConfig: P, hasSubmitConfig: q, isSubmitting: ee, submitMessage: Y, clearSubmitMessage: de } = Ms(
1647
+ D,
1648
+ p,
1649
+ d.language,
1650
+ j
1651
+ ), se = d.components.form || ss, re = d.components.submitButton || yt, ie = d.components.submitButtonWrapper || Nt, le = K(a), W = K(c), C = U(() => ze(p, j), [p, j]), T = Q(
1652
+ async (N) => {
1653
+ N.preventDefault();
1654
+ const { isValid: $, errors: R } = v(W.current);
1655
+ if (!$) {
1656
+ const E = Object.keys(R)[0];
1657
+ E && document.getElementById(E)?.focus();
1658
+ return;
1659
+ }
1660
+ if (q) {
1661
+ const E = await P((S) => {
1662
+ i && i(C, { httpResponse: S });
1663
+ });
1664
+ if (E === null) {
1665
+ i?.(C);
1666
+ return;
1667
+ }
1668
+ if (!E.success)
1669
+ return;
1670
+ } else i && i(C);
1671
+ },
1672
+ [v, q, P, i, C]
1673
+ ), V = Q(
1674
+ (N) => {
1675
+ const { type: $ } = N;
1676
+ switch ($) {
1677
+ case fe.input: {
1678
+ if (!G(N))
1679
+ return null;
1680
+ const R = N.data, E = R.type || "text", S = d.components.inputs?.[E], z = Is[E], H = S || z, ue = (Tt) => x(Z, Tt), Z = N.id, ne = p[Z], be = h[Z], je = ae(R.label, d.language), me = ae(R.placeholder, d.language), wt = ae(R.helperText, d.language), vt = $e(N), St = te(je), Ft = te(me), Ct = te(wt);
1681
+ return /* @__PURE__ */ t.jsx(
1682
+ H,
1683
+ {
1684
+ id: N.id,
1685
+ node: N,
1686
+ value: ne,
1687
+ error: be,
1688
+ label: St,
1689
+ placeholder: Ft,
1690
+ helperText: Ct,
1691
+ name: vt,
1692
+ setValue: ue,
1693
+ missingRequiredFields: I
1694
+ },
1695
+ N.id
1696
+ );
1697
+ }
1698
+ case fe.group: {
1699
+ if (!Et(N))
1700
+ return null;
1701
+ const R = d.components.group || rs, E = D.filter((S) => S.parentId === N.id);
1702
+ return /* @__PURE__ */ t.jsx(R, { node: N, children: E.map((S) => V(S)) }, N.id);
1703
+ }
1704
+ case fe.ui: {
1705
+ if (!Rt(N))
1706
+ return null;
1707
+ const E = N.data.type || "title", S = d.components.ui?.[E], z = Rs[E], H = S || z;
1708
+ return /* @__PURE__ */ t.jsx(H, { node: N }, N.id);
1709
+ }
1710
+ case fe.flow:
1711
+ return null;
1712
+ default:
1713
+ return console.warn("Unknown node type:", $), null;
1714
+ }
1715
+ },
1716
+ [d.components, d.language, D, p, h, x, I]
1717
+ );
1718
+ return J(() => {
1719
+ le.current = a;
1720
+ }, [a]), J(() => {
1721
+ W.current = c;
1722
+ }, [c]), J(() => {
1723
+ le.current?.(C);
1724
+ }, [C]), J(() => {
1725
+ d.validationMode === "onChange" && v(W.current);
1726
+ }, [d.validationMode, v]), J(() => {
1727
+ const N = Ht(j, p, M.current);
1728
+ Object.keys(N).length > 0 && b(N), M.current = p;
1729
+ }, [p, j, b, M]), /* @__PURE__ */ t.jsx("div", { className: "treege", children: /* @__PURE__ */ t.jsx(Ot, { theme: d.theme, storageKey: "treege-renderer-theme", children: /* @__PURE__ */ t.jsxs(
1730
+ Yt,
1731
+ {
1732
+ value: {
1733
+ flows: g,
1734
+ formErrors: h,
1735
+ formValues: p,
1736
+ googleApiKey: d.googleApiKey,
1737
+ inputNodes: j,
1738
+ language: d.language,
1739
+ setFieldValue: x
1740
+ },
1741
+ children: [
1742
+ /* @__PURE__ */ t.jsxs(se, { onSubmit: T, children: [
1743
+ w.map((N) => V(N)),
1744
+ f && /* @__PURE__ */ t.jsx(ie, { missingFields: I, children: /* @__PURE__ */ t.jsx(re, { label: F("renderer.defaultSubmitButton.submit"), disabled: ee }) })
1745
+ ] }),
1746
+ /* @__PURE__ */ t.jsx("p", { className: "py-2 text-muted-foreground text-xs", children: "Powered by Treege" }),
1747
+ Y && /* @__PURE__ */ t.jsx(
1748
+ "div",
1749
+ {
1750
+ className: `my-4 rounded-md p-4 ${Y.type === "success" ? "bg-green-50 text-green-800 dark:bg-green-900/20 dark:text-green-300" : "bg-red-50 text-red-800 dark:bg-red-900/20 dark:text-red-300"}`,
1751
+ role: "alert",
1752
+ children: /* @__PURE__ */ t.jsxs("div", { className: "flex items-center justify-between", children: [
1753
+ /* @__PURE__ */ t.jsx("p", { className: "font-medium text-sm", children: Y.message }),
1754
+ /* @__PURE__ */ t.jsx(
1755
+ "button",
1756
+ {
1757
+ type: "button",
1758
+ onClick: de,
1759
+ className: "ml-4 font-medium text-sm underline hover:no-underline focus:outline-none",
1760
+ children: F("common.close")
1761
+ }
1762
+ )
1763
+ ] })
1764
+ }
1765
+ )
1766
+ ]
1767
+ }
1768
+ ) }) });
1769
+ };
1770
+ export {
1771
+ gt as A,
1772
+ er as B,
1773
+ ms as C,
1774
+ rs as D,
1775
+ ut as E,
1776
+ Gt as F,
1777
+ Jt as G,
1778
+ ft as H,
1779
+ Se as I,
1780
+ qt as J,
1781
+ ze as K,
1782
+ Ge as L,
1783
+ Ht as M,
1784
+ te as N,
1785
+ De as O,
1786
+ Zs as T,
1787
+ ts as a,
1788
+ tr as b,
1789
+ os as c,
1790
+ is as d,
1791
+ ls as e,
1792
+ ds as f,
1793
+ us as g,
1794
+ fs as h,
1795
+ ps as i,
1796
+ hs as j,
1797
+ gs as k,
1798
+ xs as l,
1799
+ ys as m,
1800
+ Ns as n,
1801
+ vs as o,
1802
+ Ss as p,
1803
+ Fs as q,
1804
+ Cs as r,
1805
+ Ts as s,
1806
+ Is as t,
1807
+ dt as u,
1808
+ As as v,
1809
+ Ds as w,
1810
+ Rs as x,
1811
+ ve as y,
1812
+ Vt as z
1813
+ };