@svgrid/enterprise 2.7.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./jszip.min-CX2fPs3O.js","./rolldown-runtime-Dd_uD5pT.js","./src-7qOYsBug.js","./disclose-version-CIm4S9xS.js","./export-format-DwjuTfrQ.js","./js-scroller.svelte-Bhxqb3-c.js","./preload-helper-CG0n22O7.js","./SvField-BsqiA5me.js","./SvField-BF-9TJSd.css","./date-format-4DJvNtG2.js","./date-format-Dzy4mTGh.css","./popover-CUkLsvRX.js","./SvGridDropdown-CAYG7Y-O.js","./SvGridDropdown-Crwb2P3Q.css","./SvDateTimePicker-BdioTrJQ.js","./dismissable-BO547MH9.js","./SvDateTimePicker-CY8TK4BT.css","./editor-registry-BjP16H0v.js","./easing-zaypKrr0.js","./SvGridChart-BEDNTdc5.js","./chart-DHEgt4lN.js","./SvGridChart-Vu4Nvjiv.css","./src-B7DNcoQK.css"])))=>i.map(i=>d[i]);
2
- import{i as e,r as t,t as n}from"./rolldown-runtime-Dd_uD5pT.js";import{$ as r,A as i,C as a,D as o,E as s,F as c,G as l,H as u,I as d,J as f,K as p,L as m,M as h,N as g,O as _,P as v,R as y,T as b,U as x,V as S,W as C,X as w,Z as T,_ as E,_t as D,a as O,at as k,b as A,bt as ee,c as te,ct as j,d as M,dt as N,et as ne,f as P,ft as F,g as I,gt as re,ht as ie,it as L,j as ae,k as oe,l as se,lt as R,m as ce,mt as le,n as ue,nt as de,o as fe,ot as pe,p as z,pt as me,q as he,r as ge,rt as B,s as _e,st as V,t as ve,u as ye,ut as be,v as xe,vt as H,w as Se,x as Ce,xt as we,y as Te,yt as Ee,z as De}from"./disclose-version-CIm4S9xS.js";import{$ as Oe,$n as ke,$t as Ae,A as je,An as Me,At as Ne,B as Pe,Bn as Fe,Bt as Ie,C as Le,Cn as Re,Ct as ze,D as Be,Dn as Ve,Dt as He,E as Ue,En as We,Et as Ge,F as Ke,Fn as qe,Ft as Je,G as Ye,Gn as Xe,Gt as Ze,H as Qe,Hn as $e,Ht as et,I as tt,In as nt,It as rt,J as it,Jn as at,Jt as ot,K as st,Kn as U,Kt as ct,L as lt,Ln as ut,Lt as dt,M as ft,Mn as pt,Mt as mt,N as ht,Nn as gt,Nt as _t,O as vt,On as yt,Ot as bt,P as xt,Pn as St,Pt as Ct,Q as wt,Qn as Tt,Qt as Et,R as Dt,Rn as Ot,Rt as kt,S as At,Sn as jt,St as Mt,T as Nt,Tn as Pt,Tt as Ft,U as It,Un as Lt,Ut as Rt,V as zt,Vn as Bt,Vt,W as Ht,Wn as Ut,Wt,X as Gt,Xn as Kt,Xt as qt,Y as Jt,Yn as Yt,Yt as Xt,Z as Zt,Zn as Qt,Zt as $t,_ as en,_n as tn,_r as nn,_t as rn,a as an,an as on,ar as sn,at as cn,b as ln,bn as un,bt as dn,c as fn,cn as pn,cr as mn,ct as hn,d as gn,dn as _n,dr as vn,dt as yn,en as bn,er as xn,et as Sn,f as Cn,fn as wn,fr as Tn,ft as En,g as W,gn as Dn,gr as On,gt as kn,h as An,hn as jn,hr as Mn,ht as Nn,i as Pn,in as Fn,ir as In,it as Ln,j as Rn,jn as zn,jt as Bn,k as Vn,kn as Hn,kt as Un,l as Wn,ln as Gn,lr as Kn,lt as qn,m as Jn,mn as Yn,mr as Xn,mt as Zn,n as Qn,nn as $n,nr as er,nt as tr,o as nr,on as rr,or as ir,ot as ar,p as or,pn as sr,pr as cr,pt as lr,q as ur,qn as dr,qt as fr,r as pr,rn as mr,rr as hr,rt as gr,s as _r,sn as vr,sr as yr,st as br,tn as xr,tr as Sr,tt as Cr,u as wr,un as Tr,ur as Er,ut as Dr,v as Or,vn as kr,vt as Ar,w as jr,wn as Mr,wt as Nr,x as Pr,xn as Fr,xt as Ir,y as Lr,yn as Rr,yt as zr,z as Br,zn as Vr,zt as Hr}from"./src-7qOYsBug.js";import{i as Ur,n as Wr,t as G}from"./js-scroller.svelte-Bhxqb3-c.js";import{t as Gr}from"./preload-helper-CG0n22O7.js";import{i as Kr,n as qr,r as Jr,t as Yr}from"./SvField-BsqiA5me.js";import{i as Xr,n as Zr,r as Qr,t as $r}from"./popover-CUkLsvRX.js";import{r as ei,t as ti}from"./SvDateTimePicker-BdioTrJQ.js";import{t as ni}from"./dismissable-BO547MH9.js";import{t as ri}from"./SvDateRangeInput-CVn-yqrQ.js";import{t as ii}from"./SvListBox-CVYQcLX9.js";import{r as ai}from"./easing-zaypKrr0.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function oi(e){return e==null?[]:Array.isArray(e)?[...e]:[e]}function si(e){let t=()=>e.items(),n=()=>e.mode?.()??`single`,r=()=>e.disabled?.()??!1,i=()=>(e.orientation?.()??`horizontal`)===`vertical`,a=()=>e.dir?.()===`rtl`,o=N(()=>oi(e.value())),s=N(()=>t().map((e,t)=>e.disabled?-1:t).filter(e=>e>=0)),c=e=>p(o).includes(e),l=N(()=>t().findIndex(e=>c(e.value))),u=j(0);T(()=>{let e=t()[p(u)];(!e||e.disabled)&&V(u,p(s)[0]??0,!0)});let d=N(()=>n()===`single`?p(l)>=0?p(l):p(s)[0]??0:p(u));function f(i){let a=t()[i];if(!(!a||a.disabled||r())){if(V(u,i,!0),n()===`none`){e.onChange?.(a.value);return}if(n()===`multiple`){let t=new Set(p(o));t.has(a.value)?t.delete(a.value):t.add(a.value),e.onChange?.([...t])}else e.onChange?.(a.value)}}function m(e){n()===`single`?f(e):V(u,e,!0)}function h(e){if(!p(s).length)return;let t=p(s).indexOf(p(d)),n=p(s)[(t+e+p(s).length)%p(s).length];n!=null&&m(n)}function g(e){if(r())return;let t=!i(),n=t&&a(),o=t?n?`ArrowLeft`:`ArrowRight`:`ArrowDown`,c=t?n?`ArrowRight`:`ArrowLeft`:`ArrowUp`;e.key===o?(e.preventDefault(),h(1)):e.key===c?(e.preventDefault(),h(-1)):e.key===`Home`?(e.preventDefault(),m(p(s)[0]??0)):e.key===`End`?(e.preventDefault(),m(p(s).at(-1)??0)):(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),f(p(d)))}let _=()=>({id:e.id?.(),invalid:e.invalid?.(),required:e.required?.(),error:e.error?.(),hint:e.hint?.(),ariaLabel:e.ariaLabel?.()}),v=()=>n()===`single`?`radiogroup`:`group`;return{get activeIndex(){return p(d)},get selectedValues(){return p(o)},isSelected:c,isActive:e=>e===p(d),pick:f,move:h,onKeydown:g,rootProps:()=>({role:v(),id:e.id?.(),"aria-orientation":i()?`vertical`:`horizontal`,...qr(_()),onkeydown:g}),buttonProps:e=>{let i=t()[e],a=i?c(i.value):!1,o=n()===`single`;return{type:`button`,role:o?`radio`:void 0,"data-idx":e,"aria-checked":o?a:void 0,"aria-pressed":n()===`multiple`?a:void 0,"data-selected":a?``:void 0,disabled:r()||i?.disabled||void 0,tabindex:n()===`none`||e===p(d)?0:-1,onclick:()=>f(e)}}}}var ci=y(`<button> </button>`),li=y(`<input type="hidden"/>`),ui=y(`<div><!> <!></div>`);function di(e,t){le(t,!0);let n=ge(t,`value`,3,null),r=ge(t,`mode`,3,`single`),i=ge(t,`orientation`,3,`horizontal`),a=ge(t,`variant`,3,`solid`),o=ge(t,`disabled`,3,!1),s=ge(t,`size`,3,`md`),c=ge(t,`invalid`,3,!1),l=ge(t,`required`,3,!1),u=Jr(`sv-bg`),f=N(()=>t.id??u),g=si({items:()=>t.items,value:()=>n(),onChange:e=>t.onChange?.(e),mode:()=>r(),orientation:()=>i(),disabled:()=>o(),dir:()=>t.dir,id:()=>p(f),invalid:()=>c(),required:()=>l(),error:()=>t.error,hint:()=>t.hint,ariaLabel:()=>t.ariaLabel??t.label});Yr(e,{get id(){return p(f)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return l()},get dir(){return t.dir},children:(e,n)=>{var r=ui();M(r,e=>({class:`sv-bg sv-bg--${i()??``} sv-bg--${a()??``} sv-bg--${s()??``}`,...e,[se]:{"is-disabled":o(),"is-invalid":c()}}),[()=>g.rootProps()],void 0,void 0,`svelte-1whfl86`);var l=B(r);oe(l,19,()=>t.items,e=>e.value,(e,t,n)=>{var r=ci();M(r,(e,t)=>({class:`sv-bg__btn`,...e,[se]:t}),[()=>g.buttonProps(p(n)),()=>({"is-selected":g.isSelected(p(t).value)})],void 0,void 0,`svelte-1whfl86`);var i=B(r,!0);H(r),w(()=>v(i,p(t).label??p(t).value)),d(e,r)});var u=k(l,2),f=e=>{var n=m(),r=L(n);oe(r,16,()=>g.selectedValues,e=>e,(e,n)=>{var r=li();P(r),w(()=>{z(r,`name`,t.name),I(r,n)}),d(e,r)}),d(e,n)};h(u,e=>{t.name&&e(f)}),H(r),d(e,r)},$$slots:{default:!0}}),me()}var fi=(e,t,n)=>Math.min(Math.max(e,t),n);function pi(e){let{pageCount:t}=e;if(t<=0)return[];let n=Math.max(0,e.siblingCount??1),r=Math.max(1,e.boundaryCount??1),i=fi(e.page,1,t);if(t<=r*2+n*2+3)return Array.from({length:t},(e,t)=>t+1);let a=new Set;for(let e=1;e<=r&&e<=t;e++)a.add(e),a.add(t-e+1);for(let e=i-n;e<=i+n;e++)e>=1&&e<=t&&a.add(e);let o=[...a].sort((e,t)=>e-t),s=[],c=0;for(let e of o)e-c===2?s.push(c+1):e-c>2&&s.push(e<=i?`ellipsis-left`:`ellipsis-right`),s.push(e),c=e;return s}function mi(e){let t=()=>e.page(),n=()=>e.pageCount(),r=()=>e.disabled?.()??!1;function i(i){if(r())return;let a=Math.min(Math.max(i,1),n());a!==t()&&e.onChange?.(a)}let a=()=>i(1),o=()=>i(t()-1),s=()=>i(t()+1),c=()=>i(n()),l=()=>!r()&&t()>1,u=()=>!r()&&t()<n();return{get items(){return pi({page:t(),pageCount:n(),siblingCount:e.siblingCount?.()??1,boundaryCount:e.boundaryCount?.()??1})},go:i,first:a,prev:o,next:s,last:c,canPrev:l,canNext:u,isActive:e=>e===t(),navProps:(e=`Pagination`)=>({"aria-label":e}),pageButtonProps:e=>({"aria-current":e===t()?`page`:void 0,"aria-label":`Page ${e}`,disabled:r(),onclick:()=>i(e)}),firstProps:()=>({"aria-label":`First page`,disabled:!l(),onclick:a}),prevProps:()=>({"aria-label":`Previous page`,disabled:!l(),onclick:o}),nextProps:()=>({"aria-label":`Next page`,disabled:!u(),onclick:s}),lastProps:()=>({"aria-label":`Last page`,disabled:!u(),onclick:c})}}function hi(e){let t=()=>e.count(),n=()=>e.current(),r=()=>e.loop?.()??!0,i=()=>e.dir?.()===`rtl`,a=j(!1),o=j(!1);function s(n){let i=t();if(i===0)return;let a=r()?(n%i+i)%i:Math.max(0,Math.min(n,i-1));e.onChange?.(a)}let c=()=>s(n()+1),l=()=>s(n()-1),u=()=>r()||n()>0,d=()=>r()||n()<t()-1;return T(()=>{let n=e.autoplay?.()??0;if(!n||p(a)||p(o)||t()<2)return;let r=setInterval(()=>c(),n);return()=>clearInterval(r)}),{get paused(){return p(a)},get userPaused(){return p(o)},rtl:i,isActive:e=>e===n(),go:s,next:c,prev:l,canGoPrev:u,canGoNext:d,rootProps:(e=`Carousel`)=>({role:`group`,"aria-roledescription":`carousel`,"aria-label":e,onpointerenter:()=>{V(a,!0)},onpointerleave:()=>{V(a,!1)},onfocusin:()=>{V(a,!0)},onfocusout:()=>{V(a,!1)}}),slideProps:e=>({role:`group`,"aria-roledescription":`slide`,"aria-label":`${e+1} of ${t()}`,"aria-hidden":e!==n(),inert:e!==n()}),prevArrowProps:()=>({"aria-label":i()?`Next slide`:`Previous slide`,onclick:i()?c:l,disabled:i()?!d():!u()}),nextArrowProps:()=>({"aria-label":i()?`Previous slide`:`Next slide`,onclick:i()?l:c,disabled:i()?!u():!d()}),dotProps:e=>({"aria-label":`Go to slide ${e+1}`,"aria-current":e===n()?`true`:void 0,onclick:()=>s(e)}),playPauseProps:()=>({"aria-label":p(o)?`Play autoplay`:`Pause autoplay`,"aria-pressed":p(o),onclick:()=>{V(o,!p(o))}})}}var gi=y(`<span class="sv-seg__icon svelte-1kc6frb"><!></span>`),_i=y(`<button><!> <span class="sv-seg__label"> </span></button>`),vi=y(`<input type="hidden"/>`),yi=y(`<div><!> <!></div>`);function bi(e,t){le(t,!0);let n=ge(t,`value`,15,null),r=ge(t,`disabled`,3,!1),i=ge(t,`size`,3,`md`),a=ge(t,`required`,3,!1),s=ge(t,`invalid`,3,!1),c=ge(t,`block`,3,!1),l=Jr(`sv-seg`),u=N(()=>t.id??l),f=cr({options:()=>t.options,value:()=>n(),onChange:e=>{n(e),t.onChange?.(e)},disabled:()=>r(),ariaLabel:()=>t.ariaLabel??t.label,id:()=>p(u),invalid:()=>s(),required:()=>a(),error:()=>t.error});Yr(e,{get id(){return p(u)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return a()},get dir(){return t.dir},children:(e,a)=>{var l=yi();M(l,e=>({class:`sv-seg sv-seg--${i()??``}`,...e,[se]:{"is-block":c(),"is-disabled":r(),"is-invalid":s()}}),[()=>f.groupProps()],void 0,void 0,`svelte-1kc6frb`);var u=B(l);oe(u,17,()=>t.options,e=>e.value,(e,t)=>{var n=_i();M(n,(e,t)=>({class:`sv-seg__opt`,...e,[se]:t}),[()=>f.radioProps(p(t)),()=>({"is-selected":f.isChecked(p(t))})],void 0,void 0,`svelte-1kc6frb`);var r=B(n),i=e=>{var n=gi(),r=B(n);o(r,()=>p(t).icon),H(n),d(e,n)};h(r,e=>{p(t).icon&&e(i)});var a=k(r,2),s=B(a,!0);H(a),H(n),w(()=>v(s,p(t).label)),d(e,n)});var m=k(u,2),g=e=>{var r=vi();P(r),w(()=>{z(r,`name`,t.name),I(r,n()??``)}),d(e,r)};h(m,e=>{t.name&&e(g)}),H(l),d(e,l)},$$slots:{default:!0}}),me()}var xi=y(`<span class="sv-spinner svelte-1y7q3lg"></span>`);function Si(e,t){let n=ge(t,`size`,3,`md`),r=N(()=>typeof n()==`number`?n():n()===`sm`?15:n()===`lg`?28:20);var i=xi();let a;w(()=>{z(i,`role`,t.label?`status`:void 0),z(i,`aria-label`,t.label),z(i,`aria-hidden`,t.label?void 0:`true`),a=A(i,``,a,{width:`${p(r)}px`,height:`${p(r)}px`,color:t.color})}),d(e,i)}var Ci=y(`<span class="sv-loading__label svelte-1dk9rlz"> </span>`),wi=y(`<!> <!>`,1),Ti=y(`<div role="status" aria-live="polite"><!></div>`);function Ei(e,t){let n=ge(t,`visible`,3,!1),r=ge(t,`spinnerSize`,3,`lg`),i=ge(t,`blur`,3,!1);var a=m(),s=L(a),c=e=>{var n=Ti();let a;var s=B(n),c=e=>{var n=m(),r=L(n);o(r,()=>t.children),d(e,n)},l=e=>{var n=wi(),i=L(n);Si(i,{get size(){return r()}});var a=k(i,2),o=e=>{var n=Ci(),r=B(n,!0);H(n),w(()=>v(r,t.label)),d(e,n)};h(a,e=>{t.label&&e(o)}),d(e,n)};h(s,e=>{t.children?e(c):e(l,-1)}),H(n),w(()=>{a=Ce(n,1,`sv-loading svelte-1dk9rlz`,null,a,{"is-blur":i()}),z(n,`aria-label`,t.label??`Loading`)}),d(e,n)};h(s,e=>{n()&&e(c)}),d(e,a)}var Di=De(`<svg viewBox="0 0 24 24" width="30" height="30" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"></path></svg>`),Oi=De(`<svg viewBox="0 0 24 24" width="30" height="30" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"><path d="M18 6 6 18M6 6l12 12"></path></svg>`),ki=De(`<svg viewBox="0 0 24 24" width="30" height="30" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 9v4M12 17h.01M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z"></path></svg>`),Ai=y(`<span class="sv-result__code svelte-1fz3ai2">404</span>`),ji=De(`<svg viewBox="0 0 24 24" width="30" height="30" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"></circle><path d="M12 8h.01M11 12h1v4h1"></path></svg>`),Mi=y(`<p class="sv-result__desc svelte-1fz3ai2"> </p>`),Ni=y(`<div class="sv-result__body svelte-1fz3ai2"><!></div>`),Pi=y(`<div class="sv-result__actions svelte-1fz3ai2"><!></div>`),Fi=y(`<div role="status"><div class="sv-result__icon svelte-1fz3ai2" aria-hidden="true"><!></div> <h2 class="sv-result__title svelte-1fz3ai2"> </h2> <!> <!> <!></div>`);function Ii(e,t){let n=ge(t,`status`,3,`info`);var r=Fi(),i=B(r),a=B(i),s=e=>{var n=m(),r=L(n);o(r,()=>t.icon),d(e,n)},c=e=>{var t=Di();d(e,t)},l=e=>{var t=Oi();d(e,t)},u=e=>{var t=ki();d(e,t)},f=e=>{var t=Ai();d(e,t)},p=e=>{var t=ji();d(e,t)};h(a,e=>{t.icon?e(s):n()===`success`?e(c,1):n()===`error`?e(l,2):n()===`warning`?e(u,3):n()===`notfound`?e(f,4):e(p,-1)}),H(i);var g=k(i,2),_=B(g,!0);H(g);var y=k(g,2),b=e=>{var n=Mi(),r=B(n,!0);H(n),w(()=>v(r,t.description)),d(e,n)};h(y,e=>{t.description&&e(b)});var x=k(y,2),S=e=>{var n=Ni(),r=B(n);o(r,()=>t.children),H(n),d(e,n)};h(x,e=>{t.children&&e(S)});var C=k(x,2),T=e=>{var n=Pi(),r=B(n);o(r,()=>t.actions),H(n),d(e,n)};h(C,e=>{t.actions&&e(T)}),H(r),w(()=>{Ce(r,1,`sv-result sv-result--${n()??``}`,`svelte-1fz3ai2`),v(_,t.title)}),d(e,r)}var Li=y(`<div><button class="sv-collapse__trigger svelte-15w9gn7" type="button"><span class="sv-collapse__label svelte-15w9gn7"><!></span> <svg class="sv-collapse__chev svelte-15w9gn7" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button> <div class="sv-collapse__region svelte-15w9gn7" role="region"><div class="sv-collapse__content svelte-15w9gn7"><!></div></div></div>`);function Ri(e,t){le(t,!0);let n=ge(t,`open`,15,!1),r=ge(t,`disabled`,3,!1),i=Jr(`sv-collapse`);function a(){r()||(n(!n()),t.onOpenChange?.(n()))}var s=Li();let c;var l=B(s),u=B(l),f=B(u),p=e=>{var n=m(),r=L(n);o(r,()=>t.header),d(e,n)},g=e=>{var n=S();w(()=>v(n,t.title)),d(e,n)};h(f,e=>{t.header?e(p):e(g,-1)}),H(u),D(2),H(l);var _=k(l,2),y=B(_),b=B(y);o(b,()=>t.children??ee),H(y),H(_),H(s),w(()=>{c=Ce(s,1,`sv-collapse svelte-15w9gn7`,null,c,{"is-open":n(),"is-disabled":r()}),l.disabled=r(),z(l,`aria-expanded`,n()),z(l,`aria-controls`,`${i}-panel`),z(l,`id`,`${i}-trigger`),z(_,`id`,`${i}-panel`),z(_,`aria-labelledby`,`${i}-trigger`),_.inert=!n()}),x(`click`,l,a),d(e,s),me()}u([`click`]);function zi(e,t){let n=ge(t,`size`,3,`md`),r=ge(t,`weight`,3,`normal`),i=ge(t,`tone`,3,`default`),a=ge(t,`truncate`,3,!1),s=ge(t,`inline`,3,!1),c={xs:`11px`,sm:`13px`,md:`14px`,lg:`16px`,xl:`20px`},l={normal:400,medium:500,semibold:600,bold:700},u={default:`var(--sg-fg, #0f172a)`,muted:`var(--sg-muted, #64748b)`,accent:`var(--sg-accent, #2563eb)`,success:`var(--sg-success, #16a34a)`,warning:`var(--sg-warning, #d97706)`,error:`var(--sg-danger, #dc2626)`},f={start:`left`,center:`center`,end:`right`},h=N(()=>t.as??(s()?`span`:`p`));var g=m(),_=L(g);Se(_,()=>p(h),!1,(e,s)=>{M(e,()=>({class:`sv-text`,style:``,[se]:{"is-truncate":a()&&!t.clamp,"is-clamp":t.clamp!=null},[ye]:{"font-size":c[n()],"font-weight":l[r()],color:u[i()],"text-align":t.align?f[t.align]:void 0,"--sv-text-clamp":t.clamp}}),void 0,void 0,void 0,`svelte-1ncm0uw`);var p=m(),h=L(p);o(h,()=>t.children??ee),d(s,p)}),d(e,g)}function Bi(e,t){let n=ge(t,`order`,3,2),r=ge(t,`truncate`,3,!1),i={1:`30px`,2:`24px`,3:`20px`,4:`17px`,5:`15px`,6:`13px`},a={1:700,2:700,3:600,4:600,5:600,6:600},s={start:`left`,center:`center`,end:`right`},c=N(()=>t.size??n()),l=N(()=>`h${n()}`);var u=m(),f=L(u);Se(f,()=>p(l),!1,(e,n)=>{M(e,()=>({class:`sv-title`,style:``,[se]:{"is-truncate":r()},[ye]:{"font-size":i[p(c)],"font-weight":a[p(c)],"text-align":t.align?s[t.align]:void 0}}),void 0,void 0,void 0,`svelte-1bznalt`);var l=m(),u=L(l);o(u,()=>t.children??ee),d(n,l)}),d(e,u)}var Vi=y(`<span class="sv-anchor__ext svelte-g26ywi" aria-hidden="true">↗</span><span class="sv-anchor__sr svelte-g26ywi">(opens in a new tab)</span>`,1),Hi=y(`<a><!><!></a>`);function Ui(e,t){let n=ge(t,`external`,3,!1),r=ge(t,`underline`,3,`hover`),i=ge(t,`tone`,3,`accent`),a=ge(t,`size`,3,`md`),s={sm:`13px`,md:`14px`,lg:`16px`},c={accent:`var(--sg-accent, #2563eb)`,default:`var(--sg-fg, #0f172a)`,muted:`var(--sg-muted, #64748b)`};var l=Hi();let u;var f=B(l);o(f,()=>t.children??ee);var p=k(f),m=e=>{var t=Vi();D(),d(e,t)};h(p,e=>{n()&&e(m)}),H(l),w(()=>{z(l,`href`,t.href),Ce(l,1,`sv-anchor sv-anchor--u-${r()??``}`,`svelte-g26ywi`),z(l,`target`,n()?`_blank`:void 0),z(l,`rel`,n()?`noopener noreferrer`:void 0),u=A(l,``,u,{"font-size":s[a()],color:c[i()]})}),x(`click`,l,function(...e){t.onclick?.apply(this,e)}),d(e,l)}u([`click`]);var Wi=y(`<footer class="sv-blockquote__cite svelte-1iwaj9k"> </footer>`),Gi=y(`<blockquote class="sv-blockquote svelte-1iwaj9k"><div class="sv-blockquote__body svelte-1iwaj9k"><!></div> <!></blockquote>`);function Ki(e,t){let n=ge(t,`tone`,3,`accent`),r={accent:`var(--sg-accent, #2563eb)`,muted:`var(--sg-muted, #64748b)`,success:`var(--sg-success, #16a34a)`,warning:`var(--sg-warning, #d97706)`,error:`var(--sg-danger, #dc2626)`};var i=Gi();let a;var s=B(i),c=B(s);o(c,()=>t.children??ee),H(s);var l=k(s,2),u=e=>{var n=Wi(),r=B(n);H(n),w(()=>v(r,`- ${t.cite??``}`)),d(e,n)};h(l,e=>{t.cite&&e(u)}),H(i),w(()=>a=A(i,``,a,{"--sv-bq-rule":r[n()]})),d(e,i)}var qi=y(`<mark class="sv-mark svelte-1wc4y72"><!></mark>`);function Ji(e,t){let n=ge(t,`tone`,3,`yellow`),r={yellow:`#fef08a`,accent:`color-mix(in srgb, var(--sg-accent, #2563eb) 22%, transparent)`,success:`color-mix(in srgb, var(--sg-success, #16a34a) 22%, transparent)`,warning:`color-mix(in srgb, var(--sg-warning, #d97706) 24%, transparent)`,error:`color-mix(in srgb, var(--sg-danger, #dc2626) 20%, transparent)`};var i=qi();let a;var s=B(i);o(s,()=>t.children??ee),H(i),w(()=>a=A(i,``,a,{background:r[n()]})),d(e,i)}var Yi=y(`<li> </li>`);function Xi(e,t){let n=ge(t,`type`,3,`unordered`),r=ge(t,`spacing`,3,`md`),a=ge(t,`size`,3,`md`),s={sm:`2px`,md:`6px`,lg:`10px`},c={sm:`13px`,md:`14px`,lg:`16px`},l=N(()=>n()===`ordered`?`ol`:`ul`);var u=m(),f=L(u);Se(f,()=>p(l),!1,(e,l)=>{M(e,()=>({class:`sv-list sv-list--${n()??``}`,style:``,[ye]:{"--sv-list-gap":s[r()],"font-size":c[a()]}}),void 0,void 0,void 0,`svelte-1pddvq7`);var u=m(),f=L(u),g=e=>{var n=m(),r=L(n);o(r,()=>t.children),d(e,n)},_=e=>{var n=m(),r=L(n);oe(r,17,()=>t.items,i,(e,t)=>{var n=Yi(),r=B(n,!0);H(n),w(()=>v(r,p(t))),d(e,n)}),d(e,n)};h(f,e=>{t.children?e(g):t.items&&e(_,1)}),d(l,u)}),d(e,u)}var Zi=y(`<span class="sv-kbd__sep svelte-il8pr6" aria-hidden="true"> </span>`),Qi=y(`<!> <kbd class="sv-kbd svelte-il8pr6"> </kbd>`,1),$i=y(`<span></span>`),ea=y(`<kbd><!></kbd>`);function ta(e,t){let n=ge(t,`separator`,3,`+`),r=ge(t,`size`,3,`md`);var a=m(),s=L(a),c=e=>{var a=$i();oe(a,21,()=>t.keys,i,(e,t,r)=>{var i=Qi(),a=L(i),o=e=>{var t=Zi(),r=B(t,!0);H(t),w(()=>v(r,n())),d(e,t)};h(a,e=>{r>0&&e(o)});var s=k(a,2),c=B(s,!0);H(s),w(()=>v(c,p(t))),d(e,i)}),H(a),w(()=>Ce(a,1,`sv-kbd-group sv-kbd--${r()??``}`,`svelte-il8pr6`)),d(e,a)},l=e=>{var n=ea(),i=B(n);o(i,()=>t.children??ee),H(n),w(()=>Ce(n,1,`sv-kbd sv-kbd--${r()??``}`,`svelte-il8pr6`)),d(e,n)};h(s,e=>{t.keys?e(c):e(l,-1)}),d(e,a)}var na=y(`<pre class="sv-code sv-code--block svelte-6sl55m"><code class="svelte-6sl55m"><!></code></pre>`),ra=y(`<code class="sv-code sv-code--inline svelte-6sl55m"><!></code>`);function ia(e,t){let n=ge(t,`block`,3,!1);var r=m(),i=L(r),a=e=>{var n=na(),r=B(n),i=B(r),a=e=>{var n=S();w(()=>v(n,t.code)),d(e,n)},s=e=>{var n=m(),r=L(n);o(r,()=>t.children??ee),d(e,n)};h(i,e=>{t.code==null?e(s,-1):e(a)}),H(r),H(n),d(e,n)},s=e=>{var n=ra(),r=B(n),i=e=>{var n=S();w(()=>v(n,t.code)),d(e,n)},a=e=>{var n=m(),r=L(n);o(r,()=>t.children??ee),d(e,n)};h(r,e=>{t.code==null?e(a,-1):e(i)}),H(n),d(e,n)};h(i,e=>{n()?e(a):e(s,-1)}),d(e,r)}function aa(e,t,n){return(n?e.replace(/\D/g,``):e.replace(/\s/g,``)).slice(0,Math.max(0,t))}function oa(e,t){let n=[];for(let r=0;r<t;r++)n[r]=e[r]??``;return n}function sa(e,t){return e.length===t}var ca=y(`<input class="sv-otp__cell svelte-goc1ko" maxlength="1"/>`),la=y(`<input type="hidden"/>`),ua=y(`<div><!> <!></div>`);function da(e,t){le(t,!0);let n=ge(t,`value`,15,``),r=ge(t,`length`,3,6),o=ge(t,`numeric`,3,!0),s=ge(t,`mask`,3,!1),c=ge(t,`disabled`,3,!1),l=ge(t,`required`,3,!1),u=ge(t,`size`,3,`md`),f=ge(t,`invalid`,3,!1),m=ge(t,`autofocus`,3,!1),g=Jr(`sv-otp`),_=N(()=>t.id??g),v=N(()=>oa(aa(n(),r(),o()),r())),y=pe([]);function b(e){let i=aa(e,r(),o());n(i),t.onChange?.(i),sa(i,r())&&t.onComplete?.(i)}function S(e){let t=y[Math.max(0,Math.min(r()-1,e))];t?.focus(),t?.select()}function T(){return oa(aa(n(),r(),o()),r())}function E(e,t){let n=aa(t.currentTarget.value,1,o()).slice(-1),r=T();r[e]=n,b(r.join(``)),n&&S(e+1)}function D(e,n){let r=t.dir===`rtl`;if(n.key===`Backspace`){n.preventDefault();let t=T();t[e]?(t[e]=``,b(t.join(``))):e>0&&(t[e-1]=``,b(t.join(``)),S(e-1))}else n.key===`ArrowLeft`?(n.preventDefault(),S(r?e+1:e-1)):n.key===`ArrowRight`&&(n.preventDefault(),S(r?e-1:e+1))}function O(e,t){t.preventDefault();let n=t.clipboardData?.getData(`text`)??``,i=T(),a=aa(n,r()-e,o());for(let t=0;t<a.length;t++)i[e+t]=a[t];b(i.join(``)),S(Math.min(e+a.length,r()-1))}function A(e,t){m()&&t===0&&e.focus()}Yr(e,{get id(){return p(_)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return l()},get dir(){return t.dir},children:(e,m)=>{var g=ua();M(g,e=>({class:`sv-otp sv-otp--${u()??``}`,role:`group`,...e,[se]:{"is-disabled":c(),"is-invalid":f()}}),[()=>qr({id:p(_),invalid:f(),required:l(),error:t.error,hint:t.hint,ariaLabel:t.label??`One-time code`})],void 0,void 0,`svelte-goc1ko`);var b=B(g);oe(b,17,()=>p(v),i,(e,t,n)=>{var i=ca();P(i),z(i,`autocomplete`,n===0?`one-time-code`:`off`),fe(i,(e,t)=>y[t]=e,e=>y?.[e],()=>[n]),a(i,(e,t)=>A?.(e,t),()=>n),w(()=>{z(i,`type`,s()?`password`:`text`),z(i,`inputmode`,o()?`numeric`:`text`),I(i,p(t)),i.disabled=c(),z(i,`aria-label`,`Character ${n+1} of ${r()}`)}),x(`input`,i,e=>E(n,e)),x(`keydown`,i,e=>D(n,e)),C(`paste`,i,e=>O(n,e)),C(`focus`,i,e=>e.currentTarget.select()),d(e,i)});var S=k(b,2),T=e=>{var r=la();P(r),w(()=>{z(r,`name`,t.name),I(r,n())}),d(e,r)};h(S,e=>{t.name&&e(T)}),H(g),d(e,g)},$$slots:{default:!0}}),me()}u([`input`,`keydown`]);function fa(e){let t=e.trim().toLowerCase();if(!t)return null;let n=t.match(/^(\d+):(\d{1,2})$/);if(n){let e=parseInt(n[2],10);return e>59?null:parseInt(n[1],10)*60+e}let r=t.match(/\d+(?:\.\d+)?\s*[hm]/g);if(r&&r.join(``).replace(/\s/g,``).length===t.replace(/\s/g,``).length){let e=0;for(let t of r){let n=t.match(/(\d+(?:\.\d+)?)\s*([hm])/),r=parseFloat(n[1]);e+=n[2]===`h`?r*60:r}return Math.round(e)}let i=Number(t);return Number.isFinite(i)?Math.round(i):null}function pa(e,t=`colon`){if(!Number.isFinite(e)||e<0)return``;let n=Math.floor(e/60),r=Math.round(e%60);return t===`units`?n&&r?`${n}h ${r}m`:n?`${n}h`:`${r}m`:`${n}:${String(r).padStart(2,`0`)}`}var ma=y(`<input type="hidden"/>`),ha=y(`<input/> <!>`,1);function ga(e,t){le(t,!0);let n=ge(t,`value`,15,null),r=ge(t,`style`,3,`colon`),i=ge(t,`placeholder`,3,`e.g. 1h 30m`),o=ge(t,`disabled`,3,!1),s=ge(t,`readonly`,3,!1),c=ge(t,`size`,3,`md`),l=ge(t,`invalid`,3,!1),u=ge(t,`required`,3,!1),f=ge(t,`loading`,3,!1),m=ge(t,`autofocus`,3,!1),g=ge(t,`clearable`,3,!1),_=ge(t,`block`,3,!1),v=ge(t,`width`,3,160),y=Jr(`sv-dur`),b=N(()=>t.id??y),x=j(``),S=j(!1);T(()=>{p(S)||V(x,n()==null?``:pa(n(),r()),!0)});function C(){let e=fa(p(x));return n(e),t.onChange?.(e),e!=null&&V(x,pa(e,r()),!0),e}function E(e){m()&&(e.focus(),e.select())}{let r=N(()=>n()!=null);Yr(e,{frame:!0,get id(){return p(b)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return u()},get dir(){return t.dir},get size(){return c()},get invalid(){return l()},get disabled(){return o()},get readonly(){return s()},get loading(){return f()},get block(){return _()},get width(){return v()},get leading(){return t.leading},get trailing(){return t.trailing},get clearable(){return g()},get showClear(){return p(r)},onclear:()=>{n(null),V(x,``),t.onChange?.(null)},children:(e,r)=>{var c=ha(),f=L(c),m=e=>V(x,e.currentTarget.value,!0),g=()=>V(S,!0),_=()=>{V(S,!1),C()},v=e=>{e.key===`Enter`?t.onCommit?.(C()):e.key===`Escape`&&t.onCancel?.()};M(f,e=>({class:`sv-dur__input`,type:`text`,inputmode:`numeric`,value:p(x),placeholder:i(),disabled:o(),readonly:s(),oninput:m,onfocus:g,onblur:_,onkeydown:v,...e}),[()=>qr({id:p(b),invalid:l(),required:u(),error:t.error,hint:t.hint,ariaLabel:t.ariaLabel})],void 0,void 0,void 0,!0),a(f,e=>E?.(e));var y=k(f,2),T=e=>{var r=ma();P(r),w(()=>{z(r,`name`,t.name),I(r,n()??``)}),d(e,r)};h(y,e=>{t.name&&e(T)}),d(e,c)},$$slots:{default:!0}})}me()}var _a=y(`<span class="sv-rt__sep svelte-1enx0me" aria-hidden="true"></span>`),va=y(`<button type="button"> </button>`),ya=y(`<div class="sv-rt__toolbar svelte-1enx0me" role="toolbar"></div>`),ba=y(`<div><!> <div role="textbox" aria-multiline="true"></div></div>`);function xa(e,t){le(t,!0);let n=[`bold`,`italic`,`underline`,`strike`,`|`,`h1`,`h2`,`h3`,`p`,`|`,`ul`,`ol`,`quote`,`code`,`|`,`alignLeft`,`alignCenter`,`alignRight`,`|`,`link`,`clear`,`|`,`undo`,`redo`],r={bold:`B`,italic:`I`,underline:`U`,strike:`S`,h1:`H1`,h2:`H2`,h3:`H3`,p:`¶`,ul:`•`,ol:`1.`,quote:`❝`,code:`</>`,alignLeft:`≡`,alignCenter:`≣`,alignRight:`≡`,link:`🔗`,clear:`⌫`,undo:`↶`,redo:`↷`},a={bold:`Bold`,italic:`Italic`,underline:`Underline`,strike:`Strikethrough`,h1:`Heading 1`,h2:`Heading 2`,h3:`Heading 3`,p:`Paragraph`,ul:`Bullet list`,ol:`Numbered list`,quote:`Quote`,code:`Code block`,alignLeft:`Align left`,alignCenter:`Align center`,alignRight:`Align right`,link:`Link`,clear:`Clear formatting`,undo:`Undo`,redo:`Redo`,linkPrompt:`Link URL`,toolbar:`Formatting`},o=ge(t,`value`,15,``),s=ge(t,`placeholder`,3,``),c=ge(t,`disabled`,3,!1),l=ge(t,`readonly`,3,!1),u=ge(t,`minHeight`,3,`160px`),f=ge(t,`tools`,3,n),g=ge(t,`ariaLabel`,3,`Rich text editor`),_=N(()=>Kr(a,t.messages)),y=Jr(`sv-rt`),b=j(null),S=j(!1),E=j(!0),D=j(pe({}));T(()=>{let e=o()??``;p(b)&&!p(S)&&p(b).innerHTML!==e&&(p(b).innerHTML=e),p(b)&&V(E,p(b).textContent.trim().length===0)});function O(){if(!p(b))return;let e=p(b).innerHTML;V(E,p(b).textContent.trim().length===0),o(e),t.onChange?.(e)}function ee(e){try{return document.queryCommandState(e)}catch{return!1}}function te(){V(D,{bold:ee(`bold`),italic:ee(`italic`),underline:ee(`underline`),strike:ee(`strikeThrough`),ul:ee(`insertUnorderedList`),ol:ee(`insertOrderedList`)},!0)}function M(e,t){if(!(c()||l())){p(b)?.focus();try{document.execCommand(e,!1,t)}catch{}O(),te()}}let ne={bold:()=>M(`bold`),italic:()=>M(`italic`),underline:()=>M(`underline`),strike:()=>M(`strikeThrough`),h1:()=>M(`formatBlock`,`H1`),h2:()=>M(`formatBlock`,`H2`),h3:()=>M(`formatBlock`,`H3`),p:()=>M(`formatBlock`,`P`),ul:()=>M(`insertUnorderedList`),ol:()=>M(`insertOrderedList`),quote:()=>M(`formatBlock`,`BLOCKQUOTE`),code:()=>M(`formatBlock`,`PRE`),alignLeft:()=>M(`justifyLeft`),alignCenter:()=>M(`justifyCenter`),alignRight:()=>M(`justifyRight`),link:()=>{let e=typeof prompt==`function`?prompt(p(_).linkPrompt,`https://`):null;e&&M(`createLink`,e)},clear:()=>M(`removeFormat`),undo:()=>M(`undo`),redo:()=>M(`redo`)};var P=ba();let F;var I=B(P),re=e=>{var t=ya();oe(t,21,f,i,(e,t)=>{var n=m(),i=L(n),a=e=>{var t=_a();d(e,t)},o=e=>{var n=va();let i;var a=B(n,!0);H(n),w(()=>{i=Ce(n,1,`sv-rt__btn svelte-1enx0me`,null,i,{"is-on":p(D)[p(t)]}),z(n,`data-tool`,p(t)),z(n,`title`,p(_)[p(t)]),z(n,`aria-label`,p(_)[p(t)]),z(n,`aria-pressed`,p(D)[p(t)]?!0:void 0),n.disabled=c(),v(a,r[p(t)])}),x(`mousedown`,n,e=>e.preventDefault()),x(`click`,n,function(...e){ne[p(t)]?.apply(this,e)}),d(e,n)};h(i,e=>{p(t)===`|`?e(a):e(o,-1)}),d(e,n)}),H(t),w(()=>{z(t,`aria-label`,p(_).toolbar),z(t,`aria-controls`,y)}),d(e,t)};h(I,e=>{l()||e(re)});var ie=k(I,2);let ae,se;fe(ie,e=>V(b,e),()=>p(b)),H(P),w(()=>{F=Ce(P,1,`sv-rt svelte-1enx0me`,null,F,{"is-disabled":c(),"is-readonly":l()}),z(ie,`id`,y),ae=Ce(ie,1,`sv-rt__body svelte-1enx0me`,null,ae,{"is-empty":p(E)}),z(ie,`contenteditable`,!c()&&!l()),z(ie,`aria-label`,g()),z(ie,`data-placeholder`,s()),z(ie,`tabindex`,c()?-1:0),se=A(ie,``,se,{"min-height":u()})}),x(`input`,ie,O),C(`focus`,ie,()=>V(S,!0)),C(`blur`,ie,()=>{V(S,!1),O()}),x(`keyup`,ie,te),x(`mouseup`,ie,te),d(e,P),me()}u([`mousedown`,`click`,`input`,`keyup`,`mouseup`]);var Sa=0;function Ca(e){let t=`${`sv-ac-${Sa++}`}-list`,n=e=>`${t}-opt-${e}`,r=()=>e.minChars?.()??1,i=()=>({id:e.id?.(),invalid:e.invalid?.(),required:e.required?.(),error:e.error?.(),hint:e.hint?.(),ariaLabel:e.ariaLabel?.()}),a=j(!1),o=j(0),s=N(()=>e.suggestions().map(e=>typeof e==`string`?{value:e,label:e}:e)),c=N(()=>e.value().length>=r()?Ur(p(s),e.value()).slice(0,10):[]);function l(){V(a,p(c).length>0),p(a)&&V(o,0)}function u(t){t&&(e.onChange?.(String(t.value)),V(a,!1),e.focusInput?.())}function d(){V(a,!1)}function f(t){e.onChange?.(t.currentTarget.value),queueMicrotask(l)}function m(e){if(!p(a)){e.key===`ArrowDown`&&queueMicrotask(l);return}e.key===`ArrowDown`?(e.preventDefault(),V(o,Math.min(p(o)+1,p(c).length-1),!0)):e.key===`ArrowUp`?(e.preventDefault(),V(o,Math.max(p(o)-1,0),!0)):e.key===`Enter`?(e.preventDefault(),u(p(c)[p(o)])):e.key===`Escape`&&d()}return{get open(){return p(a)},get activeIndex(){return p(o)},get filtered(){return p(c)},get value(){return e.value()},listId:t,isActive:e=>e===p(o),setActive:e=>{V(o,e,!0)},maybeOpen:l,close:d,pick:u,onInput:f,onKeydown:m,inputProps:()=>({id:e.id?.(),role:`combobox`,"aria-expanded":p(a),"aria-controls":t,"aria-autocomplete":`list`,"aria-activedescendant":p(a)&&p(c)[p(o)]?n(p(o)):void 0,...qr(i()),value:e.value(),disabled:e.disabled?.()??!1,oninput:f,onfocus:l,onkeydown:m}),listboxProps:()=>({id:t,role:`listbox`}),optionProps:e=>({id:n(e),role:`option`,tabindex:-1,"aria-selected":e===p(o),"data-idx":e,onclick:()=>u(p(c)[e]),onpointermove:()=>{V(o,e,!0)}})}}function wa(e){let t=()=>e.pressed(),n=()=>e.disabled?.()??!1;function r(){n()||e.onChange?.(!t())}let i=()=>({id:e.id?.(),invalid:e.invalid?.(),required:e.required?.(),error:e.error?.(),hint:e.hint?.(),ariaLabel:e.ariaLabel?.()});return{get pressed(){return t()},get disabled(){return n()},toggle:r,buttonProps:()=>({type:`button`,id:e.id?.(),"aria-pressed":t(),disabled:n(),"data-pressed":t()?``:void 0,...qr(i()),onclick:r})}}function Ta(e){let t=[],n=e=>{for(let r of e.children??[])t.push(r.id),n(r)};return n(e),t}function Ea(e,t){if(!e.children?.length)return t.has(e.id)?`checked`:`unchecked`;let n=Ta(e),r=n.filter(e=>t.has(e)).length;return r===0&&!t.has(e.id)?`unchecked`:r===n.length?`checked`:`indeterminate`}function Da(e,t){for(let n of e){if(n.id===t)return n;if(n.children){let e=Da(n.children,t);if(e)return e}}return null}function Oa(e,t){return[...e].sort(t).map(e=>e.children?{...e,children:Oa(e.children,t)}:e)}function ka(e){let t=()=>e.nodes(),n=()=>e.checkable?.()??!1,r=()=>e.selected?.()??null,i=j(pe(new Set)),a=!1;T(()=>{if(!a){a=!0;let t=e.expandedIds?.();t&&V(i,new Set(t),!0)}});let o=N(()=>{let n=e.filter?.()?.trim().toLowerCase();if(!n)return null;let r=new Set,i=new Set,a=e=>{let t=!1;for(let n of e.children??[])t=a(n)||t;let o=e.label.toLowerCase().includes(n);return(o||t)&&(r.add(e.id),t&&i.add(e.id)),o||t};for(let e of t())a(e);return{visible:r,forceOpen:i}}),s=N(()=>{let e=[],n=p(o),r=(t,a,o)=>{for(let s of t){if(n&&!n.visible.has(s.id))continue;let t=!!s.children?.length||!!s.lazy,c=n&&n.forceOpen.has(s.id)||p(i).has(s.id);e.push({node:s,depth:a,hasChildren:t,open:c,parentId:o,index:e.length}),c&&s.children?.length&&r(s.children,a+1,s.id)}};return r(t(),0,null),e}),c=j(0);T(()=>{p(c)>=p(s).length&&V(c,Math.max(0,p(s).length-1),!0)});let l=N(()=>new Set(e.checked?.()??[])),u=j(0);function d(e,t=!1){V(c,e,!0),t&&R(u)}let f=e=>Ea(e,p(l)),m=e=>p(i).has(e),h=e=>e===r();function g(t){if(!t.children?.length&&!t.lazy)return;let n=new Set(p(i)),r=!n.has(t.id);r?n.add(t.id):n.delete(t.id),V(i,n,!0),e.onToggle?.(t.id,r)}let _=e=>{let n=Da(t(),e);n&&g(n)};function v(t){t.disabled||e.onSelect?.(t.id)}let y=e=>{let n=Da(t(),e);n&&v(n)};function b(t){if(t.disabled)return;let n=new Set(p(l)),r=[t.id,...Ta(t)],i=f(t)===`checked`;for(let e of r)i?n.delete(e):n.add(e);e.onCheck?.([...n])}function x(e,t){let n=e;for(;n+t>=0&&n+t<=p(s).length-1;)if(n+=t,!p(s)[n]?.node.disabled)return n;return e}function S(t){let r=p(s)[p(c)];if(!r)return;let i=()=>{r.hasChildren&&!r.open?g(r.node):r.hasChildren&&r.open&&d(Math.min(p(c)+1,p(s).length-1),!0)},a=()=>{if(r.hasChildren&&r.open)g(r.node);else if(r.parentId){let e=p(s).findIndex(e=>e.node.id===r.parentId);e>=0&&d(e,!0)}},o=e.dir?.()===`rtl`;switch(t.key){case`ArrowDown`:t.preventDefault(),d(x(p(c),1),!0);break;case`ArrowUp`:t.preventDefault(),d(x(p(c),-1),!0);break;case`ArrowRight`:t.preventDefault(),(o?a:i)();break;case`ArrowLeft`:t.preventDefault(),(o?i:a)();break;case`Enter`:t.preventDefault(),v(r.node);break;case` `:t.preventDefault(),n()?b(r.node):v(r.node);break;case`Home`:t.preventDefault(),d(0,!0);break;case`End`:t.preventDefault(),d(p(s).length-1,!0)}}return{get expanded(){return p(i)},get selected(){return r()},get rows(){return p(s)},get activeIndex(){return p(c)},get focusTick(){return p(u)},isExpanded:m,isSelected:h,checkStateOf:f,toggle:_,toggleExpand:g,select:y,toggleCheck:b,setActive:d,onKeydown:S,treeProps:()=>({role:`tree`,"aria-label":e.ariaLabel?.(),"aria-multiselectable":n()}),itemProps:e=>{let t=n()?f(e.node):`unchecked`,i=n()?t===`checked`?`true`:t===`indeterminate`?`mixed`:`false`:void 0;return{role:`treeitem`,"aria-level":e.depth+1,"aria-selected":e.node.id===r(),"aria-expanded":e.hasChildren?e.open:void 0,"aria-checked":i,"aria-disabled":e.node.disabled||void 0,"data-row":e.index,tabindex:e.index===p(c)?0:-1,onclick:()=>{d(e.index),v(e.node)},onkeydown:S}}}}function Aa(e){let t=()=>e.min?.()??0,n=()=>e.max?.()??100,r=()=>e.sweep?.()??270,i=()=>e.size?.()??180,a=()=>e.thickness?.()??14,o=N(()=>Math.min(n(),Math.max(t(),e.value()))),s=N(()=>90+(360-r())/2),c=N(()=>i()/2),l=N(()=>i()/2),u=N(()=>i()/2-a()/2-2),d=e=>(e-t())/(n()-t()),f=e=>p(s)+d(e)*r();function m(e,t){let n=e*Math.PI/180;return{x:p(c)+t*Math.cos(n),y:p(l)+t*Math.sin(n)}}function h(e,t,n){let r=f(e),i=f(t),a=m(r,n),o=m(i,n),s=+(i-r>180);return`M ${a.x} ${a.y} A ${n} ${n} 0 ${s} 1 ${o.x} ${o.y}`}let g=N(()=>m(f(p(o)),p(u)-a()/2));return{get clamped(){return p(o)},get startAngle(){return p(s)},get cx(){return p(c)},get cy(){return p(l)},get r(){return p(u)},get needleEnd(){return p(g)},frac:d,angleOf:f,polar:m,arcPath:h,rootProps:()=>({role:`meter`,"aria-valuenow":p(o),"aria-valuemin":t(),"aria-valuemax":n(),"aria-label":e.ariaLabel?.()??`Gauge`})}}var ja=y(`<button><!></button>`);function Ma(e,t){le(t,!0);let n=ge(t,`pressed`,3,!1),r=ge(t,`disabled`,3,!1),i=ge(t,`readonly`,3,!1),a=ge(t,`size`,3,`md`),s=ge(t,`invalid`,3,!1),c=ge(t,`required`,3,!1),l=Jr(`sv-toggle`),u=N(()=>t.id??l),f=wa({pressed:()=>n(),onChange:e=>{i()||t.onChange?.(e)},disabled:()=>r(),ariaLabel:()=>t.ariaLabel,id:()=>p(u),invalid:()=>s(),required:()=>c(),error:()=>t.error,hint:()=>t.hint});Yr(e,{get id(){return p(u)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return c()},get dir(){return t.dir},children:(e,r)=>{var c=ja();M(c,e=>({class:`sv-toggle sv-toggle--${a()??``}`,...e,[se]:{"is-pressed":n(),"is-invalid":s(),"is-readonly":i()}}),[()=>f.buttonProps()],void 0,void 0,`svelte-4x30az`);var l=B(c),u=e=>{var n=m(),r=L(n);o(r,()=>t.children),d(e,n)};h(l,e=>{t.children&&e(u)}),H(c),d(e,c)},$$slots:{default:!0}}),me()}var Na=y(`<input/>`),Pa=y(`<div> </div>`),Fa=y(`<div class="sv-ddl__grip" title="Drag to resize" aria-hidden="true"><span class="sv-ddl__grip-dots"></span></div>`),Ia=y(`<div><!> <!></div>`),La=y(`<input type="hidden"/>`),Ra=y(`<!> <!> <!>`,1);function za(e,t){le(t,!0);let n=ge(t,`value`,15,``),r=ge(t,`suggestions`,19,()=>[]),o=ge(t,`minChars`,3,1),s=ge(t,`resizable`,3,!1),c=ge(t,`disabled`,3,!1),l=ge(t,`size`,3,`md`),u=ge(t,`invalid`,3,!1),f=ge(t,`block`,3,!1),m=ge(t,`required`,3,!1),g=ge(t,`loading`,3,!1),_=Jr(`sv-ac`),y=N(()=>t.id??_),b=j(null),S=j(null),C=j(pe({top:0,left:0,width:0,openUpward:!1,maxHeight:0,availHeight:0})),E=j(null),D=N(()=>s()&&p(E)!=null?Math.min(p(E),p(C).availHeight):Math.min(p(C).availHeight,288)),O=N(()=>s()&&!p(C).openUpward),A=Ca({value:()=>n(),onChange:e=>{n(e),t.onChange?.(e)},suggestions:()=>r(),minChars:()=>o(),disabled:()=>c(),ariaLabel:()=>t.ariaLabel,focusInput:()=>p(b)?.focus(),id:()=>p(y),invalid:()=>u(),required:()=>m(),error:()=>t.error,hint:()=>t.hint});function ee(){if(!p(b))return;let e=s()&&p(E)!=null?p(E):Math.min(A.filtered.length,8)*34+12;V(C,Zr(p(b).getBoundingClientRect(),{estimatedHeight:e}),!0)}function te(e){p(S)&&Tt(e,{startHeight:p(S).clientHeight,min:96,max:()=>p(C).availHeight,onHeight:e=>{V(E,e,!0),ee()}})}T(()=>{if(!A.open)return;ee();let e=()=>ee();window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e);let t=ni({element:()=>[p(b),p(S)],onDismiss:()=>A.close(),closeOnEscape:!1});return t.activate(),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e),t.release()}});var ne=Ra(),F=L(ne);Yr(F,{get id(){return p(y)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return m()},get dir(){return t.dir},get loading(){return g()},children:(e,n)=>{var r=Na();M(r,e=>({class:`sv-ac sv-ac--${l()??``}`,type:`text`,placeholder:t.placeholder,...e,[se]:{"is-block":f(),"is-invalid":u()}}),[()=>A.inputProps()],void 0,void 0,`svelte-1vvrp83`,!0),fe(r,e=>V(b,e),()=>p(b)),d(e,r)},$$slots:{default:!0}});var re=k(F,2),ie=e=>{var t=Ia();M(t,e=>({class:`sv-ddl__panel`,...e,[se]:{"is-resizable":p(O)},[ye]:{position:`fixed`,top:p(C).openUpward?void 0:`${p(C).top}px`,bottom:p(C).openUpward?`${p(C).bottom}px`:void 0,left:`${p(C).left}px`,"min-width":`${p(C).width}px`,"max-height":`${p(D)}px`,height:s()&&p(E)!=null&&!p(C).openUpward?`${p(D)}px`:void 0}}),[()=>A.listboxProps()],void 0,void 0,`svelte-1vvrp83`);var n=B(t);oe(n,17,()=>A.filtered,i,(e,t,n)=>{var r=Pa();M(r,(e,t)=>({class:`sv-ddl__opt`,...e,[se]:t}),[()=>A.optionProps(n),()=>({"is-active":A.isActive(n)})],void 0,void 0,`svelte-1vvrp83`);var i=B(r,!0);H(r),w(()=>v(i,p(t).label)),d(e,r)});var r=k(n,2),o=e=>{var t=Fa();x(`pointerdown`,t,te),d(e,t)};h(r,e=>{p(O)&&e(o)}),H(t),fe(t,e=>V(S,e),()=>p(S)),a(t,e=>Xr?.(e)),a(t,(e,t)=>Qr?.(e,t),()=>({up:p(C).openUpward})),d(e,t)};h(re,e=>{A.open&&e(ie)});var ae=k(re,2),R=e=>{var r=La();P(r),w(()=>{z(r,`name`,t.name),I(r,n())}),d(e,r)};h(ae,e=>{t.name&&e(R)}),d(e,ne),me()}u([`pointerdown`]);function Ba(e,t,n=0){let r=[];for(let i of e){let e=!!i.children&&i.children.length>0,a=t.has(i.value);r.push({node:i,depth:n,hasChildren:e,expanded:a}),e&&a&&r.push(...Ba(i.children,t,n+1))}return r}function Va(e,t){for(let n of e){if(n.value===t)return[n];if(n.children){let e=Va(n.children,t);if(e)return[n,...e]}}return null}var Ha=y(`<input type="hidden"/>`),Ua=y(`<div><button><span> </span> <span class="sv-ts__arrow svelte-95y6nb" aria-hidden="true">▾</span></button> <!></div>`),Wa=y(`<span aria-hidden="true"><svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"></path></svg></span>`),Ga=y(`<span class="sv-ts__chev sv-ts__chev--leaf" aria-hidden="true"></span>`),Ka=y(`<li><!> <span class="sv-ts__label"> </span></li>`),qa=y(`<div class="sv-ts__panel"><ul class="sv-ts__tree" role="tree" tabindex="0"></ul></div>`),Ja=y(`<!> <!>`,1);function Ya(e,t){le(t,!0);let n=ge(t,`value`,15,null),r=ge(t,`placeholder`,3,`Select…`),i=ge(t,`showPath`,3,!1),o=ge(t,`expandedIds`,19,()=>[]),s=ge(t,`disabled`,3,!1),c=ge(t,`readonly`,3,!1),l=ge(t,`required`,3,!1),u=ge(t,`invalid`,3,!1),f=ge(t,`block`,3,!1),m=ge(t,`size`,3,`md`),g=ge(t,`loading`,3,!1),_=Jr(`sv-ts`),y=N(()=>t.id??_),b=j(pe(new Set(o()))),S=j(null),C=j(null),T=j(null),E=N(()=>Ba(t.nodes,p(b))),O=N(()=>n()==null?null:Va(t.nodes,n())),ee=N(()=>p(O)?i()?p(O).map(e=>e.label).join(` / `):p(O)[p(O).length-1].label:``);function te(e,t){let n=new Set(p(b));t?n.add(e):n.delete(e),V(b,n,!0)}function ne(e){te(e,!p(b).has(e))}function F(e){e.disabled||(n(e.value),t.onChange?.(e.value),ie.closePanel())}function re(e){e.hasChildren?ne(e.node.value):F(e.node)}let ie=Tn({itemCount:()=>p(E).length,disabled:e=>!!p(E)[e]?.node.disabled,readonly:()=>c(),onSelect:e=>{let t=p(E)[e];t&&re(t)},getTrigger:()=>p(S),getPanel:()=>p(C),getInitialFocus:()=>p(T),closeOnSelect:()=>!1,initialActive:()=>Math.max(0,p(E).findIndex(e=>e.node.value===n())),minWidth:()=>220,estimatedHeight:()=>300,onExtraKey:(e,t)=>{let n=p(E)[t];return n?e.key===`ArrowRight`?(e.preventDefault(),n.hasChildren&&!n.expanded?te(n.node.value,!0):n.hasChildren&&n.expanded&&(ie.active=Math.min(t+1,p(E).length-1)),!0):e.key===`ArrowLeft`&&(e.preventDefault(),(()=>{if(n.hasChildren&&n.expanded)te(n.node.value,!1);else{let e=t-1;for(;e>=0&&p(E)[e].depth>=n.depth;)e--;e>=0&&(ie.active=e)}})(),!0):!1},idPrefix:`sv-ts`});var ae=Ja(),R=L(ae);Yr(R,{get id(){return p(y)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return l()},get dir(){return t.dir},get loading(){return g()},children:(e,i)=>{var a=Ua();let o;var c=B(a),g=()=>ie.toggle();M(c,(e,t)=>({type:`button`,class:`sv-ts__trigger`,disabled:s(),onclick:g,...e,...t,[se]:{"is-invalid":u()}}),[()=>ie.triggerProps(`tree`),()=>qr({id:p(y),invalid:u(),required:l(),error:t.error,hint:t.hint,ariaLabel:t.ariaLabel})],void 0,void 0,`svelte-95y6nb`);var _=B(c);let b;var x=B(_,!0);H(_),D(2),H(c),fe(c,e=>V(S,e),()=>p(S));var C=k(c,2),T=e=>{var r=Ha();P(r),w(()=>{z(r,`name`,t.name),I(r,n()??``)}),d(e,r)};h(C,e=>{t.name&&e(T)}),H(a),w(()=>{o=Ce(a,1,`sv-ts sv-ts--${m()??``}`,`svelte-95y6nb`,o,{"is-block":f(),"is-disabled":s()}),b=Ce(_,1,`sv-ts__value svelte-95y6nb`,null,b,{"is-placeholder":!p(ee)}),v(x,p(ee)||r())}),d(e,a)},$$slots:{default:!0}});var ce=k(R,2),ue=e=>{var r=qa();let i;var o=B(r);let s;oe(o,23,()=>p(E),e=>e.node.value,(e,t,r)=>{var i=Ka(),a=()=>re(p(t));M(i,(e,r)=>({class:`sv-ts__row`,role:`treeitem`,"aria-selected":p(t).node.value===n(),"aria-expanded":p(t).hasChildren?p(t).expanded:void 0,onclick:a,...e,[se]:r,[ye]:{"padding-inline-start":`${8+p(t).depth*16}px`}}),[()=>ie.itemProps(p(r)),()=>({"is-active":ie.isActive(p(r)),"is-selected":p(t).node.value===n(),"is-disabled":p(t).node.disabled})],void 0,void 0,`svelte-95y6nb`);var o=B(i),s=e=>{var n=Wa();let r;w(()=>r=Ce(n,1,`sv-ts__chev`,null,r,{"is-open":p(t).expanded})),d(e,n)},c=e=>{var t=Ga();d(e,t)};h(o,e=>{p(t).hasChildren?e(s):e(c,-1)});var l=k(o,2),u=B(l,!0);H(l),H(i),w(()=>v(u,p(t).node.label)),d(e,i)}),H(o),fe(o,e=>V(T,e),()=>p(T)),H(r),fe(r,e=>V(C,e),()=>p(C)),a(r,e=>Xr?.(e)),a(r,(e,t)=>Qr?.(e,t),()=>({up:ie.rect.openUpward})),w(e=>{z(r,`dir`,t.dir),i=A(r,``,i,{position:`fixed`,top:`${ie.rect.top}px`,left:`${ie.rect.left}px`,"min-width":`${ie.rect.width}px`}),z(o,`id`,ie.panelId),z(o,`aria-label`,t.label??t.ariaLabel??`Tree`),z(o,`aria-activedescendant`,e),s=A(o,``,s,{"max-height":`${ie.rect.maxHeight}px`}),r.dir=r.dir},[()=>ie.activeDescendant()]),x(`keydown`,o,function(...e){ie.onPanelKeydown?.apply(this,e)}),d(e,r)};h(ce,e=>{ie.open&&e(ue)}),d(e,ae),me()}u([`keydown`]);var Xa=De(`<path fill="none" stroke-linecap="round"></path>`),Za=De(`<path class="sv-gauge__value svelte-8p5qgu" fill="none" stroke-linecap="round"></path>`),Qa=De(`<line class="sv-gauge__needle svelte-8p5qgu" stroke-linecap="round"></line><circle r="5" class="sv-gauge__hub svelte-8p5qgu"></circle>`,1),$a=y(`<div><svg class="sv-gauge__svg svelte-8p5qgu"><path class="sv-gauge__track svelte-8p5qgu" fill="none" stroke-linecap="round"></path><!><!></svg> <div class="sv-gauge__label svelte-8p5qgu"> </div></div>`);function eo(e,t){le(t,!0);let n=ge(t,`value`,3,0),r=ge(t,`min`,3,0),i=ge(t,`max`,3,100),a=ge(t,`sweep`,3,270),o=ge(t,`bands`,19,()=>[]),s=ge(t,`needle`,3,!0),c=ge(t,`unit`,3,``),l=ge(t,`size`,3,180),u=ge(t,`thickness`,3,14),f=N(()=>t.dir===`ltr`||t.dir===`rtl`?t.dir:void 0),g=Aa({value:()=>n(),min:()=>r(),max:()=>i(),sweep:()=>a(),size:()=>l(),thickness:()=>u(),ariaLabel:()=>t.ariaLabel}),_=N(()=>g.clamped),y=N(()=>g.cx),b=N(()=>g.cy),x=N(()=>g.r),S=(e,t,n)=>g.arcPath(e,t,n),C=N(()=>g.needleEnd),T=N(()=>t.label??`${t.formatValue?t.formatValue(p(_)):Math.round(p(_))}${c()}`);var E=$a();M(E,e=>({class:`sv-gauge`,dir:p(f),...e}),[()=>g.rootProps()],void 0,void 0,`svelte-8p5qgu`);var D=B(E),O=B(D),A=k(O),ee=e=>{var t=m(),n=L(t);oe(n,17,o,e=>e.from+`-`+e.to,(e,t)=>{var n=Xa();w(e=>{z(n,`d`,e),z(n,`stroke`,p(t).color),z(n,`stroke-width`,u())},[()=>S(p(t).from,p(t).to,p(x))]),d(e,n)}),d(e,t)},te=e=>{var t=Za();w(e=>{z(t,`d`,e),z(t,`stroke-width`,u())},[()=>S(r(),p(_),p(x))]),d(e,t)};h(A,e=>{o().length?e(ee):e(te,-1)});var j=k(A),ne=e=>{var t=Qa(),n=L(t),r=k(n);w(()=>{z(n,`x1`,p(y)),z(n,`y1`,p(b)),z(n,`x2`,p(C).x),z(n,`y2`,p(C).y),z(r,`cx`,p(y)),z(r,`cy`,p(b))}),d(e,t)};h(j,e=>{s()&&e(ne)}),H(D);var P=k(D,2),F=B(P,!0);H(P),H(E),w(e=>{z(D,`viewBox`,`0 0 ${l()} ${l()}`),z(D,`width`,l()),z(D,`height`,l()),z(O,`d`,e),z(O,`stroke-width`,u()),v(F,p(T)),E.dir=E.dir},[()=>S(r(),i(),p(x))]),d(e,E),me()}var K=De(`<svg class="sv-tree__spin svelte-szf0nj" viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M21 12a9 9 0 1 1-6.2-8.6"></path></svg>`),to=De(`<svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-szf0nj"><path d="m9 18 6-6-6-6"></path></svg>`),no=De(`<svg viewBox="0 0 16 16" class="svelte-szf0nj"><path d="M3.5 8.5l3 3 6-6.5" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"></path></svg>`),ro=De(`<svg viewBox="0 0 16 16" class="svelte-szf0nj"><path d="M4 8h8" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg>`),io=y(`<button type="button" tabindex="-1" aria-hidden="true"><!></button>`),ao=y(`<input class="sv-tree__edit svelte-szf0nj"/>`),oo=y(`<span class="sv-tree__label svelte-szf0nj"> </span>`),so=y(`<div><button type="button" tabindex="-1" aria-hidden="true"><!></button> <!> <!></div>`),co=y(`<button type="button" class="sv-tree__search-clear svelte-szf0nj">&times;</button>`),lo=y(`<div class="sv-tree__search svelte-szf0nj"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><circle cx="11" cy="11" r="7"></circle><path d="m21 21-4.3-4.3"></path></svg> <input class="sv-tree__search-input svelte-szf0nj" type="text"/> <!></div>`),uo=y(`<div class="sv-tree__sb svelte-szf0nj" aria-hidden="true"><div></div></div>`),fo=y(`<div><!> <div><!> <!></div></div>`);function po(e,t){le(t,!0);let n=(e,t=ee)=>{let n=N(()=>i()?Ee.checkStateOf(t().node):`unchecked`),a=N(()=>p(O).has(t().node.id)),s=N(()=>Ee.itemProps(t()));var c=so(),l=e=>{p(s).onkeydown(e),g()&&e.key===`F2`&&(e.preventDefault(),ie(t().node))};M(c,e=>({class:`sv-tree__row`,draggable:_()&&p(I)!==t().node.id&&!t().node.disabled,ondragstart:_()?e=>ve(e,t().node):void 0,ondragover:_()?e=>be(e,t().node):void 0,ondragleave:_()?()=>{p(ce)===t().node.id&&(V(ce,null),V(ue,null))}:void 0,ondrop:_()?e=>xe(e,t().node):void 0,ondragend:_()?Se:void 0,ondblclick:g()?()=>ie(t().node):void 0,...p(s),onkeydown:l,[se]:{"is-selected":t().node.id===r(),"is-disabled":t().node.disabled,"is-dragging":p(R)===t().node.id,"drop-before":p(ce)===t().node.id&&p(ue)===`before`,"drop-after":p(ce)===t().node.id&&p(ue)===`after`,"drop-inside":p(ce)===t().node.id&&p(ue)===`inside`},[ye]:e}),[()=>({height:`${ze(t().index)}px`,"padding-inline-start":`${t().depth*18+6}px`,transform:o()?`translateY(${Re(t().index)-Be.scrollOffset}px)`:void 0})],void 0,void 0,`svelte-szf0nj`);var u=B(c);let f;var m=B(u),y=e=>{var t=K();d(e,t)},b=e=>{var t=to();d(e,t)};h(m,e=>{p(a)?e(y):t().hasChildren&&e(b,1)}),H(u);var S=k(u,2),T=e=>{var r=io(),i=B(r),a=e=>{var t=no();d(e,t)},o=e=>{var t=ro();d(e,t)};h(i,e=>{p(n)===`checked`?e(a):p(n)===`indeterminate`&&e(o,1)}),H(r),w(()=>Ce(r,1,`sv-tree__check is-${p(n)??``}`,`svelte-szf0nj`)),x(`click`,r,e=>{e.stopPropagation(),Ee.toggleCheck(t().node)}),d(e,r)};h(S,e=>{i()&&e(T)});var E=k(S,2),D=e=>{var t=ao();P(t),x(`click`,t,e=>e.stopPropagation()),x(`keydown`,t,e=>{e.key===`Enter`?(e.preventDefault(),L()):e.key===`Escape`&&(e.preventDefault(),ae())}),C(`blur`,t,L),te(t,()=>p(re),e=>V(re,e)),d(e,t)},A=e=>{var n=oo(),r=B(n,!0);H(n),w(()=>v(r,t().node.label)),d(e,n)};h(E,e=>{p(I)===t().node.id?e(D):e(A,-1)}),H(c),w(()=>f=Ce(u,1,`sv-tree__twist svelte-szf0nj`,null,f,{"is-open":t().open,"is-leaf":!t().hasChildren,"is-loading":p(a)})),x(`click`,u,e=>{e.stopPropagation(),Ee.toggleExpand(t().node)}),d(e,c)},r=ge(t,`selected`,3,null),i=ge(t,`checkable`,3,!1),a=ge(t,`checked`,19,()=>[]),o=ge(t,`virtual`,3,!1),s=ge(t,`rowHeight`,3,30),c=ge(t,`searchable`,3,!1),l=ge(t,`searchPlaceholder`,3,`Search...`),u=ge(t,`loadingText`,3,`Loading...`),m=ge(t,`clearSearchLabel`,3,`Clear search`),g=ge(t,`editable`,3,!1),_=ge(t,`reorderable`,3,!1),y=N(()=>t.dir===`ltr`||t.dir===`rtl`?t.dir:void 0),b=j(``),S=N(()=>t.filter??(c()?p(b):void 0)),E=N(()=>{if(!t.sort)return t.nodes;let e=typeof t.sort==`function`?t.sort:(e,n)=>(t.sort===`asc`?1:-1)*e.label.localeCompare(n.label);return Oa(t.nodes,e)}),D=j(pe(new Map)),O=j(pe(new Set));function ne(e){return e.map(e=>e.lazy&&p(D).has(e.id)?{...e,children:ne(p(D).get(e.id)),lazy:!1}:e.children?.length?{...e,children:ne(e.children)}:e)}let F=N(()=>ne(p(E))),I=j(null),re=j(``);function ie(e){!g()||e.disabled||(V(I,e.id,!0),V(re,e.label,!0),he().then(()=>p(Oe)?.querySelector(`.sv-tree__edit`)?.select()))}function L(){if(p(I)==null)return;let e=p(I),n=p(re).trim();V(I,null),n&&t.onRename?.(e,n)}function ae(){V(I,null)}let R=j(null),ce=j(null),ue=j(null);function de(e,t){let n=e.currentTarget.getBoundingClientRect(),r=(e.clientY-n.top)/n.height,i=!!t.children?.length||!!t.lazy;return r<.3?`before`:r>.7||!i?r>.5?`after`:i?`inside`:`after`:`inside`}function ve(e,t){V(R,t.id,!0),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}function be(e,t){!p(R)||p(R)===t.id||(e.preventDefault(),V(ce,t.id,!0),V(ue,de(e,t),!0))}function xe(e,n){e.preventDefault(),p(R)&&p(R)!==n.id&&p(ue)&&t.onMove?.(p(R),n.id,p(ue)),V(R,V(ce,V(ue,null),!0),!0)}function Se(){V(R,V(ce,V(ue,null),!0),!0)}function we(e,t){for(let n of e){if(n.id===t)return n;if(n.children){let e=we(n.children,t);if(e)return e}}return null}async function Te(e,n){if(t.onToggle?.(e,n),!n||!t.loadChildren)return;let r=we(p(F),e);if(!(!r?.lazy||p(D).has(e)||p(O).has(e))){V(O,new Set(p(O)).add(e),!0),V(D,new Map(p(D)).set(e,[{id:`${e}__loading`,label:u(),disabled:!0}]),!0);try{let n=await t.loadChildren(r);V(D,new Map(p(D)).set(e,n),!0)}catch{V(D,new Map(p(D)).set(e,[]),!0)}finally{let t=new Set(p(O));t.delete(e),V(O,t,!0)}}}let Ee=ka({nodes:()=>p(F),selected:()=>r(),onSelect:e=>t.onSelect?.(e),expandedIds:()=>t.expandedIds,onToggle:Te,checkable:()=>i(),checked:()=>a(),onCheck:e=>t.onCheck?.(e),ariaLabel:()=>t.ariaLabel,dir:()=>t.dir,filter:()=>p(S)}),De=N(()=>o()||t.height!=null),Oe=j(null),ke=j(0),Ae=N(()=>typeof s()==`number`?s():30),je=N(()=>typeof s()==`number`),Me=e=>{let t=Ee.rows[e];return t?typeof s()==`function`?s()(t.node,e):s():p(Ae)},Ne=N(()=>p(je)?p(Ae):e=>Me(e)),Pe=N(()=>p(ke)>0?p(ke):Math.max(1,t.height??320)),Fe=Wr(f(()=>({count:Ee.rows.length,estimateSize:p(Ne),overscan:20,viewportHeight:p(Pe)})));T(()=>{let e=Ee.rows.length,t=p(Ne);f(()=>Fe.setOptions({count:e,estimateSize:t}))}),T(()=>{let e=p(Pe);f(()=>Fe.setViewportHeight(e))});let Ie=N(()=>(Fe.version,Fe.getTotalSize())),Le=N(()=>{if(!o())return Ee.rows;Fe.version;let e=Fe.getState();return Ee.rows.slice(e.startIndex,e.endIndex+1)}),Re=e=>Fe.getOffsetForIndex(e),ze=e=>o()?Fe.getSizeForIndex(e):Me(e),Be=G({virtualizer:Fe,totalSize:()=>p(Ie),viewport:()=>p(Pe),lineStep:()=>p(Ae)}),Ve=0;T(()=>{if(Ee.focusTick===Ve)return;Ve=Ee.focusTick;let e=Ee.activeIndex;o()&&f(()=>Be.ensureIndexVisible(e)),he().then(()=>p(Oe)?.querySelector(`[data-row="${e}"]`)?.focus())});var He=fo();let Ue;var We=B(He),Ge=e=>{var t=lo(),n=k(B(t),2);P(n);var r=k(n,2),i=e=>{var t=co();w(()=>z(t,`aria-label`,m())),x(`click`,t,()=>V(b,``)),d(e,t)};h(r,e=>{p(b)&&e(i)}),H(t),w(()=>{z(n,`placeholder`,l()),z(n,`aria-label`,l())}),te(n,()=>p(b),e=>V(b,e)),d(e,t)};h(We,e=>{c()&&e(Ge)});var Ke=k(We,2);M(Ke,e=>({class:`sv-tree`,dir:p(y),onwheel:o()?Be.onWheel:void 0,onpointerdown:o()?Be.onContentDown:void 0,onpointermove:o()?Be.onContentMove:void 0,onpointerup:o()?Be.onContentUp:void 0,onpointercancel:o()?Be.onContentUp:void 0,...e,[se]:{"sv-tree--scroll":p(De)&&!o(),"is-virtual":o()},[ye]:{height:t.height==null?void 0:`${t.height}px`}}),[()=>Ee.treeProps()],void 0,void 0,`svelte-szf0nj`);var qe=B(Ke);oe(qe,17,()=>p(Le),e=>e.node.id,(e,t)=>{n(e,()=>p(t))});var Je=k(qe,2),Ye=e=>{var t=uo(),n=B(t);let r,i;H(t),w(()=>{r=Ce(n,1,`sv-tree__thumb svelte-szf0nj`,null,r,{"is-dragging":Be.dragging}),i=A(n,``,i,{height:`${Be.thumbH}px`,transform:`translateY(${Be.thumbTop}px)`})}),x(`pointerdown`,t,function(...e){Be.onTrackDown?.apply(this,e)}),x(`pointerdown`,n,function(...e){Be.onThumbDown?.apply(this,e)}),x(`pointermove`,n,function(...e){Be.onThumbMove?.apply(this,e)}),x(`pointerup`,n,function(...e){Be.onThumbUp?.apply(this,e)}),C(`pointercancel`,n,function(...e){Be.onThumbUp?.apply(this,e)}),d(e,t)};h(Je,e=>{o()&&Be.maxOffset>0&&e(Ye)}),H(Ke),fe(Ke,e=>V(Oe,e),()=>p(Oe)),H(He),w(()=>{Ue=Ce(He,1,`sv-tree-host svelte-szf0nj`,null,Ue,{"has-search":c()}),z(He,`dir`,p(y)),Ke.dir=Ke.dir,He.dir=He.dir}),_e(Ke,`clientHeight`,e=>V(ke,e)),d(e,He),me()}u([`click`,`keydown`,`pointerdown`,`pointermove`,`pointerup`]);var mo=0;function ho(e){let t=`sv-acc-${mo++}`,n=()=>e.items(),r=()=>e.expandMode?.()??`single`,i=()=>e.disabled?.()??!1,a=N(()=>new Set(e.expanded())),o=N(()=>n().map((e,t)=>e.disabled?-1:t).filter(e=>e>=0)),s=j(0),c=j(0),l=e=>{V(s,e,!0),R(c)},u=e=>`${t}-h-${e}`,d=e=>`${t}-p-${e}`,f=e=>p(a).has(e);function m(t){let o=n()[t];if(!o||o.disabled||i())return;let s=p(a).has(o.id);if(r()===`single`)e.onChange?.(s?[]:[o.id]);else{let t=new Set(p(a));s?t.delete(o.id):t.add(o.id),e.onChange?.([...t])}}function h(e){if(!p(o).length)return;let t=p(o).indexOf(p(s)),n=t<0?0:t,r=p(o)[(n+e+p(o).length)%p(o).length];r!=null&&l(r)}function g(e,t){if(!i())switch(e.key){case`ArrowDown`:e.preventDefault(),h(1);break;case`ArrowUp`:e.preventDefault(),h(-1);break;case`Home`:e.preventDefault(),l(p(o)[0]??0);break;case`End`:e.preventDefault(),l(p(o).at(-1)??0);break;case`Enter`:case` `:e.preventDefault(),m(t)}}return{get focusIndex(){return p(s)},get focusTick(){return p(c)},get expandedIds(){return[...p(a)]},isExpanded:f,toggle:m,rootProps:()=>({"data-orientation":`vertical`}),headerProps:e=>{let t=n()[e];return{type:`button`,id:u(e),"data-idx":e,"aria-expanded":t?f(t.id):!1,"aria-controls":d(e),disabled:i()||t?.disabled||void 0,onclick:()=>m(e),onkeydown:t=>g(t,e)}},panelProps:e=>({role:`region`,id:d(e),"aria-labelledby":u(e)})}}var go=y(`<div><div class="sv-acc__body svelte-1fv9td1"><!></div></div>`),_o=y(`<div><h3 class="sv-acc__heading svelte-1fv9td1"><button><svg class="sv-acc__chevron svelte-1fv9td1" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg> <span class="sv-acc__label svelte-1fv9td1"> </span></button></h3> <!></div>`),vo=y(`<div></div>`);function yo(e,t){le(t,!0);let n=ge(t,`expanded`,31,()=>pe([])),r=ge(t,`expandMode`,3,`single`),i=ge(t,`disabled`,3,!1),a=N(()=>t.dir===`ltr`||t.dir===`rtl`?t.dir:void 0),s=ho({items:()=>t.items,expanded:()=>n(),onChange:e=>{n(e),t.onChange?.(e)},expandMode:()=>r(),disabled:()=>i(),dir:()=>t.dir}),c=null,l=0;T(()=>{if(s.focusTick!==l){l=s.focusTick;let e=s.focusIndex;queueMicrotask(()=>c?.querySelector(`[data-idx="${e}"]`)?.focus())}});var u=vo();M(u,e=>({class:`sv-acc`,dir:p(a),...e,[se]:{"is-disabled":i()}}),[()=>s.rootProps()],void 0,void 0,`svelte-1fv9td1`),oe(u,23,()=>t.items,e=>e.id,(e,n,r)=>{let i=N(()=>s.isExpanded(p(n).id));var a=_o();let c;var l=B(a),u=B(l);M(u,e=>({class:`sv-acc__header`,...e}),[()=>s.headerProps(p(r))],void 0,void 0,`svelte-1fv9td1`);var f=k(B(u),2),g=B(f,!0);H(f),H(u),H(l);var _=k(l,2),y=e=>{var i=go();M(i,e=>({class:`sv-acc__panel`,...e}),[()=>s.panelProps(p(r))],void 0,void 0,`svelte-1fv9td1`);var a=B(i),c=B(a),l=e=>{var r=m(),i=L(r);o(i,()=>t.panel,()=>p(n)),d(e,r)};h(c,e=>{t.panel&&e(l)}),H(a),H(i),d(e,i)};h(_,e=>{p(i)&&e(y)}),H(a),w(()=>{c=Ce(a,1,`sv-acc__item svelte-1fv9td1`,null,c,{"is-open":p(i)}),v(g,p(n).label)}),d(e,a)}),H(u),fe(u,e=>c=e,()=>c),w(()=>u.dir=u.dir),d(e,u),me()}var bo=Symbol(`svgrid-dock`);function xo(e){return e.panes.reduce((e,t)=>Math.max(e,t.minSize??0),0)}function So(e,t,n=0){return{type:`tabs`,id:e(),panes:t,active:wo(n,t.length)}}function Co(e,t,n,r){return{type:`group`,id:e(),direction:t,children:n,sizes:To(r,n.length)}}function wo(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function To(e,t){if(t<=0)return[];let n=e&&e.length===t?e.slice():Array(t).fill(1),r=n.reduce((e,t)=>e+(t>0?t:0),0);return r<=0?Array(t).fill(1/t):n.map(e=>(e>0?e:0)/r)}function Eo(e,t){if(e.type===`tabs`)return e.panes.some(e=>e.id===t)?e:null;for(let n of e.children){let e=Eo(n,t);if(e)return e}return null}function Do(e){if(e.type===`tabs`)return e.panes.length===0?null:{...e,active:wo(e.active,e.panes.length)};let t=[],n=[];if(e.children.forEach((r,i)=>{let a=Do(r);a&&(t.push(a),n.push(e.sizes[i]??1))}),t.length===0)return null;if(t.length===1)return t[0];let r=[],i=[];return t.forEach((t,a)=>{if(t.type===`group`&&t.direction===e.direction){let e=n[a];t.children.forEach((n,a)=>{r.push(n),i.push(e*(t.sizes[a]??1/t.children.length))})}else r.push(t),i.push(n[a])}),{...e,children:r,sizes:To(i,r.length)}}function Oo(e,t,n){return J(e,e=>e.type===`tabs`&&e.id===t?{...e,active:wo(n,e.panes.length)}:e)}function ko(e,t,n){return J(e,e=>e.type===`group`&&e.id===t?{...e,sizes:To(n,e.children.length)}:e)}function Ao(e,t,n,r){return J(e,e=>{if(e.type!==`tabs`||e.id!==t||n<0||n>=e.panes.length)return e;let i=e.panes[e.active]?.id,a=e.panes.slice(),[o]=a.splice(n,1);if(!o)return e;a.splice(Math.max(0,Math.min(r,a.length)),0,o);let s=a.findIndex(e=>e.id===i);return{...e,panes:a,active:s<0?0:s}})}function jo(e,t){let n=null,r=e=>{if(e.type===`tabs`){let r=e.panes.findIndex(e=>e.id===t);if(r<0)return e;n=e.panes[r];let i=e.panes.filter((e,t)=>t!==r);return{...e,panes:i,active:wo(e.active>r?e.active-1:e.active,i.length)}}return{...e,children:e.children.map(r)}};return{root:Do(r(e)),pane:n}}function Mo(e,t,n,r,i){let a=r===`left`||r===`right`?`row`:`column`,o=r===`left`||r===`top`,s=e=>{if(e.type===`tabs`){if(e.id!==t)return e;if(r===`center`){let t=[...e.panes,n];return{...e,panes:t,active:t.length-1}}let s=So(i,[n],0);return Co(i,a,o?[s,e]:[e,s])}let c=e.children.findIndex(e=>e.type===`tabs`&&e.id===t);if(c>=0&&r!==`center`&&e.direction===a){let t=So(i,[n],0),r=e.children.slice(),a=e.sizes.slice(),s=(e.sizes[c]??1/e.children.length)/2,l=o?c:c+1;return r.splice(l,0,t),a.splice(c,1,s,s),{...e,children:r,sizes:To(a,r.length)}}return{...e,children:e.children.map(s)}};return Do(s(e))??e}function No(e,t){let n=null,r=e=>{if(e.type===`tabs`)return e.id===t?(n=e,null):e;let i=[],a=[];return e.children.forEach((t,n)=>{let o=r(t);o&&(i.push(o),a.push(e.sizes[n]??1))}),i.length===0?null:{...e,children:i,sizes:To(a,i.length)}},i=r(e);return{root:i?Do(i):null,leaf:n}}function Po(e,t,n,r,i=.25){if(!e)return t;let a=n===`left`||n===`right`?`row`:`column`,o=n===`left`||n===`top`,s=Math.min(.6,Math.max(.1,i));return Do(Co(r,a,o?[t,e]:[e,t],o?[s,1-s]:[1-s,s]))??t}function Fo(e,t,n,r,i){let{root:a,pane:o}=jo(e,t);return!a||!o||!q(a,n)?e:Mo(a,n,o,r,i)}function q(e,t){return e.type===`tabs`?e.id===t:e.children.some(e=>q(e,t))}function J(e,t){let n=t(e);return n.type===`group`?{...n,children:n.children.map(e=>J(e,t))}:n}var Io=y(`<div role="separator"></div>`),Lo=y(`<div class="sv-dock__cell svelte-xqw5dg"><!></div> <!>`,1),Ro=y(`<div role="group"></div>`),zo=y(`<div class="sv-dock__ins svelte-xqw5dg" aria-hidden="true"></div>`),Bo=y(`<button type="button" class="sv-dock__tab-close svelte-xqw5dg" title="Close">&times;</button>`),Vo=y(`<!> <div role="tab"><span class="sv-dock__tab-label"> </span> <!></div>`,1),Ho=y(`<div class="sv-dock__ins svelte-xqw5dg" aria-hidden="true"></div>`),Uo=y(`<!> <!>`,1),Wo=y(`<div class="sv-dock__leafctl svelte-xqw5dg"><!></div>`),Go=y(`<div class="sv-dock__content svelte-xqw5dg" role="tabpanel"><!></div>`),Ko=y(`<div class="sv-dock__content svelte-xqw5dg" role="tabpanel"><!></div>`),qo=y(`<div></div>`),Jo=y(`<div></div>`),Yo=y(`<div></div>`),Xo=y(`<div></div>`),Zo=y(`<div></div>`),Qo=y(`<div class="sv-dock__dropzone svelte-xqw5dg" aria-hidden="true"><!> <div><!> <div class="sv-dock__guide-row svelte-xqw5dg"><!> <div></div> <!></div> <!></div></div>`),$o=y(`<div><div role="tablist"><!> <!></div> <!> <!></div>`);function es(e,t){le(t,!0);let n=F(bo),r=j(null);function i(e){return e&&e.type===`tabs`?xo(e):0}function a(e,t,a){if(e.button!==0||!p(r))return;e.preventDefault();let o=t.direction===`column`,s=p(r).getBoundingClientRect(),c=o?s.height:s.width;if(c<=0)return;let l=t.sizes.slice(),u=o?e.clientY:e.clientX,d=a,f=a+1,m=Math.max(n.minSize(),i(t.children[d]))/c,h=Math.max(n.minSize(),i(t.children[f]))/c,g=l[d]+l[f],_=e=>{let r=((o?e.clientY:e.clientX)-u)/c,i=Math.min(Math.max(l[d]+r,m),g-h),a=l.slice();a[d]=i,a[f]=g-i,n.resize(t.id,a)},v=()=>{window.removeEventListener(`pointermove`,_),window.removeEventListener(`pointerup`,v),document.body.style.userSelect=``,document.body.style.cursor=``};document.body.style.userSelect=`none`,document.body.style.cursor=o?`row-resize`:`col-resize`,window.addEventListener(`pointermove`,_),window.addEventListener(`pointerup`,v)}var s=m(),c=L(s),l=e=>{var n=Ro();oe(n,23,()=>t.node.children,e=>e.id,(e,n,r)=>{var i=Lo(),o=L(i);let s;es(B(o),{get node(){return p(n)}}),H(o);var c=k(o,2),l=e=>{var n=Io();w(()=>{Ce(n,1,`sv-dock__splitter sv-dock__splitter--${t.node.direction??``}`,`svelte-xqw5dg`),z(n,`aria-orientation`,t.node.direction===`column`?`horizontal`:`vertical`)}),x(`pointerdown`,n,e=>a(e,t.node,p(r))),d(e,n)};h(c,e=>{p(r)<t.node.children.length-1&&e(l)}),w(()=>s=A(o,``,s,{"flex-grow":t.node.sizes[p(r)]??1,"flex-basis":`0`})),d(e,i)}),H(n),fe(n,e=>V(r,e),()=>p(r)),w(()=>Ce(n,1,`sv-dock__group sv-dock__group--${t.node.direction??``}`,`svelte-xqw5dg`)),d(e,n)},u=e=>{let r=N(()=>t.node.panes[t.node.active]??t.node.panes[0]),i=N(()=>n.reorderTarget?.()??null),a=N(()=>p(i)&&p(i).tabsId===t.node.id?p(i).index:-1),s=N(()=>n.headerPosition?.()??`top`),c=N(()=>!!n.hideSingleTab?.()&&t.node.panes.length===1);var l=$o();let u;var f=B(l);let g;var _=B(f),y=e=>{var r=Uo(),i=L(r);oe(i,19,()=>t.node.panes,e=>e.id,(e,r,i)=>{var o=Vo(),s=L(o),c=e=>{var t=zo();d(e,t)};h(s,e=>{p(a)===p(i)&&e(c)});var l=k(s,2);let u;var f=B(l),m=B(f,!0);H(f);var g=k(f,2),_=e=>{var t=Bo();w(()=>z(t,`aria-label`,`Close ${p(r).title}`)),x(`pointerdown`,t,e=>e.stopPropagation()),x(`click`,t,e=>{e.stopPropagation(),n.close(p(r).id)}),d(e,t)};h(g,e=>{p(r).closable!==!1&&e(_)}),H(l),w(()=>{u=Ce(l,1,`sv-dock__tab svelte-xqw5dg`,null,u,{"is-active":p(i)===t.node.active}),z(l,`aria-selected`,p(i)===t.node.active),z(l,`tabindex`,p(i)===t.node.active?0:-1),z(l,`data-dock-tab`,p(r).id),z(l,`data-tab-index`,p(i)),v(m,p(r).title)}),x(`pointerdown`,l,e=>{e.button===0&&(n.activate(t.node.id,p(i)),n.beginDrag(e,p(r).id,t.node.id))}),x(`keydown`,l,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n.activate(t.node.id,p(i)))}),d(e,o)});var o=k(i,2),s=e=>{var t=Ho();d(e,t)};h(o,e=>{p(a)===t.node.panes.length&&e(s)}),d(e,r)};h(_,e=>{p(c)||e(y)});var b=k(_,2),S=e=>{var r=Wo(),i=B(r);o(i,()=>n.leafActions,()=>t.node),H(r),d(e,r)};h(b,e=>{n.leafActions&&e(S)}),H(f);var C=k(f,2),T=e=>{var i=m(),a=L(i);oe(a,17,()=>t.node.panes,e=>e.id,(e,t)=>{var i=Go();let a;var s=B(i);o(s,()=>n.pane,()=>p(t)),H(i),w(()=>a=A(i,``,a,{display:p(t).id===p(r)?.id?``:`none`})),d(e,i)}),d(e,i)},E=N(()=>n.keepAlive?.()),D=e=>{var t=m(),i=L(t),a=e=>{var t=m(),i=L(t);ae(i,()=>p(r).id,e=>{var t=Ko(),i=B(t);o(i,()=>n.pane,()=>p(r)),H(t),d(e,t)}),d(e,t)};h(i,e=>{p(r)&&e(a)}),d(e,t)};h(C,e=>{p(E)?e(T):e(D,-1)});var O=k(C,2),ee=e=>{let t=N(()=>n.dropTarget()),r=N(()=>p(t).zone),i=N(()=>p(t).centerOnly===!0);var a=Qo(),o=B(a),s=e=>{var t=qo();w(()=>Ce(t,1,`sv-dock__drop-hint sv-dock__drop-hint--${p(r)??``}`,`svelte-xqw5dg`)),d(e,t)};h(o,e=>{p(r)&&e(s)});var c=k(o,2);let l;var u=B(c),f=e=>{var t=Jo();let n;w(()=>n=Ce(t,1,`sv-dock__guide-cell sv-dock__guide-cell--top svelte-xqw5dg`,null,n,{"is-on":p(r)===`top`})),d(e,t)};h(u,e=>{p(i)||e(f)});var m=k(u,2),g=B(m),_=e=>{var t=Yo();let n;w(()=>n=Ce(t,1,`sv-dock__guide-cell sv-dock__guide-cell--left svelte-xqw5dg`,null,n,{"is-on":p(r)===`left`})),d(e,t)};h(g,e=>{p(i)||e(_)});var v=k(g,2);let y;var b=k(v,2),x=e=>{var t=Xo();let n;w(()=>n=Ce(t,1,`sv-dock__guide-cell sv-dock__guide-cell--right svelte-xqw5dg`,null,n,{"is-on":p(r)===`right`})),d(e,t)};h(b,e=>{p(i)||e(x)}),H(m);var S=k(m,2),C=e=>{var t=Zo();let n;w(()=>n=Ce(t,1,`sv-dock__guide-cell sv-dock__guide-cell--bottom svelte-xqw5dg`,null,n,{"is-on":p(r)===`bottom`})),d(e,t)};h(S,e=>{p(i)||e(C)}),H(c),H(a),w(()=>{l=Ce(c,1,`sv-dock__guide svelte-xqw5dg`,null,l,{"is-center-only":p(i)}),y=Ce(v,1,`sv-dock__guide-cell sv-dock__guide-cell--center svelte-xqw5dg`,null,y,{"is-on":p(r)===`center`})}),d(e,a)},te=N(()=>n.dropTarget()?.tabsId===t.node.id);h(O,e=>{p(te)&&e(ee)}),H(l),w(e=>{u=Ce(l,1,`sv-dock__leaf sv-dock__leaf--h-${p(s)??``}`,`svelte-xqw5dg`,u,e),z(l,`data-dock-tabs`,t.node.id),g=Ce(f,1,`sv-dock__tabstrip svelte-xqw5dg`,null,g,{"is-bare":p(c)})},[()=>({"is-focused":n.focusedLeaf?.()===t.node.id})]),d(e,l)};h(c,e=>{t.node.type===`group`?e(l):e(u,-1)}),d(e,s),me()}u([`pointerdown`,`keydown`,`click`]);var ts=0;function ns(){return ts+=1,ts*1e6}var rs=y(`<div class="sv-dock__ghost svelte-1a3gmpe"> </div>`),is=y(`<div><!></div> <!>`,1);function as(e,t){le(t,!0);let n=ge(t,`layout`,15),r=ge(t,`minSize`,3,80),i=ge(t,`surface`,3,`main`),a=ge(t,`externalDrop`,3,null),o=ge(t,`externalReorder`,3,null),s=ge(t,`headerPosition`,3,`top`),c=ge(t,`focusedLeaf`,3,null),l=ge(t,`keepAlive`,3,!1),u=ge(t,`hideSingleTab`,3,!1),f=ge(t,`locked`,3,!1),m=N(()=>!!t.onBeginDrag),g=ns(),_=()=>`dk-${g++}`;function y(e){n(e),t.onLayoutChange?.(e)}let b=(e,r)=>t.onActivate?t.onActivate(e,r):y(Oo(n(),e,r)),x=(e,r)=>t.onResize?t.onResize(e,r):y(ko(n(),e,r)),S=e=>{if(t.onClose){t.onClose(e);return}let{root:r}=jo(n(),e);r&&y(r)},C=j(null),T=j(null),E=null;function D(e){let t=n=>{if(n.type===`tabs`)return n.panes.find(t=>t.id===e)?.title??null;for(let e of n.children){let n=t(e);if(n)return n}return null};return t(n())??``}function O(e,n,r){if(e.button===0&&!f()){if(t.onBeginDrag){t.onBeginDrag(e,n,r);return}E={paneId:n,sourceTabsId:r,title:D(n),sx:e.clientX,sy:e.clientY},window.addEventListener(`pointermove`,te),window.addEventListener(`pointerup`,M)}}function ee(e,t){let n=document.elementFromPoint(e,t)?.closest(`[data-dock-tabs]`);if(!n)return null;let r=n.dataset.dockTabs,i=n.getBoundingClientRect();if(i.width<=0||i.height<=0)return null;let a=(e-i.left)/i.width,o=(t-i.top)/i.height,s=Math.min(a,1-a,o,1-o),c=`center`;if(s<=.25){let e=Math.min(a,1-a,o,1-o);c=e===a?`left`:e===1-a?`right`:e===o?`top`:`bottom`}return{tabsId:r,zone:c}}function te(e){if(E){if(!p(C)){if(Math.hypot(e.clientX-E.sx,e.clientY-E.sy)<5)return;V(C,{paneId:E.paneId,sourceTabsId:E.sourceTabsId,title:E.title,x:e.clientX,y:e.clientY},!0),document.body.style.userSelect=`none`,document.body.style.cursor=`grabbing`}V(C,{...p(C),x:e.clientX,y:e.clientY},!0),V(T,ee(e.clientX,e.clientY),!0)}}function M(){window.removeEventListener(`pointermove`,te),window.removeEventListener(`pointerup`,M),p(C)&&p(T)&&y(Fo(n(),p(C).paneId,p(T).tabsId,p(T).zone,_)),V(C,null),V(T,null),E=null,document.body.style.userSelect=``,document.body.style.cursor=``}ie(bo,{get pane(){return t.pane},get leafActions(){return f()?void 0:t.leafActions},activate:b,close:S,beginDrag:O,resize:x,minSize:()=>r(),dropTarget:()=>p(m)?a():p(T),reorderTarget:()=>p(m)?o():null,headerPosition:()=>s(),focusedLeaf:()=>c(),keepAlive:()=>l(),hideSingleTab:()=>u()});var ne=is(),P=L(ne);let F;es(B(P),{get node(){return n()}}),H(P);var I=k(P,2),re=e=>{var t=rs();let n;var r=B(t,!0);H(t),w(()=>{n=A(t,``,n,{left:`${p(C).x+12}px`,top:`${p(C).y+12}px`}),v(r,p(C).title)}),d(e,t)};h(I,e=>{p(C)&&e(re)}),w(()=>{F=Ce(P,1,`sv-dock svelte-1a3gmpe`,null,F,{"is-dragging":!!p(C)}),z(P,`data-dock-surface`,i())}),d(e,ne),me()}function os(e,t){if(e.main&&Eo(e.main,t))return{kind:`main`};for(let n of e.floating)if(n.leaf.panes.some(e=>e.id===t))return{kind:`floating`,windowId:n.id};for(let n of e.autoHide)if(n.leaf.panes.some(e=>e.id===t))return{kind:`autoHide`,entryId:n.id};return null}function ss(e,t){if(e.main&&cs(e.main,t))return`main`;let n=e.floating.find(e=>e.leaf.id===t);return n?n.id:null}function cs(e,t){return e.type===`tabs`?e.id===t:e.children.some(e=>cs(e,t))}function ls(e,t){let n=e=>{if(e.type===`tabs`)return e.panes.find(e=>e.id===t)??null;for(let t of e.children){let e=n(t);if(e)return e}return null};if(e.main){let t=n(e.main);if(t)return t}for(let n of e.floating){let e=n.leaf.panes.find(e=>e.id===t);if(e)return e}for(let n of e.autoHide){let e=n.leaf.panes.find(e=>e.id===t);if(e)return e}return null}function us(e){return e.floating.reduce((e,t)=>Math.max(e,t.z),0)}function ds(e,t){let n=e.main;n&&Eo(n,t)&&(n=jo(n,t).root);let r=e.floating.map(e=>{if(!e.leaf.panes.some(e=>e.id===t))return e;let n=e.leaf.panes.filter(e=>e.id!==t);if(n.length===0)return null;let r=Math.max(0,Math.min(e.leaf.active,n.length-1));return{...e,leaf:{...e.leaf,panes:n,active:r}}}).filter(e=>e!==null),i=e.autoHide.map(e=>{if(!e.leaf.panes.some(e=>e.id===t))return e;let n=e.leaf.panes.filter(e=>e.id!==t);if(n.length===0)return null;let r=Math.max(0,Math.min(e.leaf.active,n.length-1));return{...e,leaf:{...e.leaf,panes:n,active:r}}}).filter(e=>e!==null);return{main:n,floating:r,autoHide:i}}function fs(e,t,n,r){return e.main&&cs(e.main,t)?{...e,main:Ao(e.main,t,n,r)}:{...e,floating:e.floating.map(e=>{if(e.leaf.id!==t)return e;let i=Ao(e.leaf,t,n,r);return i.type===`tabs`?{...e,leaf:i}:e})}}function ps(e,t,n){return e.main?{...e,main:ms(e.main,t,n)}:e}function ms(e,t,n){if(e.type===`tabs`)return e;let r=e.children.map(e=>ms(e,t,n));return e.id===t?{...e,children:r,sizes:hs(n,r.length)}:{...e,children:r}}function hs(e,t){if(t<=0)return[];let n=e.length===t?e:Array(t).fill(1),r=n.reduce((e,t)=>e+(t>0?t:0),0);return r<=0?Array(t).fill(1/t):n.map(e=>(e>0?e:0)/r)}function gs(e,t,n){let r=e.floating.find(e=>e.leaf.id===t);if(r)return{...e,floating:e.floating.map(e=>e.id===r.id?{...e,leaf:{...e.leaf,active:Rs(n,e.leaf.panes.length)}}:e)};let i=e.autoHide.find(e=>e.leaf.id===t);return i?{...e,autoHide:e.autoHide.map(e=>e.id===i.id?{...e,leaf:{...e.leaf,active:Rs(n,e.leaf.panes.length)}}:e)}:{...e,main:e.main?zs(e.main,t,n):e.main}}function _s(e,t,n,r,i){let a=ls(e,t);if(!a)return e;let o=ss(e,n);if(!o)return e;let s=ds(e,t);if(ss(s,n)===null)return e;if(o===`main`){let t=s.main;return t?{...s,main:Mo(t,n,a,r,i)}:e}return{...s,floating:s.floating.map(e=>{if(e.id!==o)return e;let t=[...e.leaf.panes,a];return{...e,leaf:{...e.leaf,panes:t,active:t.length-1}}})}}function vs(e,t,n){if(!e.main)return{...e,main:So(n,[t],0)};let r=!1,i=e=>{if(r)return e;if(e.type===`tabs`){r=!0;let n=[...e.panes,t];return{...e,panes:n,active:n.length-1}}return{...e,children:e.children.map(i)}};return{...e,main:i(e.main)}}function ys(e,t,n){let r=ls(e,t);if(!r)return e;let i=ds(e,t);return i.main?{...i,main:i.main}:{...i,main:So(n,[r],0)}}function bs(e,t,n,r){let i=ls(e,t);if(!i)return e;let a=os(e,t);if(a?.kind===`floating`){let t=e.floating.find(e=>e.id===a.windowId);if(t&&t.leaf.panes.length===1)return e}let o=ds(e,t),s={id:r(),leaf:So(r,[i],0),x:n.x,y:n.y,width:n.width,height:n.height,z:us(e)+1};return{...o,floating:[...o.floating,s]}}function xs(e,t,n,r,i){let a=e.floating.find(e=>e.id===t);if(!a||ss(e,n)!==`main`||!e.main)return e;let o=e.floating.filter(e=>e.id!==t);if(r===`center`)return{...e,floating:o,main:e.main?Bs(e.main,n,a.leaf.panes):e.main};let s=So(i,a.leaf.panes,a.leaf.active),c=r===`left`||r===`right`?`row`:`column`,l=r===`left`||r===`top`;return{...e,floating:o,main:Vs(e.main,n,s,c,l,i)}}function Ss(e,t,n,r){return{...e,floating:e.floating.map(e=>e.id===t?{...e,x:n,y:r}:e)}}function Cs(e,t,n,r){return{...e,floating:e.floating.map(e=>e.id===t?{...e,width:Math.max(140,n),height:Math.max(80,r)}:e)}}function ws(e,t){let n=us(e);return{...e,floating:e.floating.map(e=>e.id===t?{...e,z:n+1}:e)}}function Ts(e,t,n){return{...e,floating:e.floating.map(e=>e.id===t?{...e,minimized:n,maximized:!n&&e.maximized}:e)}}function Es(e,t){return{...e,floating:e.floating.map(e=>e.id===t?{...e,maximized:!e.maximized,minimized:!1}:e)}}function Ds(e,t){return{...e,floating:e.floating.filter(e=>e.id!==t)}}function Os(e,t){let n=e=>{if(e.type===`tabs`)return e.id===t?e:null;for(let t of e.children){let e=n(t);if(e)return e}return null};if(e.main){let t=n(e.main);if(t)return t}let r=e.floating.find(e=>e.leaf.id===t);if(r)return r.leaf;let i=e.autoHide.find(e=>e.leaf.id===t);return i?i.leaf:null}function ks(e,t){let n=e.maximizedLeaf===t;return{...e,maximizedLeaf:n?null:t}}function As(e,t,n,r,i=260){let a=e.floating.find(e=>e.id===t);if(!a)return e;let o={id:r(),side:n,leaf:So(r,a.leaf.panes,a.leaf.active),size:i};return{...e,floating:e.floating.filter(e=>e.id!==t),autoHide:[...e.autoHide,o]}}function js(e,t,n,r=260){if(!e.main)return e;let{root:i,leaf:a}=No(e.main,t);if(!a)return e;let o={id:`ah-${t}`,side:n,leaf:a,size:r};return{...e,main:i,autoHide:[...e.autoHide,o]}}function Ms(e,t,n,r,i=260){let a=ls(e,t);if(!a)return e;let o=ds(e,t),s={id:r(),side:n,leaf:So(r,[a],0),size:i};return{...o,autoHide:[...o.autoHide,s]}}function Ns(e,t,n,r=.25){let i=e.autoHide.find(e=>e.id===t);if(!i)return e;let a=So(n,i.leaf.panes,i.leaf.active);return{...e,autoHide:e.autoHide.filter(e=>e.id!==t),main:Po(e.main,a,i.side,n,r)}}function Ps(e,t,n){return{...e,autoHide:e.autoHide.map(e=>e.id===t?{...e,size:Math.max(120,n)}:e)}}function Fs(e,t){return ds(e,t)}function Is(e){let t=[],n=e=>{if(t.push(e.id),e.type===`tabs`)for(let n of e.panes)t.push(n.id);else for(let t of e.children)n(t)};e.main&&n(e.main);for(let r of e.floating)t.push(r.id),n(r.leaf);for(let r of e.autoHide)t.push(r.id),n(r.leaf);return t}function Ls(e){let t=new Set,n=1,r=()=>{let e=`dm-d${n++}`;for(;t.has(e);)e=`dm-d${n++}`;return e},i=e=>{let n=t.has(e)?r():e;return t.add(n),n},a=e=>{let t=i(e.id);if(e.type===`tabs`)return t===e.id?e:{...e,id:t};let n=e.children.map(a);return t===e.id&&n.every((t,n)=>t===e.children[n])?e:{...e,id:t,children:n}},o=e.main?a(e.main):e.main,s=!1,c=e.floating.map(e=>{let t=i(e.id),n=a(e.leaf);return t===e.id&&n===e.leaf?e:(s=!0,{...e,id:t,leaf:n})}),l=!1,u=e.autoHide.map(e=>{let t=i(e.id),n=a(e.leaf);return t===e.id&&n===e.leaf?e:(l=!0,{...e,id:t,leaf:n})});return o===e.main&&!s&&!l?e:{...e,main:o,floating:s?c:e.floating,autoHide:l?u:e.autoHide}}function Rs(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function zs(e,t,n){return e.type===`tabs`?e.id===t?{...e,active:Rs(n,e.panes.length)}:e:{...e,children:e.children.map(e=>zs(e,t,n))}}function Bs(e,t,n){if(e.type===`tabs`){if(e.id!==t)return e;let r=[...e.panes,...n];return{...e,panes:r,active:r.length-1}}return{...e,children:e.children.map(e=>Bs(e,t,n))}}function Vs(e,t,n,r,i,a){let o=e=>{if(e.type===`tabs`){if(e.id!==t)return e;let o=i?[n,e]:[e,n];return{type:`group`,id:a(),direction:r,children:o,sizes:[.5,.5]}}return{...e,children:e.children.map(o)}};return o(e)}var Hs=y(`<div class="sv-popout-host svelte-1bgr5p6"><!></div>`);function Us(e,t){var n=Hs(),r=B(n);o(r,()=>t.pane,()=>t.paneData),H(n),d(e,n)}function Ws(e){let t=window.open(``,``,`width=${e.width??480},height=${e.height??360}`);if(!t)return null;let n=t.document;n.title=e.pane.title;for(let e of Array.from(document.styleSheets))try{let t=Array.from(e.cssRules).map(e=>e.cssText).join(`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./jszip.min-CX2fPs3O.js","./rolldown-runtime-Dd_uD5pT.js","./src-BoYyigAC.js","./disclose-version-CIm4S9xS.js","./export-format-DwjuTfrQ.js","./js-scroller.svelte-Bhxqb3-c.js","./preload-helper-CG0n22O7.js","./SvField-BsqiA5me.js","./SvField-BF-9TJSd.css","./date-format-4DJvNtG2.js","./date-format-Dzy4mTGh.css","./popover-CUkLsvRX.js","./SvGridDropdown-CAYG7Y-O.js","./SvGridDropdown-Crwb2P3Q.css","./SvDateTimePicker-BdioTrJQ.js","./dismissable-BO547MH9.js","./SvDateTimePicker-CY8TK4BT.css","./editor-registry-BjP16H0v.js","./easing-zaypKrr0.js","./SvGridChart-BEDNTdc5.js","./chart-DHEgt4lN.js","./SvGridChart-Vu4Nvjiv.css","./src-B7DNcoQK.css"])))=>i.map(i=>d[i]);
2
+ import{i as e,r as t,t as n}from"./rolldown-runtime-Dd_uD5pT.js";import{$ as r,A as i,C as a,D as o,E as s,F as c,G as l,H as u,I as d,J as f,K as p,L as m,M as h,N as g,O as _,P as v,R as y,T as b,U as x,V as S,W as C,X as w,Z as T,_ as E,_t as D,a as O,at as k,b as A,bt as ee,c as te,ct as j,d as M,dt as N,et as ne,f as P,ft as F,g as I,gt as re,ht as ie,it as L,j as ae,k as oe,l as se,lt as R,m as ce,mt as le,n as ue,nt as de,o as fe,ot as pe,p as z,pt as me,q as he,r as ge,rt as B,s as _e,st as V,t as ve,u as ye,ut as be,v as xe,vt as H,w as Se,x as Ce,xt as we,y as Te,yt as Ee,z as De}from"./disclose-version-CIm4S9xS.js";import{$ as Oe,$n as ke,$t as Ae,A as je,An as Me,At as Ne,B as Pe,Bn as Fe,Bt as Ie,C as Le,Cn as Re,Ct as ze,D as Be,Dn as Ve,Dt as He,E as Ue,En as We,Et as Ge,F as Ke,Fn as qe,Ft as Je,G as Ye,Gn as Xe,Gt as Ze,H as Qe,Hn as $e,Ht as et,I as tt,In as nt,It as rt,J as it,Jn as at,Jt as ot,K as st,Kn as U,Kt as ct,L as lt,Ln as ut,Lt as dt,M as ft,Mn as pt,Mt as mt,N as ht,Nn as gt,Nt as _t,O as vt,On as yt,Ot as bt,P as xt,Pn as St,Pt as Ct,Q as wt,Qn as Tt,Qt as Et,R as Dt,Rn as Ot,Rt as kt,S as At,Sn as jt,St as Mt,T as Nt,Tn as Pt,Tt as Ft,U as It,Un as Lt,Ut as Rt,V as zt,Vn as Bt,Vt,W as Ht,Wn as Ut,Wt,X as Gt,Xn as Kt,Xt as qt,Y as Jt,Yn as Yt,Yt as Xt,Z as Zt,Zn as Qt,Zt as $t,_ as en,_n as tn,_r as nn,_t as rn,a as an,an as on,ar as sn,at as cn,b as ln,bn as un,bt as dn,c as fn,cn as pn,cr as mn,ct as hn,d as gn,dn as _n,dr as vn,dt as yn,en as bn,er as xn,et as Sn,f as Cn,fn as wn,fr as Tn,ft as En,g as W,gn as Dn,gr as On,gt as kn,h as An,hn as jn,hr as Mn,ht as Nn,i as Pn,in as Fn,ir as In,it as Ln,j as Rn,jn as zn,jt as Bn,k as Vn,kn as Hn,kt as Un,l as Wn,ln as Gn,lr as Kn,lt as qn,m as Jn,mn as Yn,mr as Xn,mt as Zn,n as Qn,nn as $n,nr as er,nt as tr,o as nr,on as rr,or as ir,ot as ar,p as or,pn as sr,pr as cr,pt as lr,q as ur,qn as dr,qt as fr,r as pr,rn as mr,rr as hr,rt as gr,s as _r,sn as vr,sr as yr,st as br,tn as xr,tr as Sr,tt as Cr,u as wr,un as Tr,ur as Er,ut as Dr,v as Or,vn as kr,vt as Ar,w as jr,wn as Mr,wt as Nr,x as Pr,xn as Fr,xt as Ir,y as Lr,yn as Rr,yt as zr,z as Br,zn as Vr,zt as Hr}from"./src-BoYyigAC.js";import{i as Ur,n as Wr,t as G}from"./js-scroller.svelte-Bhxqb3-c.js";import{t as Gr}from"./preload-helper-CG0n22O7.js";import{i as Kr,n as qr,r as Jr,t as Yr}from"./SvField-BsqiA5me.js";import{i as Xr,n as Zr,r as Qr,t as $r}from"./popover-CUkLsvRX.js";import{r as ei,t as ti}from"./SvDateTimePicker-BdioTrJQ.js";import{t as ni}from"./dismissable-BO547MH9.js";import{t as ri}from"./SvDateRangeInput-CVn-yqrQ.js";import{t as ii}from"./SvListBox-CVYQcLX9.js";import{r as ai}from"./easing-zaypKrr0.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function oi(e){return e==null?[]:Array.isArray(e)?[...e]:[e]}function si(e){let t=()=>e.items(),n=()=>e.mode?.()??`single`,r=()=>e.disabled?.()??!1,i=()=>(e.orientation?.()??`horizontal`)===`vertical`,a=()=>e.dir?.()===`rtl`,o=N(()=>oi(e.value())),s=N(()=>t().map((e,t)=>e.disabled?-1:t).filter(e=>e>=0)),c=e=>p(o).includes(e),l=N(()=>t().findIndex(e=>c(e.value))),u=j(0);T(()=>{let e=t()[p(u)];(!e||e.disabled)&&V(u,p(s)[0]??0,!0)});let d=N(()=>n()===`single`?p(l)>=0?p(l):p(s)[0]??0:p(u));function f(i){let a=t()[i];if(!(!a||a.disabled||r())){if(V(u,i,!0),n()===`none`){e.onChange?.(a.value);return}if(n()===`multiple`){let t=new Set(p(o));t.has(a.value)?t.delete(a.value):t.add(a.value),e.onChange?.([...t])}else e.onChange?.(a.value)}}function m(e){n()===`single`?f(e):V(u,e,!0)}function h(e){if(!p(s).length)return;let t=p(s).indexOf(p(d)),n=p(s)[(t+e+p(s).length)%p(s).length];n!=null&&m(n)}function g(e){if(r())return;let t=!i(),n=t&&a(),o=t?n?`ArrowLeft`:`ArrowRight`:`ArrowDown`,c=t?n?`ArrowRight`:`ArrowLeft`:`ArrowUp`;e.key===o?(e.preventDefault(),h(1)):e.key===c?(e.preventDefault(),h(-1)):e.key===`Home`?(e.preventDefault(),m(p(s)[0]??0)):e.key===`End`?(e.preventDefault(),m(p(s).at(-1)??0)):(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),f(p(d)))}let _=()=>({id:e.id?.(),invalid:e.invalid?.(),required:e.required?.(),error:e.error?.(),hint:e.hint?.(),ariaLabel:e.ariaLabel?.()}),v=()=>n()===`single`?`radiogroup`:`group`;return{get activeIndex(){return p(d)},get selectedValues(){return p(o)},isSelected:c,isActive:e=>e===p(d),pick:f,move:h,onKeydown:g,rootProps:()=>({role:v(),id:e.id?.(),"aria-orientation":i()?`vertical`:`horizontal`,...qr(_()),onkeydown:g}),buttonProps:e=>{let i=t()[e],a=i?c(i.value):!1,o=n()===`single`;return{type:`button`,role:o?`radio`:void 0,"data-idx":e,"aria-checked":o?a:void 0,"aria-pressed":n()===`multiple`?a:void 0,"data-selected":a?``:void 0,disabled:r()||i?.disabled||void 0,tabindex:n()===`none`||e===p(d)?0:-1,onclick:()=>f(e)}}}}var ci=y(`<button> </button>`),li=y(`<input type="hidden"/>`),ui=y(`<div><!> <!></div>`);function di(e,t){le(t,!0);let n=ge(t,`value`,3,null),r=ge(t,`mode`,3,`single`),i=ge(t,`orientation`,3,`horizontal`),a=ge(t,`variant`,3,`solid`),o=ge(t,`disabled`,3,!1),s=ge(t,`size`,3,`md`),c=ge(t,`invalid`,3,!1),l=ge(t,`required`,3,!1),u=Jr(`sv-bg`),f=N(()=>t.id??u),g=si({items:()=>t.items,value:()=>n(),onChange:e=>t.onChange?.(e),mode:()=>r(),orientation:()=>i(),disabled:()=>o(),dir:()=>t.dir,id:()=>p(f),invalid:()=>c(),required:()=>l(),error:()=>t.error,hint:()=>t.hint,ariaLabel:()=>t.ariaLabel??t.label});Yr(e,{get id(){return p(f)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return l()},get dir(){return t.dir},children:(e,n)=>{var r=ui();M(r,e=>({class:`sv-bg sv-bg--${i()??``} sv-bg--${a()??``} sv-bg--${s()??``}`,...e,[se]:{"is-disabled":o(),"is-invalid":c()}}),[()=>g.rootProps()],void 0,void 0,`svelte-1whfl86`);var l=B(r);oe(l,19,()=>t.items,e=>e.value,(e,t,n)=>{var r=ci();M(r,(e,t)=>({class:`sv-bg__btn`,...e,[se]:t}),[()=>g.buttonProps(p(n)),()=>({"is-selected":g.isSelected(p(t).value)})],void 0,void 0,`svelte-1whfl86`);var i=B(r,!0);H(r),w(()=>v(i,p(t).label??p(t).value)),d(e,r)});var u=k(l,2),f=e=>{var n=m(),r=L(n);oe(r,16,()=>g.selectedValues,e=>e,(e,n)=>{var r=li();P(r),w(()=>{z(r,`name`,t.name),I(r,n)}),d(e,r)}),d(e,n)};h(u,e=>{t.name&&e(f)}),H(r),d(e,r)},$$slots:{default:!0}}),me()}var fi=(e,t,n)=>Math.min(Math.max(e,t),n);function pi(e){let{pageCount:t}=e;if(t<=0)return[];let n=Math.max(0,e.siblingCount??1),r=Math.max(1,e.boundaryCount??1),i=fi(e.page,1,t);if(t<=r*2+n*2+3)return Array.from({length:t},(e,t)=>t+1);let a=new Set;for(let e=1;e<=r&&e<=t;e++)a.add(e),a.add(t-e+1);for(let e=i-n;e<=i+n;e++)e>=1&&e<=t&&a.add(e);let o=[...a].sort((e,t)=>e-t),s=[],c=0;for(let e of o)e-c===2?s.push(c+1):e-c>2&&s.push(e<=i?`ellipsis-left`:`ellipsis-right`),s.push(e),c=e;return s}function mi(e){let t=()=>e.page(),n=()=>e.pageCount(),r=()=>e.disabled?.()??!1;function i(i){if(r())return;let a=Math.min(Math.max(i,1),n());a!==t()&&e.onChange?.(a)}let a=()=>i(1),o=()=>i(t()-1),s=()=>i(t()+1),c=()=>i(n()),l=()=>!r()&&t()>1,u=()=>!r()&&t()<n();return{get items(){return pi({page:t(),pageCount:n(),siblingCount:e.siblingCount?.()??1,boundaryCount:e.boundaryCount?.()??1})},go:i,first:a,prev:o,next:s,last:c,canPrev:l,canNext:u,isActive:e=>e===t(),navProps:(e=`Pagination`)=>({"aria-label":e}),pageButtonProps:e=>({"aria-current":e===t()?`page`:void 0,"aria-label":`Page ${e}`,disabled:r(),onclick:()=>i(e)}),firstProps:()=>({"aria-label":`First page`,disabled:!l(),onclick:a}),prevProps:()=>({"aria-label":`Previous page`,disabled:!l(),onclick:o}),nextProps:()=>({"aria-label":`Next page`,disabled:!u(),onclick:s}),lastProps:()=>({"aria-label":`Last page`,disabled:!u(),onclick:c})}}function hi(e){let t=()=>e.count(),n=()=>e.current(),r=()=>e.loop?.()??!0,i=()=>e.dir?.()===`rtl`,a=j(!1),o=j(!1);function s(n){let i=t();if(i===0)return;let a=r()?(n%i+i)%i:Math.max(0,Math.min(n,i-1));e.onChange?.(a)}let c=()=>s(n()+1),l=()=>s(n()-1),u=()=>r()||n()>0,d=()=>r()||n()<t()-1;return T(()=>{let n=e.autoplay?.()??0;if(!n||p(a)||p(o)||t()<2)return;let r=setInterval(()=>c(),n);return()=>clearInterval(r)}),{get paused(){return p(a)},get userPaused(){return p(o)},rtl:i,isActive:e=>e===n(),go:s,next:c,prev:l,canGoPrev:u,canGoNext:d,rootProps:(e=`Carousel`)=>({role:`group`,"aria-roledescription":`carousel`,"aria-label":e,onpointerenter:()=>{V(a,!0)},onpointerleave:()=>{V(a,!1)},onfocusin:()=>{V(a,!0)},onfocusout:()=>{V(a,!1)}}),slideProps:e=>({role:`group`,"aria-roledescription":`slide`,"aria-label":`${e+1} of ${t()}`,"aria-hidden":e!==n(),inert:e!==n()}),prevArrowProps:()=>({"aria-label":i()?`Next slide`:`Previous slide`,onclick:i()?c:l,disabled:i()?!d():!u()}),nextArrowProps:()=>({"aria-label":i()?`Previous slide`:`Next slide`,onclick:i()?l:c,disabled:i()?!u():!d()}),dotProps:e=>({"aria-label":`Go to slide ${e+1}`,"aria-current":e===n()?`true`:void 0,onclick:()=>s(e)}),playPauseProps:()=>({"aria-label":p(o)?`Play autoplay`:`Pause autoplay`,"aria-pressed":p(o),onclick:()=>{V(o,!p(o))}})}}var gi=y(`<span class="sv-seg__icon svelte-1kc6frb"><!></span>`),_i=y(`<button><!> <span class="sv-seg__label"> </span></button>`),vi=y(`<input type="hidden"/>`),yi=y(`<div><!> <!></div>`);function bi(e,t){le(t,!0);let n=ge(t,`value`,15,null),r=ge(t,`disabled`,3,!1),i=ge(t,`size`,3,`md`),a=ge(t,`required`,3,!1),s=ge(t,`invalid`,3,!1),c=ge(t,`block`,3,!1),l=Jr(`sv-seg`),u=N(()=>t.id??l),f=cr({options:()=>t.options,value:()=>n(),onChange:e=>{n(e),t.onChange?.(e)},disabled:()=>r(),ariaLabel:()=>t.ariaLabel??t.label,id:()=>p(u),invalid:()=>s(),required:()=>a(),error:()=>t.error});Yr(e,{get id(){return p(u)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return a()},get dir(){return t.dir},children:(e,a)=>{var l=yi();M(l,e=>({class:`sv-seg sv-seg--${i()??``}`,...e,[se]:{"is-block":c(),"is-disabled":r(),"is-invalid":s()}}),[()=>f.groupProps()],void 0,void 0,`svelte-1kc6frb`);var u=B(l);oe(u,17,()=>t.options,e=>e.value,(e,t)=>{var n=_i();M(n,(e,t)=>({class:`sv-seg__opt`,...e,[se]:t}),[()=>f.radioProps(p(t)),()=>({"is-selected":f.isChecked(p(t))})],void 0,void 0,`svelte-1kc6frb`);var r=B(n),i=e=>{var n=gi(),r=B(n);o(r,()=>p(t).icon),H(n),d(e,n)};h(r,e=>{p(t).icon&&e(i)});var a=k(r,2),s=B(a,!0);H(a),H(n),w(()=>v(s,p(t).label)),d(e,n)});var m=k(u,2),g=e=>{var r=vi();P(r),w(()=>{z(r,`name`,t.name),I(r,n()??``)}),d(e,r)};h(m,e=>{t.name&&e(g)}),H(l),d(e,l)},$$slots:{default:!0}}),me()}var xi=y(`<span class="sv-spinner svelte-1y7q3lg"></span>`);function Si(e,t){let n=ge(t,`size`,3,`md`),r=N(()=>typeof n()==`number`?n():n()===`sm`?15:n()===`lg`?28:20);var i=xi();let a;w(()=>{z(i,`role`,t.label?`status`:void 0),z(i,`aria-label`,t.label),z(i,`aria-hidden`,t.label?void 0:`true`),a=A(i,``,a,{width:`${p(r)}px`,height:`${p(r)}px`,color:t.color})}),d(e,i)}var Ci=y(`<span class="sv-loading__label svelte-1dk9rlz"> </span>`),wi=y(`<!> <!>`,1),Ti=y(`<div role="status" aria-live="polite"><!></div>`);function Ei(e,t){let n=ge(t,`visible`,3,!1),r=ge(t,`spinnerSize`,3,`lg`),i=ge(t,`blur`,3,!1);var a=m(),s=L(a),c=e=>{var n=Ti();let a;var s=B(n),c=e=>{var n=m(),r=L(n);o(r,()=>t.children),d(e,n)},l=e=>{var n=wi(),i=L(n);Si(i,{get size(){return r()}});var a=k(i,2),o=e=>{var n=Ci(),r=B(n,!0);H(n),w(()=>v(r,t.label)),d(e,n)};h(a,e=>{t.label&&e(o)}),d(e,n)};h(s,e=>{t.children?e(c):e(l,-1)}),H(n),w(()=>{a=Ce(n,1,`sv-loading svelte-1dk9rlz`,null,a,{"is-blur":i()}),z(n,`aria-label`,t.label??`Loading`)}),d(e,n)};h(s,e=>{n()&&e(c)}),d(e,a)}var Di=De(`<svg viewBox="0 0 24 24" width="30" height="30" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6 9 17l-5-5"></path></svg>`),Oi=De(`<svg viewBox="0 0 24 24" width="30" height="30" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round"><path d="M18 6 6 18M6 6l12 12"></path></svg>`),ki=De(`<svg viewBox="0 0 24 24" width="30" height="30" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 9v4M12 17h.01M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z"></path></svg>`),Ai=y(`<span class="sv-result__code svelte-1fz3ai2">404</span>`),ji=De(`<svg viewBox="0 0 24 24" width="30" height="30" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"></circle><path d="M12 8h.01M11 12h1v4h1"></path></svg>`),Mi=y(`<p class="sv-result__desc svelte-1fz3ai2"> </p>`),Ni=y(`<div class="sv-result__body svelte-1fz3ai2"><!></div>`),Pi=y(`<div class="sv-result__actions svelte-1fz3ai2"><!></div>`),Fi=y(`<div role="status"><div class="sv-result__icon svelte-1fz3ai2" aria-hidden="true"><!></div> <h2 class="sv-result__title svelte-1fz3ai2"> </h2> <!> <!> <!></div>`);function Ii(e,t){let n=ge(t,`status`,3,`info`);var r=Fi(),i=B(r),a=B(i),s=e=>{var n=m(),r=L(n);o(r,()=>t.icon),d(e,n)},c=e=>{var t=Di();d(e,t)},l=e=>{var t=Oi();d(e,t)},u=e=>{var t=ki();d(e,t)},f=e=>{var t=Ai();d(e,t)},p=e=>{var t=ji();d(e,t)};h(a,e=>{t.icon?e(s):n()===`success`?e(c,1):n()===`error`?e(l,2):n()===`warning`?e(u,3):n()===`notfound`?e(f,4):e(p,-1)}),H(i);var g=k(i,2),_=B(g,!0);H(g);var y=k(g,2),b=e=>{var n=Mi(),r=B(n,!0);H(n),w(()=>v(r,t.description)),d(e,n)};h(y,e=>{t.description&&e(b)});var x=k(y,2),S=e=>{var n=Ni(),r=B(n);o(r,()=>t.children),H(n),d(e,n)};h(x,e=>{t.children&&e(S)});var C=k(x,2),T=e=>{var n=Pi(),r=B(n);o(r,()=>t.actions),H(n),d(e,n)};h(C,e=>{t.actions&&e(T)}),H(r),w(()=>{Ce(r,1,`sv-result sv-result--${n()??``}`,`svelte-1fz3ai2`),v(_,t.title)}),d(e,r)}var Li=y(`<div><button class="sv-collapse__trigger svelte-15w9gn7" type="button"><span class="sv-collapse__label svelte-15w9gn7"><!></span> <svg class="sv-collapse__chev svelte-15w9gn7" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button> <div class="sv-collapse__region svelte-15w9gn7" role="region"><div class="sv-collapse__content svelte-15w9gn7"><!></div></div></div>`);function Ri(e,t){le(t,!0);let n=ge(t,`open`,15,!1),r=ge(t,`disabled`,3,!1),i=Jr(`sv-collapse`);function a(){r()||(n(!n()),t.onOpenChange?.(n()))}var s=Li();let c;var l=B(s),u=B(l),f=B(u),p=e=>{var n=m(),r=L(n);o(r,()=>t.header),d(e,n)},g=e=>{var n=S();w(()=>v(n,t.title)),d(e,n)};h(f,e=>{t.header?e(p):e(g,-1)}),H(u),D(2),H(l);var _=k(l,2),y=B(_),b=B(y);o(b,()=>t.children??ee),H(y),H(_),H(s),w(()=>{c=Ce(s,1,`sv-collapse svelte-15w9gn7`,null,c,{"is-open":n(),"is-disabled":r()}),l.disabled=r(),z(l,`aria-expanded`,n()),z(l,`aria-controls`,`${i}-panel`),z(l,`id`,`${i}-trigger`),z(_,`id`,`${i}-panel`),z(_,`aria-labelledby`,`${i}-trigger`),_.inert=!n()}),x(`click`,l,a),d(e,s),me()}u([`click`]);function zi(e,t){let n=ge(t,`size`,3,`md`),r=ge(t,`weight`,3,`normal`),i=ge(t,`tone`,3,`default`),a=ge(t,`truncate`,3,!1),s=ge(t,`inline`,3,!1),c={xs:`11px`,sm:`13px`,md:`14px`,lg:`16px`,xl:`20px`},l={normal:400,medium:500,semibold:600,bold:700},u={default:`var(--sg-fg, #0f172a)`,muted:`var(--sg-muted, #64748b)`,accent:`var(--sg-accent, #2563eb)`,success:`var(--sg-success, #16a34a)`,warning:`var(--sg-warning, #d97706)`,error:`var(--sg-danger, #dc2626)`},f={start:`left`,center:`center`,end:`right`},h=N(()=>t.as??(s()?`span`:`p`));var g=m(),_=L(g);Se(_,()=>p(h),!1,(e,s)=>{M(e,()=>({class:`sv-text`,style:``,[se]:{"is-truncate":a()&&!t.clamp,"is-clamp":t.clamp!=null},[ye]:{"font-size":c[n()],"font-weight":l[r()],color:u[i()],"text-align":t.align?f[t.align]:void 0,"--sv-text-clamp":t.clamp}}),void 0,void 0,void 0,`svelte-1ncm0uw`);var p=m(),h=L(p);o(h,()=>t.children??ee),d(s,p)}),d(e,g)}function Bi(e,t){let n=ge(t,`order`,3,2),r=ge(t,`truncate`,3,!1),i={1:`30px`,2:`24px`,3:`20px`,4:`17px`,5:`15px`,6:`13px`},a={1:700,2:700,3:600,4:600,5:600,6:600},s={start:`left`,center:`center`,end:`right`},c=N(()=>t.size??n()),l=N(()=>`h${n()}`);var u=m(),f=L(u);Se(f,()=>p(l),!1,(e,n)=>{M(e,()=>({class:`sv-title`,style:``,[se]:{"is-truncate":r()},[ye]:{"font-size":i[p(c)],"font-weight":a[p(c)],"text-align":t.align?s[t.align]:void 0}}),void 0,void 0,void 0,`svelte-1bznalt`);var l=m(),u=L(l);o(u,()=>t.children??ee),d(n,l)}),d(e,u)}var Vi=y(`<span class="sv-anchor__ext svelte-g26ywi" aria-hidden="true">↗</span><span class="sv-anchor__sr svelte-g26ywi">(opens in a new tab)</span>`,1),Hi=y(`<a><!><!></a>`);function Ui(e,t){let n=ge(t,`external`,3,!1),r=ge(t,`underline`,3,`hover`),i=ge(t,`tone`,3,`accent`),a=ge(t,`size`,3,`md`),s={sm:`13px`,md:`14px`,lg:`16px`},c={accent:`var(--sg-accent, #2563eb)`,default:`var(--sg-fg, #0f172a)`,muted:`var(--sg-muted, #64748b)`};var l=Hi();let u;var f=B(l);o(f,()=>t.children??ee);var p=k(f),m=e=>{var t=Vi();D(),d(e,t)};h(p,e=>{n()&&e(m)}),H(l),w(()=>{z(l,`href`,t.href),Ce(l,1,`sv-anchor sv-anchor--u-${r()??``}`,`svelte-g26ywi`),z(l,`target`,n()?`_blank`:void 0),z(l,`rel`,n()?`noopener noreferrer`:void 0),u=A(l,``,u,{"font-size":s[a()],color:c[i()]})}),x(`click`,l,function(...e){t.onclick?.apply(this,e)}),d(e,l)}u([`click`]);var Wi=y(`<footer class="sv-blockquote__cite svelte-1iwaj9k"> </footer>`),Gi=y(`<blockquote class="sv-blockquote svelte-1iwaj9k"><div class="sv-blockquote__body svelte-1iwaj9k"><!></div> <!></blockquote>`);function Ki(e,t){let n=ge(t,`tone`,3,`accent`),r={accent:`var(--sg-accent, #2563eb)`,muted:`var(--sg-muted, #64748b)`,success:`var(--sg-success, #16a34a)`,warning:`var(--sg-warning, #d97706)`,error:`var(--sg-danger, #dc2626)`};var i=Gi();let a;var s=B(i),c=B(s);o(c,()=>t.children??ee),H(s);var l=k(s,2),u=e=>{var n=Wi(),r=B(n);H(n),w(()=>v(r,`- ${t.cite??``}`)),d(e,n)};h(l,e=>{t.cite&&e(u)}),H(i),w(()=>a=A(i,``,a,{"--sv-bq-rule":r[n()]})),d(e,i)}var qi=y(`<mark class="sv-mark svelte-1wc4y72"><!></mark>`);function Ji(e,t){let n=ge(t,`tone`,3,`yellow`),r={yellow:`#fef08a`,accent:`color-mix(in srgb, var(--sg-accent, #2563eb) 22%, transparent)`,success:`color-mix(in srgb, var(--sg-success, #16a34a) 22%, transparent)`,warning:`color-mix(in srgb, var(--sg-warning, #d97706) 24%, transparent)`,error:`color-mix(in srgb, var(--sg-danger, #dc2626) 20%, transparent)`};var i=qi();let a;var s=B(i);o(s,()=>t.children??ee),H(i),w(()=>a=A(i,``,a,{background:r[n()]})),d(e,i)}var Yi=y(`<li> </li>`);function Xi(e,t){let n=ge(t,`type`,3,`unordered`),r=ge(t,`spacing`,3,`md`),a=ge(t,`size`,3,`md`),s={sm:`2px`,md:`6px`,lg:`10px`},c={sm:`13px`,md:`14px`,lg:`16px`},l=N(()=>n()===`ordered`?`ol`:`ul`);var u=m(),f=L(u);Se(f,()=>p(l),!1,(e,l)=>{M(e,()=>({class:`sv-list sv-list--${n()??``}`,style:``,[ye]:{"--sv-list-gap":s[r()],"font-size":c[a()]}}),void 0,void 0,void 0,`svelte-1pddvq7`);var u=m(),f=L(u),g=e=>{var n=m(),r=L(n);o(r,()=>t.children),d(e,n)},_=e=>{var n=m(),r=L(n);oe(r,17,()=>t.items,i,(e,t)=>{var n=Yi(),r=B(n,!0);H(n),w(()=>v(r,p(t))),d(e,n)}),d(e,n)};h(f,e=>{t.children?e(g):t.items&&e(_,1)}),d(l,u)}),d(e,u)}var Zi=y(`<span class="sv-kbd__sep svelte-il8pr6" aria-hidden="true"> </span>`),Qi=y(`<!> <kbd class="sv-kbd svelte-il8pr6"> </kbd>`,1),$i=y(`<span></span>`),ea=y(`<kbd><!></kbd>`);function ta(e,t){let n=ge(t,`separator`,3,`+`),r=ge(t,`size`,3,`md`);var a=m(),s=L(a),c=e=>{var a=$i();oe(a,21,()=>t.keys,i,(e,t,r)=>{var i=Qi(),a=L(i),o=e=>{var t=Zi(),r=B(t,!0);H(t),w(()=>v(r,n())),d(e,t)};h(a,e=>{r>0&&e(o)});var s=k(a,2),c=B(s,!0);H(s),w(()=>v(c,p(t))),d(e,i)}),H(a),w(()=>Ce(a,1,`sv-kbd-group sv-kbd--${r()??``}`,`svelte-il8pr6`)),d(e,a)},l=e=>{var n=ea(),i=B(n);o(i,()=>t.children??ee),H(n),w(()=>Ce(n,1,`sv-kbd sv-kbd--${r()??``}`,`svelte-il8pr6`)),d(e,n)};h(s,e=>{t.keys?e(c):e(l,-1)}),d(e,a)}var na=y(`<pre class="sv-code sv-code--block svelte-6sl55m"><code class="svelte-6sl55m"><!></code></pre>`),ra=y(`<code class="sv-code sv-code--inline svelte-6sl55m"><!></code>`);function ia(e,t){let n=ge(t,`block`,3,!1);var r=m(),i=L(r),a=e=>{var n=na(),r=B(n),i=B(r),a=e=>{var n=S();w(()=>v(n,t.code)),d(e,n)},s=e=>{var n=m(),r=L(n);o(r,()=>t.children??ee),d(e,n)};h(i,e=>{t.code==null?e(s,-1):e(a)}),H(r),H(n),d(e,n)},s=e=>{var n=ra(),r=B(n),i=e=>{var n=S();w(()=>v(n,t.code)),d(e,n)},a=e=>{var n=m(),r=L(n);o(r,()=>t.children??ee),d(e,n)};h(r,e=>{t.code==null?e(a,-1):e(i)}),H(n),d(e,n)};h(i,e=>{n()?e(a):e(s,-1)}),d(e,r)}function aa(e,t,n){return(n?e.replace(/\D/g,``):e.replace(/\s/g,``)).slice(0,Math.max(0,t))}function oa(e,t){let n=[];for(let r=0;r<t;r++)n[r]=e[r]??``;return n}function sa(e,t){return e.length===t}var ca=y(`<input class="sv-otp__cell svelte-goc1ko" maxlength="1"/>`),la=y(`<input type="hidden"/>`),ua=y(`<div><!> <!></div>`);function da(e,t){le(t,!0);let n=ge(t,`value`,15,``),r=ge(t,`length`,3,6),o=ge(t,`numeric`,3,!0),s=ge(t,`mask`,3,!1),c=ge(t,`disabled`,3,!1),l=ge(t,`required`,3,!1),u=ge(t,`size`,3,`md`),f=ge(t,`invalid`,3,!1),m=ge(t,`autofocus`,3,!1),g=Jr(`sv-otp`),_=N(()=>t.id??g),v=N(()=>oa(aa(n(),r(),o()),r())),y=pe([]);function b(e){let i=aa(e,r(),o());n(i),t.onChange?.(i),sa(i,r())&&t.onComplete?.(i)}function S(e){let t=y[Math.max(0,Math.min(r()-1,e))];t?.focus(),t?.select()}function T(){return oa(aa(n(),r(),o()),r())}function E(e,t){let n=aa(t.currentTarget.value,1,o()).slice(-1),r=T();r[e]=n,b(r.join(``)),n&&S(e+1)}function D(e,n){let r=t.dir===`rtl`;if(n.key===`Backspace`){n.preventDefault();let t=T();t[e]?(t[e]=``,b(t.join(``))):e>0&&(t[e-1]=``,b(t.join(``)),S(e-1))}else n.key===`ArrowLeft`?(n.preventDefault(),S(r?e+1:e-1)):n.key===`ArrowRight`&&(n.preventDefault(),S(r?e-1:e+1))}function O(e,t){t.preventDefault();let n=t.clipboardData?.getData(`text`)??``,i=T(),a=aa(n,r()-e,o());for(let t=0;t<a.length;t++)i[e+t]=a[t];b(i.join(``)),S(Math.min(e+a.length,r()-1))}function A(e,t){m()&&t===0&&e.focus()}Yr(e,{get id(){return p(_)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return l()},get dir(){return t.dir},children:(e,m)=>{var g=ua();M(g,e=>({class:`sv-otp sv-otp--${u()??``}`,role:`group`,...e,[se]:{"is-disabled":c(),"is-invalid":f()}}),[()=>qr({id:p(_),invalid:f(),required:l(),error:t.error,hint:t.hint,ariaLabel:t.label??`One-time code`})],void 0,void 0,`svelte-goc1ko`);var b=B(g);oe(b,17,()=>p(v),i,(e,t,n)=>{var i=ca();P(i),z(i,`autocomplete`,n===0?`one-time-code`:`off`),fe(i,(e,t)=>y[t]=e,e=>y?.[e],()=>[n]),a(i,(e,t)=>A?.(e,t),()=>n),w(()=>{z(i,`type`,s()?`password`:`text`),z(i,`inputmode`,o()?`numeric`:`text`),I(i,p(t)),i.disabled=c(),z(i,`aria-label`,`Character ${n+1} of ${r()}`)}),x(`input`,i,e=>E(n,e)),x(`keydown`,i,e=>D(n,e)),C(`paste`,i,e=>O(n,e)),C(`focus`,i,e=>e.currentTarget.select()),d(e,i)});var S=k(b,2),T=e=>{var r=la();P(r),w(()=>{z(r,`name`,t.name),I(r,n())}),d(e,r)};h(S,e=>{t.name&&e(T)}),H(g),d(e,g)},$$slots:{default:!0}}),me()}u([`input`,`keydown`]);function fa(e){let t=e.trim().toLowerCase();if(!t)return null;let n=t.match(/^(\d+):(\d{1,2})$/);if(n){let e=parseInt(n[2],10);return e>59?null:parseInt(n[1],10)*60+e}let r=t.match(/\d+(?:\.\d+)?\s*[hm]/g);if(r&&r.join(``).replace(/\s/g,``).length===t.replace(/\s/g,``).length){let e=0;for(let t of r){let n=t.match(/(\d+(?:\.\d+)?)\s*([hm])/),r=parseFloat(n[1]);e+=n[2]===`h`?r*60:r}return Math.round(e)}let i=Number(t);return Number.isFinite(i)?Math.round(i):null}function pa(e,t=`colon`){if(!Number.isFinite(e)||e<0)return``;let n=Math.floor(e/60),r=Math.round(e%60);return t===`units`?n&&r?`${n}h ${r}m`:n?`${n}h`:`${r}m`:`${n}:${String(r).padStart(2,`0`)}`}var ma=y(`<input type="hidden"/>`),ha=y(`<input/> <!>`,1);function ga(e,t){le(t,!0);let n=ge(t,`value`,15,null),r=ge(t,`style`,3,`colon`),i=ge(t,`placeholder`,3,`e.g. 1h 30m`),o=ge(t,`disabled`,3,!1),s=ge(t,`readonly`,3,!1),c=ge(t,`size`,3,`md`),l=ge(t,`invalid`,3,!1),u=ge(t,`required`,3,!1),f=ge(t,`loading`,3,!1),m=ge(t,`autofocus`,3,!1),g=ge(t,`clearable`,3,!1),_=ge(t,`block`,3,!1),v=ge(t,`width`,3,160),y=Jr(`sv-dur`),b=N(()=>t.id??y),x=j(``),S=j(!1);T(()=>{p(S)||V(x,n()==null?``:pa(n(),r()),!0)});function C(){let e=fa(p(x));return n(e),t.onChange?.(e),e!=null&&V(x,pa(e,r()),!0),e}function E(e){m()&&(e.focus(),e.select())}{let r=N(()=>n()!=null);Yr(e,{frame:!0,get id(){return p(b)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return u()},get dir(){return t.dir},get size(){return c()},get invalid(){return l()},get disabled(){return o()},get readonly(){return s()},get loading(){return f()},get block(){return _()},get width(){return v()},get leading(){return t.leading},get trailing(){return t.trailing},get clearable(){return g()},get showClear(){return p(r)},onclear:()=>{n(null),V(x,``),t.onChange?.(null)},children:(e,r)=>{var c=ha(),f=L(c),m=e=>V(x,e.currentTarget.value,!0),g=()=>V(S,!0),_=()=>{V(S,!1),C()},v=e=>{e.key===`Enter`?t.onCommit?.(C()):e.key===`Escape`&&t.onCancel?.()};M(f,e=>({class:`sv-dur__input`,type:`text`,inputmode:`numeric`,value:p(x),placeholder:i(),disabled:o(),readonly:s(),oninput:m,onfocus:g,onblur:_,onkeydown:v,...e}),[()=>qr({id:p(b),invalid:l(),required:u(),error:t.error,hint:t.hint,ariaLabel:t.ariaLabel})],void 0,void 0,void 0,!0),a(f,e=>E?.(e));var y=k(f,2),T=e=>{var r=ma();P(r),w(()=>{z(r,`name`,t.name),I(r,n()??``)}),d(e,r)};h(y,e=>{t.name&&e(T)}),d(e,c)},$$slots:{default:!0}})}me()}var _a=y(`<span class="sv-rt__sep svelte-1enx0me" aria-hidden="true"></span>`),va=y(`<button type="button"> </button>`),ya=y(`<div class="sv-rt__toolbar svelte-1enx0me" role="toolbar"></div>`),ba=y(`<div><!> <div role="textbox" aria-multiline="true"></div></div>`);function xa(e,t){le(t,!0);let n=[`bold`,`italic`,`underline`,`strike`,`|`,`h1`,`h2`,`h3`,`p`,`|`,`ul`,`ol`,`quote`,`code`,`|`,`alignLeft`,`alignCenter`,`alignRight`,`|`,`link`,`clear`,`|`,`undo`,`redo`],r={bold:`B`,italic:`I`,underline:`U`,strike:`S`,h1:`H1`,h2:`H2`,h3:`H3`,p:`¶`,ul:`•`,ol:`1.`,quote:`❝`,code:`</>`,alignLeft:`≡`,alignCenter:`≣`,alignRight:`≡`,link:`🔗`,clear:`⌫`,undo:`↶`,redo:`↷`},a={bold:`Bold`,italic:`Italic`,underline:`Underline`,strike:`Strikethrough`,h1:`Heading 1`,h2:`Heading 2`,h3:`Heading 3`,p:`Paragraph`,ul:`Bullet list`,ol:`Numbered list`,quote:`Quote`,code:`Code block`,alignLeft:`Align left`,alignCenter:`Align center`,alignRight:`Align right`,link:`Link`,clear:`Clear formatting`,undo:`Undo`,redo:`Redo`,linkPrompt:`Link URL`,toolbar:`Formatting`},o=ge(t,`value`,15,``),s=ge(t,`placeholder`,3,``),c=ge(t,`disabled`,3,!1),l=ge(t,`readonly`,3,!1),u=ge(t,`minHeight`,3,`160px`),f=ge(t,`tools`,3,n),g=ge(t,`ariaLabel`,3,`Rich text editor`),_=N(()=>Kr(a,t.messages)),y=Jr(`sv-rt`),b=j(null),S=j(!1),E=j(!0),D=j(pe({}));T(()=>{let e=o()??``;p(b)&&!p(S)&&p(b).innerHTML!==e&&(p(b).innerHTML=e),p(b)&&V(E,p(b).textContent.trim().length===0)});function O(){if(!p(b))return;let e=p(b).innerHTML;V(E,p(b).textContent.trim().length===0),o(e),t.onChange?.(e)}function ee(e){try{return document.queryCommandState(e)}catch{return!1}}function te(){V(D,{bold:ee(`bold`),italic:ee(`italic`),underline:ee(`underline`),strike:ee(`strikeThrough`),ul:ee(`insertUnorderedList`),ol:ee(`insertOrderedList`)},!0)}function M(e,t){if(!(c()||l())){p(b)?.focus();try{document.execCommand(e,!1,t)}catch{}O(),te()}}let ne={bold:()=>M(`bold`),italic:()=>M(`italic`),underline:()=>M(`underline`),strike:()=>M(`strikeThrough`),h1:()=>M(`formatBlock`,`H1`),h2:()=>M(`formatBlock`,`H2`),h3:()=>M(`formatBlock`,`H3`),p:()=>M(`formatBlock`,`P`),ul:()=>M(`insertUnorderedList`),ol:()=>M(`insertOrderedList`),quote:()=>M(`formatBlock`,`BLOCKQUOTE`),code:()=>M(`formatBlock`,`PRE`),alignLeft:()=>M(`justifyLeft`),alignCenter:()=>M(`justifyCenter`),alignRight:()=>M(`justifyRight`),link:()=>{let e=typeof prompt==`function`?prompt(p(_).linkPrompt,`https://`):null;e&&M(`createLink`,e)},clear:()=>M(`removeFormat`),undo:()=>M(`undo`),redo:()=>M(`redo`)};var P=ba();let F;var I=B(P),re=e=>{var t=ya();oe(t,21,f,i,(e,t)=>{var n=m(),i=L(n),a=e=>{var t=_a();d(e,t)},o=e=>{var n=va();let i;var a=B(n,!0);H(n),w(()=>{i=Ce(n,1,`sv-rt__btn svelte-1enx0me`,null,i,{"is-on":p(D)[p(t)]}),z(n,`data-tool`,p(t)),z(n,`title`,p(_)[p(t)]),z(n,`aria-label`,p(_)[p(t)]),z(n,`aria-pressed`,p(D)[p(t)]?!0:void 0),n.disabled=c(),v(a,r[p(t)])}),x(`mousedown`,n,e=>e.preventDefault()),x(`click`,n,function(...e){ne[p(t)]?.apply(this,e)}),d(e,n)};h(i,e=>{p(t)===`|`?e(a):e(o,-1)}),d(e,n)}),H(t),w(()=>{z(t,`aria-label`,p(_).toolbar),z(t,`aria-controls`,y)}),d(e,t)};h(I,e=>{l()||e(re)});var ie=k(I,2);let ae,se;fe(ie,e=>V(b,e),()=>p(b)),H(P),w(()=>{F=Ce(P,1,`sv-rt svelte-1enx0me`,null,F,{"is-disabled":c(),"is-readonly":l()}),z(ie,`id`,y),ae=Ce(ie,1,`sv-rt__body svelte-1enx0me`,null,ae,{"is-empty":p(E)}),z(ie,`contenteditable`,!c()&&!l()),z(ie,`aria-label`,g()),z(ie,`data-placeholder`,s()),z(ie,`tabindex`,c()?-1:0),se=A(ie,``,se,{"min-height":u()})}),x(`input`,ie,O),C(`focus`,ie,()=>V(S,!0)),C(`blur`,ie,()=>{V(S,!1),O()}),x(`keyup`,ie,te),x(`mouseup`,ie,te),d(e,P),me()}u([`mousedown`,`click`,`input`,`keyup`,`mouseup`]);var Sa=0;function Ca(e){let t=`${`sv-ac-${Sa++}`}-list`,n=e=>`${t}-opt-${e}`,r=()=>e.minChars?.()??1,i=()=>({id:e.id?.(),invalid:e.invalid?.(),required:e.required?.(),error:e.error?.(),hint:e.hint?.(),ariaLabel:e.ariaLabel?.()}),a=j(!1),o=j(0),s=N(()=>e.suggestions().map(e=>typeof e==`string`?{value:e,label:e}:e)),c=N(()=>e.value().length>=r()?Ur(p(s),e.value()).slice(0,10):[]);function l(){V(a,p(c).length>0),p(a)&&V(o,0)}function u(t){t&&(e.onChange?.(String(t.value)),V(a,!1),e.focusInput?.())}function d(){V(a,!1)}function f(t){e.onChange?.(t.currentTarget.value),queueMicrotask(l)}function m(e){if(!p(a)){e.key===`ArrowDown`&&queueMicrotask(l);return}e.key===`ArrowDown`?(e.preventDefault(),V(o,Math.min(p(o)+1,p(c).length-1),!0)):e.key===`ArrowUp`?(e.preventDefault(),V(o,Math.max(p(o)-1,0),!0)):e.key===`Enter`?(e.preventDefault(),u(p(c)[p(o)])):e.key===`Escape`&&d()}return{get open(){return p(a)},get activeIndex(){return p(o)},get filtered(){return p(c)},get value(){return e.value()},listId:t,isActive:e=>e===p(o),setActive:e=>{V(o,e,!0)},maybeOpen:l,close:d,pick:u,onInput:f,onKeydown:m,inputProps:()=>({id:e.id?.(),role:`combobox`,"aria-expanded":p(a),"aria-controls":t,"aria-autocomplete":`list`,"aria-activedescendant":p(a)&&p(c)[p(o)]?n(p(o)):void 0,...qr(i()),value:e.value(),disabled:e.disabled?.()??!1,oninput:f,onfocus:l,onkeydown:m}),listboxProps:()=>({id:t,role:`listbox`}),optionProps:e=>({id:n(e),role:`option`,tabindex:-1,"aria-selected":e===p(o),"data-idx":e,onclick:()=>u(p(c)[e]),onpointermove:()=>{V(o,e,!0)}})}}function wa(e){let t=()=>e.pressed(),n=()=>e.disabled?.()??!1;function r(){n()||e.onChange?.(!t())}let i=()=>({id:e.id?.(),invalid:e.invalid?.(),required:e.required?.(),error:e.error?.(),hint:e.hint?.(),ariaLabel:e.ariaLabel?.()});return{get pressed(){return t()},get disabled(){return n()},toggle:r,buttonProps:()=>({type:`button`,id:e.id?.(),"aria-pressed":t(),disabled:n(),"data-pressed":t()?``:void 0,...qr(i()),onclick:r})}}function Ta(e){let t=[],n=e=>{for(let r of e.children??[])t.push(r.id),n(r)};return n(e),t}function Ea(e,t){if(!e.children?.length)return t.has(e.id)?`checked`:`unchecked`;let n=Ta(e),r=n.filter(e=>t.has(e)).length;return r===0&&!t.has(e.id)?`unchecked`:r===n.length?`checked`:`indeterminate`}function Da(e,t){for(let n of e){if(n.id===t)return n;if(n.children){let e=Da(n.children,t);if(e)return e}}return null}function Oa(e,t){return[...e].sort(t).map(e=>e.children?{...e,children:Oa(e.children,t)}:e)}function ka(e){let t=()=>e.nodes(),n=()=>e.checkable?.()??!1,r=()=>e.selected?.()??null,i=j(pe(new Set)),a=!1;T(()=>{if(!a){a=!0;let t=e.expandedIds?.();t&&V(i,new Set(t),!0)}});let o=N(()=>{let n=e.filter?.()?.trim().toLowerCase();if(!n)return null;let r=new Set,i=new Set,a=e=>{let t=!1;for(let n of e.children??[])t=a(n)||t;let o=e.label.toLowerCase().includes(n);return(o||t)&&(r.add(e.id),t&&i.add(e.id)),o||t};for(let e of t())a(e);return{visible:r,forceOpen:i}}),s=N(()=>{let e=[],n=p(o),r=(t,a,o)=>{for(let s of t){if(n&&!n.visible.has(s.id))continue;let t=!!s.children?.length||!!s.lazy,c=n&&n.forceOpen.has(s.id)||p(i).has(s.id);e.push({node:s,depth:a,hasChildren:t,open:c,parentId:o,index:e.length}),c&&s.children?.length&&r(s.children,a+1,s.id)}};return r(t(),0,null),e}),c=j(0);T(()=>{p(c)>=p(s).length&&V(c,Math.max(0,p(s).length-1),!0)});let l=N(()=>new Set(e.checked?.()??[])),u=j(0);function d(e,t=!1){V(c,e,!0),t&&R(u)}let f=e=>Ea(e,p(l)),m=e=>p(i).has(e),h=e=>e===r();function g(t){if(!t.children?.length&&!t.lazy)return;let n=new Set(p(i)),r=!n.has(t.id);r?n.add(t.id):n.delete(t.id),V(i,n,!0),e.onToggle?.(t.id,r)}let _=e=>{let n=Da(t(),e);n&&g(n)};function v(t){t.disabled||e.onSelect?.(t.id)}let y=e=>{let n=Da(t(),e);n&&v(n)};function b(t){if(t.disabled)return;let n=new Set(p(l)),r=[t.id,...Ta(t)],i=f(t)===`checked`;for(let e of r)i?n.delete(e):n.add(e);e.onCheck?.([...n])}function x(e,t){let n=e;for(;n+t>=0&&n+t<=p(s).length-1;)if(n+=t,!p(s)[n]?.node.disabled)return n;return e}function S(t){let r=p(s)[p(c)];if(!r)return;let i=()=>{r.hasChildren&&!r.open?g(r.node):r.hasChildren&&r.open&&d(Math.min(p(c)+1,p(s).length-1),!0)},a=()=>{if(r.hasChildren&&r.open)g(r.node);else if(r.parentId){let e=p(s).findIndex(e=>e.node.id===r.parentId);e>=0&&d(e,!0)}},o=e.dir?.()===`rtl`;switch(t.key){case`ArrowDown`:t.preventDefault(),d(x(p(c),1),!0);break;case`ArrowUp`:t.preventDefault(),d(x(p(c),-1),!0);break;case`ArrowRight`:t.preventDefault(),(o?a:i)();break;case`ArrowLeft`:t.preventDefault(),(o?i:a)();break;case`Enter`:t.preventDefault(),v(r.node);break;case` `:t.preventDefault(),n()?b(r.node):v(r.node);break;case`Home`:t.preventDefault(),d(0,!0);break;case`End`:t.preventDefault(),d(p(s).length-1,!0)}}return{get expanded(){return p(i)},get selected(){return r()},get rows(){return p(s)},get activeIndex(){return p(c)},get focusTick(){return p(u)},isExpanded:m,isSelected:h,checkStateOf:f,toggle:_,toggleExpand:g,select:y,toggleCheck:b,setActive:d,onKeydown:S,treeProps:()=>({role:`tree`,"aria-label":e.ariaLabel?.(),"aria-multiselectable":n()}),itemProps:e=>{let t=n()?f(e.node):`unchecked`,i=n()?t===`checked`?`true`:t===`indeterminate`?`mixed`:`false`:void 0;return{role:`treeitem`,"aria-level":e.depth+1,"aria-selected":e.node.id===r(),"aria-expanded":e.hasChildren?e.open:void 0,"aria-checked":i,"aria-disabled":e.node.disabled||void 0,"data-row":e.index,tabindex:e.index===p(c)?0:-1,onclick:()=>{d(e.index),v(e.node)},onkeydown:S}}}}function Aa(e){let t=()=>e.min?.()??0,n=()=>e.max?.()??100,r=()=>e.sweep?.()??270,i=()=>e.size?.()??180,a=()=>e.thickness?.()??14,o=N(()=>Math.min(n(),Math.max(t(),e.value()))),s=N(()=>90+(360-r())/2),c=N(()=>i()/2),l=N(()=>i()/2),u=N(()=>i()/2-a()/2-2),d=e=>(e-t())/(n()-t()),f=e=>p(s)+d(e)*r();function m(e,t){let n=e*Math.PI/180;return{x:p(c)+t*Math.cos(n),y:p(l)+t*Math.sin(n)}}function h(e,t,n){let r=f(e),i=f(t),a=m(r,n),o=m(i,n),s=+(i-r>180);return`M ${a.x} ${a.y} A ${n} ${n} 0 ${s} 1 ${o.x} ${o.y}`}let g=N(()=>m(f(p(o)),p(u)-a()/2));return{get clamped(){return p(o)},get startAngle(){return p(s)},get cx(){return p(c)},get cy(){return p(l)},get r(){return p(u)},get needleEnd(){return p(g)},frac:d,angleOf:f,polar:m,arcPath:h,rootProps:()=>({role:`meter`,"aria-valuenow":p(o),"aria-valuemin":t(),"aria-valuemax":n(),"aria-label":e.ariaLabel?.()??`Gauge`})}}var ja=y(`<button><!></button>`);function Ma(e,t){le(t,!0);let n=ge(t,`pressed`,3,!1),r=ge(t,`disabled`,3,!1),i=ge(t,`readonly`,3,!1),a=ge(t,`size`,3,`md`),s=ge(t,`invalid`,3,!1),c=ge(t,`required`,3,!1),l=Jr(`sv-toggle`),u=N(()=>t.id??l),f=wa({pressed:()=>n(),onChange:e=>{i()||t.onChange?.(e)},disabled:()=>r(),ariaLabel:()=>t.ariaLabel,id:()=>p(u),invalid:()=>s(),required:()=>c(),error:()=>t.error,hint:()=>t.hint});Yr(e,{get id(){return p(u)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return c()},get dir(){return t.dir},children:(e,r)=>{var c=ja();M(c,e=>({class:`sv-toggle sv-toggle--${a()??``}`,...e,[se]:{"is-pressed":n(),"is-invalid":s(),"is-readonly":i()}}),[()=>f.buttonProps()],void 0,void 0,`svelte-4x30az`);var l=B(c),u=e=>{var n=m(),r=L(n);o(r,()=>t.children),d(e,n)};h(l,e=>{t.children&&e(u)}),H(c),d(e,c)},$$slots:{default:!0}}),me()}var Na=y(`<input/>`),Pa=y(`<div> </div>`),Fa=y(`<div class="sv-ddl__grip" title="Drag to resize" aria-hidden="true"><span class="sv-ddl__grip-dots"></span></div>`),Ia=y(`<div><!> <!></div>`),La=y(`<input type="hidden"/>`),Ra=y(`<!> <!> <!>`,1);function za(e,t){le(t,!0);let n=ge(t,`value`,15,``),r=ge(t,`suggestions`,19,()=>[]),o=ge(t,`minChars`,3,1),s=ge(t,`resizable`,3,!1),c=ge(t,`disabled`,3,!1),l=ge(t,`size`,3,`md`),u=ge(t,`invalid`,3,!1),f=ge(t,`block`,3,!1),m=ge(t,`required`,3,!1),g=ge(t,`loading`,3,!1),_=Jr(`sv-ac`),y=N(()=>t.id??_),b=j(null),S=j(null),C=j(pe({top:0,left:0,width:0,openUpward:!1,maxHeight:0,availHeight:0})),E=j(null),D=N(()=>s()&&p(E)!=null?Math.min(p(E),p(C).availHeight):Math.min(p(C).availHeight,288)),O=N(()=>s()&&!p(C).openUpward),A=Ca({value:()=>n(),onChange:e=>{n(e),t.onChange?.(e)},suggestions:()=>r(),minChars:()=>o(),disabled:()=>c(),ariaLabel:()=>t.ariaLabel,focusInput:()=>p(b)?.focus(),id:()=>p(y),invalid:()=>u(),required:()=>m(),error:()=>t.error,hint:()=>t.hint});function ee(){if(!p(b))return;let e=s()&&p(E)!=null?p(E):Math.min(A.filtered.length,8)*34+12;V(C,Zr(p(b).getBoundingClientRect(),{estimatedHeight:e}),!0)}function te(e){p(S)&&Tt(e,{startHeight:p(S).clientHeight,min:96,max:()=>p(C).availHeight,onHeight:e=>{V(E,e,!0),ee()}})}T(()=>{if(!A.open)return;ee();let e=()=>ee();window.addEventListener(`scroll`,e,!0),window.addEventListener(`resize`,e);let t=ni({element:()=>[p(b),p(S)],onDismiss:()=>A.close(),closeOnEscape:!1});return t.activate(),()=>{window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`resize`,e),t.release()}});var ne=Ra(),F=L(ne);Yr(F,{get id(){return p(y)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return m()},get dir(){return t.dir},get loading(){return g()},children:(e,n)=>{var r=Na();M(r,e=>({class:`sv-ac sv-ac--${l()??``}`,type:`text`,placeholder:t.placeholder,...e,[se]:{"is-block":f(),"is-invalid":u()}}),[()=>A.inputProps()],void 0,void 0,`svelte-1vvrp83`,!0),fe(r,e=>V(b,e),()=>p(b)),d(e,r)},$$slots:{default:!0}});var re=k(F,2),ie=e=>{var t=Ia();M(t,e=>({class:`sv-ddl__panel`,...e,[se]:{"is-resizable":p(O)},[ye]:{position:`fixed`,top:p(C).openUpward?void 0:`${p(C).top}px`,bottom:p(C).openUpward?`${p(C).bottom}px`:void 0,left:`${p(C).left}px`,"min-width":`${p(C).width}px`,"max-height":`${p(D)}px`,height:s()&&p(E)!=null&&!p(C).openUpward?`${p(D)}px`:void 0}}),[()=>A.listboxProps()],void 0,void 0,`svelte-1vvrp83`);var n=B(t);oe(n,17,()=>A.filtered,i,(e,t,n)=>{var r=Pa();M(r,(e,t)=>({class:`sv-ddl__opt`,...e,[se]:t}),[()=>A.optionProps(n),()=>({"is-active":A.isActive(n)})],void 0,void 0,`svelte-1vvrp83`);var i=B(r,!0);H(r),w(()=>v(i,p(t).label)),d(e,r)});var r=k(n,2),o=e=>{var t=Fa();x(`pointerdown`,t,te),d(e,t)};h(r,e=>{p(O)&&e(o)}),H(t),fe(t,e=>V(S,e),()=>p(S)),a(t,e=>Xr?.(e)),a(t,(e,t)=>Qr?.(e,t),()=>({up:p(C).openUpward})),d(e,t)};h(re,e=>{A.open&&e(ie)});var ae=k(re,2),R=e=>{var r=La();P(r),w(()=>{z(r,`name`,t.name),I(r,n())}),d(e,r)};h(ae,e=>{t.name&&e(R)}),d(e,ne),me()}u([`pointerdown`]);function Ba(e,t,n=0){let r=[];for(let i of e){let e=!!i.children&&i.children.length>0,a=t.has(i.value);r.push({node:i,depth:n,hasChildren:e,expanded:a}),e&&a&&r.push(...Ba(i.children,t,n+1))}return r}function Va(e,t){for(let n of e){if(n.value===t)return[n];if(n.children){let e=Va(n.children,t);if(e)return[n,...e]}}return null}var Ha=y(`<input type="hidden"/>`),Ua=y(`<div><button><span> </span> <span class="sv-ts__arrow svelte-95y6nb" aria-hidden="true">▾</span></button> <!></div>`),Wa=y(`<span aria-hidden="true"><svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="m9 18 6-6-6-6"></path></svg></span>`),Ga=y(`<span class="sv-ts__chev sv-ts__chev--leaf" aria-hidden="true"></span>`),Ka=y(`<li><!> <span class="sv-ts__label"> </span></li>`),qa=y(`<div class="sv-ts__panel"><ul class="sv-ts__tree" role="tree" tabindex="0"></ul></div>`),Ja=y(`<!> <!>`,1);function Ya(e,t){le(t,!0);let n=ge(t,`value`,15,null),r=ge(t,`placeholder`,3,`Select…`),i=ge(t,`showPath`,3,!1),o=ge(t,`expandedIds`,19,()=>[]),s=ge(t,`disabled`,3,!1),c=ge(t,`readonly`,3,!1),l=ge(t,`required`,3,!1),u=ge(t,`invalid`,3,!1),f=ge(t,`block`,3,!1),m=ge(t,`size`,3,`md`),g=ge(t,`loading`,3,!1),_=Jr(`sv-ts`),y=N(()=>t.id??_),b=j(pe(new Set(o()))),S=j(null),C=j(null),T=j(null),E=N(()=>Ba(t.nodes,p(b))),O=N(()=>n()==null?null:Va(t.nodes,n())),ee=N(()=>p(O)?i()?p(O).map(e=>e.label).join(` / `):p(O)[p(O).length-1].label:``);function te(e,t){let n=new Set(p(b));t?n.add(e):n.delete(e),V(b,n,!0)}function ne(e){te(e,!p(b).has(e))}function F(e){e.disabled||(n(e.value),t.onChange?.(e.value),ie.closePanel())}function re(e){e.hasChildren?ne(e.node.value):F(e.node)}let ie=Tn({itemCount:()=>p(E).length,disabled:e=>!!p(E)[e]?.node.disabled,readonly:()=>c(),onSelect:e=>{let t=p(E)[e];t&&re(t)},getTrigger:()=>p(S),getPanel:()=>p(C),getInitialFocus:()=>p(T),closeOnSelect:()=>!1,initialActive:()=>Math.max(0,p(E).findIndex(e=>e.node.value===n())),minWidth:()=>220,estimatedHeight:()=>300,onExtraKey:(e,t)=>{let n=p(E)[t];return n?e.key===`ArrowRight`?(e.preventDefault(),n.hasChildren&&!n.expanded?te(n.node.value,!0):n.hasChildren&&n.expanded&&(ie.active=Math.min(t+1,p(E).length-1)),!0):e.key===`ArrowLeft`&&(e.preventDefault(),(()=>{if(n.hasChildren&&n.expanded)te(n.node.value,!1);else{let e=t-1;for(;e>=0&&p(E)[e].depth>=n.depth;)e--;e>=0&&(ie.active=e)}})(),!0):!1},idPrefix:`sv-ts`});var ae=Ja(),R=L(ae);Yr(R,{get id(){return p(y)},get label(){return t.label},get hint(){return t.hint},get error(){return t.error},get required(){return l()},get dir(){return t.dir},get loading(){return g()},children:(e,i)=>{var a=Ua();let o;var c=B(a),g=()=>ie.toggle();M(c,(e,t)=>({type:`button`,class:`sv-ts__trigger`,disabled:s(),onclick:g,...e,...t,[se]:{"is-invalid":u()}}),[()=>ie.triggerProps(`tree`),()=>qr({id:p(y),invalid:u(),required:l(),error:t.error,hint:t.hint,ariaLabel:t.ariaLabel})],void 0,void 0,`svelte-95y6nb`);var _=B(c);let b;var x=B(_,!0);H(_),D(2),H(c),fe(c,e=>V(S,e),()=>p(S));var C=k(c,2),T=e=>{var r=Ha();P(r),w(()=>{z(r,`name`,t.name),I(r,n()??``)}),d(e,r)};h(C,e=>{t.name&&e(T)}),H(a),w(()=>{o=Ce(a,1,`sv-ts sv-ts--${m()??``}`,`svelte-95y6nb`,o,{"is-block":f(),"is-disabled":s()}),b=Ce(_,1,`sv-ts__value svelte-95y6nb`,null,b,{"is-placeholder":!p(ee)}),v(x,p(ee)||r())}),d(e,a)},$$slots:{default:!0}});var ce=k(R,2),ue=e=>{var r=qa();let i;var o=B(r);let s;oe(o,23,()=>p(E),e=>e.node.value,(e,t,r)=>{var i=Ka(),a=()=>re(p(t));M(i,(e,r)=>({class:`sv-ts__row`,role:`treeitem`,"aria-selected":p(t).node.value===n(),"aria-expanded":p(t).hasChildren?p(t).expanded:void 0,onclick:a,...e,[se]:r,[ye]:{"padding-inline-start":`${8+p(t).depth*16}px`}}),[()=>ie.itemProps(p(r)),()=>({"is-active":ie.isActive(p(r)),"is-selected":p(t).node.value===n(),"is-disabled":p(t).node.disabled})],void 0,void 0,`svelte-95y6nb`);var o=B(i),s=e=>{var n=Wa();let r;w(()=>r=Ce(n,1,`sv-ts__chev`,null,r,{"is-open":p(t).expanded})),d(e,n)},c=e=>{var t=Ga();d(e,t)};h(o,e=>{p(t).hasChildren?e(s):e(c,-1)});var l=k(o,2),u=B(l,!0);H(l),H(i),w(()=>v(u,p(t).node.label)),d(e,i)}),H(o),fe(o,e=>V(T,e),()=>p(T)),H(r),fe(r,e=>V(C,e),()=>p(C)),a(r,e=>Xr?.(e)),a(r,(e,t)=>Qr?.(e,t),()=>({up:ie.rect.openUpward})),w(e=>{z(r,`dir`,t.dir),i=A(r,``,i,{position:`fixed`,top:`${ie.rect.top}px`,left:`${ie.rect.left}px`,"min-width":`${ie.rect.width}px`}),z(o,`id`,ie.panelId),z(o,`aria-label`,t.label??t.ariaLabel??`Tree`),z(o,`aria-activedescendant`,e),s=A(o,``,s,{"max-height":`${ie.rect.maxHeight}px`}),r.dir=r.dir},[()=>ie.activeDescendant()]),x(`keydown`,o,function(...e){ie.onPanelKeydown?.apply(this,e)}),d(e,r)};h(ce,e=>{ie.open&&e(ue)}),d(e,ae),me()}u([`keydown`]);var Xa=De(`<path fill="none" stroke-linecap="round"></path>`),Za=De(`<path class="sv-gauge__value svelte-8p5qgu" fill="none" stroke-linecap="round"></path>`),Qa=De(`<line class="sv-gauge__needle svelte-8p5qgu" stroke-linecap="round"></line><circle r="5" class="sv-gauge__hub svelte-8p5qgu"></circle>`,1),$a=y(`<div><svg class="sv-gauge__svg svelte-8p5qgu"><path class="sv-gauge__track svelte-8p5qgu" fill="none" stroke-linecap="round"></path><!><!></svg> <div class="sv-gauge__label svelte-8p5qgu"> </div></div>`);function eo(e,t){le(t,!0);let n=ge(t,`value`,3,0),r=ge(t,`min`,3,0),i=ge(t,`max`,3,100),a=ge(t,`sweep`,3,270),o=ge(t,`bands`,19,()=>[]),s=ge(t,`needle`,3,!0),c=ge(t,`unit`,3,``),l=ge(t,`size`,3,180),u=ge(t,`thickness`,3,14),f=N(()=>t.dir===`ltr`||t.dir===`rtl`?t.dir:void 0),g=Aa({value:()=>n(),min:()=>r(),max:()=>i(),sweep:()=>a(),size:()=>l(),thickness:()=>u(),ariaLabel:()=>t.ariaLabel}),_=N(()=>g.clamped),y=N(()=>g.cx),b=N(()=>g.cy),x=N(()=>g.r),S=(e,t,n)=>g.arcPath(e,t,n),C=N(()=>g.needleEnd),T=N(()=>t.label??`${t.formatValue?t.formatValue(p(_)):Math.round(p(_))}${c()}`);var E=$a();M(E,e=>({class:`sv-gauge`,dir:p(f),...e}),[()=>g.rootProps()],void 0,void 0,`svelte-8p5qgu`);var D=B(E),O=B(D),A=k(O),ee=e=>{var t=m(),n=L(t);oe(n,17,o,e=>e.from+`-`+e.to,(e,t)=>{var n=Xa();w(e=>{z(n,`d`,e),z(n,`stroke`,p(t).color),z(n,`stroke-width`,u())},[()=>S(p(t).from,p(t).to,p(x))]),d(e,n)}),d(e,t)},te=e=>{var t=Za();w(e=>{z(t,`d`,e),z(t,`stroke-width`,u())},[()=>S(r(),p(_),p(x))]),d(e,t)};h(A,e=>{o().length?e(ee):e(te,-1)});var j=k(A),ne=e=>{var t=Qa(),n=L(t),r=k(n);w(()=>{z(n,`x1`,p(y)),z(n,`y1`,p(b)),z(n,`x2`,p(C).x),z(n,`y2`,p(C).y),z(r,`cx`,p(y)),z(r,`cy`,p(b))}),d(e,t)};h(j,e=>{s()&&e(ne)}),H(D);var P=k(D,2),F=B(P,!0);H(P),H(E),w(e=>{z(D,`viewBox`,`0 0 ${l()} ${l()}`),z(D,`width`,l()),z(D,`height`,l()),z(O,`d`,e),z(O,`stroke-width`,u()),v(F,p(T)),E.dir=E.dir},[()=>S(r(),i(),p(x))]),d(e,E),me()}var K=De(`<svg class="sv-tree__spin svelte-szf0nj" viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M21 12a9 9 0 1 1-6.2-8.6"></path></svg>`),to=De(`<svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-szf0nj"><path d="m9 18 6-6-6-6"></path></svg>`),no=De(`<svg viewBox="0 0 16 16" class="svelte-szf0nj"><path d="M3.5 8.5l3 3 6-6.5" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"></path></svg>`),ro=De(`<svg viewBox="0 0 16 16" class="svelte-szf0nj"><path d="M4 8h8" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"></path></svg>`),io=y(`<button type="button" tabindex="-1" aria-hidden="true"><!></button>`),ao=y(`<input class="sv-tree__edit svelte-szf0nj"/>`),oo=y(`<span class="sv-tree__label svelte-szf0nj"> </span>`),so=y(`<div><button type="button" tabindex="-1" aria-hidden="true"><!></button> <!> <!></div>`),co=y(`<button type="button" class="sv-tree__search-clear svelte-szf0nj">&times;</button>`),lo=y(`<div class="sv-tree__search svelte-szf0nj"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><circle cx="11" cy="11" r="7"></circle><path d="m21 21-4.3-4.3"></path></svg> <input class="sv-tree__search-input svelte-szf0nj" type="text"/> <!></div>`),uo=y(`<div class="sv-tree__sb svelte-szf0nj" aria-hidden="true"><div></div></div>`),fo=y(`<div><!> <div><!> <!></div></div>`);function po(e,t){le(t,!0);let n=(e,t=ee)=>{let n=N(()=>i()?Ee.checkStateOf(t().node):`unchecked`),a=N(()=>p(O).has(t().node.id)),s=N(()=>Ee.itemProps(t()));var c=so(),l=e=>{p(s).onkeydown(e),g()&&e.key===`F2`&&(e.preventDefault(),ie(t().node))};M(c,e=>({class:`sv-tree__row`,draggable:_()&&p(I)!==t().node.id&&!t().node.disabled,ondragstart:_()?e=>ve(e,t().node):void 0,ondragover:_()?e=>be(e,t().node):void 0,ondragleave:_()?()=>{p(ce)===t().node.id&&(V(ce,null),V(ue,null))}:void 0,ondrop:_()?e=>xe(e,t().node):void 0,ondragend:_()?Se:void 0,ondblclick:g()?()=>ie(t().node):void 0,...p(s),onkeydown:l,[se]:{"is-selected":t().node.id===r(),"is-disabled":t().node.disabled,"is-dragging":p(R)===t().node.id,"drop-before":p(ce)===t().node.id&&p(ue)===`before`,"drop-after":p(ce)===t().node.id&&p(ue)===`after`,"drop-inside":p(ce)===t().node.id&&p(ue)===`inside`},[ye]:e}),[()=>({height:`${ze(t().index)}px`,"padding-inline-start":`${t().depth*18+6}px`,transform:o()?`translateY(${Re(t().index)-Be.scrollOffset}px)`:void 0})],void 0,void 0,`svelte-szf0nj`);var u=B(c);let f;var m=B(u),y=e=>{var t=K();d(e,t)},b=e=>{var t=to();d(e,t)};h(m,e=>{p(a)?e(y):t().hasChildren&&e(b,1)}),H(u);var S=k(u,2),T=e=>{var r=io(),i=B(r),a=e=>{var t=no();d(e,t)},o=e=>{var t=ro();d(e,t)};h(i,e=>{p(n)===`checked`?e(a):p(n)===`indeterminate`&&e(o,1)}),H(r),w(()=>Ce(r,1,`sv-tree__check is-${p(n)??``}`,`svelte-szf0nj`)),x(`click`,r,e=>{e.stopPropagation(),Ee.toggleCheck(t().node)}),d(e,r)};h(S,e=>{i()&&e(T)});var E=k(S,2),D=e=>{var t=ao();P(t),x(`click`,t,e=>e.stopPropagation()),x(`keydown`,t,e=>{e.key===`Enter`?(e.preventDefault(),L()):e.key===`Escape`&&(e.preventDefault(),ae())}),C(`blur`,t,L),te(t,()=>p(re),e=>V(re,e)),d(e,t)},A=e=>{var n=oo(),r=B(n,!0);H(n),w(()=>v(r,t().node.label)),d(e,n)};h(E,e=>{p(I)===t().node.id?e(D):e(A,-1)}),H(c),w(()=>f=Ce(u,1,`sv-tree__twist svelte-szf0nj`,null,f,{"is-open":t().open,"is-leaf":!t().hasChildren,"is-loading":p(a)})),x(`click`,u,e=>{e.stopPropagation(),Ee.toggleExpand(t().node)}),d(e,c)},r=ge(t,`selected`,3,null),i=ge(t,`checkable`,3,!1),a=ge(t,`checked`,19,()=>[]),o=ge(t,`virtual`,3,!1),s=ge(t,`rowHeight`,3,30),c=ge(t,`searchable`,3,!1),l=ge(t,`searchPlaceholder`,3,`Search...`),u=ge(t,`loadingText`,3,`Loading...`),m=ge(t,`clearSearchLabel`,3,`Clear search`),g=ge(t,`editable`,3,!1),_=ge(t,`reorderable`,3,!1),y=N(()=>t.dir===`ltr`||t.dir===`rtl`?t.dir:void 0),b=j(``),S=N(()=>t.filter??(c()?p(b):void 0)),E=N(()=>{if(!t.sort)return t.nodes;let e=typeof t.sort==`function`?t.sort:(e,n)=>(t.sort===`asc`?1:-1)*e.label.localeCompare(n.label);return Oa(t.nodes,e)}),D=j(pe(new Map)),O=j(pe(new Set));function ne(e){return e.map(e=>e.lazy&&p(D).has(e.id)?{...e,children:ne(p(D).get(e.id)),lazy:!1}:e.children?.length?{...e,children:ne(e.children)}:e)}let F=N(()=>ne(p(E))),I=j(null),re=j(``);function ie(e){!g()||e.disabled||(V(I,e.id,!0),V(re,e.label,!0),he().then(()=>p(Oe)?.querySelector(`.sv-tree__edit`)?.select()))}function L(){if(p(I)==null)return;let e=p(I),n=p(re).trim();V(I,null),n&&t.onRename?.(e,n)}function ae(){V(I,null)}let R=j(null),ce=j(null),ue=j(null);function de(e,t){let n=e.currentTarget.getBoundingClientRect(),r=(e.clientY-n.top)/n.height,i=!!t.children?.length||!!t.lazy;return r<.3?`before`:r>.7||!i?r>.5?`after`:i?`inside`:`after`:`inside`}function ve(e,t){V(R,t.id,!0),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`)}function be(e,t){!p(R)||p(R)===t.id||(e.preventDefault(),V(ce,t.id,!0),V(ue,de(e,t),!0))}function xe(e,n){e.preventDefault(),p(R)&&p(R)!==n.id&&p(ue)&&t.onMove?.(p(R),n.id,p(ue)),V(R,V(ce,V(ue,null),!0),!0)}function Se(){V(R,V(ce,V(ue,null),!0),!0)}function we(e,t){for(let n of e){if(n.id===t)return n;if(n.children){let e=we(n.children,t);if(e)return e}}return null}async function Te(e,n){if(t.onToggle?.(e,n),!n||!t.loadChildren)return;let r=we(p(F),e);if(!(!r?.lazy||p(D).has(e)||p(O).has(e))){V(O,new Set(p(O)).add(e),!0),V(D,new Map(p(D)).set(e,[{id:`${e}__loading`,label:u(),disabled:!0}]),!0);try{let n=await t.loadChildren(r);V(D,new Map(p(D)).set(e,n),!0)}catch{V(D,new Map(p(D)).set(e,[]),!0)}finally{let t=new Set(p(O));t.delete(e),V(O,t,!0)}}}let Ee=ka({nodes:()=>p(F),selected:()=>r(),onSelect:e=>t.onSelect?.(e),expandedIds:()=>t.expandedIds,onToggle:Te,checkable:()=>i(),checked:()=>a(),onCheck:e=>t.onCheck?.(e),ariaLabel:()=>t.ariaLabel,dir:()=>t.dir,filter:()=>p(S)}),De=N(()=>o()||t.height!=null),Oe=j(null),ke=j(0),Ae=N(()=>typeof s()==`number`?s():30),je=N(()=>typeof s()==`number`),Me=e=>{let t=Ee.rows[e];return t?typeof s()==`function`?s()(t.node,e):s():p(Ae)},Ne=N(()=>p(je)?p(Ae):e=>Me(e)),Pe=N(()=>p(ke)>0?p(ke):Math.max(1,t.height??320)),Fe=Wr(f(()=>({count:Ee.rows.length,estimateSize:p(Ne),overscan:20,viewportHeight:p(Pe)})));T(()=>{let e=Ee.rows.length,t=p(Ne);f(()=>Fe.setOptions({count:e,estimateSize:t}))}),T(()=>{let e=p(Pe);f(()=>Fe.setViewportHeight(e))});let Ie=N(()=>(Fe.version,Fe.getTotalSize())),Le=N(()=>{if(!o())return Ee.rows;Fe.version;let e=Fe.getState();return Ee.rows.slice(e.startIndex,e.endIndex+1)}),Re=e=>Fe.getOffsetForIndex(e),ze=e=>o()?Fe.getSizeForIndex(e):Me(e),Be=G({virtualizer:Fe,totalSize:()=>p(Ie),viewport:()=>p(Pe),lineStep:()=>p(Ae)}),Ve=0;T(()=>{if(Ee.focusTick===Ve)return;Ve=Ee.focusTick;let e=Ee.activeIndex;o()&&f(()=>Be.ensureIndexVisible(e)),he().then(()=>p(Oe)?.querySelector(`[data-row="${e}"]`)?.focus())});var He=fo();let Ue;var We=B(He),Ge=e=>{var t=lo(),n=k(B(t),2);P(n);var r=k(n,2),i=e=>{var t=co();w(()=>z(t,`aria-label`,m())),x(`click`,t,()=>V(b,``)),d(e,t)};h(r,e=>{p(b)&&e(i)}),H(t),w(()=>{z(n,`placeholder`,l()),z(n,`aria-label`,l())}),te(n,()=>p(b),e=>V(b,e)),d(e,t)};h(We,e=>{c()&&e(Ge)});var Ke=k(We,2);M(Ke,e=>({class:`sv-tree`,dir:p(y),onwheel:o()?Be.onWheel:void 0,onpointerdown:o()?Be.onContentDown:void 0,onpointermove:o()?Be.onContentMove:void 0,onpointerup:o()?Be.onContentUp:void 0,onpointercancel:o()?Be.onContentUp:void 0,...e,[se]:{"sv-tree--scroll":p(De)&&!o(),"is-virtual":o()},[ye]:{height:t.height==null?void 0:`${t.height}px`}}),[()=>Ee.treeProps()],void 0,void 0,`svelte-szf0nj`);var qe=B(Ke);oe(qe,17,()=>p(Le),e=>e.node.id,(e,t)=>{n(e,()=>p(t))});var Je=k(qe,2),Ye=e=>{var t=uo(),n=B(t);let r,i;H(t),w(()=>{r=Ce(n,1,`sv-tree__thumb svelte-szf0nj`,null,r,{"is-dragging":Be.dragging}),i=A(n,``,i,{height:`${Be.thumbH}px`,transform:`translateY(${Be.thumbTop}px)`})}),x(`pointerdown`,t,function(...e){Be.onTrackDown?.apply(this,e)}),x(`pointerdown`,n,function(...e){Be.onThumbDown?.apply(this,e)}),x(`pointermove`,n,function(...e){Be.onThumbMove?.apply(this,e)}),x(`pointerup`,n,function(...e){Be.onThumbUp?.apply(this,e)}),C(`pointercancel`,n,function(...e){Be.onThumbUp?.apply(this,e)}),d(e,t)};h(Je,e=>{o()&&Be.maxOffset>0&&e(Ye)}),H(Ke),fe(Ke,e=>V(Oe,e),()=>p(Oe)),H(He),w(()=>{Ue=Ce(He,1,`sv-tree-host svelte-szf0nj`,null,Ue,{"has-search":c()}),z(He,`dir`,p(y)),Ke.dir=Ke.dir,He.dir=He.dir}),_e(Ke,`clientHeight`,e=>V(ke,e)),d(e,He),me()}u([`click`,`keydown`,`pointerdown`,`pointermove`,`pointerup`]);var mo=0;function ho(e){let t=`sv-acc-${mo++}`,n=()=>e.items(),r=()=>e.expandMode?.()??`single`,i=()=>e.disabled?.()??!1,a=N(()=>new Set(e.expanded())),o=N(()=>n().map((e,t)=>e.disabled?-1:t).filter(e=>e>=0)),s=j(0),c=j(0),l=e=>{V(s,e,!0),R(c)},u=e=>`${t}-h-${e}`,d=e=>`${t}-p-${e}`,f=e=>p(a).has(e);function m(t){let o=n()[t];if(!o||o.disabled||i())return;let s=p(a).has(o.id);if(r()===`single`)e.onChange?.(s?[]:[o.id]);else{let t=new Set(p(a));s?t.delete(o.id):t.add(o.id),e.onChange?.([...t])}}function h(e){if(!p(o).length)return;let t=p(o).indexOf(p(s)),n=t<0?0:t,r=p(o)[(n+e+p(o).length)%p(o).length];r!=null&&l(r)}function g(e,t){if(!i())switch(e.key){case`ArrowDown`:e.preventDefault(),h(1);break;case`ArrowUp`:e.preventDefault(),h(-1);break;case`Home`:e.preventDefault(),l(p(o)[0]??0);break;case`End`:e.preventDefault(),l(p(o).at(-1)??0);break;case`Enter`:case` `:e.preventDefault(),m(t)}}return{get focusIndex(){return p(s)},get focusTick(){return p(c)},get expandedIds(){return[...p(a)]},isExpanded:f,toggle:m,rootProps:()=>({"data-orientation":`vertical`}),headerProps:e=>{let t=n()[e];return{type:`button`,id:u(e),"data-idx":e,"aria-expanded":t?f(t.id):!1,"aria-controls":d(e),disabled:i()||t?.disabled||void 0,onclick:()=>m(e),onkeydown:t=>g(t,e)}},panelProps:e=>({role:`region`,id:d(e),"aria-labelledby":u(e)})}}var go=y(`<div><div class="sv-acc__body svelte-1fv9td1"><!></div></div>`),_o=y(`<div><h3 class="sv-acc__heading svelte-1fv9td1"><button><svg class="sv-acc__chevron svelte-1fv9td1" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="m9 18 6-6-6-6"></path></svg> <span class="sv-acc__label svelte-1fv9td1"> </span></button></h3> <!></div>`),vo=y(`<div></div>`);function yo(e,t){le(t,!0);let n=ge(t,`expanded`,31,()=>pe([])),r=ge(t,`expandMode`,3,`single`),i=ge(t,`disabled`,3,!1),a=N(()=>t.dir===`ltr`||t.dir===`rtl`?t.dir:void 0),s=ho({items:()=>t.items,expanded:()=>n(),onChange:e=>{n(e),t.onChange?.(e)},expandMode:()=>r(),disabled:()=>i(),dir:()=>t.dir}),c=null,l=0;T(()=>{if(s.focusTick!==l){l=s.focusTick;let e=s.focusIndex;queueMicrotask(()=>c?.querySelector(`[data-idx="${e}"]`)?.focus())}});var u=vo();M(u,e=>({class:`sv-acc`,dir:p(a),...e,[se]:{"is-disabled":i()}}),[()=>s.rootProps()],void 0,void 0,`svelte-1fv9td1`),oe(u,23,()=>t.items,e=>e.id,(e,n,r)=>{let i=N(()=>s.isExpanded(p(n).id));var a=_o();let c;var l=B(a),u=B(l);M(u,e=>({class:`sv-acc__header`,...e}),[()=>s.headerProps(p(r))],void 0,void 0,`svelte-1fv9td1`);var f=k(B(u),2),g=B(f,!0);H(f),H(u),H(l);var _=k(l,2),y=e=>{var i=go();M(i,e=>({class:`sv-acc__panel`,...e}),[()=>s.panelProps(p(r))],void 0,void 0,`svelte-1fv9td1`);var a=B(i),c=B(a),l=e=>{var r=m(),i=L(r);o(i,()=>t.panel,()=>p(n)),d(e,r)};h(c,e=>{t.panel&&e(l)}),H(a),H(i),d(e,i)};h(_,e=>{p(i)&&e(y)}),H(a),w(()=>{c=Ce(a,1,`sv-acc__item svelte-1fv9td1`,null,c,{"is-open":p(i)}),v(g,p(n).label)}),d(e,a)}),H(u),fe(u,e=>c=e,()=>c),w(()=>u.dir=u.dir),d(e,u),me()}var bo=Symbol(`svgrid-dock`);function xo(e){return e.panes.reduce((e,t)=>Math.max(e,t.minSize??0),0)}function So(e,t,n=0){return{type:`tabs`,id:e(),panes:t,active:wo(n,t.length)}}function Co(e,t,n,r){return{type:`group`,id:e(),direction:t,children:n,sizes:To(r,n.length)}}function wo(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function To(e,t){if(t<=0)return[];let n=e&&e.length===t?e.slice():Array(t).fill(1),r=n.reduce((e,t)=>e+(t>0?t:0),0);return r<=0?Array(t).fill(1/t):n.map(e=>(e>0?e:0)/r)}function Eo(e,t){if(e.type===`tabs`)return e.panes.some(e=>e.id===t)?e:null;for(let n of e.children){let e=Eo(n,t);if(e)return e}return null}function Do(e){if(e.type===`tabs`)return e.panes.length===0?null:{...e,active:wo(e.active,e.panes.length)};let t=[],n=[];if(e.children.forEach((r,i)=>{let a=Do(r);a&&(t.push(a),n.push(e.sizes[i]??1))}),t.length===0)return null;if(t.length===1)return t[0];let r=[],i=[];return t.forEach((t,a)=>{if(t.type===`group`&&t.direction===e.direction){let e=n[a];t.children.forEach((n,a)=>{r.push(n),i.push(e*(t.sizes[a]??1/t.children.length))})}else r.push(t),i.push(n[a])}),{...e,children:r,sizes:To(i,r.length)}}function Oo(e,t,n){return J(e,e=>e.type===`tabs`&&e.id===t?{...e,active:wo(n,e.panes.length)}:e)}function ko(e,t,n){return J(e,e=>e.type===`group`&&e.id===t?{...e,sizes:To(n,e.children.length)}:e)}function Ao(e,t,n,r){return J(e,e=>{if(e.type!==`tabs`||e.id!==t||n<0||n>=e.panes.length)return e;let i=e.panes[e.active]?.id,a=e.panes.slice(),[o]=a.splice(n,1);if(!o)return e;a.splice(Math.max(0,Math.min(r,a.length)),0,o);let s=a.findIndex(e=>e.id===i);return{...e,panes:a,active:s<0?0:s}})}function jo(e,t){let n=null,r=e=>{if(e.type===`tabs`){let r=e.panes.findIndex(e=>e.id===t);if(r<0)return e;n=e.panes[r];let i=e.panes.filter((e,t)=>t!==r);return{...e,panes:i,active:wo(e.active>r?e.active-1:e.active,i.length)}}return{...e,children:e.children.map(r)}};return{root:Do(r(e)),pane:n}}function Mo(e,t,n,r,i){let a=r===`left`||r===`right`?`row`:`column`,o=r===`left`||r===`top`,s=e=>{if(e.type===`tabs`){if(e.id!==t)return e;if(r===`center`){let t=[...e.panes,n];return{...e,panes:t,active:t.length-1}}let s=So(i,[n],0);return Co(i,a,o?[s,e]:[e,s])}let c=e.children.findIndex(e=>e.type===`tabs`&&e.id===t);if(c>=0&&r!==`center`&&e.direction===a){let t=So(i,[n],0),r=e.children.slice(),a=e.sizes.slice(),s=(e.sizes[c]??1/e.children.length)/2,l=o?c:c+1;return r.splice(l,0,t),a.splice(c,1,s,s),{...e,children:r,sizes:To(a,r.length)}}return{...e,children:e.children.map(s)}};return Do(s(e))??e}function No(e,t){let n=null,r=e=>{if(e.type===`tabs`)return e.id===t?(n=e,null):e;let i=[],a=[];return e.children.forEach((t,n)=>{let o=r(t);o&&(i.push(o),a.push(e.sizes[n]??1))}),i.length===0?null:{...e,children:i,sizes:To(a,i.length)}},i=r(e);return{root:i?Do(i):null,leaf:n}}function Po(e,t,n,r,i=.25){if(!e)return t;let a=n===`left`||n===`right`?`row`:`column`,o=n===`left`||n===`top`,s=Math.min(.6,Math.max(.1,i));return Do(Co(r,a,o?[t,e]:[e,t],o?[s,1-s]:[1-s,s]))??t}function Fo(e,t,n,r,i){let{root:a,pane:o}=jo(e,t);return!a||!o||!q(a,n)?e:Mo(a,n,o,r,i)}function q(e,t){return e.type===`tabs`?e.id===t:e.children.some(e=>q(e,t))}function J(e,t){let n=t(e);return n.type===`group`?{...n,children:n.children.map(e=>J(e,t))}:n}var Io=y(`<div role="separator"></div>`),Lo=y(`<div class="sv-dock__cell svelte-xqw5dg"><!></div> <!>`,1),Ro=y(`<div role="group"></div>`),zo=y(`<div class="sv-dock__ins svelte-xqw5dg" aria-hidden="true"></div>`),Bo=y(`<button type="button" class="sv-dock__tab-close svelte-xqw5dg" title="Close">&times;</button>`),Vo=y(`<!> <div role="tab"><span class="sv-dock__tab-label"> </span> <!></div>`,1),Ho=y(`<div class="sv-dock__ins svelte-xqw5dg" aria-hidden="true"></div>`),Uo=y(`<!> <!>`,1),Wo=y(`<div class="sv-dock__leafctl svelte-xqw5dg"><!></div>`),Go=y(`<div class="sv-dock__content svelte-xqw5dg" role="tabpanel"><!></div>`),Ko=y(`<div class="sv-dock__content svelte-xqw5dg" role="tabpanel"><!></div>`),qo=y(`<div></div>`),Jo=y(`<div></div>`),Yo=y(`<div></div>`),Xo=y(`<div></div>`),Zo=y(`<div></div>`),Qo=y(`<div class="sv-dock__dropzone svelte-xqw5dg" aria-hidden="true"><!> <div><!> <div class="sv-dock__guide-row svelte-xqw5dg"><!> <div></div> <!></div> <!></div></div>`),$o=y(`<div><div role="tablist"><!> <!></div> <!> <!></div>`);function es(e,t){le(t,!0);let n=F(bo),r=j(null);function i(e){return e&&e.type===`tabs`?xo(e):0}function a(e,t,a){if(e.button!==0||!p(r))return;e.preventDefault();let o=t.direction===`column`,s=p(r).getBoundingClientRect(),c=o?s.height:s.width;if(c<=0)return;let l=t.sizes.slice(),u=o?e.clientY:e.clientX,d=a,f=a+1,m=Math.max(n.minSize(),i(t.children[d]))/c,h=Math.max(n.minSize(),i(t.children[f]))/c,g=l[d]+l[f],_=e=>{let r=((o?e.clientY:e.clientX)-u)/c,i=Math.min(Math.max(l[d]+r,m),g-h),a=l.slice();a[d]=i,a[f]=g-i,n.resize(t.id,a)},v=()=>{window.removeEventListener(`pointermove`,_),window.removeEventListener(`pointerup`,v),document.body.style.userSelect=``,document.body.style.cursor=``};document.body.style.userSelect=`none`,document.body.style.cursor=o?`row-resize`:`col-resize`,window.addEventListener(`pointermove`,_),window.addEventListener(`pointerup`,v)}var s=m(),c=L(s),l=e=>{var n=Ro();oe(n,23,()=>t.node.children,e=>e.id,(e,n,r)=>{var i=Lo(),o=L(i);let s;es(B(o),{get node(){return p(n)}}),H(o);var c=k(o,2),l=e=>{var n=Io();w(()=>{Ce(n,1,`sv-dock__splitter sv-dock__splitter--${t.node.direction??``}`,`svelte-xqw5dg`),z(n,`aria-orientation`,t.node.direction===`column`?`horizontal`:`vertical`)}),x(`pointerdown`,n,e=>a(e,t.node,p(r))),d(e,n)};h(c,e=>{p(r)<t.node.children.length-1&&e(l)}),w(()=>s=A(o,``,s,{"flex-grow":t.node.sizes[p(r)]??1,"flex-basis":`0`})),d(e,i)}),H(n),fe(n,e=>V(r,e),()=>p(r)),w(()=>Ce(n,1,`sv-dock__group sv-dock__group--${t.node.direction??``}`,`svelte-xqw5dg`)),d(e,n)},u=e=>{let r=N(()=>t.node.panes[t.node.active]??t.node.panes[0]),i=N(()=>n.reorderTarget?.()??null),a=N(()=>p(i)&&p(i).tabsId===t.node.id?p(i).index:-1),s=N(()=>n.headerPosition?.()??`top`),c=N(()=>!!n.hideSingleTab?.()&&t.node.panes.length===1);var l=$o();let u;var f=B(l);let g;var _=B(f),y=e=>{var r=Uo(),i=L(r);oe(i,19,()=>t.node.panes,e=>e.id,(e,r,i)=>{var o=Vo(),s=L(o),c=e=>{var t=zo();d(e,t)};h(s,e=>{p(a)===p(i)&&e(c)});var l=k(s,2);let u;var f=B(l),m=B(f,!0);H(f);var g=k(f,2),_=e=>{var t=Bo();w(()=>z(t,`aria-label`,`Close ${p(r).title}`)),x(`pointerdown`,t,e=>e.stopPropagation()),x(`click`,t,e=>{e.stopPropagation(),n.close(p(r).id)}),d(e,t)};h(g,e=>{p(r).closable!==!1&&e(_)}),H(l),w(()=>{u=Ce(l,1,`sv-dock__tab svelte-xqw5dg`,null,u,{"is-active":p(i)===t.node.active}),z(l,`aria-selected`,p(i)===t.node.active),z(l,`tabindex`,p(i)===t.node.active?0:-1),z(l,`data-dock-tab`,p(r).id),z(l,`data-tab-index`,p(i)),v(m,p(r).title)}),x(`pointerdown`,l,e=>{e.button===0&&(n.activate(t.node.id,p(i)),n.beginDrag(e,p(r).id,t.node.id))}),x(`keydown`,l,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n.activate(t.node.id,p(i)))}),d(e,o)});var o=k(i,2),s=e=>{var t=Ho();d(e,t)};h(o,e=>{p(a)===t.node.panes.length&&e(s)}),d(e,r)};h(_,e=>{p(c)||e(y)});var b=k(_,2),S=e=>{var r=Wo(),i=B(r);o(i,()=>n.leafActions,()=>t.node),H(r),d(e,r)};h(b,e=>{n.leafActions&&e(S)}),H(f);var C=k(f,2),T=e=>{var i=m(),a=L(i);oe(a,17,()=>t.node.panes,e=>e.id,(e,t)=>{var i=Go();let a;var s=B(i);o(s,()=>n.pane,()=>p(t)),H(i),w(()=>a=A(i,``,a,{display:p(t).id===p(r)?.id?``:`none`})),d(e,i)}),d(e,i)},E=N(()=>n.keepAlive?.()),D=e=>{var t=m(),i=L(t),a=e=>{var t=m(),i=L(t);ae(i,()=>p(r).id,e=>{var t=Ko(),i=B(t);o(i,()=>n.pane,()=>p(r)),H(t),d(e,t)}),d(e,t)};h(i,e=>{p(r)&&e(a)}),d(e,t)};h(C,e=>{p(E)?e(T):e(D,-1)});var O=k(C,2),ee=e=>{let t=N(()=>n.dropTarget()),r=N(()=>p(t).zone),i=N(()=>p(t).centerOnly===!0);var a=Qo(),o=B(a),s=e=>{var t=qo();w(()=>Ce(t,1,`sv-dock__drop-hint sv-dock__drop-hint--${p(r)??``}`,`svelte-xqw5dg`)),d(e,t)};h(o,e=>{p(r)&&e(s)});var c=k(o,2);let l;var u=B(c),f=e=>{var t=Jo();let n;w(()=>n=Ce(t,1,`sv-dock__guide-cell sv-dock__guide-cell--top svelte-xqw5dg`,null,n,{"is-on":p(r)===`top`})),d(e,t)};h(u,e=>{p(i)||e(f)});var m=k(u,2),g=B(m),_=e=>{var t=Yo();let n;w(()=>n=Ce(t,1,`sv-dock__guide-cell sv-dock__guide-cell--left svelte-xqw5dg`,null,n,{"is-on":p(r)===`left`})),d(e,t)};h(g,e=>{p(i)||e(_)});var v=k(g,2);let y;var b=k(v,2),x=e=>{var t=Xo();let n;w(()=>n=Ce(t,1,`sv-dock__guide-cell sv-dock__guide-cell--right svelte-xqw5dg`,null,n,{"is-on":p(r)===`right`})),d(e,t)};h(b,e=>{p(i)||e(x)}),H(m);var S=k(m,2),C=e=>{var t=Zo();let n;w(()=>n=Ce(t,1,`sv-dock__guide-cell sv-dock__guide-cell--bottom svelte-xqw5dg`,null,n,{"is-on":p(r)===`bottom`})),d(e,t)};h(S,e=>{p(i)||e(C)}),H(c),H(a),w(()=>{l=Ce(c,1,`sv-dock__guide svelte-xqw5dg`,null,l,{"is-center-only":p(i)}),y=Ce(v,1,`sv-dock__guide-cell sv-dock__guide-cell--center svelte-xqw5dg`,null,y,{"is-on":p(r)===`center`})}),d(e,a)},te=N(()=>n.dropTarget()?.tabsId===t.node.id);h(O,e=>{p(te)&&e(ee)}),H(l),w(e=>{u=Ce(l,1,`sv-dock__leaf sv-dock__leaf--h-${p(s)??``}`,`svelte-xqw5dg`,u,e),z(l,`data-dock-tabs`,t.node.id),g=Ce(f,1,`sv-dock__tabstrip svelte-xqw5dg`,null,g,{"is-bare":p(c)})},[()=>({"is-focused":n.focusedLeaf?.()===t.node.id})]),d(e,l)};h(c,e=>{t.node.type===`group`?e(l):e(u,-1)}),d(e,s),me()}u([`pointerdown`,`keydown`,`click`]);var ts=0;function ns(){return ts+=1,ts*1e6}var rs=y(`<div class="sv-dock__ghost svelte-1a3gmpe"> </div>`),is=y(`<div><!></div> <!>`,1);function as(e,t){le(t,!0);let n=ge(t,`layout`,15),r=ge(t,`minSize`,3,80),i=ge(t,`surface`,3,`main`),a=ge(t,`externalDrop`,3,null),o=ge(t,`externalReorder`,3,null),s=ge(t,`headerPosition`,3,`top`),c=ge(t,`focusedLeaf`,3,null),l=ge(t,`keepAlive`,3,!1),u=ge(t,`hideSingleTab`,3,!1),f=ge(t,`locked`,3,!1),m=N(()=>!!t.onBeginDrag),g=ns(),_=()=>`dk-${g++}`;function y(e){n(e),t.onLayoutChange?.(e)}let b=(e,r)=>t.onActivate?t.onActivate(e,r):y(Oo(n(),e,r)),x=(e,r)=>t.onResize?t.onResize(e,r):y(ko(n(),e,r)),S=e=>{if(t.onClose){t.onClose(e);return}let{root:r}=jo(n(),e);r&&y(r)},C=j(null),T=j(null),E=null;function D(e){let t=n=>{if(n.type===`tabs`)return n.panes.find(t=>t.id===e)?.title??null;for(let e of n.children){let n=t(e);if(n)return n}return null};return t(n())??``}function O(e,n,r){if(e.button===0&&!f()){if(t.onBeginDrag){t.onBeginDrag(e,n,r);return}E={paneId:n,sourceTabsId:r,title:D(n),sx:e.clientX,sy:e.clientY},window.addEventListener(`pointermove`,te),window.addEventListener(`pointerup`,M)}}function ee(e,t){let n=document.elementFromPoint(e,t)?.closest(`[data-dock-tabs]`);if(!n)return null;let r=n.dataset.dockTabs,i=n.getBoundingClientRect();if(i.width<=0||i.height<=0)return null;let a=(e-i.left)/i.width,o=(t-i.top)/i.height,s=Math.min(a,1-a,o,1-o),c=`center`;if(s<=.25){let e=Math.min(a,1-a,o,1-o);c=e===a?`left`:e===1-a?`right`:e===o?`top`:`bottom`}return{tabsId:r,zone:c}}function te(e){if(E){if(!p(C)){if(Math.hypot(e.clientX-E.sx,e.clientY-E.sy)<5)return;V(C,{paneId:E.paneId,sourceTabsId:E.sourceTabsId,title:E.title,x:e.clientX,y:e.clientY},!0),document.body.style.userSelect=`none`,document.body.style.cursor=`grabbing`}V(C,{...p(C),x:e.clientX,y:e.clientY},!0),V(T,ee(e.clientX,e.clientY),!0)}}function M(){window.removeEventListener(`pointermove`,te),window.removeEventListener(`pointerup`,M),p(C)&&p(T)&&y(Fo(n(),p(C).paneId,p(T).tabsId,p(T).zone,_)),V(C,null),V(T,null),E=null,document.body.style.userSelect=``,document.body.style.cursor=``}ie(bo,{get pane(){return t.pane},get leafActions(){return f()?void 0:t.leafActions},activate:b,close:S,beginDrag:O,resize:x,minSize:()=>r(),dropTarget:()=>p(m)?a():p(T),reorderTarget:()=>p(m)?o():null,headerPosition:()=>s(),focusedLeaf:()=>c(),keepAlive:()=>l(),hideSingleTab:()=>u()});var ne=is(),P=L(ne);let F;es(B(P),{get node(){return n()}}),H(P);var I=k(P,2),re=e=>{var t=rs();let n;var r=B(t,!0);H(t),w(()=>{n=A(t,``,n,{left:`${p(C).x+12}px`,top:`${p(C).y+12}px`}),v(r,p(C).title)}),d(e,t)};h(I,e=>{p(C)&&e(re)}),w(()=>{F=Ce(P,1,`sv-dock svelte-1a3gmpe`,null,F,{"is-dragging":!!p(C)}),z(P,`data-dock-surface`,i())}),d(e,ne),me()}function os(e,t){if(e.main&&Eo(e.main,t))return{kind:`main`};for(let n of e.floating)if(n.leaf.panes.some(e=>e.id===t))return{kind:`floating`,windowId:n.id};for(let n of e.autoHide)if(n.leaf.panes.some(e=>e.id===t))return{kind:`autoHide`,entryId:n.id};return null}function ss(e,t){if(e.main&&cs(e.main,t))return`main`;let n=e.floating.find(e=>e.leaf.id===t);return n?n.id:null}function cs(e,t){return e.type===`tabs`?e.id===t:e.children.some(e=>cs(e,t))}function ls(e,t){let n=e=>{if(e.type===`tabs`)return e.panes.find(e=>e.id===t)??null;for(let t of e.children){let e=n(t);if(e)return e}return null};if(e.main){let t=n(e.main);if(t)return t}for(let n of e.floating){let e=n.leaf.panes.find(e=>e.id===t);if(e)return e}for(let n of e.autoHide){let e=n.leaf.panes.find(e=>e.id===t);if(e)return e}return null}function us(e){return e.floating.reduce((e,t)=>Math.max(e,t.z),0)}function ds(e,t){let n=e.main;n&&Eo(n,t)&&(n=jo(n,t).root);let r=e.floating.map(e=>{if(!e.leaf.panes.some(e=>e.id===t))return e;let n=e.leaf.panes.filter(e=>e.id!==t);if(n.length===0)return null;let r=Math.max(0,Math.min(e.leaf.active,n.length-1));return{...e,leaf:{...e.leaf,panes:n,active:r}}}).filter(e=>e!==null),i=e.autoHide.map(e=>{if(!e.leaf.panes.some(e=>e.id===t))return e;let n=e.leaf.panes.filter(e=>e.id!==t);if(n.length===0)return null;let r=Math.max(0,Math.min(e.leaf.active,n.length-1));return{...e,leaf:{...e.leaf,panes:n,active:r}}}).filter(e=>e!==null);return{main:n,floating:r,autoHide:i}}function fs(e,t,n,r){return e.main&&cs(e.main,t)?{...e,main:Ao(e.main,t,n,r)}:{...e,floating:e.floating.map(e=>{if(e.leaf.id!==t)return e;let i=Ao(e.leaf,t,n,r);return i.type===`tabs`?{...e,leaf:i}:e})}}function ps(e,t,n){return e.main?{...e,main:ms(e.main,t,n)}:e}function ms(e,t,n){if(e.type===`tabs`)return e;let r=e.children.map(e=>ms(e,t,n));return e.id===t?{...e,children:r,sizes:hs(n,r.length)}:{...e,children:r}}function hs(e,t){if(t<=0)return[];let n=e.length===t?e:Array(t).fill(1),r=n.reduce((e,t)=>e+(t>0?t:0),0);return r<=0?Array(t).fill(1/t):n.map(e=>(e>0?e:0)/r)}function gs(e,t,n){let r=e.floating.find(e=>e.leaf.id===t);if(r)return{...e,floating:e.floating.map(e=>e.id===r.id?{...e,leaf:{...e.leaf,active:Rs(n,e.leaf.panes.length)}}:e)};let i=e.autoHide.find(e=>e.leaf.id===t);return i?{...e,autoHide:e.autoHide.map(e=>e.id===i.id?{...e,leaf:{...e.leaf,active:Rs(n,e.leaf.panes.length)}}:e)}:{...e,main:e.main?zs(e.main,t,n):e.main}}function _s(e,t,n,r,i){let a=ls(e,t);if(!a)return e;let o=ss(e,n);if(!o)return e;let s=ds(e,t);if(ss(s,n)===null)return e;if(o===`main`){let t=s.main;return t?{...s,main:Mo(t,n,a,r,i)}:e}return{...s,floating:s.floating.map(e=>{if(e.id!==o)return e;let t=[...e.leaf.panes,a];return{...e,leaf:{...e.leaf,panes:t,active:t.length-1}}})}}function vs(e,t,n){if(!e.main)return{...e,main:So(n,[t],0)};let r=!1,i=e=>{if(r)return e;if(e.type===`tabs`){r=!0;let n=[...e.panes,t];return{...e,panes:n,active:n.length-1}}return{...e,children:e.children.map(i)}};return{...e,main:i(e.main)}}function ys(e,t,n){let r=ls(e,t);if(!r)return e;let i=ds(e,t);return i.main?{...i,main:i.main}:{...i,main:So(n,[r],0)}}function bs(e,t,n,r){let i=ls(e,t);if(!i)return e;let a=os(e,t);if(a?.kind===`floating`){let t=e.floating.find(e=>e.id===a.windowId);if(t&&t.leaf.panes.length===1)return e}let o=ds(e,t),s={id:r(),leaf:So(r,[i],0),x:n.x,y:n.y,width:n.width,height:n.height,z:us(e)+1};return{...o,floating:[...o.floating,s]}}function xs(e,t,n,r,i){let a=e.floating.find(e=>e.id===t);if(!a||ss(e,n)!==`main`||!e.main)return e;let o=e.floating.filter(e=>e.id!==t);if(r===`center`)return{...e,floating:o,main:e.main?Bs(e.main,n,a.leaf.panes):e.main};let s=So(i,a.leaf.panes,a.leaf.active),c=r===`left`||r===`right`?`row`:`column`,l=r===`left`||r===`top`;return{...e,floating:o,main:Vs(e.main,n,s,c,l,i)}}function Ss(e,t,n,r){return{...e,floating:e.floating.map(e=>e.id===t?{...e,x:n,y:r}:e)}}function Cs(e,t,n,r){return{...e,floating:e.floating.map(e=>e.id===t?{...e,width:Math.max(140,n),height:Math.max(80,r)}:e)}}function ws(e,t){let n=us(e);return{...e,floating:e.floating.map(e=>e.id===t?{...e,z:n+1}:e)}}function Ts(e,t,n){return{...e,floating:e.floating.map(e=>e.id===t?{...e,minimized:n,maximized:!n&&e.maximized}:e)}}function Es(e,t){return{...e,floating:e.floating.map(e=>e.id===t?{...e,maximized:!e.maximized,minimized:!1}:e)}}function Ds(e,t){return{...e,floating:e.floating.filter(e=>e.id!==t)}}function Os(e,t){let n=e=>{if(e.type===`tabs`)return e.id===t?e:null;for(let t of e.children){let e=n(t);if(e)return e}return null};if(e.main){let t=n(e.main);if(t)return t}let r=e.floating.find(e=>e.leaf.id===t);if(r)return r.leaf;let i=e.autoHide.find(e=>e.leaf.id===t);return i?i.leaf:null}function ks(e,t){let n=e.maximizedLeaf===t;return{...e,maximizedLeaf:n?null:t}}function As(e,t,n,r,i=260){let a=e.floating.find(e=>e.id===t);if(!a)return e;let o={id:r(),side:n,leaf:So(r,a.leaf.panes,a.leaf.active),size:i};return{...e,floating:e.floating.filter(e=>e.id!==t),autoHide:[...e.autoHide,o]}}function js(e,t,n,r=260){if(!e.main)return e;let{root:i,leaf:a}=No(e.main,t);if(!a)return e;let o={id:`ah-${t}`,side:n,leaf:a,size:r};return{...e,main:i,autoHide:[...e.autoHide,o]}}function Ms(e,t,n,r,i=260){let a=ls(e,t);if(!a)return e;let o=ds(e,t),s={id:r(),side:n,leaf:So(r,[a],0),size:i};return{...o,autoHide:[...o.autoHide,s]}}function Ns(e,t,n,r=.25){let i=e.autoHide.find(e=>e.id===t);if(!i)return e;let a=So(n,i.leaf.panes,i.leaf.active);return{...e,autoHide:e.autoHide.filter(e=>e.id!==t),main:Po(e.main,a,i.side,n,r)}}function Ps(e,t,n){return{...e,autoHide:e.autoHide.map(e=>e.id===t?{...e,size:Math.max(120,n)}:e)}}function Fs(e,t){return ds(e,t)}function Is(e){let t=[],n=e=>{if(t.push(e.id),e.type===`tabs`)for(let n of e.panes)t.push(n.id);else for(let t of e.children)n(t)};e.main&&n(e.main);for(let r of e.floating)t.push(r.id),n(r.leaf);for(let r of e.autoHide)t.push(r.id),n(r.leaf);return t}function Ls(e){let t=new Set,n=1,r=()=>{let e=`dm-d${n++}`;for(;t.has(e);)e=`dm-d${n++}`;return e},i=e=>{let n=t.has(e)?r():e;return t.add(n),n},a=e=>{let t=i(e.id);if(e.type===`tabs`)return t===e.id?e:{...e,id:t};let n=e.children.map(a);return t===e.id&&n.every((t,n)=>t===e.children[n])?e:{...e,id:t,children:n}},o=e.main?a(e.main):e.main,s=!1,c=e.floating.map(e=>{let t=i(e.id),n=a(e.leaf);return t===e.id&&n===e.leaf?e:(s=!0,{...e,id:t,leaf:n})}),l=!1,u=e.autoHide.map(e=>{let t=i(e.id),n=a(e.leaf);return t===e.id&&n===e.leaf?e:(l=!0,{...e,id:t,leaf:n})});return o===e.main&&!s&&!l?e:{...e,main:o,floating:s?c:e.floating,autoHide:l?u:e.autoHide}}function Rs(e,t){return t<=0?0:Math.max(0,Math.min(e,t-1))}function zs(e,t,n){return e.type===`tabs`?e.id===t?{...e,active:Rs(n,e.panes.length)}:e:{...e,children:e.children.map(e=>zs(e,t,n))}}function Bs(e,t,n){if(e.type===`tabs`){if(e.id!==t)return e;let r=[...e.panes,...n];return{...e,panes:r,active:r.length-1}}return{...e,children:e.children.map(e=>Bs(e,t,n))}}function Vs(e,t,n,r,i,a){let o=e=>{if(e.type===`tabs`){if(e.id!==t)return e;let o=i?[n,e]:[e,n];return{type:`group`,id:a(),direction:r,children:o,sizes:[.5,.5]}}return{...e,children:e.children.map(o)}};return o(e)}var Hs=y(`<div class="sv-popout-host svelte-1bgr5p6"><!></div>`);function Us(e,t){var n=Hs(),r=B(n);o(r,()=>t.pane,()=>t.paneData),H(n),d(e,n)}function Ws(e){let t=window.open(``,``,`width=${e.width??480},height=${e.height??360}`);if(!t)return null;let n=t.document;n.title=e.pane.title;for(let e of Array.from(document.styleSheets))try{let t=Array.from(e.cssRules).map(e=>e.cssText).join(`
3
3
  `),r=n.createElement(`style`);r.textContent=t,n.head.appendChild(r)}catch{if(e.href){let t=n.createElement(`link`);t.rel=`stylesheet`,t.href=e.href,n.head.appendChild(t)}}let r=getComputedStyle(e.themeSource);for(let e of $r){let t=r.getPropertyValue(e).trim();t&&n.documentElement.style.setProperty(e,t)}n.body.style.margin=`0`,n.body.style.background=r.getPropertyValue(`--sg-bg`).trim()||`#fff`,n.body.style.color=r.getPropertyValue(`--sg-fg`).trim()||`#0f172a`,n.body.style.font=r.font;let i=g(Us,{target:n.body,props:{pane:e.paneSnippet,paneData:e.pane}}),a=!1,o=t=>{if(!a){a=!0,clearInterval(s);try{c(i)}catch{}t&&e.onClose(e.pane.id)}};t.addEventListener(`beforeunload`,()=>o(!0));let s=setInterval(()=>{t.closed&&o(!0)},400);return{pane:e.pane,win:t,destroy:()=>{o(!1);try{t.close()}catch{}}}}var Gs=0;function Ks(){return Gs+=1,Gs*1e6}var qs=y(`<button type="button" class="sv-dockmgr__pact svelte-1wq23f5" title="Pop out to a new window">&#10697;</button>`),Js=y(`<button type="button" class="sv-dockmgr__pact svelte-1wq23f5" title="Float">&#9634;</button> <!>`,1),Ys=y(`<button type="button" class="sv-dockmgr__pact svelte-1wq23f5" aria-label="Maximize panel"> </button> <button type="button" class="sv-dockmgr__pact svelte-1wq23f5" title="Auto-hide" aria-label="Auto-hide panel">&#9663;</button> <!>`,1),Xs=y(`<button type="button" class="sv-dockmgr__pact svelte-1wq23f5" title="Pin">&#128204;</button>`),Zs=y(`<button type="button"> </button>`),Qs=y(`<div></div>`),$s=y(`<div class="sv-dockmgr__empty svelte-1wq23f5" data-dock-empty="">Drag a panel here</div>`),ec=y(`<div><!> <div></div></div>`),tc=y(`<div class="sv-dockmgr__winresize svelte-1wq23f5"></div>`),nc=y(`<div class="sv-dockmgr__winbody svelte-1wq23f5"><!></div> <!>`,1),rc=y(`<div><div class="sv-dockmgr__winbar svelte-1wq23f5"><span class="sv-dockmgr__wintitle svelte-1wq23f5"> </span> <div class="sv-dockmgr__winctl svelte-1wq23f5"><button type="button" title="Auto-hide" aria-label="Auto-hide window" class="svelte-1wq23f5">&#9663;</button> <button type="button" aria-label="Minimize window" class="svelte-1wq23f5">&#8211;</button> <button type="button" aria-label="Maximize window" class="svelte-1wq23f5"> </button> <button type="button" class="sv-dockmgr__winclose svelte-1wq23f5" title="Close" aria-label="Close window">&times;</button></div></div> <!></div>`),ic=y(`<div aria-hidden="true"></div>`),ac=y(`<div class="sv-dockmgr__ghost svelte-1wq23f5"> </div>`),oc=y(`<div class="sv-dockmgr svelte-1wq23f5"><!> <div class="sv-dockmgr__main svelte-1wq23f5"><!></div> <!> <!> <!> <!></div>`);function sc(e,t){le(t,!0);let n=(e,t=ee)=>{let n=N(()=>t().panes[t().active]??t().panes[0]);var r=Ys(),a=L(r),o=B(a,!0);H(a);var s=k(a,2),c=k(s,2),l=e=>{var t=Js(),r=L(t),i=k(r,2),a=e=>{var t=qs();w(()=>z(t,`aria-label`,`Pop out ${p(n).title??``}`)),x(`pointerdown`,t,e=>e.stopPropagation()),x(`click`,t,e=>{e.stopPropagation(),Ne(p(n).id)}),d(e,t)};h(i,e=>{u()&&e(a)}),w(()=>z(r,`aria-label`,`Float ${p(n).title??``}`)),x(`pointerdown`,r,e=>e.stopPropagation()),x(`click`,r,e=>{e.stopPropagation(),je(p(n).id)}),d(e,t)};h(c,e=>{p(n)&&e(l)}),w(()=>{z(a,`title`,i().maximizedLeaf===t().id?`Restore`:`Maximize`),v(o,i().maximizedLeaf===t().id?`❐`:`⤢`)}),x(`pointerdown`,a,e=>e.stopPropagation()),x(`click`,a,e=>{e.stopPropagation();let n=i().maximizedLeaf!==t().id;E(ks(i(),t().id)),g({type:`maximize`,tabsId:t().id,maximized:n})}),x(`pointerdown`,s,e=>e.stopPropagation()),x(`click`,s,e=>{e.stopPropagation(),p(n)&&ze(p(n).id)}),d(e,r)},r=(e,t=ee)=>{let n=N(()=>t().panes[t().active]??t().panes[0]);var r=m(),i=L(r),a=e=>{var t=Xs();w(()=>z(t,`aria-label`,`Pin ${p(n).title??``}`)),x(`pointerdown`,t,e=>e.stopPropagation()),x(`click`,t,e=>{e.stopPropagation(),Be(p(n).id)}),d(e,t)};h(i,e=>{p(n)&&e(a)}),d(e,r)},i=ge(t,`workspace`,15),a=ge(t,`minSize`,3,80),o=ge(t,`reorderEnabled`,3,!0),s=ge(t,`headerPosition`,3,`top`),c=ge(t,`keepAlive`,3,!1),l=ge(t,`hideSingleTab`,3,!1),u=ge(t,`allowPopout`,3,!1),f=ge(t,`locked`,3,!1),g=e=>t.onEvent?.(e),_=j(null),y=new Map,S=Ks(),C=()=>{let e=new Set(Is(i())),t=`dm-${S++}`;for(;e.has(t);)t=`dm-${S++}`;return t};function E(e){i(e),t.onChange?.(e)}let D=j(null);function O(e){e!==p(D)&&(V(D,e,!0),e&&g({type:`focus`,paneId:e}))}let te=N(()=>{if(!p(D))return null;let e=t=>{if(t.type===`tabs`)return t.panes.some(e=>e.id===p(D))?t.id:null;for(let n of t.children){let t=e(n);if(t)return t}return null};if(i().main){let t=e(i().main);if(t)return t}let t=i().floating.find(e=>e.leaf.panes.some(e=>e.id===p(D)));return t?t.leaf.id:null}),M=(e,t)=>{let n=Os(i(),e)?.panes[t]?.id;E(gs(i(),e,t)),n&&(O(n),g({type:`activePane`,tabsId:e,paneId:n}))};function ne(e,t){if(p(De)===e.id&&e.leaf.active===t){V(De,null);return}e.leaf.active!==t&&M(e.leaf.id,t),V(De,e.id,!0)}let P=e=>{E(Fs(i(),e)),g({type:`close`,paneId:e})},F=(e,t)=>E(ps(i(),e,t));function I(e){let t=n=>{if(n.type===`tabs`)return n.panes.find(t=>t.id===e)?.title??null;for(let e of n.children){let n=t(e);if(n)return n}return null};if(i().main){let e=t(i().main);if(e)return e}for(let t of i().floating){let n=t.leaf.panes.find(t=>t.id===e);if(n)return n.title}for(let t of i().autoHide){let n=t.leaf.panes.find(t=>t.id===e);if(n)return n.title}return``}let re=j(null),ie=j(null),ae=null,se=j(null),R=j(null),ce=N(()=>p(R)?{tabsId:p(R).tabsId,zone:p(R).zone,centerOnly:p(R).surface!==`main`}:null),ue=N(()=>p(ie)&&p(ie).kind===`reorder`?{tabsId:p(ie).tabsId,index:p(ie).index}:null),de=N(()=>p(ie)&&p(ie).kind===`autohide`?p(ie).side:null);function pe(e,t,n,r){let i=t-(e.left+e.right)/2,a=n-(e.top+e.bottom)/2,o=(e,t)=>Math.abs(i-e)<=15&&Math.abs(a-t)<=15;return o(0,0)?`center`:r?o(-30,0)?`left`:o(30,0)?`right`:o(0,-30)?`top`:o(0,30)?`bottom`:null:null}function he(e,t,n){O(t),ae={paneId:t,sourceTabsId:n,sx:e.clientX,sy:e.clientY},window.addEventListener(`pointermove`,xe),window.addEventListener(`pointerup`,Se)}let _e=N(()=>s()===`left`||s()===`right`);function ye(e,t,n){let r=Array.from(e.querySelectorAll(`[data-dock-tab]`));for(let e=0;e<r.length;e++){let i=r[e].getBoundingClientRect();if(p(_e)?n<i.top+i.height/2:t<i.left+i.width/2)return e}return r.length}function be(e,t){V(R,null);let n=document.elementFromPoint(e,t);if(!n||!p(_)?.contains(n))return{kind:`float`};let r=n.closest(`[data-dock-tabs]`),i=n.closest(`.sv-dock__tabstrip`);if(o()&&r&&i&&r.dataset.dockTabs===ae.sourceTabsId)return{kind:`reorder`,tabsId:ae.sourceTabsId,index:ye(i,e,t)};{let n=p(_).getBoundingClientRect(),r=e-n.left,i=n.right-e,a=t-n.top,o=n.bottom-t,s=Math.min(r,i,a,o);if(s>=0&&s<=22)return{kind:`autohide`,side:s===r?`left`:s===i?`right`:s===a?`top`:`bottom`}}if(r){let n=r.closest(`[data-dock-surface]`)?.dataset.dockSurface??`main`,i=n===`main`,a=pe(r.getBoundingClientRect(),e,t,i);return V(R,{tabsId:r.dataset.dockTabs,surface:n,zone:a},!0),a?{kind:`dock`,surface:n,tabsId:r.dataset.dockTabs,zone:a}:{kind:`float`}}return n.closest(`[data-dock-empty]`)?{kind:`empty-main`}:{kind:`float`}}function xe(e){if(ae){if(!p(re)){if(Math.hypot(e.clientX-ae.sx,e.clientY-ae.sy)<5)return;V(re,{title:I(ae.paneId),x:e.clientX,y:e.clientY},!0),document.body.style.userSelect=`none`,document.body.style.cursor=`grabbing`}V(re,{...p(re),x:e.clientX,y:e.clientY},!0),V(ie,be(e.clientX,e.clientY),!0)}}function Se(e){if(window.removeEventListener(`pointermove`,xe),window.removeEventListener(`pointerup`,Se),ae&&p(re)&&p(ie)){let{paneId:t}=ae;if(p(ie).kind===`reorder`){let e=we(p(ie).tabsId,t);e>=0&&E(fs(i(),p(ie).tabsId,e,p(ie).index>e?p(ie).index-1:p(ie).index))}else if(p(ie).kind===`dock`)E(_s(i(),t,p(ie).tabsId,p(ie).zone,C));else if(p(ie).kind===`autohide`)E(Ms(i(),t,p(ie).side,C));else if(p(ie).kind===`empty-main`)E(ys(i(),t,C));else{let n=p(_)?.getBoundingClientRect(),r=e.clientX-(n?.left??0)-40,a=e.clientY-(n?.top??0)-12;E(bs(i(),t,{x:Math.max(0,r),y:Math.max(0,a),width:340,height:240},C))}}ae=null,V(re,null),V(ie,null),V(R,null),document.body.style.userSelect=``,document.body.style.cursor=``}function we(e,t){let n=r=>{if(r.type===`tabs`)return r.id===e?r.panes.findIndex(e=>e.id===t):-1;for(let e of r.children){let t=n(e);if(t>=0)return t}return-1};if(i().main){let e=n(i().main);if(e>=0)return e}let r=i().floating.find(t=>t.leaf.id===e);return r?r.leaf.panes.findIndex(e=>e.id===t):-1}function Te(e,t){if(e.button!==0)return;E(ws(i(),t));let n=i().floating.find(e=>e.id===t);if(!n)return;let r=e.clientX-n.x,a=e.clientY-n.y;V(se,t,!0);let o=null,s=null,c=e=>{E(Ss(i(),t,e.clientX-r,e.clientY-a));let n=p(_)?.getBoundingClientRect();if(n){let t=e.clientX-n.left,r=n.right-e.clientX,i=e.clientY-n.top,a=n.bottom-e.clientY,c=Math.min(t,r,i,a);if(c>=0&&c<=22){s=c===t?`left`:c===r?`right`:c===i?`top`:`bottom`,V(ie,{kind:`autohide`,side:s},!0),V(R,null),o=null;return}}s=null,V(ie,null);let c=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-dock-tabs]`),l=c?c.closest(`[data-dock-surface]`)?.dataset.dockSurface:void 0;if(c&&l===`main`){let t=pe(c.getBoundingClientRect(),e.clientX,e.clientY,!0);V(R,{tabsId:c.dataset.dockTabs,surface:`main`,zone:t},!0),o=t?{tabsId:c.dataset.dockTabs,zone:t}:null}else V(R,null),o=null},l=()=>{if(window.removeEventListener(`pointermove`,c),window.removeEventListener(`pointerup`,l),s){let e=s===`left`||s===`right`?n.width:n.height;E(As(i(),t,s,C,Math.round(e)))}else o&&E(xs(i(),t,o.tabsId,o.zone,C));V(se,null),V(ie,null),V(R,null),document.body.style.userSelect=``};document.body.style.userSelect=`none`,window.addEventListener(`pointermove`,c),window.addEventListener(`pointerup`,l)}function Ee(e,t){if(e.button!==0)return;e.stopPropagation();let n=i().floating.find(e=>e.id===t);if(!n)return;let r=e.clientX,a=e.clientY,o=n.width,s=n.height,c=e=>E(Cs(i(),t,o+(e.clientX-r),s+(e.clientY-a))),l=()=>{window.removeEventListener(`pointermove`,c),window.removeEventListener(`pointerup`,l),document.body.style.userSelect=``};document.body.style.userSelect=`none`,window.addEventListener(`pointermove`,c),window.addEventListener(`pointerup`,l)}let De=j(null),Oe=e=>(e.side===`left`||e.side===`right`?`width`:`height`)+`: ${e.size}px`;T(()=>{if(!p(De))return;let e=e=>{let t=e.target;t?.closest(`.sv-dockmgr__flyout`)||t?.closest(`.sv-dockmgr__strip`)||V(De,null)},t=e=>{e.key===`Escape`&&V(De,null)};return window.addEventListener(`pointerdown`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e,!0),window.removeEventListener(`keydown`,t)}});let ke=N(()=>({left:i().autoHide.some(e=>e.side===`left`)?34:0,right:i().autoHide.some(e=>e.side===`right`)?34:0,top:i().autoHide.some(e=>e.side===`top`)?34:0,bottom:i().autoHide.some(e=>e.side===`bottom`)?34:0})),Ae=N(()=>i().maximizedLeaf?Os(i(),i().maximizedLeaf):null);function je(e){let t=p(_)?.getBoundingClientRect();E(bs(i(),e,{x:(t?t.width:400)*.3,y:60,width:340,height:240},C)),g({type:`float`,paneId:e})}function Me(e){let t=n=>{if(n.type===`tabs`)return n.panes.find(t=>t.id===e)??null;for(let e of n.children){let n=t(e);if(n)return n}return null};if(i().main){let e=t(i().main);if(e)return e}for(let t of i().floating){let n=t.leaf.panes.find(t=>t.id===e);if(n)return n}for(let t of i().autoHide){let n=t.leaf.panes.find(t=>t.id===e);if(n)return n}return null}function Ne(e){if(y.has(e)||!p(_))return;let n=Me(e);if(!n)return;let r=Fs(i(),e),a=Ws({pane:n,paneSnippet:t.pane,themeSource:p(_),onClose:e=>Pe(e)});if(!a){je(e);return}y.set(e,a),E(r),g({type:`popout`,paneId:e})}function Pe(e){let t=y.get(e);t&&(y.delete(e),t.destroy(),E(vs(i(),t.pane,C)))}function Fe(e){let t=n=>{if(n.type===`tabs`)return n.panes.some(t=>t.id===e)?n.id:null;for(let e of n.children){let n=t(e);if(n)return n}return null};return i().main?t(i().main):null}let Ie=()=>p(_)?.querySelector(`.sv-dockmgr__main`)?.getBoundingClientRect(),Le=e=>p(_)?.querySelector(`[data-dock-tabs="${CSS.escape(e)}"]`)?.getBoundingClientRect();function Re(e){let t=Le(e),n=Ie();if(!t||!n||n.width<=0||n.height<=0)return`left`;let r=(t.left+t.right)/2,i=(t.top+t.bottom)/2,a=(r-n.left)/n.width,o=(n.right-r)/n.width,s=(i-n.top)/n.height,c=(n.bottom-i)/n.height,l=Math.min(a,o,s,c);return l===a?`left`:l===o?`right`:l===s?`top`:`bottom`}function ze(e){let t=Fe(e);if(!t)return;let n=Re(t),r=Le(t),a=r?Math.round(n===`left`||n===`right`?r.width:r.height):260;E(js(i(),t,n,a)),g({type:`autoHide`,paneId:e,side:n})}function Be(e){let t=i().autoHide.find(t=>t.leaf.panes.some(t=>t.id===e));if(!t)return;let n=Ie(),r=n?t.side===`left`||t.side===`right`?n.width:n.height:1e3,a=Math.min(.5,Math.max(.12,t.size/(r||1e3)));E(Ns(i(),t.id,C,a)),g({type:`pin`,paneId:e})}function Ve(e){let t=i().floating.find(t=>t.id===e),n=Ie();if(!t||!n)return;let r=t.x+t.width/2,a=t.y+t.height/2,o=r,s=n.width-r,c=a,l=n.height-a,u=Math.min(o,s,c,l),d=u===o?`left`:u===s?`right`:u===c?`top`:`bottom`,f=d===`left`||d===`right`?t.width:t.height;E(As(i(),e,d,C,Math.round(f)))}let He=e=>({duration:160,x:e===`left`?-20:e===`right`?20:0,y:e===`top`?-20:e===`bottom`?20:0});function Ue(e,t){if(e.button!==0)return;e.preventDefault(),e.stopPropagation();let n=t.size,r=e.clientX,a=e.clientY,o=e=>{let o=t.side===`left`?e.clientX-r:t.side===`right`?r-e.clientX:t.side===`top`?e.clientY-a:a-e.clientY;E(Ps(i(),t.id,n+o))},s=()=>{window.removeEventListener(`pointermove`,o),window.removeEventListener(`pointerup`,s),document.body.style.userSelect=``};document.body.style.userSelect=`none`,window.addEventListener(`pointermove`,o),window.addEventListener(`pointerup`,s)}t.onReady?.({getState:()=>i(),setState:e=>E(e),float:e=>je(e),popout:e=>Ne(e),autoHide:e=>ze(e),maximize:e=>{Os(i(),e)&&E(ks(i(),e))},close:e=>E(Fs(i(),e)),focus:e=>O(e)}),ve(()=>{for(let e of y.values())e.destroy();y.clear()});var We=oc(),Ge=B(We);oe(Ge,16,()=>[`left`,`right`,`top`,`bottom`],e=>e,(e,t)=>{let n=N(()=>i().autoHide.filter(e=>e.side===t));var r=m(),a=L(r),o=e=>{var r=Qs();let i;oe(r,21,()=>p(n),e=>e.id,(e,t)=>{var n=m(),r=L(n);oe(r,19,()=>p(t).leaf.panes,e=>e.id,(e,n,r)=>{var i=Zs();let a;var o=B(i,!0);H(i),w(()=>{a=Ce(i,1,`sv-dockmgr__stab svelte-1wq23f5`,null,a,{"is-open":p(De)===p(t).id&&p(t).leaf.active===p(r)}),z(i,`title`,p(n).title),v(o,p(n).title)}),x(`click`,i,()=>ne(p(t),p(r))),d(e,i)}),d(e,n)}),H(r),w(()=>{Ce(r,1,`sv-dockmgr__strip sv-dockmgr__strip--${t??``}`,`svelte-1wq23f5`),i=A(r,``,i,{top:t===`left`||t===`right`?`${p(ke).top}px`:void 0,bottom:t===`left`||t===`right`?`${p(ke).bottom}px`:void 0})}),d(e,r)};h(a,e=>{p(n).length&&e(o)}),d(e,r)});var Ke=k(Ge,2);let qe;var Je=B(Ke),Ye=e=>{as(e,{get layout(){return p(Ae)},get pane(){return t.pane},get minSize(){return a()},get headerPosition(){return s()},get focusedLeaf(){return p(te)},get keepAlive(){return c()},get hideSingleTab(){return l()},get locked(){return f()},surface:`main`,onBeginDrag:he,get externalDrop(){return p(ce)},get externalReorder(){return p(ue)},onActivate:M,onClose:P,onResize:F,get leafActions(){return n}})},Xe=e=>{as(e,{get layout(){return i().main},get pane(){return t.pane},get minSize(){return a()},get headerPosition(){return s()},get focusedLeaf(){return p(te)},get keepAlive(){return c()},get hideSingleTab(){return l()},get locked(){return f()},surface:`main`,onBeginDrag:he,get externalDrop(){return p(ce)},get externalReorder(){return p(ue)},onActivate:M,onClose:P,onResize:F,get leafActions(){return n}})},Ze=e=>{var t=$s();d(e,t)};h(Je,e=>{p(Ae)?e(Ye):i().main?e(Xe,1):e(Ze,-1)}),H(Ke);var Qe=k(Ke,2);oe(Qe,17,()=>i().autoHide,e=>e.id,(e,n)=>{var i=m(),o=L(i),l=e=>{var i=ec(),o=B(i);as(o,{get layout(){return p(n).leaf},get pane(){return t.pane},get minSize(){return a()},get headerPosition(){return s()},get focusedLeaf(){return p(te)},get keepAlive(){return c()},hideSingleTab:!0,get surface(){return p(n).id},onBeginDrag:he,get externalDrop(){return p(ce)},get externalReorder(){return p(ue)},onActivate:M,onClose:P,onResize:F,get leafActions(){return r}});var l=k(o,2);H(i),w(e=>{Ce(i,1,`sv-dockmgr__flyout sv-dockmgr__flyout--${p(n).side??``}`,`svelte-1wq23f5`),A(i,e),Ce(l,1,`sv-dockmgr__flyresize sv-dockmgr__flyresize--${p(n).side??``}`,`svelte-1wq23f5`)},[()=>Oe(p(n))]),x(`pointerdown`,l,e=>Ue(e,p(n))),b(3,i,()=>ai,()=>He(p(n).side)),d(e,i)};h(o,e=>{p(De)===p(n).id&&e(l)}),d(e,i)});var $e=k(Qe,2);oe($e,17,()=>i().floating,e=>e.id,(e,n)=>{var r=rc();let o,u;var f=B(r),m=B(f),_=B(m,!0);H(m);var y=k(m,2),b=B(y),S=k(b,2),C=k(S,2),T=B(C,!0);H(C);var D=k(C,2);H(y),H(f);var O=k(f,2),ee=e=>{var r=nc(),i=L(r);as(B(i),{get layout(){return p(n).leaf},get pane(){return t.pane},get minSize(){return a()},get headerPosition(){return s()},get focusedLeaf(){return p(te)},get keepAlive(){return c()},get hideSingleTab(){return l()},get surface(){return p(n).id},onBeginDrag:he,get externalDrop(){return p(ce)},get externalReorder(){return p(ue)},onActivate:M,onClose:P,onResize:F}),H(i);var o=k(i,2),u=e=>{var t=tc();x(`pointerdown`,t,e=>Ee(e,p(n).id)),d(e,t)};h(o,e=>{p(n).maximized||e(u)}),d(e,r)};h(O,e=>{p(n).minimized||e(ee)}),H(r),w(()=>{o=Ce(r,1,`sv-dockmgr__window svelte-1wq23f5`,null,o,{"is-minimized":p(n).minimized,"is-maximized":p(n).maximized}),u=A(r,``,u,{left:p(n).maximized?void 0:`${p(n).x}px`,top:p(n).maximized?void 0:`${p(n).y}px`,width:p(n).maximized?void 0:`${p(n).width}px`,height:p(n).maximized||p(n).minimized?void 0:`${p(n).height}px`,"z-index":100+p(n).z,"pointer-events":p(se)===p(n).id?`none`:void 0}),v(_,p(n).leaf.panes[p(n).leaf.active]?.title??`Window`),z(S,`title`,p(n).minimized?`Restore`:`Minimize`),z(C,`title`,p(n).maximized?`Restore`:`Maximize`),v(T,p(n).maximized?`❐`:`□`)}),x(`pointerdown`,r,()=>E(ws(i(),p(n).id))),x(`dblclick`,f,()=>E(Es(i(),p(n).id))),x(`pointerdown`,f,e=>{p(n).maximized||Te(e,p(n).id)}),x(`pointerdown`,b,e=>e.stopPropagation()),x(`click`,b,e=>{e.stopPropagation(),Ve(p(n).id),g({type:`window`,windowId:p(n).id,action:`autoHide`})}),x(`pointerdown`,S,e=>e.stopPropagation()),x(`click`,S,e=>{e.stopPropagation(),E(Ts(i(),p(n).id,!p(n).minimized)),g({type:`window`,windowId:p(n).id,action:`minimize`})}),x(`pointerdown`,C,e=>e.stopPropagation()),x(`click`,C,e=>{e.stopPropagation(),E(Es(i(),p(n).id)),g({type:`window`,windowId:p(n).id,action:`maximize`})}),x(`pointerdown`,D,e=>e.stopPropagation()),x(`click`,D,e=>{e.stopPropagation(),E(Ds(i(),p(n).id)),g({type:`window`,windowId:p(n).id,action:`close`})}),d(e,r)});var et=k($e,2),tt=e=>{var t=ic();w(()=>Ce(t,1,`sv-dockmgr__edgehint sv-dockmgr__edgehint--${p(de)??``}`,`svelte-1wq23f5`)),d(e,t)};h(et,e=>{p(de)&&e(tt)});var nt=k(et,2),rt=e=>{var t=ac();let n;var r=B(t,!0);H(t),w(()=>{n=A(t,``,n,{left:`${p(re).x+12}px`,top:`${p(re).y+12}px`}),v(r,p(re).title)}),d(e,t)};h(nt,e=>{p(re)&&e(rt)}),H(We),fe(We,e=>V(_,e),()=>p(_)),w(()=>qe=A(Ke,``,qe,{padding:`${p(ke).top}px ${p(ke).right}px ${p(ke).bottom}px ${p(ke).left}px`})),d(e,We),me()}u([`pointerdown`,`click`,`dblclick`]);var cc=y(`<span class="sv-badge__dot svelte-1sax05i" aria-hidden="true"></span>`),lc=y(`<span><!> <!></span>`);function uc(e,t){let n=ge(t,`variant`,3,`neutral`),r=ge(t,`size`,3,`md`),i=ge(t,`pill`,3,!0),a=ge(t,`dot`,3,!1);var s=lc();let c;var l=B(s),u=e=>{var t=cc();d(e,t)};h(l,e=>{a()&&e(u)});var f=k(l,2);o(f,()=>t.children??ee),H(s),w(()=>c=Ce(s,1,`sv-badge sv-badge--${n()??``} sv-badge--${r()??``}`,`svelte-1sax05i`,c,{"is-pill":i(),"has-dot":a()})),d(e,s)}var dc=y(`<span aria-hidden="true"></span>`),fc=y(`<div class="sv-skel svelte-wr6pkw" role="status" aria-busy="true" aria-live="polite"><span class="sv-skel__sr svelte-wr6pkw">Loading</span> <!></div>`);function pc(e,t){let n=ge(t,`variant`,3,`text`),r=ge(t,`lines`,3,1),a=ge(t,`animated`,3,!0),o=N(()=>n()===`text`),s=N(()=>p(o)?Math.max(1,r()):1);var c=fc(),l=k(B(c),2);oe(l,17,()=>Array(p(s)),i,(e,r,i)=>{var c=dc();let l,u;w(()=>{l=Ce(c,1,`sv-skel__box sv-skel__box--${n()??``}`,`svelte-wr6pkw`,l,{"is-animated":a(),"is-last":p(o)&&i===p(s)-1&&p(s)>1}),u=A(c,``,u,{width:t.width,height:t.height,"border-radius":n()===`circle`?`50%`:t.radius})}),d(e,c)}),H(c),d(e,c)}var mc=y(`<h3 class="sv-card__title svelte-kghtm5"> </h3>`),hc=y(`<p class="sv-card__subtitle svelte-kghtm5"> </p>`),gc=y(`<!> <!>`,1),_c=y(`<div class="sv-card__header svelte-kghtm5"><!></div>`),vc=y(`<div class="sv-card__footer svelte-kghtm5"><!></div>`),yc=y(`<div><!> <div><!></div> <!></div>`);function bc(e,t){let n=ge(t,`hoverable`,3,!1),r=ge(t,`flush`,3,!1),i=N(()=>!!t.header||!!t.title||!!t.subtitle);var a=yc();let s;var c=B(a),l=e=>{var n=_c(),r=B(n),i=e=>{var n=m(),r=L(n);o(r,()=>t.header),d(e,n)},a=e=>{var n=gc(),r=L(n),i=e=>{var n=mc(),r=B(n,!0);H(n),w(()=>v(r,t.title)),d(e,n)};h(r,e=>{t.title&&e(i)});var a=k(r,2),o=e=>{var n=hc(),r=B(n,!0);H(n),w(()=>v(r,t.subtitle)),d(e,n)};h(a,e=>{t.subtitle&&e(o)}),d(e,n)};h(r,e=>{t.header?e(i):e(a,-1)}),H(n),d(e,n)};h(c,e=>{p(i)&&e(l)});var u=k(c,2);let f;var g=B(u);o(g,()=>t.children??ee),H(u);var _=k(u,2),y=e=>{var n=vc(),r=B(n);o(r,()=>t.footer),H(n),d(e,n)};h(_,e=>{t.footer&&e(y)}),H(a),w(()=>{s=Ce(a,1,`sv-card svelte-kghtm5`,null,s,{"is-hoverable":n()}),f=Ce(u,1,`sv-card__body svelte-kghtm5`,null,f,{"is-flush":r()})}),d(e,a)}var xc=y(`<span class="sv-alert__icon svelte-5ash61" aria-hidden="true"><!></span>`),Sc=y(`<div class="sv-alert__title svelte-5ash61"> </div>`),Cc=y(`<div class="sv-alert__msg svelte-5ash61"><!></div>`),wc=y(`<div class="sv-alert__actions svelte-5ash61"><!></div>`),Tc=y(`<button type="button" class="sv-alert__x svelte-5ash61" aria-label="Dismiss">&times;</button>`),Ec=y(`<div><!> <div class="sv-alert__body svelte-5ash61"><!> <!> <!></div> <!></div>`);function Dc(e,t){le(t,!0);let n=ge(t,`variant`,3,`info`),r=ge(t,`dismissible`,3,!1),i=ge(t,`hideIcon`,3,!1),a=ge(t,`soft`,3,!1),s=j(!0);function c(){V(s,!1),t.onDismiss?.()}let l=e=>e===`success`?`✓`:e===`warning`?`⚠`:e===`danger`?`✕`:e===`neutral`?`•`:`ℹ`;var u=m(),f=L(u),g=e=>{var s=Ec();let u;var f=B(s),p=e=>{var r=xc(),i=B(r),a=e=>{var n=m(),r=L(n);o(r,()=>t.icon),d(e,n)},s=e=>{var t=S();w(e=>v(t,e),[()=>l(n())]),d(e,t)};h(i,e=>{t.icon?e(a):e(s,-1)}),H(r),d(e,r)};h(f,e=>{i()||e(p)});var g=k(f,2),_=B(g),y=e=>{var n=Sc(),r=B(n,!0);H(n),w(()=>v(r,t.title)),d(e,n)};h(_,e=>{t.title&&e(y)});var b=k(_,2),C=e=>{var n=Cc(),r=B(n);o(r,()=>t.children),H(n),d(e,n)};h(b,e=>{t.children&&e(C)});var T=k(b,2),E=e=>{var n=wc(),r=B(n);o(r,()=>t.actions),H(n),d(e,n)};h(T,e=>{t.actions&&e(E)}),H(g);var D=k(g,2),O=e=>{var t=Tc();x(`click`,t,c),d(e,t)};h(D,e=>{r()&&e(O)}),H(s),w(()=>{u=Ce(s,1,`sv-alert sv-alert--${n()??``}`,`svelte-5ash61`,u,{"is-soft":a()}),z(s,`role`,n()===`danger`||n()===`warning`?`alert`:`status`)}),d(e,s)};h(f,e=>{p(s)&&e(g)}),d(e,u),me()}u([`click`]);var Oc=De(`<svg viewBox="0 0 48 48" width="44" height="44" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="8" y="12" width="32" height="26" rx="3"></rect><path d="M8 20h32"></path><path d="M16 28h10"></path></svg>`),kc=y(`<div class="sv-empty__title svelte-1hs0rt"> </div>`),Ac=y(`<p class="sv-empty__desc svelte-1hs0rt"> </p>`),jc=y(`<div class="sv-empty__actions svelte-1hs0rt"><!></div>`),Mc=y(`<div><div class="sv-empty__icon svelte-1hs0rt" aria-hidden="true"><!></div> <!> <!> <!></div>`);function Nc(e,t){let n=ge(t,`compact`,3,!1);var r=Mc();let i;var a=B(r),s=B(a),c=e=>{var n=m(),r=L(n);o(r,()=>t.icon),d(e,n)},l=e=>{var t=Oc();d(e,t)};h(s,e=>{t.icon?e(c):e(l,-1)}),H(a);var u=k(a,2),f=e=>{var n=kc(),r=B(n,!0);H(n),w(()=>v(r,t.title)),d(e,n)};h(u,e=>{t.title&&e(f)});var p=k(u,2),g=e=>{var n=Ac(),r=B(n,!0);H(n),w(()=>v(r,t.description)),d(e,n)};h(p,e=>{t.description&&e(g)});var _=k(p,2),y=e=>{var n=jc(),r=B(n);o(r,()=>t.children),H(n),d(e,n)};h(_,e=>{t.children&&e(y)}),H(r),w(()=>i=Ce(r,1,`sv-empty svelte-1hs0rt`,null,i,{"is-compact":n()})),d(e,r)}var Pc=y(`<span role="separator" aria-orientation="vertical"></span>`),Fc=y(`<span class="sv-divider__label svelte-19bk4gc"><!></span>`),Ic=y(`<div role="separator"><!></div>`);function Lc(e,t){let n=ge(t,`orientation`,3,`horizontal`),r=ge(t,`align`,3,`center`),i=ge(t,`dashed`,3,!1),a=N(()=>!!t.label||!!t.children);var s=m(),c=L(s),l=e=>{var t=Pc();let n;w(()=>n=Ce(t,1,`sv-divider sv-divider--v svelte-19bk4gc`,null,n,{"is-dashed":i()})),d(e,t)},u=e=>{var n=Ic();let s;var c=B(n),l=e=>{var n=Fc(),r=B(n),i=e=>{var n=m(),r=L(n);o(r,()=>t.children),d(e,n)},a=e=>{var n=S();w(()=>v(n,t.label)),d(e,n)};h(r,e=>{t.children?e(i):e(a,-1)}),H(n),d(e,n)};h(c,e=>{p(a)&&e(l)}),H(n),w(()=>s=Ce(n,1,`sv-divider sv-divider--h sv-divider--${r()??``}`,`svelte-19bk4gc`,s,{"is-dashed":i(),"has-label":p(a)})),d(e,n)};h(c,e=>{n()===`vertical`?e(l):e(u,-1)}),d(e,s)}var Rc=y(`<span class="sv-chip__lead svelte-1d0yb2p"><!></span>`),zc=y(`<button type="button" class="sv-chip__label sv-chip__label--btn svelte-1d0yb2p"><!></button>`),Bc=y(`<span class="sv-chip__label svelte-1d0yb2p"><!></span>`),Vc=y(`<button type="button" class="sv-chip__x svelte-1d0yb2p" aria-label="Remove">&times;</button>`),Hc=y(`<span><!> <!> <!></span>`);function Uc(e,t){let n=ge(t,`variant`,3,`neutral`),r=ge(t,`size`,3,`md`),i=ge(t,`removable`,3,!1),a=ge(t,`solid`,3,!1),s=ge(t,`disabled`,3,!1);var c=Hc();let l;var u=B(c),f=e=>{var n=Rc(),r=B(n);o(r,()=>t.leading),H(n),d(e,n)};h(u,e=>{t.leading&&e(f)});var p=k(u,2),m=e=>{var n=zc(),r=B(n);o(r,()=>t.children??ee),H(n),w(()=>n.disabled=s()),x(`click`,n,function(...e){t.onClick?.apply(this,e)}),d(e,n)},g=e=>{var n=Bc(),r=B(n);o(r,()=>t.children??ee),H(n),d(e,n)};h(p,e=>{t.onClick?e(m):e(g,-1)});var _=k(p,2),v=e=>{var n=Vc();w(()=>n.disabled=s()),x(`click`,n,function(...e){t.onRemove?.apply(this,e)}),d(e,n)};h(_,e=>{i()&&e(v)}),H(c),w(()=>l=Ce(c,1,`sv-chip sv-chip--${n()??``} sv-chip--${r()??``}`,`svelte-1d0yb2p`,l,{"is-solid":a(),"is-disabled":s()})),d(e,c)}u([`click`]);var Wc=y(`<span class="sv-stat__icon svelte-y05dbd" aria-hidden="true"><!></span>`),Gc=y(`<span><span class="sv-stat__arrow svelte-y05dbd" aria-hidden="true"> </span> </span>`),Kc=y(`<span class="sv-stat__hint svelte-y05dbd"> </span>`),qc=y(`<span class="sv-stat__chart svelte-y05dbd"><!></span>`),Jc=y(`<div class="sv-stat__foot svelte-y05dbd"><!> <!> <!></div>`),Yc=y(`<div class="sv-stat svelte-y05dbd"><div class="sv-stat__head svelte-y05dbd"><span class="sv-stat__label svelte-y05dbd"> </span> <!></div> <div class="sv-stat__value svelte-y05dbd"> </div> <!></div>`);function Xc(e,t){let n=ge(t,`invert`,3,!1),r=N(()=>t.trend??(typeof t.delta==`number`?t.delta>0?`up`:t.delta<0?`down`:`flat`:void 0)),i=N(()=>t.delta==null?null:typeof t.delta==`number`?`${t.delta>0?`+`:``}${t.delta}%`:t.delta),a=N(()=>p(r)===`up`?`▲`:p(r)===`down`?`▼`:`→`),s=N(()=>p(r)===`flat`||!p(r)?`flat`:p(r)===`up`===n()?`bad`:`good`);var c=Yc(),l=B(c),u=B(l),f=B(u,!0);H(u);var m=k(u,2),g=e=>{var n=Wc(),r=B(n);o(r,()=>t.icon),H(n),d(e,n)};h(m,e=>{t.icon&&e(g)}),H(l);var _=k(l,2),y=B(_,!0);H(_);var b=k(_,2),x=e=>{var n=Jc(),c=B(n),l=e=>{var t=Gc(),n=B(t),r=B(n,!0);H(n);var o=k(n,1,!0);H(t),w(()=>{Ce(t,1,`sv-stat__delta is-${p(s)??``}`,`svelte-y05dbd`),v(r,p(a)),v(o,p(i))}),d(e,t)};h(c,e=>{p(i)!=null&&p(r)&&e(l)});var u=k(c,2),f=e=>{var n=Kc(),r=B(n,!0);H(n),w(()=>v(r,t.hint)),d(e,n)};h(u,e=>{t.hint&&e(f)});var m=k(u,2),g=e=>{var n=qc(),r=B(n);o(r,()=>t.chart),H(n),d(e,n)};h(m,e=>{t.chart&&e(g)}),H(n),d(e,n)};h(b,e=>{(p(i)!=null||t.hint||t.chart)&&e(x)}),H(c),w(()=>{v(f,t.label),v(y,t.value)}),d(e,c)}var Zc=y(`<span class="sv-timeline__glyph svelte-1fawqjk"> </span>`),Qc=y(`<span class="sv-timeline__time svelte-1fawqjk"> </span>`),$c=y(`<p class="sv-timeline__desc svelte-1fawqjk"> </p>`),el=y(`<div class="sv-timeline__row svelte-1fawqjk"><span class="sv-timeline__title svelte-1fawqjk"> </span> <!></div> <!>`,1),tl=y(`<li class="sv-timeline__item svelte-1fawqjk"><div class="sv-timeline__rail svelte-1fawqjk"><span class="sv-timeline__marker svelte-1fawqjk"><!></span></div> <div class="sv-timeline__content svelte-1fawqjk"><!></div></li>`),nl=y(`<ol class="sv-timeline svelte-1fawqjk"></ol>`);function rl(e,t){var n=nl();oe(n,23,()=>t.items,(e,t)=>e.id??t,(e,n)=>{var r=tl(),i=B(r),a=B(i);let s;var c=B(a),l=e=>{var t=Zc(),r=B(t,!0);H(t),w(()=>v(r,p(n).icon)),d(e,t)};h(c,e=>{p(n).icon&&e(l)}),H(a),H(i);var u=k(i,2),f=B(u),g=e=>{var r=m(),i=L(r);o(i,()=>t.item,()=>p(n)),d(e,r)},_=e=>{var t=el(),r=L(t),i=B(r),a=B(i,!0);H(i);var o=k(i,2),s=e=>{var t=Qc(),r=B(t,!0);H(t),w(()=>v(r,p(n).time)),d(e,t)};h(o,e=>{p(n).time&&e(s)}),H(r);var c=k(r,2),l=e=>{var t=$c(),r=B(t,!0);H(t),w(()=>v(r,p(n).description)),d(e,t)};h(c,e=>{p(n).description&&e(l)}),w(()=>v(a,p(n).title)),d(e,t)};h(f,e=>{t.item?e(g):e(_,-1)}),H(u),H(r),w(()=>s=A(a,``,s,{"--c":p(n).color})),d(e,r)}),H(n),d(e,n)}var il=De(`<path fill-opacity="0.15" stroke="none"></path>`),al=De(`<path fill="none" stroke-linejoin="round" stroke-linecap="round"></path>`),ol=De(`<rect rx="0.5"></rect>`),sl=De(`<circle></circle>`),cl=De(`<svg class="sv-spark svelte-8kco1q" preserveAspectRatio="none" role="img"><!><!><!><!></svg>`);function ll(e,t){le(t,!0);let n=ge(t,`type`,3,`line`),r=ge(t,`width`,3,88),a=ge(t,`height`,3,22),o=ge(t,`lastPoint`,3,!0),s=N(()=>On([...t.data],{type:n(),width:r(),height:a(),color:t.color,negativeColor:t.negativeColor,lineWidth:t.lineWidth,min:t.min,max:t.max,lastPoint:o()}));var c=m(),l=L(c),u=e=>{var r=cl(),a=B(r),c=e=>{var t=il();w(()=>{z(t,`d`,p(s).areaPath),z(t,`fill`,p(s).color)}),d(e,t)};h(a,e=>{n()===`area`&&p(s).areaPath&&e(c)});var l=k(a),u=e=>{var t=al();w(()=>{z(t,`d`,p(s).linePath),z(t,`stroke`,p(s).color),z(t,`stroke-width`,p(s).lineWidth)}),d(e,t)};h(l,e=>{(n()===`line`||n()===`area`)&&p(s).linePath&&e(u)});var f=k(l),g=e=>{var t=m(),n=L(t);oe(n,17,()=>p(s).bars,i,(e,t)=>{var n=ol();w(()=>{z(n,`x`,p(t).x),z(n,`y`,p(t).y),z(n,`width`,p(t).w),z(n,`height`,p(t).h),z(n,`fill`,p(t).negative?p(s).negativeColor:p(s).color)}),d(e,n)}),d(e,t)};h(f,e=>{(n()===`bar`||n()===`winloss`)&&e(g)});var _=k(f),v=e=>{var t=sl();w(()=>{z(t,`cx`,p(s).lastPoint.x),z(t,`cy`,p(s).lastPoint.y),z(t,`r`,p(s).lineWidth+.8),z(t,`fill`,p(s).color)}),d(e,t)};h(_,e=>{o()&&p(s).lastPoint&&(n()===`line`||n()===`area`)&&e(v)}),H(r),w(()=>{z(r,`width`,p(s).width),z(r,`height`,p(s).height),z(r,`viewBox`,`0 0 ${p(s).width} ${p(s).height}`),z(r,`aria-label`,t.ariaLabel??`sparkline`)}),d(e,r)};h(l,e=>{p(s)&&e(u)}),d(e,c),me()}function ul(e){let t=e.trim().split(/\s+/).filter(Boolean);return t.length?t.length===1?t[0].slice(0,2).toUpperCase():(t[0][0]+t[t.length-1][0]).toUpperCase():``}function dl(e){let t=0;for(let n=0;n<e.length;n++)t=(t*31+e.charCodeAt(n))%360;return t}var fl=y(`<img class="sv-avatar__img svelte-1a2dnvu"/>`),pl=y(`<span class="sv-avatar__initials svelte-1a2dnvu" aria-hidden="true"> </span>`),ml=De(`<svg class="sv-avatar__ph svelte-1a2dnvu" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10Zm0 2c-4.4 0-8 2.5-8 5.5V22h16v-2.5C20 16.5 16.4 14 12 14Z"></path></svg>`),hl=y(`<span aria-hidden="true"></span>`),gl=y(`<span role="img"><!> <!></span>`);function _l(e,t){le(t,!0);let n=ge(t,`name`,3,``),r=ge(t,`size`,3,`md`),i=ge(t,`shape`,3,`circle`),a=N(()=>typeof r()==`number`?r():r()===`sm`?28:r()===`lg`?48:36),o=N(()=>ul(n())),s=N(()=>t.color??`hsl(${dl(n()||`?`)} 62% 45%)`),c=j(!1),u=N(()=>!!t.src&&!p(c));var f=gl();let m;var g=B(f),_=e=>{var r=fl();w(()=>{z(r,`src`,t.src),z(r,`alt`,t.alt??n())}),C(`error`,r,()=>V(c,!0)),l(r),d(e,r)},y=e=>{var t=pl(),n=B(t,!0);H(t),w(()=>v(n,p(o))),d(e,t)},b=e=>{var t=ml();d(e,t)};h(g,e=>{p(u)?e(_):p(o)?e(y,1):e(b,-1)});var x=k(g,2),S=e=>{var n=hl();w(()=>Ce(n,1,`sv-avatar__status is-${t.status??``}`,`svelte-1a2dnvu`)),d(e,n)};h(x,e=>{t.status&&e(S)}),H(f),w(e=>{Ce(f,1,`sv-avatar sv-avatar--${i()??``}`,`svelte-1a2dnvu`),z(f,`aria-label`,t.alt??(n()||`avatar`)),z(f,`title`,n()||void 0),m=A(f,``,m,e)},[()=>({width:`${p(a)}px`,height:`${p(a)}px`,"font-size":`${Math.round(p(a)*.4)}px`,background:p(u)?void 0:p(s)})]),d(e,f),me()}var vl=y(`<span class="sv-avgroup__it svelte-194fwsf"><!></span>`),yl=y(`<span class="sv-avgroup__more svelte-194fwsf"> </span>`),bl=y(`<div class="sv-avgroup svelte-194fwsf" role="group"><!> <!></div>`);function xl(e,t){le(t,!0);let n=ge(t,`max`,3,4),r=ge(t,`size`,3,`md`),a=N(()=>t.avatars.slice(0,n())),o=N(()=>Math.max(0,t.avatars.length-n())),s=N(()=>typeof r()==`number`?r():r()===`sm`?28:r()===`lg`?48:36),c=N(()=>Math.round(p(s)*.28));var l=bl();let u;var f=B(l);oe(f,17,()=>p(a),i,(e,t,n)=>{var i=vl();let o;_l(B(i),O(()=>p(t),{get size(){return r()}})),H(i),w(()=>o=A(i,``,o,{"z-index":p(a).length-n})),d(e,i)});var m=k(f,2),g=e=>{var t=yl();let n;var r=B(t);H(t),w(e=>{n=A(t,``,n,e),v(r,`+${p(o)??``}`)},[()=>({width:`${p(s)}px`,height:`${p(s)}px`,"font-size":`${Math.round(p(s)*.36)}px`})]),d(e,t)};h(m,e=>{p(o)&&e(g)}),H(l),w(()=>u=A(l,``,u,{"--ov":`${p(c)}px`})),d(e,l),me()}var Sl=y(`<div><!></div>`),Cl=y(`<button> </button> <button> </button>`,1),wl=y(`<button></button>`),Tl=y(`<div class="sv-carousel__dots svelte-q63jsh"></div>`),El=y(`<button> </button>`),Dl=y(`<div><div class="sv-carousel__viewport svelte-q63jsh"><div></div></div> <!> <!> <!></div>`);function Ol(e,t){le(t,!0);let n=ge(t,`current`,15,0),r=ge(t,`autoplay`,3,0),a=ge(t,`loop`,3,!0),s=ge(t,`arrows`,3,!0),c=ge(t,`dots`,3,!0),l=ge(t,`ariaLabel`,3,`Carousel`),u=hi({count:()=>t.count,current:()=>n(),onChange:e=>n(e),loop:()=>a(),autoplay:()=>r(),dir:()=>t.dir===`ltr`||t.dir===`rtl`?t.dir:void 0}),f=N(()=>u.rtl()),m=j(!1),g=0,_=j(0);function y(e){V(m,!0),g=e.clientX,e.currentTarget.setPointerCapture?.(e.pointerId)}function b(e){p(m)&&V(_,e.clientX-g)}function S(){p(m)&&(V(m,!1),Math.abs(p(_))>50&&(p(_)<0?u.next():u.prev()),V(_,0))}var T=Dl();M(T,e=>({class:`sv-carousel`,...e}),[()=>u.rootProps(l())],void 0,void 0,`svelte-q63jsh`);var E=B(T),D=B(E);let O,te;oe(D,21,()=>Array(t.count),i,(e,n,r)=>{var i=Sl();M(i,e=>({class:`sv-carousel__slide`,...e}),[()=>u.slideProps(r)],void 0,void 0,`svelte-q63jsh`);var a=B(i);o(a,()=>t.slide??ee,()=>r),H(i),d(e,i)}),H(D),H(E);var ne=k(E,2),P=e=>{var t=Cl(),n=L(t);M(n,e=>({type:`button`,class:`sv-carousel__arrow is-prev`,...e}),[()=>u.prevArrowProps()],void 0,void 0,`svelte-q63jsh`);var r=B(n,!0);H(n);var i=k(n,2);M(i,e=>({type:`button`,class:`sv-carousel__arrow is-next`,...e}),[()=>u.nextArrowProps()],void 0,void 0,`svelte-q63jsh`);var a=B(i,!0);H(i),w(()=>{v(r,p(f)?`›`:`‹`),v(a,p(f)?`‹`:`›`)}),d(e,t)};h(ne,e=>{s()&&t.count>1&&e(P)});var F=k(ne,2),I=e=>{var n=Tl();oe(n,21,()=>Array(t.count),i,(e,t,n)=>{var r=wl();M(r,(e,t)=>({type:`button`,class:`sv-carousel__dot`,...e,[se]:t}),[()=>u.dotProps(n),()=>({"is-active":u.isActive(n)})],void 0,void 0,`svelte-q63jsh`),d(e,r)}),H(n),d(e,n)};h(F,e=>{c()&&t.count>1&&e(I)});var re=k(F,2),ie=e=>{var t=El();M(t,e=>({type:`button`,class:`sv-carousel__playpause`,...e}),[()=>u.playPauseProps()],void 0,void 0,`svelte-q63jsh`);var n=B(t,!0);H(t),w(()=>v(n,u.userPaused?`▶`:`⏸`)),d(e,t)};h(re,e=>{r()>0&&e(ie)}),H(T),w(()=>{O=Ce(D,1,`sv-carousel__track svelte-q63jsh`,null,O,{"is-dragging":p(m)}),te=A(D,``,te,{transform:`translateX(calc(${(p(f)?n():-n())*100}% + ${p(_)}px))`})}),x(`pointerdown`,E,y),x(`pointermove`,E,b),x(`pointerup`,E,S),C(`pointercancel`,E,S),d(e,T),me()}u([`pointerdown`,`pointermove`,`pointerup`]);var kl=y(`<div class="sv-tour__spot"></div>`),Al=y(`<div class="sv-tour__backdrop"></div>`),jl=y(`<img class="sv-tour__img" alt=""/>`),Ml=y(`<div class="sv-tour__media"><!></div>`),Nl=y(`<div class="sv-tour__title"> </div>`),Pl=y(`<button type="button" class="sv-tour__back">Back</button>`),Fl=y(`<div class="sv-tour"><!> <div role="dialog" aria-modal="true"><!> <!> <div class="sv-tour__body"> </div> <div class="sv-tour__foot"><span class="sv-tour__count"> </span> <div class="sv-tour__btns"><button type="button" class="sv-tour__skip">Skip</button> <!> <button type="button" class="sv-tour__next"> </button></div></div></div></div>`);function Il(e,t){le(t,!0);let n=ge(t,`open`,15,!1),r=j(0),i=j(null),o=j(null),s=N(()=>t.steps[p(r)]);function c(){let e=p(s)?.target;return e?typeof e==`string`?document.querySelector(e):e:null}function l(){let e=c();e?.scrollIntoView({block:`center`,behavior:`smooth`}),V(i,e?e.getBoundingClientRect():null,!0)}function u(){(p(o)?.querySelector(`.sv-tour__next`)??p(o))?.focus()}function f(e){V(r,Math.max(0,Math.min(e,t.steps.length-1)),!0),t.onStep?.(p(r)),queueMicrotask(()=>{l(),u()})}function g(){p(r)>=t.steps.length-1?b():f(p(r)+1)}function y(){f(p(r)-1)}function b(){n(!1),t.onFinish?.()}function S(){n(!1),t.onSkip?.()}T(()=>{if(!n())return;V(r,0),queueMicrotask(()=>{l(),u()});let e=()=>l();window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0);let i=t.dir===`rtl`,a=e=>{e.key===`Escape`?(e.preventDefault(),S()):e.key===`ArrowRight`?(e.preventDefault(),(i?y:g)()):e.key===`ArrowLeft`&&(e.preventDefault(),(i?g:y)())};return window.addEventListener(`keydown`,a),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`keydown`,a)}}),T(()=>{if(!n()||!p(o))return;let e=Xn(p(o),{initialFocus:()=>p(o)?.querySelector(`.sv-tour__next`)??null});return e.activate(),()=>e.release()});let C=j(200),E=N(()=>{if(typeof window>`u`||!p(i))return{top:`50%`,left:`50%`,transform:`translate(-50%, -50%)`,place:`center`};let e=window.innerWidth,t=window.innerHeight,n=p(C)||200,r=e=>Math.max(12,Math.min(e,t-n-12)),a=t=>Math.max(12,Math.min(t,e-300-12));if(t-p(i).bottom>=n+12)return{top:`${p(i).bottom+10}px`,left:`${a(p(i).left)}px`,transform:`none`,place:`bottom`};if(p(i).top>=n+12)return{top:`${r(p(i).top-10-n)}px`,left:`${a(p(i).left)}px`,transform:`none`,place:`top`};let o=r(p(i).top+p(i).height/2-n/2);return e-p(i).right>=312?{top:`${o}px`,left:`${p(i).right+10}px`,transform:`none`,place:`center`}:p(i).left>=312?{top:`${o}px`,left:`${p(i).left-300-10}px`,transform:`none`,place:`center`}:{top:`${o}px`,left:`${a((e-300)/2)}px`,transform:`none`,place:`center`}});var D=m(),O=L(D),ee=e=>{var n=Fl(),c=B(n),l=e=>{var t=kl();let n;w(()=>n=A(t,``,n,{top:`${p(i).top-6}px`,left:`${p(i).left-6}px`,width:`${p(i).width+12}px`,height:`${p(i).height+12}px`})),d(e,t)},u=e=>{var t=Al();d(e,t)};h(c,e=>{p(i)?e(l):e(u,-1)});var f=k(c,2);let b;var T=B(f),D=e=>{var t=Ml(),n=B(t),r=e=>{var t=jl();w(()=>z(t,`src`,p(s).image)),d(e,t)},i=N(()=>/^(https?:|data:|\/)/.test(p(s).image)),a=e=>{var t=m(),n=L(t);_(n,()=>p(s).image),d(e,t)};h(n,e=>{p(i)?e(r):e(a,-1)}),H(t),d(e,t)};h(T,e=>{p(s).image&&e(D)});var O=k(T,2),ee=e=>{var t=Nl(),n=B(t,!0);H(t),w(()=>v(n,p(s).title)),d(e,t)};h(O,e=>{p(s).title&&e(ee)});var te=k(O,2),j=B(te,!0);H(te);var M=k(te,2),ne=B(M),P=B(ne);H(ne);var F=k(ne,2),I=B(F),re=k(I,2),ie=e=>{var t=Pl();x(`click`,t,y),d(e,t)};h(re,e=>{p(r)>0&&e(ie)});var ae=k(re,2),oe=B(ae,!0);H(ae),H(F),H(M),H(f),fe(f,e=>V(o,e),()=>p(o)),H(n),a(n,e=>Xr?.(e)),w(()=>{Ce(f,1,`sv-tour__pop sv-tour__pop--${p(E).place??``}`),z(f,`aria-label`,p(s).title??`Tour step`),b=A(f,``,b,{top:p(E).top,left:p(E).left,transform:p(E).transform}),v(j,p(s).content),v(P,`${p(r)+1} / ${t.steps.length??``}`),v(oe,p(r)===t.steps.length-1?`Done`:`Next`)}),x(`click`,I,S),x(`click`,ae,g),_e(f,`clientHeight`,e=>V(C,e)),d(e,n)};h(O,e=>{n()&&p(s)&&e(ee)}),d(e,D),me()}u([`click`]);var Ll=y(`<li><button>&laquo;</button></li>`),Rl=y(`<li><button>&lsaquo;</button></li>`),zl=y(`<li><span class="sv-pg__ellipsis svelte-1pljpjf" aria-hidden="true">&hellip;</span></li>`),Bl=y(`<li><button> </button></li>`),Vl=y(`<li><button>&rsaquo;</button></li>`),Hl=y(`<li><button>&raquo;</button></li>`),Ul=y(`<nav><ul class="sv-pg__list svelte-1pljpjf"><!> <!> <!> <!> <!></ul></nav>`);function Wl(e,t){le(t,!0);let n=ge(t,`siblingCount`,3,1),r=ge(t,`boundaryCount`,3,1),i=ge(t,`showFirstLast`,3,!1),a=ge(t,`showPrevNext`,3,!0),o=ge(t,`size`,3,`md`),s=ge(t,`disabled`,3,!1),c=ge(t,`ariaLabel`,3,`Pagination`),l=mi({page:()=>t.page,pageCount:()=>t.pageCount,onChange:t.onChange,siblingCount:()=>n(),boundaryCount:()=>r(),disabled:()=>s()});var u=Ul();M(u,e=>({class:`sv-pg sv-pg--${o()??``}`,...e}),[()=>l.navProps(c())],void 0,void 0,`svelte-1pljpjf`);var f=B(u),g=B(f),_=e=>{var t=Ll(),n=B(t);M(n,e=>({type:`button`,class:`sv-pg__btn`,...e}),[()=>l.firstProps()],void 0,void 0,`svelte-1pljpjf`),H(t),d(e,t)};h(g,e=>{i()&&e(_)});var y=k(g,2),b=e=>{var t=Rl(),n=B(t);M(n,e=>({type:`button`,class:`sv-pg__btn`,...e}),[()=>l.prevProps()],void 0,void 0,`svelte-1pljpjf`),H(t),d(e,t)};h(y,e=>{a()&&e(b)});var x=k(y,2);oe(x,19,()=>l.items,(e,t)=>typeof e==`number`?`p${e}`:`${e}-${t}`,(e,t)=>{var n=m(),r=L(n),i=e=>{var t=zl();d(e,t)},a=e=>{var n=Bl(),r=B(n);M(r,(e,t)=>({type:`button`,class:`sv-pg__btn`,...e,[se]:t}),[()=>l.pageButtonProps(p(t)),()=>({"is-active":l.isActive(p(t))})],void 0,void 0,`svelte-1pljpjf`);var i=B(r,!0);H(r),H(n),w(()=>v(i,p(t))),d(e,n)};h(r,e=>{p(t)===`ellipsis-left`||p(t)===`ellipsis-right`?e(i):e(a,-1)}),d(e,n)});var S=k(x,2),C=e=>{var t=Vl(),n=B(t);M(n,e=>({type:`button`,class:`sv-pg__btn`,...e}),[()=>l.nextProps()],void 0,void 0,`svelte-1pljpjf`),H(t),d(e,t)};h(S,e=>{a()&&e(C)});var T=k(S,2),E=e=>{var t=Hl(),n=B(t);M(n,e=>({type:`button`,class:`sv-pg__btn`,...e}),[()=>l.lastProps()],void 0,void 0,`svelte-1pljpjf`),H(t),d(e,t)};h(T,e=>{i()&&e(E)}),H(f),H(u),d(e,u),me()}var Gl=y(`<li class="sv-bc__sep svelte-2r24fy" aria-hidden="true"> </li>`),Kl=y(`<li><button type="button" class="sv-bc__ellipsis svelte-2r24fy" aria-label="Show collapsed crumbs">&hellip;</button></li>`),ql=y(`<span class="sv-bc__icon svelte-2r24fy" aria-hidden="true"> </span>`),Jl=y(`<span aria-current="page"><!> </span>`),Yl=y(`<span class="sv-bc__icon svelte-2r24fy" aria-hidden="true"> </span>`),Xl=y(`<a class="sv-bc__link svelte-2r24fy"><!> </a>`),Zl=y(`<span class="sv-bc__icon svelte-2r24fy" aria-hidden="true"> </span>`),Ql=y(`<button type="button" class="sv-bc__link sv-bc__btn svelte-2r24fy"><!> </button>`),$l=y(`<span class="sv-bc__icon svelte-2r24fy" aria-hidden="true"> </span>`),eu=y(`<span><!> </span>`),tu=y(`<li><!></li>`),nu=y(`<!> <!>`,1),ru=y(`<nav class="sv-bc"><ol class="sv-bc__list svelte-2r24fy"></ol></nav>`);function iu(e,t){le(t,!0);let n=ge(t,`separator`,3,`/`),r=ge(t,`ariaLabel`,3,`Breadcrumb`),i=j(!1),a=N(()=>!!t.maxItems&&!p(i)&&t.items.length>t.maxItems),o=N(()=>p(a)?[{item:t.items[0],index:0},`ellipsis`,...t.items.slice(-2).map((e,n)=>({item:e,index:t.items.length-2+n}))]:t.items.map((e,t)=>({item:e,index:t})));var s=ru(),c=B(s);oe(c,23,()=>p(o),(e,t)=>e===`ellipsis`?`e${t}`:e.index,(e,r,a)=>{var o=nu(),s=L(o),c=e=>{var t=Gl(),r=B(t,!0);H(t),w(()=>v(r,n())),d(e,t)};h(s,e=>{p(a)>0&&e(c)});var l=k(s,2),u=e=>{var t=Kl(),n=B(t);H(t),x(`click`,n,()=>V(i,!0)),d(e,t)},f=e=>{let n=N(()=>p(r).index===t.items.length-1);var i=tu();let a;var o=B(i),s=e=>{var t=Jl(),n=B(t),i=e=>{var t=ql(),n=B(t,!0);H(t),w(()=>v(n,p(r).item.icon)),d(e,t)};h(n,e=>{p(r).item.icon&&e(i)});var a=k(n,1,!0);H(t),w(()=>v(a,p(r).item.label)),d(e,t)},c=e=>{var t=Xl(),n=B(t),i=e=>{var t=Yl(),n=B(t,!0);H(t),w(()=>v(n,p(r).item.icon)),d(e,t)};h(n,e=>{p(r).item.icon&&e(i)});var a=k(n,1,!0);H(t),w(()=>{z(t,`href`,p(r).item.href),v(a,p(r).item.label)}),d(e,t)},l=e=>{var t=Ql(),n=B(t),i=e=>{var t=Zl(),n=B(t,!0);H(t),w(()=>v(n,p(r).item.icon)),d(e,t)};h(n,e=>{p(r).item.icon&&e(i)});var a=k(n,1,!0);H(t),w(()=>v(a,p(r).item.label)),x(`click`,t,function(...e){p(r).item.onClick?.apply(this,e)}),d(e,t)},u=e=>{var t=eu(),n=B(t),i=e=>{var t=$l(),n=B(t,!0);H(t),w(()=>v(n,p(r).item.icon)),d(e,t)};h(n,e=>{p(r).item.icon&&e(i)});var a=k(n,1,!0);H(t),w(()=>v(a,p(r).item.label)),d(e,t)};h(o,e=>{p(n)?e(s):p(r).item.href?e(c,1):p(r).item.onClick?e(l,2):e(u,-1)}),H(i),w(()=>a=Ce(i,1,`sv-bc__item svelte-2r24fy`,null,a,{"is-current":p(n)})),d(e,i)};h(l,e=>{p(r)===`ellipsis`?e(u):e(f,-1)}),d(e,o)}),H(c),H(s),w(()=>z(s,`aria-label`,r())),d(e,s),me()}u([`click`]);var au=y(`<div class="sv-prog__buffer svelte-vmqec8"></div>`),ou=y(`<span class="sv-prog__label svelte-vmqec8"> </span>`),su=y(`<div><div class="sv-prog__track svelte-vmqec8" role="progressbar"><!> <div></div></div> <!></div>`);function cu(e,t){le(t,!0);let n=ge(t,`value`,3,0),r=ge(t,`max`,3,100),i=ge(t,`indeterminate`,3,!1),a=ge(t,`color`,3,`accent`),o=ge(t,`size`,3,`md`),s=ge(t,`showLabel`,3,!1),c=ge(t,`striped`,3,!1),l=N(()=>r()>0?Math.min(100,Math.max(0,n()/r()*100)):0),u=N(()=>t.buffer!=null&&r()>0?Math.min(100,Math.max(0,t.buffer/r()*100)):null),f=N(()=>t.formatLabel?t.formatLabel(n(),r()):`${Math.round(p(l))}%`);var m=su();let g;var _=B(m),y=B(_),b=e=>{var t=au();let n;w(()=>n=A(t,``,n,{width:`${p(u)}%`})),d(e,t)};h(y,e=>{p(u)!=null&&!i()&&e(b)});var x=k(y,2);let S,C;H(_);var T=k(_,2),E=e=>{var t=ou(),n=B(t,!0);H(t),w(()=>v(n,p(f))),d(e,t)};h(T,e=>{s()&&!i()&&e(E)}),H(m),w(()=>{g=Ce(m,1,`sv-prog sv-prog--${o()??``} sv-prog--${a()??``}`,`svelte-vmqec8`,g,{"has-label":s()&&!i()}),z(_,`aria-label`,t.ariaLabel),z(_,`aria-valuemin`,i()?void 0:0),z(_,`aria-valuemax`,i()?void 0:r()),z(_,`aria-valuenow`,i()?void 0:n()),z(_,`aria-valuetext`,i()?void 0:p(f)),S=Ce(x,1,`sv-prog__fill svelte-vmqec8`,null,S,{"is-indeterminate":i(),"is-striped":c()}),C=A(x,``,C,{width:i()?void 0:`${p(l)}%`})}),d(e,m),me()}var lu=y(`<div class="sv-circ__center svelte-gom3jx"><!></div>`),uu=y(`<div class="sv-circ__center sv-circ__label svelte-gom3jx"> </div>`),du=y(`<div role="progressbar"><svg class="sv-circ__svg svelte-gom3jx"><circle class="sv-circ__track svelte-gom3jx" fill="none"></circle><circle class="sv-circ__arc svelte-gom3jx" fill="none" stroke-linecap="round"></circle></svg> <!></div>`);function fu(e,t){le(t,!0);let n=ge(t,`value`,3,0),r=ge(t,`max`,3,100),i=ge(t,`indeterminate`,3,!1),a=ge(t,`size`,3,48),s=ge(t,`thickness`,3,5),c=ge(t,`color`,3,`accent`),l=ge(t,`showLabel`,3,!1),u=N(()=>(a()-s())/2),f=N(()=>2*Math.PI*p(u)),m=N(()=>r()>0?Math.min(100,Math.max(0,n()/r()*100)):0),g=N(()=>p(f)*(1-p(m)/100)),_=N(()=>t.formatLabel?t.formatLabel(n(),r()):`${Math.round(p(m))}%`);var y=du();let b,x;var S=B(y),C=B(S),T=k(C);H(S);var E=k(S,2),D=e=>{var n=lu(),r=B(n);o(r,()=>t.children),H(n),d(e,n)},O=e=>{var t=uu();let n;var r=B(t,!0);H(t),w(e=>{n=A(t,``,n,e),v(r,p(_))},[()=>({"font-size":`${Math.max(9,a()*.26)}px`})]),d(e,t)};h(E,e=>{t.children?e(D):l()&&!i()&&e(O,1)}),H(y),w(()=>{b=Ce(y,1,`sv-circ sv-circ--${c()??``}`,`svelte-gom3jx`,b,{"is-indeterminate":i()}),z(y,`aria-label`,t.ariaLabel),z(y,`aria-valuemin`,i()?void 0:0),z(y,`aria-valuemax`,i()?void 0:r()),z(y,`aria-valuenow`,i()?void 0:n()),z(y,`aria-valuetext`,i()?void 0:p(_)),x=A(y,``,x,{width:`${a()}px`,height:`${a()}px`}),z(S,`viewBox`,`0 0 ${a()} ${a()}`),z(S,`width`,a()),z(S,`height`,a()),z(C,`cx`,a()/2),z(C,`cy`,a()/2),z(C,`r`,p(u)),z(C,`stroke-width`,s()),z(T,`cx`,a()/2),z(T,`cy`,a()/2),z(T,`r`,p(u)),z(T,`stroke-width`,s()),z(T,`stroke-dasharray`,p(f)),z(T,`stroke-dashoffset`,i()?p(f)*.7:p(g))}),d(e,y),me()}var pu=[],mu=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?mu:pu).push(n+=e[t])})();function hu(e){if(e<768)return!1;for(let t=0,n=pu.length;;){let r=t+n>>1;if(e<pu[r])n=r;else if(e>=mu[r])t=r+1;else return!0;if(t==n)return!1}}function gu(e){return e>=127462&&e<=127487}var _u=8205;function vu(e,t,n=!0,r=!0){return(n?yu:bu)(e,t,r)}function yu(e,t,n){if(t==e.length)return t;t&&Su(e.charCodeAt(t))&&Cu(e.charCodeAt(t-1))&&t--;let r=xu(e,t);for(t+=wu(r);t<e.length;){let i=xu(e,t);if(r==_u||i==_u||n&&hu(i))t+=wu(i),r=i;else if(gu(i)){let n=0,r=t-2;for(;r>=0&&gu(xu(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function bu(e,t,n){for(;t>1;){let r=yu(e,t-2,n);if(r<t)return r;t--}return 0}function xu(e,t){let n=e.charCodeAt(t);if(!Cu(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return Su(r)?(n-55296<<10)+(r-56320)+65536:n}function Su(e){return e>=56320&&e<57344}function Cu(e){return e>=55296&&e<56320}function wu(e){return e<65536?1:2}var Tu=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=Fu(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),Du.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Fu(this,e,t);let n=[];return this.decompose(e,t,n,0),Du.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new ju(this),i=new ju(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new ju(this,e)}iterRange(e,t=this.length){return new Mu(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Nu(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new Eu(t):Du.from(Eu.split(t,[]))}},Eu=class e extends Tu{constructor(e,t=Ou(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new Pu(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(Au(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=ku(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=Fu(this,t,n);let i=ku(this.text,ku(r.text,Au(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):Du.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
4
4
  `){[e,t]=Fu(this,e,t);let r=``;for(let i=0,a=0;i<=t&&a<this.text.length;a++){let o=this.text[a],s=i+o.length;i>e&&a&&(r+=n),e<s&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(t,n){let r=[],i=-1;for(let a of t)r.push(a),i+=a.length+1,r.length==32&&(n.push(new e(r,i)),r=[],i=-1);return i>-1&&n.push(new e(r,i)),n}},Du=class e extends Tu{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.children[i],o=r+a.length,s=n+a.lines-1;if((t?s:o)>=e)return a.lineInner(e,t,n,r);r=o+1,n=s+1}}decompose(e,t,n,r){for(let i=0,a=0;a<=t&&i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(e<=s&&t>=a){let i=r&(a<=e|(s>=t?2:0));a>=e&&s<=t&&!i?n.push(o):o.decompose(e-a,t-a,n,i)}a=s+1}}replace(t,n,r){if([t,n]=Fu(this,t,n),r.lines<this.lines)for(let i=0,a=0;i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(t>=a&&n<=s){let c=o.replace(t-a,n-a,r),l=this.lines-o.lines+c.lines;if(c.lines<l>>4&&c.lines>l>>6){let a=this.children.slice();return a[i]=c,new e(a,this.length-(n-t)+r.length)}return super.replace(a,s,c)}a=s+1}return super.replace(t,n,r)}sliceString(e,t=this.length,n=`
5
5
  `){[e,t]=Fu(this,e,t);let r=``;for(let i=0,a=0;i<this.children.length&&a<=t;i++){let o=this.children[i],s=a+o.length;a>e&&i&&(r+=n),e<s&&t>a&&(r+=o.sliceString(e-a,t-a,n)),a=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(t,n){if(!(t instanceof e))return 0;let r=0,[i,a,o,s]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;i+=n,a+=n){if(i==o||a==s)return r;let e=this.children[i],c=t.children[a];if(e!=c)return r+e.scanIdentical(c,n);r+=e.length+1}}static from(t,n=t.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let e of t)r+=e.lines;if(r<32){let e=[];for(let n of t)n.flatten(e);return new Eu(e,n)}let i=Math.max(32,r>>5),a=i<<1,o=i>>1,s=[],c=0,l=-1,u=[];function d(t){let n;if(t.lines>a&&t instanceof e)for(let e of t.children)d(e);else t.lines>o&&(c>o||!c)?(f(),s.push(t)):t instanceof Eu&&c&&(n=u[u.length-1])instanceof Eu&&t.lines+n.lines<=32?(c+=t.lines,l+=t.length+1,u[u.length-1]=new Eu(n.text.concat(t.text),n.length+1+t.length)):(c+t.lines>i&&f(),c+=t.lines,l+=t.length+1,u.push(t))}function f(){c!=0&&(s.push(u.length==1?u[0]:e.from(u,l)),l=-1,c=u.length=0)}for(let e of t)d(e);return f(),s.length==1?s[0]:new e(s,n)}};Tu.empty=new Eu([``],0);function Ou(e){let t=-1;for(let n of e)t+=n.length+1;return t}function ku(e,t,n=0,r=1e9){for(let i=0,a=0,o=!0;a<e.length&&i<=r;a++){let s=e[a],c=i+s.length;c>=n&&(c>r&&(s=s.slice(0,r-i)),i<n&&(s=s.slice(n-i)),o?(t[t.length-1]+=s,o=!1):t.push(s)),i=c+1}return t}function Au(e,t,n){return ku(e,[``],t,n)}var ju=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value=``,this.nodes=[e],this.offsets=[t>0?1:(e instanceof Eu?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],a=i>>1,o=r instanceof Eu?r.text.length:r.children.length;if(a==(t>0?o:0)){if(n==0)return this.done=!0,this.value=``,this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
@@ -75789,7 +75789,7 @@ and limitations under the License.
75789
75789
  sample app to see a working design in seconds.</p> <div class="sv-studio__onboard-actions svelte-psjrav"><button type="button" class="sv-studio__req-send svelte-psjrav"><!>New app (guided)</button> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!>Browse sample apps</button> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!>New entity</button> <label class="sv-studio__gen-btn svelte-psjrav" title="Import a CSV / spreadsheet"><!>Import CSV <input type="file" accept=".csv,text/csv" style="display:none" class="svelte-psjrav"/></label> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!>Get a database</button> <!> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!>Import a schema</button></div></div></div>`),jee=y(`<main class="sv-studio__main svelte-psjrav"><!> <!></main>`),PR=y(`<div class="sv-studio__insp-body svelte-psjrav"><!></div>`),FR=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav"> </span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Tab title <input type="text" class="svelte-psjrav"/> <span class="sv-studio__hint svelte-psjrav"> </span></label></div></details>`),IR=y(`<label class="sv-studio__prop svelte-psjrav">Height (px) <input type="number" step="10" class="svelte-psjrav"/></label> <span class="sv-studio__hint svelte-psjrav">Or drag the bottom edge of the block on the canvas.</span>`,1),LR=y(`<div class="sv-studio__fb-override svelte-psjrav"><span class="svelte-psjrav"> </span> <button type="button" class="sv-studio__mini svelte-psjrav">Use the entity's layout</button></div>`),RR=y(`<li class="sv-studio__check svelte-psjrav"><label class="svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label></li>`),zR=y(`<button type="button" class="sv-studio__seed-btn svelte-psjrav"><!>Open form builder</button> <span class="sv-studio__hint svelte-psjrav">Arrange sections and add value-driven rules. Saved on the entity, so the same layout renders here, in the generated app, and on a server-rendered screen.</span> <!> <details class="sv-studio__subsection svelte-psjrav"><summary class="svelte-psjrav">Fields shown here</summary> <span class="sv-studio__hint svelte-psjrav">Restrict this block's form to a subset. Empty = all fields.</span> <ul class="sv-studio__formfields svelte-psjrav"></ul></details>`,1),BR=y(`<label class="sv-studio__prop svelte-psjrav">Form style <select class="svelte-psjrav"><option class="svelte-psjrav">Modal dialog</option><option class="svelte-psjrav">Side drawer</option><option class="svelte-psjrav">Inline panel</option></select></label> <div class="sv-studio__field-ctrl svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Columns <select class="svelte-psjrav"><option class="svelte-psjrav">1</option><option class="svelte-psjrav">2</option><option class="svelte-psjrav">3</option></select></label> <label class="sv-studio__prop svelte-psjrav">Dialog width <select class="svelte-psjrav"><option class="svelte-psjrav">Small</option><option class="svelte-psjrav">Medium</option><option class="svelte-psjrav">Large</option></select></label></div> <label class="sv-studio__prop svelte-psjrav">Dialog title <input type="text" class="svelte-psjrav"/></label> <!>`,1),VR=y(`<div class="sv-studio__subchecks svelte-psjrav"><span class="sv-studio__prop-label svelte-psjrav">Filter UI</span> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Global search box</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Filter row (under headers)</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Column filter menu</label></div>`),HR=y(`<span class="sv-studio__sec-badge svelte-psjrav"> </span>`),UR=y(`<span class="sv-studio__group-order svelte-psjrav"> </span>`),Mee=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> <!></label>`),WR=y(`<span class="sv-studio__hint svelte-psjrav">Grouping is off while <strong class="svelte-psjrav">Tree data</strong> is on (they're mutually exclusive).</span>`),GR=y(`<span class="sv-studio__hint svelte-psjrav">Grouped by <strong class="svelte-psjrav"> </strong>. The grid loads every row and groups client-side, so groups span the whole dataset. Set an <strong class="svelte-psjrav">Aggregate</strong> on a column below to roll it up per group.</span>`),KR=y(`<span class="sv-studio__hint svelte-psjrav">Pick one or more fields to group rows into collapsible sections (outermost first). Users can regroup live via the grid's grouping controls.</span>`),qR=y(`<span class="sv-studio__sec-badge svelte-psjrav">on</span>`),JR=y(`<option class="svelte-psjrav"> </option>`),YR=y(`<option class="svelte-psjrav"> </option>`),XR=y(`<label class="sv-studio__prop svelte-psjrav">Parent field (self-reference) <select class="svelte-psjrav"></select></label> <label class="sv-studio__prop svelte-psjrav">Tree column (shows the hierarchy) <select class="svelte-psjrav"></select></label> <span class="sv-studio__hint svelte-psjrav">Builds a hierarchy from the <strong class="svelte-psjrav"> </strong> field (a row whose parent is empty / not in the data is a root). Loads all rows and renders indented, expandable nodes - so no paging / flat sort. Try it with real data in the running app.</span>`,1),ZR=y(`<span class="sv-studio__hint svelte-psjrav">For self-referential data (categories, org charts, folders): one field points at each row's parent.</span>`),QR=y(`<span class="sv-studio__sec-badge svelte-psjrav">on</span>`),$R=y(`<option class="svelte-psjrav"> </option>`),ez=y(`<option class="svelte-psjrav"> </option>`),Nee=y(`<option class="svelte-psjrav"> </option>`),Pee=y(`<option class="svelte-psjrav"> </option>`),tz=y(`<option class="svelte-psjrav"> </option>`),nz=y(`<label class="sv-studio__prop svelte-psjrav">Start (date) field <select class="svelte-psjrav"></select></label> <div class="sv-studio__col-3 svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">End field <select class="svelte-psjrav"><option class="svelte-psjrav">(duration)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Title <select class="svelte-psjrav"><option class="svelte-psjrav">(first column)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Color <select class="svelte-psjrav"><option class="svelte-psjrav">(none)</option><!></select></label></div> <label class="sv-studio__prop svelte-psjrav">Resource (columns per person / room) <select class="svelte-psjrav"><option class="svelte-psjrav">(none)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Opens on <select class="svelte-psjrav"><option class="svelte-psjrav">Month</option><option class="svelte-psjrav">Week</option><option class="svelte-psjrav">Day</option><option class="svelte-psjrav">Agenda</option><option class="svelte-psjrav">Timeline (week)</option></select></label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Drag to move / resize (writes back)</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Event detail drawer</label> <span class="sv-studio__hint svelte-psjrav">A view of this grid's rows as a Month / Week / Day / Agenda calendar. Loads all rows; the enterprise scheduler renderer draws the events.</span>`,1),rz=y(`<span class="sv-studio__hint svelte-psjrav">For time-based data (appointments, shifts, bookings): map a start date field and render the grid as a calendar.</span>`),iz=y(`<span class="sv-studio__sec-badge svelte-psjrav"> </span>`),az=y(`<option class="svelte-psjrav"> </option>`),oz=y(`<option class="svelte-psjrav"> </option>`),sz=y(`<option class="svelte-psjrav"> </option>`),cz=y(`<label class="sv-studio__prop svelte-psjrav">Pass field <select class="svelte-psjrav"></select></label> <label class="sv-studio__prop svelte-psjrav">Filter target's <select class="svelte-psjrav"></select></label>`,1),lz=y(`<option class="svelte-psjrav"> </option>`),uz=y(`<option class="svelte-psjrav"> </option>`),dz=y(`<select class="svelte-psjrav"><option disabled="" class="svelte-psjrav">target screen…</option><!></select>`),fz=y(`<div class="sv-studio__role svelte-psjrav"><div class="sv-studio__role-head svelte-psjrav"><select class="sv-studio__role-name svelte-psjrav"></select> <button type="button" class="sv-studio__role-x svelte-psjrav" aria-label="Remove action">&times;</button></div> <input type="text" class="sv-studio__field-name svelte-psjrav"/> <!></div>`),pz=y(`<button type="button" class="sv-studio__mini svelte-psjrav"><!> </button>`),mz=y(`<option class="svelte-psjrav"> </option>`),hz=y(`<option class="svelte-psjrav"> </option>`),gz=y(`<input class="sv-studio__fmt-val svelte-psjrav" type="text"/>`),_z=y(`<div class="sv-studio__role svelte-psjrav"><div class="sv-studio__fmt-row svelte-psjrav"><select class="svelte-psjrav"></select> <select class="svelte-psjrav"></select> <!> <button type="button" class="sv-studio__role-x svelte-psjrav" aria-label="Remove rule">&times;</button></div> <div class="sv-studio__fmt-style svelte-psjrav"><label title="Text color" class="svelte-psjrav"><input type="color" class="svelte-psjrav"/> text</label> <label title="Background" class="svelte-psjrav"><input type="color" class="svelte-psjrav"/> fill</label> <button type="button">no text</button> <button type="button">no fill</button> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> bold</label></div></div>`),vz=y(`<label class="sv-studio__prop svelte-psjrav">Page size <input type="number" min="1" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Pager position <select class="svelte-psjrav"><option class="svelte-psjrav">Bottom</option><option class="svelte-psjrav">Top</option><option class="svelte-psjrav">Top &amp; bottom</option></select></label> <label class="sv-studio__prop svelte-psjrav">Page size options <input type="text" placeholder="10, 25, 50, 100" class="svelte-psjrav"/></label>`,1),Fee=y(`<span class="sv-studio__hint svelte-psjrav">All rows load at once - no pager.</span>`),yz=y(`<span class="sv-studio__col-pin svelte-psjrav"> </span>`),bz=y(`<span class="sv-studio__hint svelte-psjrav">Renders each value as a pill, auto-colored by common status words (active/pending/closed &hellip;).</span>`),xz=y(`<label class="sv-studio__prop svelte-psjrav">Max value <input type="number" min="1" class="svelte-psjrav"/></label>`),Sz=y(`<label class="sv-studio__prop svelte-psjrav">Link type <select class="svelte-psjrav"><option class="svelte-psjrav">Web URL (new tab)</option><option class="svelte-psjrav">Email (mailto:)</option><option class="svelte-psjrav">Phone (tel:)</option></select></label>`),Cz=y(`<label class="sv-studio__check svelte-psjrav" style="align-self: end;"><input type="checkbox" class="svelte-psjrav"/> 0-100</label>`),wz=y(`<div class="sv-studio__col-3 svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Decimals <input type="number" min="0" max="6" placeholder="auto" class="svelte-psjrav"/></label> <!></div>`),Tz=y(`<label class="sv-studio__prop svelte-psjrav">Currency code <input type="text" maxlength="3" spellcheck="false" placeholder="USD" class="svelte-psjrav"/></label>`),Ez=y(`<label class="sv-studio__prop svelte-psjrav">Pattern <select class="svelte-psjrav"><option class="svelte-psjrav">Default</option><option class="svelte-psjrav">Short</option><option class="svelte-psjrav">Medium</option><option class="svelte-psjrav">Long</option><option class="svelte-psjrav">yyyy-mm-dd</option></select></label>`),Dz=y(`<option class="svelte-psjrav"> </option>`),Oz=y(`<label class="sv-studio__prop svelte-psjrav">Aggregate (per group) <select class="svelte-psjrav"><option class="svelte-psjrav">none</option><!></select></label>`),kz=y(`<li><details class="sv-studio__col-det svelte-psjrav"><summary class="sv-studio__col-sum svelte-psjrav"><!> <input type="checkbox" class="svelte-psjrav"/> <span class="sv-studio__col-name svelte-psjrav"> <!></span> <span class="sv-studio__col-move svelte-psjrav"><button type="button" aria-label="Move column up" class="svelte-psjrav">&uarr;</button> <button type="button" aria-label="Move column down" class="svelte-psjrav">&darr;</button></span></summary> <div class="sv-studio__col-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Header <input type="text" class="svelte-psjrav"/></label> <div class="sv-studio__col-3 svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Width <input type="number" min="0" placeholder="auto" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Align <select class="svelte-psjrav"><option class="svelte-psjrav">auto</option><option class="svelte-psjrav">left</option><option class="svelte-psjrav">center</option><option class="svelte-psjrav">right</option></select></label> <label class="sv-studio__prop svelte-psjrav">Pin <select class="svelte-psjrav"><option class="svelte-psjrav">none</option><option class="svelte-psjrav">left</option><option class="svelte-psjrav">right</option></select></label></div> <label class="sv-studio__prop svelte-psjrav">Display as <select class="svelte-psjrav"><optgroup label="Text"><option class="svelte-psjrav">Plain</option> <option class="svelte-psjrav">Number (decimals)</option> <option class="svelte-psjrav">Currency</option> <option class="svelte-psjrav">Percent</option> <option class="svelte-psjrav">Date</option> <option class="svelte-psjrav">Date + time</option></optgroup><optgroup label="Rich cell"><option class="svelte-psjrav">Status badge</option> <option class="svelte-psjrav">Progress bar</option> <option class="svelte-psjrav">Link</option></optgroup></select></label> <!> <!></div></details></li>`),Az=y(`<span class="sv-studio__sec-badge svelte-psjrav"> </span>`),jz=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Editing</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Mode <select class="svelte-psjrav"><option class="svelte-psjrav">Popup form</option><option class="svelte-psjrav">Inline (edit in the grid, Excel-style)</option><option class="svelte-psjrav">Read-only</option></select></label> <!> <span class="sv-studio__hint svelte-psjrav">The grid opens its own editor - no separate form block needed.</span></div></details> <details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Behavior</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Sortable columns</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Filtering + search</label> <!> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Row selection</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Cell range selection</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Striped rows</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Totals footer row</label> <label class="sv-studio__prop svelte-psjrav">Density <select class="svelte-psjrav"><option class="svelte-psjrav">Compact</option><option class="svelte-psjrav">Normal</option><option class="svelte-psjrav">Comfortable</option></select></label></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Grouping</span><!></summary> <div class="sv-studio__sec-body svelte-psjrav"><span class="sv-studio__prop-label svelte-psjrav">Group rows by</span> <div class="sv-studio__checks svelte-psjrav"></div> <!></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Tree data</span><!></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Render rows as an expand/collapse tree</label> <!></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Scheduler / calendar</span><!></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Render rows as a calendar / scheduler</label> <!></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Export toolbar</span><!></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Export CSV</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Export JSON</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Copy to clipboard</label> <span class="sv-studio__hint svelte-psjrav">Adds a button bar above the grid wired to its built-in export API - no extra dependencies. Exports the current (filtered / sorted) rows.</span> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Export Excel (.xlsx)</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Export PDF</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Print</label> <span class="sv-studio__hint svelte-psjrav">These three use <code class="svelte-psjrav">@svgrid/enterprise</code> - real xlsx (styles, frozen header), paginated PDF and print. The generated app adds <code class="svelte-psjrav">jszip</code> / <code class="svelte-psjrav">pdfmake</code> only for the ones you switch on.</span></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Navigation &amp; actions</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><span class="sv-studio__prop-label svelte-psjrav">Row click opens</span> <select class="svelte-psjrav"><option class="svelte-psjrav">(nothing)</option><!></select> <!> <span class="sv-studio__prop-label svelte-psjrav">Row action buttons</span> <!> <div class="sv-studio__role-actions svelte-psjrav"></div> <span class="sv-studio__hint svelte-psjrav">Drill-through filters the target screen by the clicked value. Delete + navigate work anywhere; Edit needs the popup form.</span></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Conditional formatting</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><!> <button type="button" class="sv-studio__mini svelte-psjrav"><!> Add rule</button> <span class="sv-studio__hint svelte-psjrav">Style a cell when its value matches - e.g. negative amounts red, "overdue" status filled. Runs on the grid's rule engine.</span></div></details> <details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Paging</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Paginate</label> <!></div></details> <details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Columns</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><ul class="sv-studio__cols svelte-psjrav"></ul></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">All properties</span><!></summary> <div class="sv-studio__sec-body svelte-psjrav"><span class="sv-studio__hint svelte-psjrav">Every SvGrid property the sections above don't cover. Values pass straight through to the grid.</span> <!></div></details>`,1),Mz=y(`<button type="button" class="sv-studio__seed-btn svelte-psjrav"><!>Open form builder</button> <span class="sv-studio__hint svelte-psjrav">Fields, order, sections and rules come from the entity, so the same form renders wherever it is placed.</span>`,1),Nz=y(`<option class="svelte-psjrav"> </option>`),Pz=y(`<label class="sv-studio__prop svelte-psjrav">Go to <select class="svelte-psjrav"><option class="svelte-psjrav">Pick a screen…</option><!></select></label>`),Iee=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Form</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><span class="sv-studio__hint svelte-psjrav"> </span> <!> <label class="sv-studio__prop svelte-psjrav">Heading <input type="text" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Submit button <input type="text" placeholder="Create" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Width <select class="svelte-psjrav"><option class="svelte-psjrav">Fill the block</option><option class="svelte-psjrav">Narrow</option><option class="svelte-psjrav">Wide</option></select></label> <label class="sv-studio__prop svelte-psjrav">After saving <select class="svelte-psjrav"><option class="svelte-psjrav">Stay, blank for another</option><option class="svelte-psjrav">Go to a screen</option></select></label> <!></div></details>`),Lee=y(`<option class="svelte-psjrav"> </option>`),Fz=y(`<option class="svelte-psjrav"> </option>`),Iz=y(`<option class="svelte-psjrav"> </option>`),Lz=y(`<button type="button"><!><span class="svelte-psjrav"> </span></button>`),Ree=y(`<button type="button" class="sv-studio__mini-btn svelte-psjrav">Reset</button>`),Rz=y(`<option class="svelte-psjrav"> </option>`),zz=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Data</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Group by <select class="svelte-psjrav"></select></label> <label class="sv-studio__prop svelte-psjrav">Measure <select class="svelte-psjrav"><option class="svelte-psjrav">(count)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Reduce <select class="svelte-psjrav"></select></label></div></details> <details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Appearance</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><div class="sv-studio__prop-label svelte-psjrav">Type</div> <div class="sv-studio__chart-types svelte-psjrav"></div> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Show data labels</label> <div class="sv-studio__prop-label svelte-psjrav">Color</div> <div class="sv-studio__chart-color svelte-psjrav"><input type="color" class="svelte-psjrav"/> <span class="sv-studio__chart-color-val svelte-psjrav"> </span> <!></div> <label class="sv-studio__prop svelte-psjrav">Drill into (on click) <select class="svelte-psjrav"><option class="svelte-psjrav">(nothing)</option><!></select></label></div></details>`,1),Bz=y(`<option class="svelte-psjrav"> </option>`),Vz=y(`<option class="svelte-psjrav"> </option>`),Hz=y(`<option class="svelte-psjrav"> </option>`),Uz=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Metric</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Label <input type="text" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Measure <select class="svelte-psjrav"><option class="svelte-psjrav">(count rows)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Reduce <select class="svelte-psjrav"></select></label></div></details> <details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Card style</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Value format <select class="svelte-psjrav"><option class="svelte-psjrav">Auto</option><option class="svelte-psjrav">Number</option><option class="svelte-psjrav">Currency ($)</option><option class="svelte-psjrav">Percent (%)</option><option class="svelte-psjrav">Compact (1.2k)</option></select></label> <label class="sv-studio__prop svelte-psjrav">Sparkline over <select class="svelte-psjrav"><option class="svelte-psjrav">(none)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Target <input type="number" placeholder="(none)" class="svelte-psjrav"/></label> <p class="sv-studio__hint svelte-psjrav">A sparkline buckets the measure by the chosen field; a target adds a "% of target" chip.</p></div></details>`,1),Wz=y(`<option class="svelte-psjrav"> </option>`),Gz=y(`<option class="svelte-psjrav"> </option>`),Kz=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Gauge</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Label <input type="text" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Measure <select class="svelte-psjrav"><option class="svelte-psjrav">(count rows)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Reduce <select class="svelte-psjrav"></select></label> <div class="sv-studio__prop-row svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Min <input type="number" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Max <input type="number" class="svelte-psjrav"/></label></div> <label class="sv-studio__prop svelte-psjrav">Unit <input type="text" placeholder="e.g. %, $, pts" class="svelte-psjrav"/></label></div></details>`),qz=y(`<option class="svelte-psjrav"> </option>`),Jz=y(`<option class="svelte-psjrav"> </option>`),Yz=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Tree</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Label field <select class="svelte-psjrav"><option disabled="" class="svelte-psjrav">label field…</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Parent field <select class="svelte-psjrav"><option disabled="" class="svelte-psjrav">self-referential FK…</option><!></select></label> <span class="sv-studio__hint svelte-psjrav">The parent field is a row's link to its parent row (same entity). Rows with an empty parent are roots.</span></div></details>`),Xz=y(`<option class="svelte-psjrav"> </option>`),Zz=y(`<option class="svelte-psjrav"> </option>`),Qz=y(`<option class="svelte-psjrav"> </option>`),$z=y(`<option class="svelte-psjrav"> </option>`),eB=y(`<option class="svelte-psjrav"> </option>`),tB=y(`<label class="sv-studio__prop svelte-psjrav">Card opens <select class="svelte-psjrav"><option class="svelte-psjrav">(nothing)</option><!></select></label>`),nB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Board</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Columns (group by) <select class="svelte-psjrav"><option disabled="" class="svelte-psjrav">enum field…</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Card title <select class="svelte-psjrav"></select></label> <label class="sv-studio__prop svelte-psjrav">Card badge <select class="svelte-psjrav"><option class="svelte-psjrav">(none)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Card subtitle <select class="svelte-psjrav"><option class="svelte-psjrav">(none)</option><!></select></label> <!> <span class="sv-studio__hint svelte-psjrav">Columns come from an enum field's options. Drag a card between columns to change its value.</span></div></details>`),rB=y(`<option class="svelte-psjrav"> </option>`),iB=y(`<option class="svelte-psjrav"> </option>`),aB=y(`<option class="svelte-psjrav"> </option>`),zee=y(`<option class="svelte-psjrav"> </option>`),oB=y(`<label class="sv-studio__prop svelte-psjrav">Event opens <select class="svelte-psjrav"><option class="svelte-psjrav">(nothing)</option><!></select></label>`),sB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Calendar</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Date field <select class="svelte-psjrav"><option disabled="" class="svelte-psjrav">date field…</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Event title <select class="svelte-psjrav"></select></label> <label class="sv-studio__prop svelte-psjrav">Color by <select class="svelte-psjrav"><option class="svelte-psjrav">(accent)</option><!></select></label> <!> <span class="sv-studio__hint svelte-psjrav">Rows are placed on the calendar by their date field; an enum color field tints each event.</span></div></details>`),cB=y(`<option class="svelte-psjrav"> </option>`),lB=y(`<option class="svelte-psjrav"> </option>`),uB=y(`<option class="svelte-psjrav"> </option>`),dB=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label>`),fB=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label>`),pB=y(`<div class="sv-studio__prop svelte-psjrav">Related tabs <div class="sv-studio__checks svelte-psjrav"></div></div>`),mB=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label>`),hB=y(`<details class="sv-studio__subsec svelte-psjrav"><summary class="svelte-psjrav"><input class="sv-studio__sec-name svelte-psjrav"/><button type="button" class="sv-studio__sec-x svelte-psjrav" aria-label="Remove section">&times;</button></summary> <div class="sv-studio__checks svelte-psjrav"></div></details>`),gB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Detail page</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Title <select class="svelte-psjrav"></select></label> <label class="sv-studio__prop svelte-psjrav">Subtitle <select class="svelte-psjrav"><option class="svelte-psjrav">(none)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Status pill <select class="svelte-psjrav"><option class="svelte-psjrav">(none)</option><!></select></label> <div class="sv-studio__prop svelte-psjrav">Metric tiles <div class="sv-studio__checks svelte-psjrav"></div></div> <!> <div class="sv-studio__prop svelte-psjrav">Overview sections <!> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!> Add section</button></div> <span class="sv-studio__hint svelte-psjrav">A full record page: header, status pill, metric tiles, an Overview (custom sections or all remaining fields), and a timeline tab per related collection.</span></div></details>`),_B=y(`<span class="sv-studio__hint svelte-psjrav">No blocks yet.</span>`),vB=y(`<option class="svelte-psjrav"> </option>`),yB=y(`<option class="svelte-psjrav"> </option>`),bB=y(`<div class="sv-studio__tab-edit svelte-psjrav"><div class="sv-studio__fmt-row svelte-psjrav"><input type="text" aria-label="Tab label" class="svelte-psjrav"/> <button type="button" class="sv-studio__mini svelte-psjrav" title="Remove tab">&times;</button></div> <div class="sv-studio__tab-children svelte-psjrav"></div> <div class="sv-studio__fmt-row svelte-psjrav"><select class="sv-studio__tabadd svelte-psjrav" aria-label="Add display block to tab"><option class="svelte-psjrav">+ block…</option><!></select> <select class="sv-studio__tabadd svelte-psjrav" aria-label="Add component to tab"><option class="svelte-psjrav">+ component…</option><!></select></div></div>`),xB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Tabs</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><!> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!> Add tab</button> <span class="sv-studio__hint svelte-psjrav">Tabs group display blocks (charts, KPIs, ...) <strong class="svelte-psjrav">and any UI component</strong>. <strong class="svelte-psjrav">Click a nested block in the canvas</strong> to select and configure it.</span></div></details>`),SB=y(`<span class="sv-studio__hint svelte-psjrav">No blocks yet.</span>`),CB=y(`<option class="svelte-psjrav"> </option>`),wB=y(`<option class="svelte-psjrav"> </option>`),TB=y(`<div class="sv-studio__tab-edit svelte-psjrav"><div class="sv-studio__fmt-row svelte-psjrav"><input type="text" aria-label="Section label" class="svelte-psjrav"/> <button type="button" class="sv-studio__mini svelte-psjrav" title="Remove section">&times;</button></div> <div class="sv-studio__tab-children svelte-psjrav"></div> <div class="sv-studio__fmt-row svelte-psjrav"><select class="sv-studio__tabadd svelte-psjrav" aria-label="Add display block to section"><option class="svelte-psjrav">+ block…</option><!></select> <select class="sv-studio__tabadd svelte-psjrav" aria-label="Add component to section"><option class="svelte-psjrav">+ component…</option><!></select></div></div>`),EB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Accordion</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Allow multiple sections open</label> <!> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!> Add section</button> <span class="sv-studio__hint svelte-psjrav">Accordion sections host display blocks <strong class="svelte-psjrav">and any UI component</strong>. <strong class="svelte-psjrav">Click a nested block in the canvas</strong> to select and configure it.</span></div></details>`),DB=y(`<option class="svelte-psjrav"> </option>`),OB=y(`<option class="svelte-psjrav"> </option>`),kB=y(`<option class="svelte-psjrav"> </option>`),AB=y(`<label class="sv-studio__prop svelte-psjrav">Row opens <select class="svelte-psjrav"><option class="svelte-psjrav">(expand inline)</option><!></select></label> <span class="sv-studio__hint svelte-psjrav">"Row opens" a detail page instead of expanding the child grid inline.</span>`,1),jB=y(`<span class="sv-studio__hint svelte-psjrav"> </span>`),MB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Detail</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Child entity <select class="svelte-psjrav"><option disabled="" class="svelte-psjrav">child entity…</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Foreign key <select class="svelte-psjrav"><option disabled="" class="svelte-psjrav">field in child…</option><!></select></label> <!> <!></div></details>`),NB=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label>`),PB=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label>`),FB=y(`<option class="svelte-psjrav"> </option>`),IB=y(`<option class="svelte-psjrav"> </option>`),LB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Pivot</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><span class="sv-studio__prop-label svelte-psjrav">Rows</span> <div class="sv-studio__checks svelte-psjrav"></div> <span class="sv-studio__prop-label svelte-psjrav">Columns</span> <div class="sv-studio__checks svelte-psjrav"></div> <label class="sv-studio__prop svelte-psjrav">Measure <select class="svelte-psjrav"><option class="svelte-psjrav">(count rows)</option><!></select></label> <label class="sv-studio__prop svelte-psjrav">Aggregate <select class="svelte-psjrav"></select></label> <span class="sv-studio__hint svelte-psjrav">Drop fields into rows / columns; end users can re-pivot live in the generated app.</span></div></details>`),RB=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> <span class="sv-studio__facet-kind svelte-psjrav"> </span></label>`),zB=y(`<span class="sv-studio__hint svelte-psjrav">No enum / boolean / text fields to filter on.</span>`),BB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Filter panel</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Title <input type="text" placeholder="Filters" class="svelte-psjrav"/></label> <span class="sv-studio__prop-label svelte-psjrav">Facets</span> <div class="sv-studio__checks svelte-psjrav"><!> <!></div> <span class="sv-studio__hint svelte-psjrav">The panel filters the grid on this screen (enum / boolean pick a value, text searches).</span></div></details>`),VB=y(`<label class="sv-studio__prop svelte-psjrav">Show as <select class="svelte-psjrav"><option class="svelte-psjrav">Inline (in the page)</option><option class="svelte-psjrav">Modal dialog</option><option class="svelte-psjrav">Sidebar drawer</option></select></label> <span class="sv-studio__hint svelte-psjrav">Modal / drawer open when a row is selected in the grid; inline edits in place.</span>`,1),HB=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label>`),UB=y(`<span class="sv-studio__prop-label svelte-psjrav">Fields shown</span> <div class="sv-studio__checks svelte-psjrav"></div>`,1),WB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Record panel</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Editable (edit form)</label> <!> <!> <span class="sv-studio__hint svelte-psjrav">Shows the row selected in this screen's grid. Add a Grid block too.</span></div></details>`),GB=y(`<option class="svelte-psjrav"> </option>`),KB=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Lookup</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Field <select class="svelte-psjrav"></select></label> <span class="sv-studio__hint svelte-psjrav">A relation field renders as a searchable lookup in the edit form.</span></div></details>`),qB=y(`<input type="text" class="svelte-psjrav"/>`),JB=y(`<div class="sv-studio__prop svelte-psjrav"><span class="sv-studio__prop-head svelte-psjrav">Content<!></span> <!></div>`),YB=y(`<div class="sv-studio__prop-group svelte-psjrav"> </div>`),Bee=y(`<div class="sv-studio__prop sv-studio__prop--code svelte-psjrav"><span class="sv-studio__prop-head svelte-psjrav"><!></span> <code class="sv-studio__prop-codeval svelte-psjrav"> </code></div>`),XB=y(`<option class="svelte-psjrav"> </option>`),ZB=y(`<label class="sv-studio__prop svelte-psjrav"><!> <select class="svelte-psjrav"></select></label>`),QB=y(`<span class="sv-studio__prop-info svelte-psjrav" role="img">?</span>`),$B=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> <!></label>`),eV=y(`<div class="sv-studio__prop svelte-psjrav"><span class="sv-studio__prop-head svelte-psjrav"><!></span> <!></div>`),tV=y(`<div class="sv-studio__prop svelte-psjrav"><span class="sv-studio__prop-head svelte-psjrav"><!><!></span> <input type="number" class="svelte-psjrav"/></div>`),nV=y(`<span class="sv-studio__hint sv-studio__hint--error svelte-psjrav">Not valid JSON - change not applied.</span>`),rV=y(`<div class="sv-studio__prop svelte-psjrav"><span class="sv-studio__prop-head svelte-psjrav"><!></span> <textarea rows="3" spellcheck="false"></textarea> <!></div>`),iV=y(`<label class="sv-studio__prop svelte-psjrav"><!> <input type="date" class="svelte-psjrav"/></label>`),aV=y(`<div class="sv-studio__prop svelte-psjrav"><span class="sv-studio__prop-head svelte-psjrav"><!><!></span> <input type="text" class="svelte-psjrav"/></div>`),oV=y(`<!> <!>`,1),sV=y(`<span class="sv-studio__hint svelte-psjrav">Click <strong class="svelte-psjrav">fx</strong> on a field to bind it to your data (an aggregate, a row value, or an expression) instead of a fixed value.</span>`),cV=y(`<span class="sv-studio__hint svelte-psjrav"> </span>`),lV=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav"> </span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Handle name <input type="text" spellcheck="false" class="svelte-psjrav"/></label> <span class="sv-studio__hint svelte-psjrav">Reach it in code as <code class="svelte-psjrav"> </code>.</span> <!> <!> <!> <!></div></details>`),uV=y(`<div class="sv-studio__propview svelte-psjrav" role="group" aria-label="Property view"><button type="button" title="Show all properties in one list">All</button> <button type="button" title="Group properties into collapsible categories">Categorized</button></div> <!> <details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Layout</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Width <span class="sv-studio__width-val svelte-psjrav"> </span> <input type="range" min="1" max="12" step="1" class="svelte-psjrav"/></label> <!></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Appearance</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><div class="sv-studio__prop-row svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Border <select class="svelte-psjrav"><option class="svelte-psjrav">Default</option><option class="svelte-psjrav">On</option><option class="svelte-psjrav">Off</option></select></label> <label class="sv-studio__prop svelte-psjrav">Shadow <select class="svelte-psjrav"><option class="svelte-psjrav">Default</option><option class="svelte-psjrav">On</option><option class="svelte-psjrav">Off</option></select></label></div> <div class="sv-studio__prop-row svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Padding (px) <input type="number" min="0" max="80" step="2" placeholder="default" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Margin (px) <input type="number" min="0" max="80" step="2" placeholder="default" class="svelte-psjrav"/></label></div> <label class="sv-studio__prop svelte-psjrav">Corner radius (px) <input type="number" min="0" max="40" step="1" placeholder="default" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">CSS class <input type="text" spellcheck="false" placeholder="e.g. featured-card" class="svelte-psjrav"/> <span class="sv-studio__hint svelte-psjrav">Added to the block's wrapper - target it in <strong class="svelte-psjrav">Code &rsaquo; custom.css</strong>, e.g. <code class="svelte-psjrav"></code>.</span></label> <span class="sv-studio__hint svelte-psjrav">Overrides the block's default look. Leave a field blank / "Default" to keep it.</span></div></details> <!>`,1),dV=y(`<h4 class="sv-studio__insp-head svelte-psjrav"><!> </h4> <!> <!>`,1),fV=y(`<div class="sv-studio__insp-body svelte-psjrav"><!></div>`),pV=y(`<label class="sv-studio__prop svelte-psjrav">Nav label <input type="text" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Nav order <input type="number" class="svelte-psjrav"/></label>`,1),mV=y(`<label class="sv-studio__prop svelte-psjrav">Render <select class="svelte-psjrav"><option class="svelte-psjrav">Client (SPA)</option><option class="svelte-psjrav">Server-first (SSR)</option></select> <span class="sv-studio__hint svelte-psjrav">Server-first emits an idiomatic SvelteKit <code class="svelte-psjrav">+page.server.ts</code> - real server-rendered HTML, form actions, shareable URLs, works without JS. Client renders in the browser (the default).</span></label>`),hV=y(`<option class="svelte-psjrav"> </option>`),gV=y(`<label class="sv-studio__prop svelte-psjrav">Arrange <div class="sv-studio__newpage svelte-psjrav"><select class="sv-studio__template svelte-psjrav" aria-label="Grid arrangement preset"><option disabled="" selected="" class="svelte-psjrav">Apply a preset...</option><!></select></div> <span class="sv-studio__hint svelte-psjrav">One-click column-span patterns for the current blocks. Fine-tune any block's width afterward.</span></label>`),_V=y(`<li class="svelte-psjrav"><button type="button"><!><span class="svelte-psjrav"> </span><small class="svelte-psjrav"> </small></button></li>`),vV=y(`<ul class="sv-studio__struct sv-studio__struct--nested svelte-psjrav" role="list"></ul>`),yV=y(`<li class="svelte-psjrav"><button type="button"><!><span class="svelte-psjrav"> </span></button> <!></li>`),bV=y(`<details class="sv-studio__section sv-studio__outline svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Structure</span></summary> <ul class="sv-studio__struct svelte-psjrav" role="list"></ul></details>`),xV=y(`<span class="sv-studio__prop-label svelte-psjrav">Grid options</span> <div class="sv-studio__prop-row svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Column gap<input type="number" min="0" max="80" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Row gap<input type="number" min="0" max="80" class="svelte-psjrav"/></label></div> <div class="sv-studio__prop-row svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Max width<input type="number" min="0" step="20" title="0 = full width" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Row align <select class="svelte-psjrav"><option class="svelte-psjrav">Top</option><option class="svelte-psjrav">Stretch</option></select></label></div> <label class="sv-studio__prop svelte-psjrav">Mobile breakpoint (px)<input type="number" min="320" max="1400" step="20" title="Below this width the grid collapses to one column" class="svelte-psjrav"/></label>`,1),SV=y(`<label class="sv-studio__prop svelte-psjrav">Column align <select class="svelte-psjrav"><option class="svelte-psjrav">Left</option><option class="svelte-psjrav">Center</option></select></label>`),CV=y(`<span class="sv-studio__prop-label svelte-psjrav">Stack options</span> <div class="sv-studio__prop-row svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Gap<input type="number" min="0" max="80" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Max width<input type="number" min="0" step="20" title="0 = full width" class="svelte-psjrav"/></label></div> <label class="sv-studio__prop svelte-psjrav">Min block height (px)<input type="number" min="0" step="20" title="Every stacked block is at least this tall" class="svelte-psjrav"/></label> <!> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Dividers between blocks</label>`,1),wV=y(`<span class="sv-studio__prop-label svelte-psjrav">Split options</span> <label class="sv-studio__prop svelte-psjrav">Orientation <select class="svelte-psjrav"><option class="svelte-psjrav">Auto (by role)</option><option class="svelte-psjrav">Columns (side by side)</option><option class="svelte-psjrav">Rows (stacked)</option></select></label> <label class="sv-studio__prop svelte-psjrav">Min pane size (px)<input type="number" min="40" max="400" step="10" class="svelte-psjrav"/></label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Remember user resizes</label>`,1),TV=y(`<span class="sv-studio__prop-label svelte-psjrav">Docking options</span> <label class="sv-studio__prop svelte-psjrav">Tab strip position <select class="svelte-psjrav"><option class="svelte-psjrav">Top</option><option class="svelte-psjrav">Bottom</option><option class="svelte-psjrav">Left</option><option class="svelte-psjrav">Right</option></select></label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Allow pop-out to a new window</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Hide tab on single-pane panels</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Remember arrangement</label>`,1),EV=y(`<span class="sv-studio__prop-label svelte-psjrav">Canvas options</span> <div class="sv-studio__prop-row svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Columns <select class="svelte-psjrav"><option class="svelte-psjrav">12</option><option class="svelte-psjrav">16</option><option class="svelte-psjrav">24</option></select></label> <label class="sv-studio__prop svelte-psjrav">Row height<input type="number" min="16" max="120" step="4" class="svelte-psjrav"/></label></div> <label class="sv-studio__prop svelte-psjrav">Gap<input type="number" min="0" max="40" class="svelte-psjrav"/></label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Show grid lines in the app</label>`,1),DV=y(`<div class="sv-studio__statevar svelte-psjrav"><input class="sv-studio__statevar-name svelte-psjrav" aria-label="Variable name"/> <select aria-label="Type" class="svelte-psjrav"><option class="svelte-psjrav">Text</option><option class="svelte-psjrav">Number</option><option class="svelte-psjrav">Boolean</option><option class="svelte-psjrav">JSON</option></select> <input class="sv-studio__statevar-init svelte-psjrav" placeholder="initial" aria-label="Initial value"/> <button type="button" class="sv-studio__tree-x svelte-psjrav" aria-label="Remove variable"><!></button></div>`),Vee=y(`<span class="sv-studio__tree-empty svelte-psjrav">No state yet.</span>`),OV=y(`<option class="svelte-psjrav"> </option>`),kV=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label>`),AV=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label>`),jV=y(`<div class="sv-studio__checks svelte-psjrav"></div>`),MV=y(`<div class="sv-studio__role svelte-psjrav"><div class="sv-studio__role-head svelte-psjrav"><input class="sv-studio__role-name svelte-psjrav" type="text" aria-label="Role name"/> <button type="button" class="sv-studio__role-x svelte-psjrav" aria-label="Remove role">&times;</button></div> <div class="sv-studio__role-actions svelte-psjrav"></div> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> All screens</label> <!></div>`),Hee=y(`<label class="sv-studio__prop svelte-psjrav">Default role <select class="svelte-psjrav"></select></label> <!> <button type="button" class="sv-studio__mini svelte-psjrav"><!> Add role</button> <span class="sv-studio__hint svelte-psjrav">Reads need screen access; writes need the action. Enforced in the UI and the generated API route. Turn on <strong class="svelte-psjrav">Authentication</strong> below to auto-wire the signed-in role.</span>`,1),NV=y(`<span class="sv-studio__issue sv-studio__issue--error svelte-psjrav">Supabase Auth needs a Supabase connection. Set the shared project URL / anon key in a data-source builder, or bind an entity to Supabase.</span>`),Uee=y(`<!> <span class="sv-studio__hint svelte-psjrav">Gates the app behind Supabase Auth: a client-side <code class="svelte-psjrav">SvAuthGate</code> over the shared Supabase client (<code class="svelte-psjrav">connections.ts</code>) with email/password sign-in, sign-up, and sign-out. Pair it with <strong class="svelte-psjrav">Row Level Security</strong> policies on your tables - the signed-in user's JWT is sent with every request, so RLS decides what each user can read/write. No server session or user table is emitted.</span>`,1),PV=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> </label>`),FV=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Self-service sign-up + password reset</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Admin user-management screen</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Email two-factor (one-time code)</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Real email delivery (Resend / SMTP)</label> <span class="sv-studio__rail-sublabel svelte-psjrav">Social / SSO sign-in</span> <div class="sv-studio__checks svelte-psjrav"></div> <span class="sv-studio__hint svelte-psjrav">Scaffolds a dependency-free session (Web Crypto), <code class="svelte-psjrav">hooks.server.ts</code>, a <strong class="svelte-psjrav">/login</strong> <code class="svelte-psjrav">event.locals.role</code>, so RBAC works end-to-end. Set <code class="svelte-psjrav">SESSION_SECRET</code> </span>`,1),IV=y(`<label class="sv-studio__prop svelte-psjrav">Provider <select class="svelte-psjrav"><option class="svelte-psjrav">Built-in (cookie sessions)</option><option class="svelte-psjrav">Supabase Auth</option></select></label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Require login for the whole app</label> <!>`,1),LV=y(`<option class="svelte-psjrav"> </option>`),RV=y(`<label class="sv-studio__prop svelte-psjrav">Locales (comma-separated) <input type="text" placeholder="en, es, fr" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Default locale <select class="svelte-psjrav"></select></label> <span class="sv-studio__hint svelte-psjrav">The default locale is seeded from your labels; fill the others in <code class="svelte-psjrav">src/lib/i18n.ts</code>. Nav, titles, the New button, and column headers route through <code class="svelte-psjrav">t()</code>.</span>`,1),zV=y(`<span class="sv-studio__hint svelte-psjrav">Real, <strong class="svelte-psjrav">persistent</strong> Postgres (PGlite) running in the browser - zero setup, no keys. Data survives reloads. Switch to <strong class="svelte-psjrav">SQL</strong> to point at hosted Postgres for production (same schema).</span>`),BV=y(`<div class="sv-studio__ds-summary svelte-psjrav"><span class="sv-studio__ds-method svelte-psjrav"> </span> <span class="sv-studio__ds-url svelte-psjrav"> </span></div> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!> Open request builder</button> <span class="sv-studio__hint svelte-psjrav">Set the endpoint + parameters and test it live.</span>`,1),VV=y(`<div class="sv-studio__ds-summary svelte-psjrav"><span class="sv-studio__ds-method svelte-psjrav">SQL</span> <span class="sv-studio__ds-url svelte-psjrav"> </span></div> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!> Open SQL builder</button> <span class="sv-studio__hint svelte-psjrav">Table + dialect; Generate emits a connected <code class="svelte-psjrav">/api</code> route.</span>`,1),HV=y(`<div class="sv-studio__ds-summary svelte-psjrav"><span class="sv-studio__ds-method svelte-psjrav">SUPABASE</span> <span class="sv-studio__ds-url svelte-psjrav"> </span></div> <button type="button" class="sv-studio__gen-btn svelte-psjrav"><!> Open Supabase builder</button> <span class="sv-studio__hint svelte-psjrav">Connect your project + table, fetch a sample, import fields.</span>`,1),UV=y(`<span class="sv-studio__hint svelte-psjrav">Seeded in-memory data - runs with no backend.</span>`),WV=y(`<span class="sv-studio__sec-badge svelte-psjrav"> </span>`),GV=y(`<span class="sv-studio__hint svelte-psjrav">Rules run + are <strong class="svelte-psjrav">enforced server-side only on a SQL data source</strong>. This entity uses <strong class="svelte-psjrav"> </strong>, so they won't run yet - switch its source to SQL to activate them.</span>`),KV=y(`<span class="sv-studio__hint svelte-psjrav">Business rules run on the server around every write, so a client that skips its checks still can't write bad data. The payload is <code class="svelte-psjrav">v</code>.</span>`),qV=y(`<span class="sv-studio__sec-badge svelte-psjrav"> </span>`),JV=y(`<pre class="sv-studio__methods-code svelte-psjrav"> </pre>`),YV=y(`<details class="sv-studio__section sv-studio__section--sub svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav"> </span><!></summary> <div class="sv-studio__sec-body svelte-psjrav"><!> <!></div></details>`),XV=y(`<option class="svelte-psjrav"> </option>`),ZV=y(`<input class="sv-studio__field-formula svelte-psjrav" placeholder="ƒ formula, e.g. qty * price" title="Computed value from other fields (leave blank for a plain field)"/>`),QV=y(`<option class="svelte-psjrav"> </option>`),$V=y(`<input class="sv-studio__field-formula svelte-psjrav" placeholder="mask, e.g. (999) 000-0000" title="Mask pattern: 9 = digit, a = letter, * = any"/>`),eH=y(`<div class="sv-studio__field-ctrl svelte-psjrav"><input class="sv-studio__field-num svelte-psjrav" type="number" placeholder="min" aria-label="Minimum value" title="Minimum (validates, and sets the slider / rating start)"/> <input class="sv-studio__field-num svelte-psjrav" type="number" placeholder="max" aria-label="Maximum value" title="Maximum (validates, and sets the slider / rating end)"/></div> <div class="sv-studio__field-ctrl svelte-psjrav"><input class="sv-studio__field-num svelte-psjrav" type="number" placeholder="step" aria-label="Step" title="Step increment"/> <input class="sv-studio__field-num svelte-psjrav" type="number" placeholder="dec" aria-label="Decimals" title="Decimal places"/> <input class="sv-studio__field-num svelte-psjrav" placeholder="$" aria-label="Prefix" title="Prefix, e.g. $"/> <input class="sv-studio__field-num svelte-psjrav" placeholder="%" aria-label="Suffix" title="Suffix, e.g. %"/></div>`,1),Wee=y(`<div class="sv-studio__field-ctrl svelte-psjrav"><select aria-label="Form control" title="Which editor this field renders as in the form" class="svelte-psjrav"></select> <label class="sv-studio__field-wide svelte-psjrav" title="Span both form columns"><input type="checkbox" class="svelte-psjrav"/> Wide</label></div> <!> <!>`,1),tH=y(`<option class="svelte-psjrav"> </option>`),nH=y(`<option class="svelte-psjrav"> </option>`),Gee=y(`<div class="sv-studio__field-rel svelte-psjrav"><select aria-label="Related entity" class="svelte-psjrav"><option disabled="" class="svelte-psjrav">related entity…</option><!></select> <select aria-label="Label field" class="svelte-psjrav"><option disabled="" class="svelte-psjrav">label field…</option><!></select></div>`),rH=y(`<div class="sv-studio__field-opt svelte-psjrav"><input placeholder="value" aria-label="Option value" class="svelte-psjrav"/> <input placeholder="label" aria-label="Option label" class="svelte-psjrav"/> <input type="color" class="sv-studio__field-opt-color svelte-psjrav" aria-label="Option color" title="Badge / board-lane color"/> <button type="button" class="sv-studio__mini svelte-psjrav" aria-label="Remove option">&times;</button></div>`),iH=y(`<div class="sv-studio__field-opts svelte-psjrav"><!> <button type="button" class="sv-studio__field-opt-add svelte-psjrav">+ option</button></div>`),aH=y(`<li draggable="true"><div class="sv-studio__field-row svelte-psjrav"><span class="sv-studio__grip svelte-psjrav" title="Drag to reorder">⠿</span> <input class="sv-studio__field-name svelte-psjrav" aria-label="Field name"/> <select aria-label="Field type" class="svelte-psjrav"></select> <button type="button" aria-label="Remove field" class="sv-studio__mini svelte-psjrav">&times;</button></div> <div class="sv-studio__field-flags svelte-psjrav"><label class="svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> PK</label> <label class="svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Req</label> <label class="svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> RO</label></div> <!> <!> <!> <!></li>`),oH=y(`<button type="button" class="sv-studio__seed-btn svelte-psjrav"><!>Edit seed data</button>`),sH=y(`<option class="svelte-psjrav"> </option>`),cH=y(`<option class="svelte-psjrav"> </option>`),lH=y(`<option class="svelte-psjrav"> </option>`),uH=y(`<select class="sv-studio__fmt-val svelte-psjrav"></select>`),dH=y(`<input class="sv-studio__fmt-val svelte-psjrav" type="text"/>`),fH=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> compare to another field</label>`),pH=y(`<div class="sv-studio__role svelte-psjrav"><div class="sv-studio__fmt-row svelte-psjrav"><select class="svelte-psjrav"></select> <select class="svelte-psjrav"></select> <!> <button type="button" class="sv-studio__role-x svelte-psjrav" aria-label="Remove rule">&times;</button></div> <!> <input class="sv-studio__field-name svelte-psjrav" type="text" placeholder="Error message"/></div>`),mH=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Data source</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav"> <select class="svelte-psjrav"><option class="svelte-psjrav">In-memory (demo, resets)</option><option class="svelte-psjrav">Local database (no setup)</option><option class="svelte-psjrav">REST API</option><option class="svelte-psjrav">SQL database</option><option class="svelte-psjrav">Supabase</option></select></label> <!> <!></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Server rules (triggers)</span><!></summary> <div class="sv-studio__sec-body svelte-psjrav"><!> <!></div></details> <details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav"> </span> <button type="button" class="sv-studio__mini sv-studio__sec-add svelte-psjrav"><!></button></summary> <div class="sv-studio__sec-body svelte-psjrav"><ul class="sv-studio__fields svelte-psjrav" role="list"></ul> <!></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Form layout</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><!></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Business rules (validation)</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><!> <button type="button" class="sv-studio__mini svelte-psjrav"><!> Add rule</button> <span class="sv-studio__hint svelte-psjrav">Cross-field checks compiled into the schema's <code class="svelte-psjrav">hooks.validate</code> - enforced in the edit form <strong class="svelte-psjrav">and</strong> (with server validation) the API route.</span></div></details>`,1),Kee=y(`<details class="sv-studio__section svelte-psjrav" open=""><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Page</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Title <input type="text" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Route <input type="text" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">CSS class <input type="text" spellcheck="false" placeholder="e.g. crm-screen" class="svelte-psjrav"/> <span class="sv-studio__hint svelte-psjrav">On this screen's wrapper - target it in <strong class="svelte-psjrav">Code &rsaquo; custom.css</strong> (e.g. <code class="svelte-psjrav"></code>).</span></label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Show in navigation</label> <!> <label class="sv-studio__prop svelte-psjrav">Layout <select class="svelte-psjrav"><optgroup label="Flow"><option class="svelte-psjrav">12-column grid</option> <option class="svelte-psjrav">Stacked (single column)</option></optgroup><optgroup label="Workspace"><option class="svelte-psjrav">Split view (resizable)</option> <option class="svelte-psjrav">Docking manager</option> <option class="svelte-psjrav">Free-form canvas</option></optgroup></select> <span class="sv-studio__hint svelte-psjrav"> </span></label> <!> <!> <!> <div class="sv-studio__layoutopts svelte-psjrav"><!></div></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">State variables</span> <button type="button" class="sv-studio__mini sv-studio__sec-add svelte-psjrav" title="Add a state variable" aria-label="Add a state variable"><!></button></summary> <div class="sv-studio__sec-body svelte-psjrav"><!> <!> <span class="sv-studio__hint svelte-psjrav">Reactive per-screen values. Use them in methods (Set variable / conditions) and bindings as <code class="svelte-psjrav">ctx.state.&lt;name&gt;</code>.</span></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Access control (app-wide)</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Enable role-based access (RBAC)</label> <!></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Authentication</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Add sign-in (session + login page)</label> <!></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Data layer</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Typed schema + migrations (Drizzle ORM)</label> <span class="sv-studio__hint svelte-psjrav">For SQL-bound entities: emits a typed <code class="svelte-psjrav">schema.ts</code> (migration source of truth), a client, a typed repo per entity, and <code class="svelte-psjrav">drizzle-kit</code> scripts (<code class="svelte-psjrav">db:generate</code> / <code class="svelte-psjrav">db:migrate</code> / <code class="svelte-psjrav">db:push</code>). Postgres / MySQL / SQLite / Turso (not MSSQL). With <strong class="svelte-psjrav">Authentication</strong> on, the user store becomes a real <code class="svelte-psjrav">auth_users</code> DB table (hashed). Bind an entity to a SQL database to use it.</span></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Audit trail</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Record create / update / delete</label> <span class="sv-studio__hint svelte-psjrav">Adds an <strong class="svelte-psjrav">Audit log</strong> screen and logs every write through a connected (SQL) API route. Bind an entity to a SQL database for it to capture.</span></div></details> <details class="sv-studio__section svelte-psjrav"><summary class="sv-studio__sec-head svelte-psjrav"><!><span class="svelte-psjrav">Localization (i18n)</span></summary> <div class="sv-studio__sec-body svelte-psjrav"><label class="sv-studio__check svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> Emit a message catalog + locale switcher</label> <!></div></details> <!> <p class="sv-studio__hint svelte-psjrav">Select a block to edit it. Drag a field to reorder.</p>`,1),hH=y(`<h4 class="sv-studio__insp-head svelte-psjrav"><!>Screen</h4> <!> <!>`,1),$=y(`<button type="button" title="Go to this block"> <span class="sv-studio__issue-go svelte-psjrav">→</span></button>`),gH=y(`<span> </span>`),_H=y(`<li class="svelte-psjrav"><!></li>`),vH=y(`<ul class="sv-studio__issues svelte-psjrav"></ul>`),yH=y(`<button type="button" class="sv-studio__gen-btn svelte-psjrav"><!> Generate app</button>`),bH=y(`<span class="sv-studio__hint svelte-psjrav">Fix the errors above to generate.</span>`),xH=y(`<aside data-tour="inspector"><!> <!> <div class="sv-studio__insp-foot svelte-psjrav"><!></div></aside>`),SH=y(`<button type="button" class="sv-studio__drawer-backdrop svelte-psjrav" aria-label="Close panel"></button>`),CH=y(`<div class="sv-studio__chromedock svelte-psjrav"><!></div>`),wH=y(`<span class="sv-studio__status-ok svelte-psjrav"><span class="sv-studio__status-dot svelte-psjrav"></span>Ready to generate</span>`),TH=y(`<span class="sv-studio__status-err svelte-psjrav"><span class="sv-studio__status-dot svelte-psjrav"></span> </span>`),EH=y(`<span class="sv-studio__status-sel svelte-psjrav"><!> </span>`),DH=y(`<span class="sv-studio__datamode svelte-psjrav" role="group" aria-label="Data mode"><button type="button">In-memory</button> <button type="button" title="Run the whole app on a real in-browser Postgres (PGlite) - carries the seed rows, zero setup">Local Postgres</button></span>`),OH=y(`<span title="Data source per entity"> </span>`),kH=y(`<button type="button" class="sv-studio__bind-entity svelte-psjrav"><!><span class="sv-studio__bind-entity-name svelte-psjrav"> </span><small class="svelte-psjrav"> </small></button>`),AH=y(`<p class="sv-studio__hint svelte-psjrav"> </p> <div class="sv-studio__bind-list svelte-psjrav"></div>`,1),jH=y(`<p class="sv-studio__hint svelte-psjrav">This block needs data, but the project has no entities yet. Add one first, then drop the block.</p> <div class="sv-studio__bind-actions svelte-psjrav"><button type="button" class="sv-studio__gen-btn svelte-psjrav"><!>Add data</button> <button type="button" class="sv-studio__tb-btn svelte-psjrav">Cancel</button></div>`,1),MH=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__bind-modal svelte-psjrav" role="dialog" aria-label="Pick data for this block" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> </span> <span class="sv-studio__spacer svelte-psjrav"></span> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__bind-body svelte-psjrav"><!></div></div></div>`),NH=y(`<button type="button" class="sv-studio__tb-btn sv-studio__tb-btn--primary svelte-psjrav"><!> </button>`),PH=y(`<p class="sv-studio__frag-note svelte-psjrav">Drop-in fragment: merge <code>src/routes</code> + <code>src/lib</code> into your app, import <code>src/app.css</code> once, and <code>npm install</code> the deps listed in <code>FRAGMENT.md</code>. Your app keeps its own layout, nav, and auth.</p>`),FH=y(`<button type="button"><!><span class="sv-studio__tree-path svelte-psjrav"> </span></button>`),IH=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__modal svelte-psjrav" role="dialog" aria-label="Generated app" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> <small class="svelte-psjrav"> </small></span> <div class="sv-studio__seg svelte-psjrav" role="group" aria-label="Export mode"><button type="button">Full app</button> <button type="button" title="Just src/routes + src/lib to drop into an existing SvelteKit app">Fragment</button></div> <span class="sv-studio__spacer svelte-psjrav"></span> <!> <button type="button" class="sv-studio__tb-btn svelte-psjrav"><!> </button> <button type="button" class="sv-studio__tb-btn sv-studio__tb-btn--primary svelte-psjrav" title="Open the generated app in StackBlitz - a full online IDE with live preview and real IntelliSense"><!>Open in StackBlitz</button> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <!> <div class="sv-studio__modal-body svelte-psjrav"><nav class="sv-studio__tree svelte-psjrav" aria-label="Files"></nav> <div class="sv-studio__code svelte-psjrav"><div class="sv-studio__code-head svelte-psjrav"><span class="sv-studio__code-path svelte-psjrav"> </span> <button type="button" class="sv-studio__copy svelte-psjrav"><!> </button></div> <pre class="sv-studio__code-body svelte-psjrav"><code class="svelte-psjrav"> </code></pre></div></div></div></div>`),LH=y(`<option class="svelte-psjrav"> </option>`),qee=y(`<div class="sv-studio__deploy-step svelte-psjrav"><strong>1. Push to Git</strong> then import your repo: <a class="sv-studio__tb-btn svelte-psjrav" target="_blank" rel="noopener noreferrer"><!> </a></div> <div class="sv-studio__deploy-step svelte-psjrav"><strong>2. Or deploy from your machine:</strong></div>`,1),RH=y(`<div class="sv-studio__deploy-step svelte-psjrav"><strong>Build and run the server:</strong></div>`),zH=y(`<code> </code> `,1),BH=y(`<p class="sv-studio__hint svelte-psjrav">Push-to-deploy pipeline (<code>.github/workflows/deploy.yml</code>) - add these repo secrets to enable it: <!>. Until then it stays skipped, so CI never breaks.</p>`),VH=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__deploy-modal svelte-psjrav" role="dialog" aria-label="Deploy" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> Deploy <small class="svelte-psjrav"> </small></span> <span class="sv-studio__spacer svelte-psjrav"></span> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__deploy-body svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Deploy target <select class="svelte-psjrav"></select></label> <p class="sv-studio__hint svelte-psjrav">Generate app bundles the matching SvelteKit adapter (<code> </code>) + provider config, a <strong>CI workflow</strong> (build + test), and a <strong>DEPLOY.md</strong> runbook - so this app deploys with no extra setup.</p> <!> <div class="sv-studio__deploy-cli svelte-psjrav"><code class="svelte-psjrav"> </code> <button type="button" class="sv-studio__copy svelte-psjrav"><!> </button></div> <!> <p class="sv-studio__hint svelte-psjrav">Entities on <strong>Local database</strong> (PGlite) or <strong>In-memory</strong> need no server env. SQL / Supabase entities need their connection set in the host's environment variables. Full steps are in the generated <code>DEPLOY.md</code>.</p> <div class="sv-studio__deploy-actions svelte-psjrav"><button type="button" class="sv-studio__tb-btn sv-studio__tb-btn--primary svelte-psjrav"><!>Generate app</button></div></div></div></div>`),HH=y(`<option class="svelte-psjrav"> </option>`),UH=y(`<div class="sv-studio__fb-seg svelte-psjrav" role="group" aria-label="Record"><button type="button">Existing</button> <button type="button">New</button></div>`),WH=De(`<svg class="sv-ic svelte-psjrav" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3v3a2 2 0 0 1-2 2H3M16 3v3a2 2 0 0 0 2 2h3M8 21v-3a2 2 0 0 0-2-2H3M16 21v-3a2 2 0 0 1 2-2h3"></path></svg>`),GH=De(`<svg class="sv-ic svelte-psjrav" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="4" y="4" width="16" height="16" rx="2"></rect></svg>`),KH=y(`<span class="sv-studio__fb-stepno svelte-psjrav"></span>`),qH=y(`<div class="sv-studio__fb-grp-when svelte-psjrav"><span class="sv-studio__fb-when-txt svelte-psjrav">This section only appears when:</span> <!></div>`),JH=y(`<section><div class="sv-studio__fb-grp-head svelte-psjrav"><!> <input class="sv-studio__fb-grp-title svelte-psjrav" type="text" placeholder="Untitled section" aria-label="Section title"/> <div class="sv-studio__fb-grp-tools svelte-psjrav"><select aria-label="Columns in this section" title="Columns in this section" class="svelte-psjrav"><option class="svelte-psjrav"> </option><option class="svelte-psjrav">1 col</option><option class="svelte-psjrav">2 col</option><option class="svelte-psjrav">3 col</option></select> <button type="button" class="sv-studio__mini svelte-psjrav" title="Only show this section when a condition holds">Rule</button> <button type="button" class="sv-studio__mini svelte-psjrav"> </button> <button type="button" class="sv-studio__mini svelte-psjrav" title="Add a field to this section">+ Field</button> <button type="button" class="sv-studio__mini svelte-psjrav" aria-label="Move section up">↑</button> <button type="button" class="sv-studio__mini svelte-psjrav" aria-label="Move section down">↓</button> <button type="button" class="sv-studio__mini svelte-psjrav" aria-label="Remove section" title="Remove the heading. Its fields move to the end of the form.">&times;</button></div></div> <input class="sv-studio__fb-grp-desc svelte-psjrav" type="text" placeholder="Add a line of guidance (optional)" aria-label="Section description"/> <!> <div class="sv-studio__fb-row svelte-psjrav"><!> <!></div></section>`),Jee=y(`<div class="sv-studio__fb-grp-head svelte-psjrav"><span class="sv-studio__fb-grp-title is-static svelte-psjrav">Not in a section</span> <span class="sv-studio__hint svelte-psjrav">Renders here, at the end, with no heading.</span></div>`),YH=y(`<section class="sv-studio__fb-grp sv-studio__fb-grp--rest svelte-psjrav"><!> <div class="sv-studio__fb-row svelte-psjrav"><!> <!></div></section>`),XH=y(`<div class="sv-studio__fb-tray-row svelte-psjrav"><span class="sv-studio__fb-tray-name svelte-psjrav"> </span> <span class="sv-studio__fb-fld-help svelte-psjrav"> </span> <button type="button" class="sv-studio__mini svelte-psjrav">Restore</button></div>`),ZH=y(`<details class="sv-studio__fb-tray svelte-psjrav"><summary class="svelte-psjrav">Hidden from this form <span class="sv-studio__fb-tabcount svelte-psjrav"> </span></summary> <span class="sv-studio__hint svelte-psjrav">Still on the entity - and still a grid column. Restoring puts a field back where it was.</span> <!></details>`),QH=y(`<!> <!> <!>`,1),$H=y(`<option class="svelte-psjrav"> </option>`),eU=y(`<span class="sv-studio__hint sv-studio__hint--error svelte-psjrav"> </span>`),tU=y(`<form class="sv-studio__fb-add svelte-psjrav"><input type="text" placeholder="Field name" aria-label="New field name" class="svelte-psjrav"/> <select aria-label="New field type" class="svelte-psjrav"></select> <span class="sv-studio__hint svelte-psjrav"> </span> <button type="submit" class="sv-studio__tb-btn sv-studio__tb-btn--primary svelte-psjrav">Add</button> <button type="button" class="sv-studio__tb-btn svelte-psjrav">Cancel</button> <!></form>`),nU=y(`<button type="button" class="sv-studio__tb-btn svelte-psjrav">Group these for me</button>`),rU=y(`<label class="sv-studio__check svelte-psjrav" title="Show what each rule does to this record"><input type="checkbox"/> Show rules</label>`),iU=y(`<label class="sv-studio__check svelte-psjrav" title="Ask one section at a time, with Back / Next"><input type="checkbox"/> Ask one step at a time</label>`),aU=y(`<!> <div class="sv-studio__fb-actions svelte-psjrav"><button type="button" class="sv-studio__tb-btn svelte-psjrav"><!>Add field</button> <button type="button" class="sv-studio__tb-btn svelte-psjrav"><!>Add section</button> <!> <span class="sv-studio__spacer svelte-psjrav"></span> <!> <!> <label class="sv-studio__fb-cols svelte-psjrav">Form columns <select class="svelte-psjrav"><option class="svelte-psjrav">1</option><option class="svelte-psjrav">2</option><option class="svelte-psjrav">3</option></select></label></div>`,1),oU=y(`<span class="sv-studio__fb-chip svelte-psjrav"> </span>`),sU=y(`<option class="svelte-psjrav"> </option>`),cU=y(`<label class="sv-studio__prop svelte-psjrav">Move all to <select class="svelte-psjrav"><option class="svelte-psjrav">Pick a section…</option><!></select></label>`),lU=y(`<div class="sv-studio__fb-pane-head svelte-psjrav"><h4 class="sv-studio__fb-pane-title svelte-psjrav"> </h4> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Clear selection" title="Clear selection"><!></button></div> <div class="sv-studio__fb-chips svelte-psjrav"></div> <!> <button type="button" class="sv-studio__mini sv-studio__fb-remove svelte-psjrav">Remove these from the form</button> <span class="sv-studio__hint svelte-psjrav">Click a field on its own to edit it. Ctrl-click to add or drop one, Shift-click for a range.</span>`,1),uU=y(`<span class="sv-studio__fb-tabcount svelte-psjrav"> </span>`),dU=y(`<option class="svelte-psjrav"> </option>`),fU=y(`<label class="sv-studio__prop svelte-psjrav">Control <select class="svelte-psjrav"><option class="svelte-psjrav"> </option><!></select></label>`),pU=y(`<div class="sv-studio__fb-opt svelte-psjrav"><input type="text" placeholder="value" aria-label="Option value" class="svelte-psjrav"/> <input type="text" placeholder="label" aria-label="Option label" class="svelte-psjrav"/> <input type="color" class="sv-studio__field-opt-color svelte-psjrav" aria-label="Option color" title="Badge / board-lane color"/> <button type="button" class="sv-studio__mini svelte-psjrav" aria-label="Remove option">&times;</button></div>`),mU=y(`<span class="sv-studio__fb-sublabel svelte-psjrav">Choices</span> <div class="sv-studio__fb-opts svelte-psjrav"><!> <button type="button" class="sv-studio__field-opt-add svelte-psjrav">+ choice</button></div>`,1),hU=y(`<label class="sv-studio__prop svelte-psjrav">Mask <input type="text" placeholder="(999) 000-0000" class="svelte-psjrav"/></label> <span class="sv-studio__hint svelte-psjrav">9 = digit, a = letter, * = any.</span>`,1),gU=y(`<div class="sv-studio__field-ctrl svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Min <input type="number" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Max <input type="number" class="svelte-psjrav"/></label></div>`),_U=y(`<label class="sv-studio__prop svelte-psjrav">Step <input type="number" class="svelte-psjrav"/></label>`),vU=y(`<label class="sv-studio__prop svelte-psjrav">Decimals <input type="number" min="0" class="svelte-psjrav"/></label>`),yU=y(`<div class="sv-studio__field-ctrl svelte-psjrav"><!> <!></div>`),bU=y(`<div class="sv-studio__field-ctrl svelte-psjrav"><label class="sv-studio__prop svelte-psjrav">Prefix <input type="text" placeholder="$" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Suffix <input type="text" placeholder="%" class="svelte-psjrav"/></label></div>`),xU=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox"/> On by default</label>`),SU=y(`<option class="svelte-psjrav"> </option>`),CU=y(`<label class="sv-studio__prop svelte-psjrav">Default value <select class="svelte-psjrav"><option class="svelte-psjrav">(none)</option><!></select></label>`),wU=y(`<label class="sv-studio__prop svelte-psjrav">Default value <input placeholder="Empty" class="svelte-psjrav"/></label>`),TU=y(`<label class="sv-studio__prop svelte-psjrav">Label <input type="text" class="svelte-psjrav"/></label> <!> <!> <!> <!> <!> <!> <label class="sv-studio__prop svelte-psjrav">Placeholder <input type="text" placeholder="Greyed-out example text" class="svelte-psjrav"/></label> <label class="sv-studio__prop svelte-psjrav">Help text <input type="text" placeholder="A line under the control" class="svelte-psjrav"/></label> <!> <span class="sv-studio__hint svelte-psjrav">Used when creating a new record.</span> <label class="sv-studio__check svelte-psjrav"><input type="checkbox"/> Span the full row</label> <label class="sv-studio__check svelte-psjrav"><input type="checkbox"/> Always required</label> <button type="button" class="sv-studio__mini sv-studio__fb-remove svelte-psjrav" title="Take this field off the form. It keeps its grid column.">Remove from this form</button>`,1),EU=y(`<button type="button" class="sv-studio__mini svelte-psjrav">&times;</button>`),DU=y(`<button type="button" class="sv-studio__mini svelte-psjrav">Add</button>`),OU=y(`<div class="sv-studio__fb-expr svelte-psjrav"><!></div>`),kU=y(`<span class="sv-studio__hint svelte-psjrav"> </span>`),AU=y(`<div><div class="sv-studio__fb-rule-head svelte-psjrav"><strong> </strong> <!></div> <!></div>`),jU=y(`<option class="svelte-psjrav"> </option>`),MU=y(`<option class="svelte-psjrav"> </option>`),NU=y(`<select aria-label="Compared field" class="svelte-psjrav"></select>`),PU=y(`<input type="text" aria-label="Compared value" class="svelte-psjrav"/>`),FU=y(`<label class="sv-studio__check svelte-psjrav"><input type="checkbox"/> vs another field</label>`),IU=y(`<div class="sv-studio__fb-vrule svelte-psjrav"><select aria-label="Check" class="svelte-psjrav"></select> <!> <button type="button" class="sv-studio__mini svelte-psjrav" aria-label="Remove check">&times;</button> <!> <input class="sv-studio__fb-vmsg svelte-psjrav" type="text" placeholder="Error message"/></div>`),LU=y(`<span class="sv-studio__hint svelte-psjrav">Checked on save, in the form and again on the server.</span>`),RU=y(`<span class="sv-studio__hint svelte-psjrav">Rules read the other answers as the user types, and are stored as data - so they generate into the app and run again on the server.</span> <!> <div><div class="sv-studio__fb-rule-head svelte-psjrav"><strong>Must satisfy</strong> <button type="button" class="sv-studio__mini svelte-psjrav">Add</button></div> <!> <!></div>`,1),zU=y(`<div class="sv-studio__fb-pane-head svelte-psjrav"><h4 class="sv-studio__fb-pane-title svelte-psjrav"> <small class="svelte-psjrav"> </small></h4> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Deselect" title="Deselect"><!></button></div> <div class="sv-studio__fb-tabs svelte-psjrav" role="tablist"><button type="button" role="tab">Field</button> <button type="button" role="tab">Rules<!></button></div> <!>`,1),BU=y(`<div class="sv-studio__fb-intro svelte-psjrav"><h4 class="sv-studio__fb-pane-title svelte-psjrav">Click a field</h4> <p class="svelte-psjrav">Pick any field on the left to rename it, change its control, or give it a rule so it only appears when it is needed.</p> <p class="sv-studio__hint svelte-psjrav">Drag a field to move it, or select one and use ↑ / ↓.</p></div>`),VU=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__modal sv-studio__fb sv-studio__win svelte-psjrav" role="dialog" aria-label="Form builder" tabindex="-1"><header><span class="sv-studio__modal-title svelte-psjrav"><!> Form builder</span> <select class="sv-studio__fb-entity svelte-psjrav" aria-label="Entity whose form you are building"></select> <span class="sv-studio__spacer svelte-psjrav"></span> <div class="sv-studio__fb-seg svelte-psjrav" role="group" aria-label="Builder mode"><button type="button">Design</button> <button type="button">Try it</button></div> <label class="sv-studio__fb-cols svelte-psjrav">Width <select aria-label="Form width" class="svelte-psjrav"><option class="svelte-psjrav">Narrow</option><option class="svelte-psjrav">Medium</option><option class="svelte-psjrav">Wide</option><option class="svelte-psjrav">Fill</option></select></label> <!> <button type="button" class="sv-studio__icon-btn svelte-psjrav"><!></button> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <p class="sv-studio__sr-only svelte-psjrav" role="status" aria-live="polite"> </p> <div><div class="sv-studio__fb-canvas svelte-psjrav"><div><!></div> <!></div> <div class="sv-studio__fb-pane sv-studio__fb-pane--rules svelte-psjrav"><!></div></div></div></div>`),HU=y(`<th class="svelte-psjrav"> </th>`),UU=y(`<input type="checkbox"/>`),WU=y(`<option class="svelte-psjrav"> </option>`),GU=y(`<select class="svelte-psjrav"><option class="svelte-psjrav"></option><!></select>`),KU=y(`<option class="svelte-psjrav"> </option>`),qU=y(`<select class="svelte-psjrav"><option class="svelte-psjrav"></option><!></select>`),JU=y(`<input class="svelte-psjrav"/>`),YU=y(`<td class="svelte-psjrav"><!></td>`),XU=y(`<tr><!><td class="svelte-psjrav"><button type="button" class="sv-studio__mini svelte-psjrav" aria-label="Remove row">&times;</button></td></tr>`),ZU=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__modal sv-studio__modal--seed svelte-psjrav" role="dialog" aria-label="Seed data" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> Seed data <small class="svelte-psjrav"> </small></span> <span class="sv-studio__spacer svelte-psjrav"></span> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__seed-body svelte-psjrav"><p class="sv-studio__hint svelte-psjrav">These rows ship with the app - they seed the in-memory / local-database source and persist into <code>studio.config.json</code>. Computed fields are filled at runtime.</p> <div class="sv-studio__seed-scroll svelte-psjrav"><table class="sv-studio__seed-table svelte-psjrav"><thead><tr><!><th aria-label="Actions" class="svelte-psjrav"></th></tr></thead><tbody></tbody></table></div> <div class="sv-studio__seed-actions svelte-psjrav"><button type="button" class="sv-studio__tb-btn svelte-psjrav"><!>Add row</button> <button type="button" class="sv-studio__tb-btn svelte-psjrav">Reset to generated</button> <span class="sv-studio__spacer svelte-psjrav"></span> <button type="button" class="sv-studio__tb-btn svelte-psjrav">Cancel</button> <button type="button" class="sv-studio__tb-btn sv-studio__tb-btn--primary svelte-psjrav"><!>Save seed data</button></div></div></div></div>`),QU=De(`<svg class="sv-ic svelte-psjrav" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3v3a2 2 0 0 1-2 2H3M16 3v3a2 2 0 0 0 2 2h3M8 21v-3a2 2 0 0 0-2-2H3M16 21v-3a2 2 0 0 1 2-2h3"></path></svg>`),$U=De(`<svg class="sv-ic svelte-psjrav" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="4" y="4" width="16" height="16" rx="2"></rect></svg>`),eW=y(`<small class="svelte-psjrav">· default</small>`),tW=y(`<button type="button" class="sv-studio__dm-configure svelte-psjrav"><!> </button>`),nW=y(`<span class="sv-studio__dm-key svelte-psjrav" title="Primary key">🔑</span>`),rW=y(`<button type="button" class="sv-studio__dm-rel svelte-psjrav"> </button>`),iW=y(`<span class="sv-studio__dm-ftype svelte-psjrav"> </span>`),aW=y(`<li><span class="sv-studio__dm-fname svelte-psjrav"> <!></span> <!></li>`),oW=y(`<div><header class="sv-studio__dm-card-head svelte-psjrav"><strong class="svelte-psjrav"> </strong> <span> <!></span></header> <label class="sv-studio__dm-bind svelte-psjrav"><span>Data source</span> <select class="svelte-psjrav"><option class="svelte-psjrav">In-memory (demo)</option><option class="svelte-psjrav">Local database (no setup)</option><option class="svelte-psjrav">SQL</option><option class="svelte-psjrav">Supabase</option><option class="svelte-psjrav">REST</option></select> <small class="sv-studio__dm-tip svelte-psjrav"> </small> <!></label> <ul class="sv-studio__dm-fields svelte-psjrav"></ul></div>`),sW=y(`<p class="sv-studio__hint svelte-psjrav">No relationships yet. Add a <strong>relation</strong> field to an entity (in its field editor) to link two entities.</p>`),cW=y(`<li><button type="button" class="svelte-psjrav"> </button> <code class="svelte-psjrav"> </code> → <button type="button" class="svelte-psjrav"> </button> <small class="svelte-psjrav"> <!></small></li>`),lW=y(`<ul class="svelte-psjrav"></ul>`),uW=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__modal sv-studio__win svelte-psjrav" role="dialog" aria-label="Data model" tabindex="-1"><header><span class="sv-studio__modal-title svelte-psjrav"><!> Data model <small class="svelte-psjrav"> </small></span> <span class="sv-studio__spacer svelte-psjrav"></span> <button type="button" class="sv-studio__icon-btn svelte-psjrav"><!></button> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__dm-body svelte-psjrav"><div class="sv-studio__dm-cards svelte-psjrav"></div> <aside class="sv-studio__dm-edges svelte-psjrav"><h4 class="svelte-psjrav">Relationships</h4> <!></aside></div></div></div>`),dW=y(`<div class="sv-studio__key-row svelte-psjrav"><dt class="svelte-psjrav"><kbd class="svelte-psjrav"> </kbd></dt><dd class="svelte-psjrav"> </dd></div>`),fW=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__deploy-modal svelte-psjrav" role="dialog" aria-label="Keyboard shortcuts" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> Keyboard shortcuts</span> <span class="sv-studio__spacer svelte-psjrav"></span> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__deploy-body svelte-psjrav"><dl class="sv-studio__keys svelte-psjrav"></dl> <span class="sv-studio__hint svelte-psjrav">Blocks copy/paste across screens. Drag a screen in the rail to reorder; ⧉ duplicates it.</span></div></div></div>`),pW=y(`<button type="button" class="sv-studio__provider svelte-psjrav"><strong class="svelte-psjrav"> </strong> <span class="svelte-psjrav"> </span> <span class="sv-studio__provider-go svelte-psjrav"> </span></button>`),mW=y(`<p class="sv-studio__hint svelte-psjrav">Pick a provider. We'll open its one-click "create a free database" page and bind every entity to it - then paste the connection string into <code>.env</code>. No database to run locally? Use the zero-setup <strong>Local database</strong> instead (no account, persists in the browser).</p> <!>`,1),hW=y(`<div class="sv-studio__issue sv-studio__issue--ok svelte-psjrav"> <strong> </strong> </div> <ol class="sv-studio__provision-steps svelte-psjrav"><li>Create the database on <a target="_blank" rel="noopener noreferrer"> </a> and copy its connection string.</li> <li>Add it to <code>.env</code> (the generated <code>.env.example</code> lists these): <div class="sv-studio__deploy-cli svelte-psjrav"><code class="svelte-psjrav"> </code></div></li> <li><strong>Generate app</strong> - each entity emits a connected <code>/api</code> route that reads those vars server-side.</li></ol> <div class="sv-studio__deploy-actions svelte-psjrav"><button type="button" class="sv-studio__tb-btn svelte-psjrav">Pick another</button> <button type="button" class="sv-studio__tb-btn sv-studio__tb-btn--primary svelte-psjrav"><!>Generate app</button></div>`,1),Yee=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__deploy-modal svelte-psjrav" role="dialog" aria-label="Get a database" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> Get a hosted database</span> <span class="sv-studio__spacer svelte-psjrav"></span> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__deploy-body svelte-psjrav"><!></div></div></div>`),Xee=De(`<svg class="sv-ic svelte-psjrav" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M8 3v3a2 2 0 0 1-2 2H3M16 3v3a2 2 0 0 0 2 2h3M8 21v-3a2 2 0 0 0-2-2H3M16 21v-3a2 2 0 0 1 2-2h3"></path></svg>`),gW=De(`<svg class="sv-ic svelte-psjrav" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="4" y="4" width="16" height="16" rx="2"></rect></svg>`),Zee=y(`<option class="svelte-psjrav"> </option>`),_W=y(`· host <code> </code>`,1),vW=y(`· db <code> </code>`,1),yW=y(`<div class="sv-studio__req-result sv-studio__issue sv-studio__issue--ok svelte-psjrav">Detected <strong> </strong><!><!>. Dialect + table set; the full string goes to <code>DATABASE_URL</code> in <code>.env.example</code>.</div>`),bW=y(`<div class="sv-studio__req-row svelte-psjrav" style="grid-template-columns: minmax(0, 1fr) auto; align-items: end;"><span class="sv-studio__req-hint svelte-psjrav">The <code class="svelte-psjrav"> </code> driver isn't installed in this project. Install it and retry the preview.</span> <button type="button" class="sv-studio__tb-btn svelte-psjrav"><!> </button></div>`),xW=y(`<div class="sv-studio__req-row svelte-psjrav" style="grid-template-columns: minmax(0, 1fr) auto; align-items: end;"><span class="sv-studio__req-hint svelte-psjrav">Paste your connection string above, then preview your real rows here (runs through the local <code class="svelte-psjrav">svgrid-studio designer</code> server, so credentials never touch the browser).</span> <button type="button" class="sv-studio__req-send svelte-psjrav"><!> </button></div> <!> <!>`,1),SW=y(`<div class="sv-studio__req-note svelte-psjrav"><strong>Using the online designer?</strong> <ol class="sv-studio__req-tips svelte-psjrav"><li class="svelte-psjrav"><strong>See your real data now</strong> - run the designer on your own computer. It can reach your database and preview rows: <span class="sv-studio__req-cli svelte-psjrav"><code class="svelte-psjrav">npx @svgrid/studio designer</code><button type="button" class="sv-studio__mini-link svelte-psjrav"> </button></span></li> <li class="svelte-psjrav"><strong>Just build the app</strong> - fill in the table + dialect above and click <strong>Generate app</strong>. The generated app connects to your database for real using its <code class="svelte-psjrav">DATABASE_URL</code> (no coding needed).</li> <li class="svelte-psjrav"><strong>No database yet?</strong> Switch this entity to <strong>Supabase</strong> (a free hosted Postgres that works right here in the browser) or <strong>Local database</strong> (a real database that runs in your browser) - both need zero setup.</li></ol></div>`),CW=y(`<div class="sv-studio__req-row2 svelte-psjrav"><label class="sv-studio__req-field svelte-psjrav">Table <input type="text" aria-label="Table" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">Dialect <select aria-label="Dialect" class="svelte-psjrav"></select></label></div> <div class="sv-studio__req-url svelte-psjrav"><span class="sv-studio__req-url-base svelte-psjrav">POST</span><span class="sv-studio__req-url-param svelte-psjrav"> </span></div> <div class="sv-studio__req-row svelte-psjrav" style="grid-template-columns: minmax(0, 1fr) auto;"><label class="sv-studio__req-field svelte-psjrav">Connection string <small>(server-only - goes to <code>.env</code>, never the browser)</small> <input type="text" aria-label="Connection string" class="svelte-psjrav"/></label> <button type="button" class="sv-studio__tb-btn svelte-psjrav"><!>Parse</button></div> <!> <label class="sv-studio__req-field svelte-psjrav">Schema <small>(Postgres search path; default <code>public</code>)</small> <input type="text" placeholder="public" aria-label="Schema" class="svelte-psjrav"/></label> <!> <div class="sv-studio__req-note svelte-psjrav"><strong>SQL runs server-side.</strong> <strong>Generate app</strong> emits a connected <code class="svelte-psjrav"> </code> (the <code class="svelte-psjrav"> </code> driver, reading <code class="svelte-psjrav">DATABASE_URL</code>) and the grid talks to it over that route. Set <code class="svelte-psjrav">DATABASE_URL</code> in <code class="svelte-psjrav">.env</code>; the driver is added for you by <code class="svelte-psjrav">npm create @svgrid/studio</code>. To scaffold from an existing database instead: <code class="svelte-psjrav"> </code></div>`,1),wW=y(`<option class="svelte-psjrav"> </option>`),TW=y(`<select aria-label="Table" class="svelte-psjrav"></select>`),EW=y(`<input type="text" aria-label="Table" class="svelte-psjrav"/>`),Qee=y(`<div class="sv-studio__req-url svelte-psjrav"><span class="sv-studio__req-url-base svelte-psjrav"> </span><span class="sv-studio__req-url-param svelte-psjrav"> </span></div>`),DW=y(`, plus a <code class="svelte-psjrav">createSupabaseRealtime</code> subscription that refreshes the grid live`,1),OW=y(`<p class="sv-studio__req-hint svelte-psjrav" style="margin: 0 0 2px">New to Supabase? Create a free project at <strong>supabase.com</strong>, then open your project's <strong>Settings → API</strong> - copy the <strong>Project URL</strong> and the <strong>anon public</strong> key into the two boxes below. The anon key is safe to share; your data stays protected by Row Level Security.</p> <label class="sv-studio__req-field svelte-psjrav">Project URL <small>(shared by every Supabase entity - set once)</small> <input type="text" placeholder="https://xxxx.supabase.co" aria-label="Project URL" class="svelte-psjrav"/></label> <div class="sv-studio__req-row svelte-psjrav" style="grid-template-columns: minmax(0, 1fr) auto;"><label class="sv-studio__req-field svelte-psjrav">Anon key <small>(public - safe to ship)</small> <input type="text" placeholder="eyJhbGciOi… paste the anon public key" aria-label="Anon key" class="svelte-psjrav"/></label> <button type="button" class="sv-studio__tb-btn svelte-psjrav"><!> </button></div> <div class="sv-studio__req-row svelte-psjrav" style="grid-template-columns: minmax(0, 1fr) auto;"><label class="sv-studio__req-field svelte-psjrav">Table <small> </small> <!></label> <button type="button" class="sv-studio__req-send svelte-psjrav"><!> </button></div> <!> <label class="sv-studio__req-toggle svelte-psjrav"><input type="checkbox" class="svelte-psjrav"/> <span><strong class="svelte-psjrav">Live updates (Realtime)</strong> - the grid refreshes automatically on any insert, update, or delete in this table. Needs Realtime enabled for the table in your Supabase project.</span></label> <!> <span class="sv-studio__req-hint svelte-psjrav"><strong>Import schema</strong> reads the table's real columns - primary key, foreign-key relations and enums - through the public anon key (works even on an empty table). <strong>Generate app</strong> emits <code class="svelte-psjrav">createClient</code> in <code class="svelte-psjrav">connections.ts</code> from <code class="svelte-psjrav">PUBLIC_SUPABASE_URL</code> / <code class="svelte-psjrav">PUBLIC_SUPABASE_ANON_KEY</code> env vars and adds <code class="svelte-psjrav">@supabase/supabase-js</code><!>.</span>`,1),kW=y(`<option class="svelte-psjrav"> </option>`),AW=y(`<span class="sv-studio__req-url-param svelte-psjrav"> </span>`),jW=y(`<span> </span>`),MW=y(`<span class="sv-studio__param-count svelte-psjrav"> </span>`),NW=y(`<button type="button" role="tab"> <!></button>`),PW=y(`<p class="sv-studio__req-hint svelte-psjrav">The grid sends the edited row as the request body on create / update automatically - nothing to configure here.</p>`),FW=y(`<p class="sv-studio__req-empty svelte-psjrav">No path parameters yet - add <code class="svelte-psjrav">&#123;id&#125;</code> to the path.</p>`),IW=y(`<div class="sv-studio__req-trow svelte-psjrav"><span class="sv-studio__req-param-name svelte-psjrav"> </span> <input placeholder="value (used by Send)" aria-label="Value" class="svelte-psjrav"/> <select aria-label="Type" class="svelte-psjrav"><option class="svelte-psjrav">string</option><option class="svelte-psjrav">number</option><option class="svelte-psjrav">boolean</option></select> <span></span></div>`),LW=y(`<div class="sv-studio__req-table svelte-psjrav"><div class="sv-studio__req-thead svelte-psjrav"><span>Parameter</span><span>Value</span><span>Type</span><span></span></div> <!></div>`),RW=y(`<p class="sv-studio__req-hint svelte-psjrav">To add or delete a path parameter, update the <strong>path</strong> above, e.g. <code class="svelte-psjrav">path/&#123;parameter&#125;</code>.</p> <!>`,1),zW=y(`<div class="sv-studio__req-trow svelte-psjrav"><input placeholder="name" aria-label="Name" class="svelte-psjrav"/> <input placeholder="value" aria-label="Value" class="svelte-psjrav"/> <select aria-label="Type" class="svelte-psjrav"><option class="svelte-psjrav">string</option><option class="svelte-psjrav">number</option><option class="svelte-psjrav">boolean</option></select> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Remove parameter"><!></button></div>`),BW=y(`<div class="sv-studio__req-table svelte-psjrav"><div class="sv-studio__req-thead svelte-psjrav"><span>Name</span><span>Value</span><span>Type</span><span></span></div> <!> <button type="button" class="sv-studio__req-add svelte-psjrav"><!> </button></div>`),VW=y(`<div class="sv-studio__req-row2 svelte-psjrav"><label class="sv-studio__req-field svelte-psjrav">Offset param<input placeholder="offset" aria-label="Offset param" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">Limit param<input placeholder="limit" aria-label="Limit param" class="svelte-psjrav"/></label></div> <div class="sv-studio__req-row2 svelte-psjrav"><label class="sv-studio__req-field svelte-psjrav">Sort-by param<input placeholder="(none)" aria-label="Sort-by param" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">Order param<input placeholder="(none)" aria-label="Order param" class="svelte-psjrav"/></label></div> <div class="sv-studio__req-row2 svelte-psjrav"><label class="sv-studio__req-field svelte-psjrav">Search param<input placeholder="(none)" aria-label="Search param" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">Rows key<input placeholder="data / rows / items" aria-label="Rows key" class="svelte-psjrav"/></label></div> <label class="sv-studio__req-field svelte-psjrav">Total key<input placeholder="total / count" aria-label="Total key" class="svelte-psjrav"/></label>`,1),HW=y(`<label class="sv-studio__req-field svelte-psjrav">Rows key <small>(collection: products, users, posts…)</small> <input placeholder="products" aria-label="Rows key" class="svelte-psjrav"/></label>`),UW=y(`<span class="sv-studio__req-hint svelte-psjrav">The generated grid pages &amp; sorts <strong>on the server</strong> through this adapter, and the preview above does too. Row/total unwrapping is handled for you.</span>`),WW=y(`<h4 class="sv-studio__req-h svelte-psjrav">Response mapping <small class="svelte-psjrav">optional</small></h4> <div class="sv-studio__req-row2 svelte-psjrav"><label class="sv-studio__req-field svelte-psjrav">Rows path <input placeholder="data.items (blank = auto-detect)" aria-label="Rows path" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">Total path <input placeholder="data.total (blank = auto-detect)" aria-label="Total path" class="svelte-psjrav"/></label></div>`,1),GW=y(`<div class="sv-studio__req-row svelte-psjrav"><label class="sv-studio__req-field svelte-psjrav">Name <input type="text" readonly="" aria-label="Request name" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">Operation <select aria-label="Operation" class="svelte-psjrav"></select></label> <label class="sv-studio__req-field svelte-psjrav">Path <input type="text" placeholder="albums/{id}/tracks" aria-label="Path" class="svelte-psjrav"/></label> <button type="button" class="sv-studio__req-send svelte-psjrav"><!> </button></div> <label class="sv-studio__req-field svelte-psjrav">Base URL <input type="text" placeholder="https://api.example.com/v1" aria-label="Base URL" class="svelte-psjrav"/></label> <div class="sv-studio__req-url svelte-psjrav"><span class="sv-studio__req-url-base svelte-psjrav"> </span><!></div> <!> <h4 class="sv-studio__req-h svelte-psjrav">Parameters</h4> <div class="sv-studio__req-tabs svelte-psjrav" role="tablist"></div> <!> <h4 class="sv-studio__req-h svelte-psjrav">API format <small class="svelte-psjrav">· server paging &amp; sort</small></h4> <label class="sv-studio__req-field svelte-psjrav">Wire format <select aria-label="Wire format" class="svelte-psjrav"><option class="svelte-psjrav">Manual mapping (single page)</option><option class="svelte-psjrav">Offset + Limit (generic paging)</option><option class="svelte-psjrav">DummyJSON (skip / limit)</option><option class="svelte-psjrav">json-server / JSONPlaceholder</option></select></label> <!> <!>`,1),$ee=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__req-modal sv-studio__win svelte-psjrav" role="dialog" aria-label="Data source builder" tabindex="-1"><header><span class="sv-studio__modal-title svelte-psjrav"><!> <small class="svelte-psjrav"> </small></span> <div class="sv-studio__req-headbtns svelte-psjrav"><button type="button" class="sv-studio__icon-btn svelte-psjrav"><!></button> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></div></header> <div class="sv-studio__req-body svelte-psjrav"><!></div></div></div>`),KW=y(`<button type="button"><!><span class="sv-studio__pv-devlabel svelte-psjrav"> </span></button>`),qW=y(`<img class="sv-studio__pv-logo svelte-psjrav"/>`),JW=y(`<!><span class="sv-studio__pv-brand-txt svelte-psjrav"> </span>`,1),ete=y(`<button type="button" class="sv-studio__pv-nav-toggle svelte-psjrav" aria-label="Toggle sidebar"><svg viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="m15 18-6-6 6-6"></path></svg></button>`),YW=y(`<button type="button"><span class="sv-studio__pv-nav-ini svelte-psjrav" aria-hidden="true"> </span><span class="sv-studio__pv-nav-lbl svelte-psjrav"> </span></button>`),XW=y(`<div class="sv-studio__runbar has-error svelte-psjrav"><span class="sv-studio__run-err svelte-psjrav" role="alert"> </span></div>`),ZW=y(`<div class="sv-studio__dock svelte-psjrav"><!></div>`),tte=y(`<section><div class="sv-studio__cvs-body svelte-psjrav"><!></div></section>`),QW=y(`<p class="sv-studio__empty svelte-psjrav">This screen has no blocks yet - add some in the designer.</p>`),$W=y(`<div><!> <!></div>`),nte=y(`<section><!></section>`),eG=y(`<p class="sv-studio__empty svelte-psjrav">This screen has no blocks yet - add some in the designer.</p>`),tG=y(`<!> <!>`,1),nG=y(`<header class="sv-studio__pv-screenhead svelte-psjrav"><h2 class="svelte-psjrav"> </h2></header> <!> <div><!></div>`,1),rG=y(`<p class="sv-studio__empty svelte-psjrav">No screens to preview yet.</p>`),iG=y(`<footer class="sv-studio__pv-foot svelte-psjrav"> </footer>`),aG=y(`<div role="dialog" aria-modal="true" aria-label="App preview"><div class="sv-studio__pv-bar svelte-psjrav"><span class="sv-studio__pv-tag svelte-psjrav"><!> Live preview <small class="svelte-psjrav">· this is how your app runs</small></span> <span class="sv-studio__pv-devices svelte-psjrav" role="group" aria-label="Preview device"></span> <button type="button" class="sv-studio__pv-exit svelte-psjrav"><!> Close preview <kbd class="svelte-psjrav">Esc</kbd></button></div> <div><nav class="sv-studio__pv-nav svelte-psjrav" aria-label="App navigation"><div class="sv-studio__pv-nav-head svelte-psjrav"><span class="sv-studio__pv-brand svelte-psjrav"><!></span> <!></div> <div class="sv-studio__pv-nav-items svelte-psjrav"></div></nav> <div class="sv-studio__pv-main svelte-psjrav"><!> <!></div></div></div>`),oG=y(`<button type="button" class="svelte-psjrav"> </button>`),sG=y(`<p class="sv-studio__copilot-err svelte-psjrav"> </p>`),cG=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__copilot svelte-psjrav" role="dialog" aria-label="AI copilot" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav">✨ Copilot <small class="svelte-psjrav">· describe a change in plain English</small></span> <button type="button" class="sv-studio__modal-x" aria-label="Close"><!></button></header> <div class="sv-studio__copilot-body svelte-psjrav"><textarea class="sv-studio__copilot-input svelte-psjrav" rows="3" placeholder="e.g. Add an orders screen with a chart of revenue by month"></textarea> <div class="sv-studio__copilot-examples svelte-psjrav"></div> <!> <div class="sv-studio__copilot-foot svelte-psjrav"><span class="sv-studio__hint svelte-psjrav">The change applies to your project - <kbd>Ctrl/Cmd+Z</kbd> to undo.</span> <button type="button" class="sv-studio__gen-btn svelte-psjrav"> </button></div></div></div></div>`),lG=y(`<p class="sv-studio__hint sv-studio__gallery-warn svelte-psjrav">Loading a sample replaces the current design (undo with Ctrl+Z).</p>`),uG=y(`<button type="button" class="sv-studio__sample svelte-psjrav"><span class="sv-studio__sample-emoji svelte-psjrav"> </span> <span class="sv-studio__sample-name svelte-psjrav"> </span> <span class="sv-studio__sample-desc svelte-psjrav"> </span> <span class="sv-studio__sample-open svelte-psjrav">Open <!></span></button>`),dG=y(`<button type="button" class="sv-studio__sample svelte-psjrav"><span class="sv-studio__sample-badge svelte-psjrav">Live</span> <span class="sv-studio__sample-emoji svelte-psjrav"> </span> <span class="sv-studio__sample-name svelte-psjrav"> </span> <span class="sv-studio__sample-desc svelte-psjrav"> </span> <span class="sv-studio__sample-open svelte-psjrav">Open <!></span></button>`),fG=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__gallery svelte-psjrav" role="dialog" aria-label="Sample apps" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> Sample apps <small class="svelte-psjrav">· load a ready-made design</small></span> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__gallery-body svelte-psjrav"><!> <div class="sv-studio__gallery-grid svelte-psjrav"></div> <div class="sv-studio__gallery-section svelte-psjrav"><h4 class="sv-studio__gallery-subhead svelte-psjrav">Start from live data</h4> <p class="sv-studio__hint svelte-psjrav">Bound to a real source - embedded Postgres, a hosted Supabase project, or a public REST API. The generated app talks to the same source.</p></div> <div class="sv-studio__gallery-grid svelte-psjrav"></div></div></div></div>`),pG=y(`Creates <code class="svelte-psjrav"> </code> with <code class="svelte-psjrav">id</code> + <code class="svelte-psjrav">name</code> fields and a screen. Add more fields in the inspector.`,1),mG=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__mini-modal svelte-psjrav" role="dialog" aria-label="New entity" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> New entity</span> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__mini-body svelte-psjrav"><label class="sv-studio__req-field svelte-psjrav">Entity name <input placeholder="customers" aria-label="Entity name" class="svelte-psjrav"/></label> <p class="sv-studio__hint svelte-psjrav"><!></p> <div class="sv-studio__mini-actions svelte-psjrav"><button type="button" class="sv-studio__gen-btn svelte-psjrav">Cancel</button> <button type="button" class="sv-studio__req-send svelte-psjrav"><!>Create entity</button></div></div></div></div>`),hG=y(`<span class="svelte-psjrav"> </span>`),gG=y(`<div class="sv-studio__conn-skip svelte-psjrav"><strong> </strong> <!></div>`),_G=y(`<p class="sv-studio__conn-done svelte-psjrav"><!> </p> <!> <div class="sv-studio__mini-actions svelte-psjrav"><button type="button" class="sv-studio__req-send svelte-psjrav">Done</button></div>`,1),vG=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__mini-modal svelte-psjrav" role="dialog" aria-label="Connect database" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> Connect database <small class="svelte-psjrav"> </small></span> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__mini-body svelte-psjrav"><!></div></div></div>`),yG=y(`<option class="svelte-psjrav"> </option>`),rte=y(`<div class="sv-studio__seg svelte-psjrav" role="tablist" aria-label="Connection input mode"><button type="button" role="tab">Guided</button> <button type="button" role="tab">Connection string</button></div>`),ite=y(`<label class="sv-studio__req-field svelte-psjrav">Database file <input placeholder="./data.db" aria-label="SQLite database file" class="svelte-psjrav"/></label>`),bG=y(`<code class="sv-studio__conn-preview svelte-psjrav" title="Assembled connection string"> </code>`),xG=y(`<div class="sv-studio__conn-grid svelte-psjrav"><label class="sv-studio__req-field sv-studio__conn-host svelte-psjrav">Host <input placeholder="localhost" aria-label="Host" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">Port <input inputmode="numeric" aria-label="Port" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">Database <input placeholder="app" aria-label="Database name" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">User <input placeholder="user" aria-label="User" class="svelte-psjrav"/></label> <label class="sv-studio__req-field svelte-psjrav">Password <input type="password" placeholder="••••••" aria-label="Password" class="svelte-psjrav"/></label></div> <label class="sv-studio__conn-ssl svelte-psjrav"><input type="checkbox"/> Require SSL/TLS</label> <!>`,1),SG=y(`<label class="sv-studio__req-field svelte-psjrav">Connection string <input aria-label="Connection string" class="svelte-psjrav"/></label>`),ate=y(`<span class="svelte-psjrav"> <b class="svelte-psjrav"> </b></span>`),CG=y(`<span class="sv-studio__hint svelte-psjrav"> </span>`),wG=y(`<div class="sv-studio__conn-tested svelte-psjrav"><strong class="svelte-psjrav"><!> </strong> <div class="sv-studio__conn-counts svelte-psjrav"><!> <!></div></div>`),TG=y(`<button type="button" class="sv-studio__mini-link svelte-psjrav"> </button>`),EG=y(`<div class="sv-studio__conn-driver svelte-psjrav"><span>Driver <code class="svelte-psjrav"> </code> isn't installed in this project.</span> <!></div>`),DG=y(`<p class="sv-studio__hint svelte-psjrav">Point this app's screens at your real database. Map each entity to one of your tables; the rest stay on sample data.</p> <div class="sv-studio__req-row2 svelte-psjrav"><label class="sv-studio__req-field svelte-psjrav">Database <select class="svelte-psjrav"></select></label> <!></div> <!> <!> <!> <div class="sv-studio__mini-actions svelte-psjrav"><button type="button" class="sv-studio__gen-btn svelte-psjrav">Cancel</button> <span class="sv-studio__spacer svelte-psjrav"></span> <button type="button" class="sv-studio__gen-btn svelte-psjrav"> </button> <button type="button" class="sv-studio__req-send svelte-psjrav"><!> </button></div>`,1),OG=y(`<option class="svelte-psjrav"> </option>`),kG=y(`<label class="sv-studio__rebind-row svelte-psjrav"><span class="sv-studio__rebind-ent svelte-psjrav"><!> </span> <span class="sv-studio__rebind-arrow svelte-psjrav">→</span> <select class="svelte-psjrav"><option class="svelte-psjrav">Keep sample data</option><!></select></label>`),AG=y(`<p class="sv-studio__hint svelte-psjrav"> </p> <div class="sv-studio__rebind-map svelte-psjrav"></div> <div class="sv-studio__mini-actions svelte-psjrav"><button type="button" class="sv-studio__gen-btn svelte-psjrav">Back</button> <button type="button" class="sv-studio__req-send svelte-psjrav"><!> </button></div>`,1),jG=y(`<span class="svelte-psjrav"> </span>`),MG=y(`<div class="sv-studio__conn-skip svelte-psjrav"><strong>Check these (a chart/detail references a field your table may not have):</strong> <!></div>`),NG=y(`<p class="sv-studio__conn-done svelte-psjrav"><!> </p> <!> <div class="sv-studio__mini-actions svelte-psjrav"><button type="button" class="sv-studio__req-send svelte-psjrav">Done</button></div>`,1),PG=y(`<span class="sv-studio__issue sv-studio__issue--error svelte-psjrav"> </span>`),FG=y(`<div class="sv-studio__modal-wrap svelte-psjrav" role="presentation"><div class="sv-studio__mini-modal svelte-psjrav" role="dialog" aria-label="Use my data" tabindex="-1"><header class="sv-studio__modal-head svelte-psjrav"><span class="sv-studio__modal-title svelte-psjrav"><!> Use my data <small class="svelte-psjrav"> </small></span> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Close"><!></button></header> <div class="sv-studio__mini-body svelte-psjrav"><!> <!></div></div></div>`),IG=y(`<div class="sv-studio__ctx-sep svelte-psjrav"></div>`),LG=y(`<button type="button" role="menuitem"> </button>`),RG=y(`<div class="sv-studio__ctx svelte-psjrav" role="menu" tabindex="-1"></div>`),zG=y(`<div><div class="sv-studio__titlebar svelte-psjrav"><span class="sv-studio__brand svelte-psjrav"><span class="sv-studio__brand-mark svelte-psjrav" aria-hidden="true"><!></span> <span class="sv-studio__brand-name svelte-psjrav">Studio</span></span> <span class="sv-studio__tb-sep svelte-psjrav"></span> <input class="sv-studio__app-name svelte-psjrav" aria-label="App name"/> <!> <div class="sv-studio__theme-menu svelte-psjrav"><button type="button" aria-haspopup="dialog" title="App theme"><span class="sv-studio__theme-chip svelte-psjrav"></span> <span class="sv-studio__theme-btn-label svelte-psjrav"> </span> <!></button> <!></div> <span class="sv-studio__spacer svelte-psjrav"></span> <!> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Undo" title="Undo (Ctrl+Z)"><!></button> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Redo" title="Redo (Ctrl+Shift+Z)"><!></button> <button type="button" class="sv-studio__icon-btn svelte-psjrav" aria-label="Keyboard shortcuts" title="Keyboard shortcuts (?)"><span style="font-weight:700;font-size:13px">?</span></button> <span class="sv-studio__tb-sep svelte-psjrav"></span> <!> <button type="button" class="sv-studio__tb-btn svelte-psjrav" data-tour="newapp" title="Start a new app - connect data and scaffold its pages"><!>New app</button> <button type="button" class="sv-studio__tb-btn svelte-psjrav" data-tour="samples"><!>Sample apps</button> <!> <div class="sv-studio__menu svelte-psjrav"><button type="button" data-tour="data" aria-haspopup="menu"><!>Add data <!></button> <!></div> <button type="button">Load</button> <button type="button"><!>Save</button> <span class="sv-studio__tb-sep svelte-psjrav"></span> <!> <button type="button" class="sv-studio__tb-btn svelte-psjrav" title="Reset the Pages / Canvas / Inspector panels to the default layout">Reset layout</button> <span class="sv-studio__tb-sep svelte-psjrav"></span> <button type="button" title="Show live sample data inside each block on the canvas (off = layout wireframes only)">Show data</button> <button type="button" class="sv-studio__tb-btn svelte-psjrav" title="Take the guided tour" aria-label="Take the guided tour">?</button> <button type="button" class="sv-studio__tb-btn svelte-psjrav" data-tour="preview" title="Preview the whole app full screen (Esc to exit)"><!>Preview</button> <button type="button" title="Deploy the generated app"><!>Deploy</button> <button type="button" class="sv-studio__tb-btn svelte-psjrav" title="Report a bug - attaches a sanitized copy of this project (no credentials or row data) and opens a prefilled GitHub issue">Report bug</button> <button type="button" class="sv-studio__tb-btn sv-studio__tb-btn--primary svelte-psjrav" data-tour="generate"><!>Generate app</button></div> <!> <!> <!> <!> <div><!> <!></div> <div class="sv-studio__statusbar svelte-psjrav"><!> <span> </span> <span> </span> <span> </span> <span class="sv-studio__status-sp svelte-psjrav"></span> <!> <!></div> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>`);function BG(t,n){le(n,!0);let o=(e,t=ee)=>{var n=gee(),r=B(n);H(n),w(e=>z(r,`d`,e),[()=>qf(t())]),d(e,n)},c=(e,t=ee)=>{let n=N(()=>gr(t())),r=N(()=>t().fields.filter(e=>e.when?.visible||e.when?.disabled||e.when?.required));var i=zP(),a=L(i),s=B(a);o(s,()=>`form`),D(),H(a);var c=k(a,2),l=B(c),u=e=>{var r=LP(),i=L(r),a=k(i),o=e=>{var t=S();w(()=>v(t,`, ${p(n).unassigned.length??``} unsectioned`)),d(e,t)};h(a,e=>{p(n).unassigned.length&&e(o)});var s=k(a);w(()=>{v(i,`${p(n).sections.length??``} section${p(n).sections.length===1?``:`s`}`),v(s,` · ${t().form?.columns??2??``} columns`)}),d(e,r)},f=e=>{var t=S(`One flat group in schema order. Group the fields into sections, and give a field a rule so it is only asked for when it is needed.`);d(e,t)};h(l,e=>{p(n).sections.length?e(u):e(f,-1)}),H(c);var m=k(c,2),g=e=>{var t=RP(),n=B(t);H(t),w(e=>v(n,`Value-driven: ${e??``}`),[()=>p(r).map(e=>e.label??e.field).join(`, `)]),d(e,t)};h(m,e=>{p(r).length&&e(g)}),x(`click`,a,()=>Cc(t().name)),d(e,i)},l=(e,t=ee)=>{var n=m(),r=L(n);ae(r,()=>`${t().name}:${p(Gs)}:${JSON.stringify(t().form??null)}`,e=>{{let n=N(()=>p(Gs)===`create`?null:Rs(t())[0]??null);Pt(e,{get schema(){return t()},get row(){return p(n)},presentation:`inline`,onSubmit:()=>{}})}}),d(e,n)},u=(e,t=ee,n=ee,r=ee)=>{let i=N(()=>ac(t())),a=N(()=>Tc(t())),o=N(()=>p(i)?Jc(p(i)):`box`),s=N(()=>p(Vs)&&!p(hc).includes(t())&&p(Hs)?.section===n().section?p(Hs).index:null),c=N(()=>xc(t())),l=N(()=>p(fc).has(t())||p(Bs)===t());var u=qP();let f;var m=B(u),g=B(m),_=B(g,!0),y=k(_),b=e=>{var t=BP();w(()=>z(t,`title`,p(c)&&p(c).required!==!!p(i)?.required?`Required by a rule for this record`:`Always required`)),d(e,t)};h(y,e=>{(p(c)?p(c).required:p(i)?.required)&&e(b)}),H(g);var S=k(g,2),T=e=>{var t=VP();d(e,t)};h(S,e=>{p(c)&&p(c).disabled&&!p(i)?.readonly&&e(T)});var E=k(S,2),O=e=>{var t=HP();d(e,t)};h(E,e=>{p(c)&&!p(c).visible&&e(O)});var te=k(E,2),j=e=>{var t=UP(),n=B(t,!0);H(t),w(()=>{z(t,`title`,`${p(a)??``} condition${p(a)===1?``:`s`} on this field`),v(n,p(a))}),d(e,t)};h(te,e=>{p(a)&&e(j)}),H(m);var M=k(m,2),ne=B(M),P=e=>{var t=_ee();d(e,t)},F=e=>{var t=WP();D(),d(e,t)},I=e=>{var t=GP();D(),d(e,t)};h(ne,e=>{p(o)===`select`?e(P):p(o)===`chips`?e(F,1):p(o)===`slider`&&e(I,2)}),H(M);var re=k(M,2),ie=e=>{var t=KP(),n=B(t,!0);H(t),w(()=>v(n,p(i).input.help)),d(e,t)};h(re,e=>{p(i)?.input?.help&&e(ie)}),H(u),w((e,t,n)=>{f=Ce(u,1,`sv-studio__fb-fld svelte-psjrav`,null,f,e),A(u,`grid-column: span ${t??``}`),z(u,`aria-pressed`,p(l)),v(_,n),Ce(M,1,`sv-studio__fb-ctl sv-studio__fb-ctl--${p(o)??``}`,`svelte-psjrav`)},[()=>({"is-selected":p(l),"is-primary":p(Bs)===t()&&p(Js).length>1,"is-dragging":p(hc).includes(t()),"is-drop-before":p(s)===n().index,"is-drop-after":p(s)!==null&&p(s)===n().index+1,"is-sim-off":p(c)&&!p(c).visible}),()=>Zc(p(i),r()),()=>p(i)?.label??qc(t())]),x(`click`,u,e=>Ac(t(),n().section,e)),x(`keydown`,u,e=>{(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),el(t(),e.key===`ArrowDown`?1:-1))}),C(`dragstart`,u,e=>{p(fc).has(t())||(V(Js,[t()],!0),V(Bs,t(),!0)),V(Vs,t(),!0),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t()))}),C(`dragend`,u,()=>{V(Vs,null),V(Hs,null)}),C(`dragover`,u,e=>{if(!p(Vs)||p(hc).includes(t()))return;e.preventDefault(),e.stopPropagation();let i=e.currentTarget.getBoundingClientRect(),a=r()>1?e.clientX>i.left+i.width/2:e.clientY>i.top+i.height/2;V(Hs,{section:n().section,index:a?n().index+1:n().index},!0)}),C(`drop`,u,e=>{e.preventDefault(),e.stopPropagation(),$c(n().section,p(Hs)?.index??n().index)}),d(e,u)},g=(e,t=ee,n=ee,r=ee,i=ee)=>{var a=JP();let o;var s=B(a),c=e=>{var t=S();w(()=>v(t,i())),d(e,t)};h(s,e=>{n()||e(c)}),H(a),w(()=>{o=Ce(a,1,`sv-studio__fb-tail svelte-psjrav`,null,o,{"is-empty":!n(),"is-over":p(Vs)!=null&&p(Hs)?.section===t()&&p(Hs).index>=n()}),A(a,`grid-column: span ${r()??``}`),z(a,`aria-label`,i())}),C(`dragover`,a,e=>{p(Vs)&&(e.preventDefault(),V(Hs,{section:t(),index:n()},!0))}),C(`drop`,a,e=>{e.preventDefault(),$c(t(),n())}),d(e,a)},y=e=>{var t=eF(),n=L(t),r=e=>{var t=YP(),n=B(t,!0);H(t),w(()=>{Ce(t,1,`sv-studio__req-result sv-studio__issue sv-studio__issue--${p(vh).ok?`ok`:`error`}`,`svelte-psjrav`),v(n,p(vh).message)}),d(e,t)};h(n,e=>{p(vh)&&e(r)});var a=k(n,2),s=e=>{let t=N(()=>p(Ps)[p(Km).name]??[]),n=N(()=>Object.keys(p(t)[0]??{})),r=N(()=>p(n).slice(0,6));var a=$P(),s=B(a),c=B(s),l=k(B(c)),u=B(l);H(l),H(c);var f=k(c,2),m=B(f);o(m,()=>`import`);var g=k(m);H(f),H(s);var _=k(s,2),y=B(_),b=B(y),S=B(b);oe(S,20,()=>p(r),e=>e,(e,t)=>{var n=XP(),r=B(n,!0);H(n),w(()=>v(r,t)),d(e,n)}),H(S),H(b);var C=k(b);oe(C,21,()=>p(t).slice(0,6),i,(e,t)=>{var n=QP();oe(n,20,()=>p(r),e=>e,(e,n)=>{var r=ZP(),i=B(r,!0);H(r),w(e=>v(i,e),[()=>Rh(p(t)[n])]),d(e,r)}),H(n),d(e,n)}),H(C),H(y),H(_);var T=k(_,2),E=e=>{var t=Q();d(e,t)},D=N(()=>!p(r).some(e=>(p(Km)?.fields??[]).some(t=>t.field===e)));h(T,e=>{p(D)&&e(E)}),H(a),w(e=>{v(u,`· showing ${e??``} of ${p(t).length??``}${p(t).length>=25?`+`:``}`),v(g,` Import ${p(n).length??``} fields`)},[()=>Math.min(p(t).length,6)]),x(`click`,f,Bh),d(e,a)};h(a,e=>{p(Km)&&(p(Ps)[p(Km).name]??[]).length&&e(s)}),d(e,t)},b=(e,t)=>{let n=()=>t?.().value,r=()=>t?.().type;var i=m(),a=L(i),o=e=>{{let t=N(()=>ym(n()));uc(e,{get variant(){return p(t)},size:`sm`,pill:!0,children:(e,t)=>{D();var r=S();w(e=>v(r,e),[()=>String(n()??``)]),d(e,r)},$$slots:{default:!0}})}},s=e=>{var t=tF(),i=B(t);{let e=N(()=>Number(n()??0)),t=N(()=>r().max??100);cu(i,{get value(){return p(e)},get max(){return p(t)},size:`sm`,color:`accent`})}H(t),d(e,t)},c=e=>{var t=nF(),i=B(t,!0);H(t),w((e,n)=>{z(t,`href`,e),v(i,n)},[()=>(r().as===`email`?`mailto:`:r().as===`tel`?`tel:`:``)+String(n()??``),()=>String(n()??``)]),d(e,t)};h(a,e=>{r().kind===`badge`?e(o):r().kind===`progress`?e(s,1):e(c,-1)}),d(e,i)},M=(e,t)=>{let n=()=>t?.().row,r=()=>t?.().ent,a=()=>t?.().actions;var o=aF();oe(o,21,a,i,(e,t)=>{var i=m(),a=L(i),o=e=>{var i=vee(),a=B(i,!0);H(i),w(()=>v(a,p(t).label??`Edit`)),x(`click`,i,e=>{e.stopPropagation(),V(vl,{ent:r(),row:n()},!0)}),d(e,i)},s=e=>{var i=yee(),a=B(i,!0);H(i),w(()=>v(a,p(t).label??`Delete`)),x(`click`,i,e=>{e.stopPropagation(),bl(r(),String(n()[yl(r())]??``))}),d(e,i)},c=e=>{var n=rF(),r=B(n,!0);H(n),w(()=>v(r,p(t).label??`Open`)),x(`click`,n,e=>{e.stopPropagation(),V(ki,p(t).screen,!0)}),d(e,n)},l=e=>{var n=iF(),r=B(n,!0);H(n),w(()=>v(r,p(t).label??`Action`)),x(`click`,n,e=>e.stopPropagation()),d(e,n)};h(a,e=>{p(t).kind===`edit`?e(o):p(t).kind===`delete`?e(s,1):p(t).kind===`navigate`&&p(t).screen?e(c,2):e(l,-1)}),d(e,i)}),H(o),d(e,o)},F=(e,t=ee)=>{let n=N(()=>p(Su)?.blocks.find(e=>e.id===t().id));var r=m(),i=L(r),a=e=>{let r=N(()=>p(Cu)??xs),i=N(()=>p(Cu)?Al(p(Cu),Is(p(Cu))):[]);var a=oF(),o=B(a);{let e=N(()=>Bu(p(r),p(i))),a=N(()=>Math.max((Yo[t().id]??360)-22,160));se(o,()=>p(n),()=>p(r),()=>p(e),()=>p(a),()=>!0)}H(a),_e(a,`clientHeight`,e=>Yo[t().id]=e),d(e,a)};h(i,e=>{p(n)&&e(a)}),d(e,r)},ie=(e,t=ee)=>{let n=N(()=>p(Ai)?.blocks.find(e=>e.id===t().id));var r=m(),i=L(r),a=e=>{let r=N(()=>p(os)??xs),i=N(()=>p(os)?Al(p(os),p(Tl)):[]);var a=sF();let o;var s=B(a),c=k(s,2);{let e=N(()=>Math.max((Yo[t().id]??320)-22,160));se(c,()=>p(n),()=>p(r),()=>p(i),()=>p(e),()=>!1)}H(a),w(()=>o=Ce(a,1,`sv-studio__dockpane svelte-psjrav`,null,o,{"is-selected":p(n).id===p(uo),"has-issue":!!p(Ts)[p(n).id]})),x(`click`,a,()=>V(uo,p(n).id,!0)),x(`contextmenu`,a,e=>qa(e,Xa(p(n)))),x(`keydown`,a,e=>e.key===`Enter`&&V(uo,p(n).id,!0)),x(`click`,s,e=>{e.stopPropagation(),Ga(p(n).id)}),_e(a,`clientHeight`,e=>Yo[t().id]=e),d(e,a)};h(i,e=>{p(n)&&e(a)}),d(e,r)},se=(e,t=ee,n=ee,r=ee,a=ee,c=ee)=>{var l=m(),u=L(l),f=e=>{let i=N(()=>t().config),o=N(()=>p(i).scheduler);{let t=N(()=>wl(p(i),n())),s=N(()=>({startField:p(o).startField,endField:p(o).endField,titleField:p(o).titleField,colorField:p(o).colorField,resourceField:p(o).resourceField,recurrenceField:p(o).recurrenceField,allDayField:p(o).allDayField,initialView:p(o).initialView,drawer:p(o).drawer!==!1}));Mn(e,{get data(){return r()},get columns(){return p(t)},getRowId:e=>String(e[n().idField??`id`]),get containerHeight(){return a()},get scheduler(){return p(s)}})}},g=e=>{let i=N(()=>t().config),o=N(()=>p(i).editing===`form`||p(i).editing===`inline`),s=N(()=>p(i).filterUi??{global:!0});var c=gF(),l=L(c),u=e=>{var r=hF(),a=B(r),s=e=>{var t=cF(),r=B(t);H(t),w(()=>v(r,`+ New ${n().label??n().name??``}`)),x(`click`,t,()=>V(vl,{ent:n(),row:null},!0)),d(e,t)};h(a,e=>{p(o)&&e(s)});var c=k(a,4),l=e=>{var r=lF();x(`click`,r,()=>void xu[t().id]?.exportCsv({filename:n().name})),d(e,r)};h(c,e=>{p(i).export?.csv&&e(l)});var u=k(c,2),f=e=>{var r=uF();x(`click`,r,()=>void xu[t().id]?.exportJson({filename:n().name})),d(e,r)};h(u,e=>{p(i).export?.json&&e(f)});var m=k(u,2),g=e=>{var r=dF();x(`click`,r,()=>void Em(t().id,`xlsx`,n().name)),d(e,r)};h(m,e=>{p(i).export?.xlsx&&e(g)});var _=k(m,2),y=e=>{var r=fF();x(`click`,r,()=>void Em(t().id,`pdf`,n().name)),d(e,r)};h(_,e=>{p(i).export?.pdf&&e(y)});var b=k(_,2),S=e=>{var r=pF();x(`click`,r,()=>void Dm(t().id,n().name)),d(e,r)};h(b,e=>{p(i).export?.print&&e(S)});var C=k(b,2),T=e=>{var n=mF();x(`click`,n,()=>void xu[t().id]?.copyToClipboard()),d(e,n)};h(C,e=>{p(i).export?.copy&&e(T)}),H(r),d(e,r)};h(l,e=>{(p(o)||p(i).export&&(p(i).export.csv||p(i).export.json||p(i).export.copy||p(i).export.xlsx||p(i).export.pdf||p(i).export.print))&&e(u)});var f=k(l,2);{let e=N(()=>wl(p(i),n())),c=N(()=>p(i).filterable&&!!p(s).global),l=N(()=>p(i).filterable&&!!p(s).row),u=N(()=>p(i).filterable&&!!p(s).menu),d=N(()=>!!p(i).grouping?.length),m=N(()=>Hf(p(i))),h=N(()=>p(i).density===`compact`?28:p(i).density===`comfortable`?46:30),g=N(()=>Number(p(i).props?.headerHeight)||(p(i).density===`comfortable`?48:p(i).density===`compact`?34:42)),_=N(()=>p(o)?e=>V(vl,{ent:n(),row:e.row},!0):void 0);Mn(f,{get data(){return r()},get columns(){return p(e)},get containerHeight(){return a()},fitColumns:!0,get sortable(){return p(i).sortable},get filterable(){return p(i).filterable},get showGlobalFilter(){return p(c)},get showFilterRow(){return p(l)},get showFilterMenu(){return p(u)},get enableCellSelection(){return p(i).cellSelection},get enableRowSummaries(){return p(i).rowSummaries},get zebraRows(){return p(i).striped},get showRowSelection(){return p(i).selectable},get groupable(){return p(d)},get conditionalFormats(){return p(m)},get rowHeight(){return p(h)},get headerHeight(){return p(g)},onApiReady:e=>{xu[t().id]=e,p(i).grouping?.length&&e.setGroupBy([...p(i).grouping])},onRowClick:e=>bu[n().name]=e.row,get onRowDoubleClick(){return p(_)}})}d(e,c)},_=e=>{var r=m(),i=L(r);ae(i,()=>JSON.stringify(n().form??null),e=>{{let r=N(()=>t().config.width??`md`),i=N(()=>t().config.title??`New ${n().label??n().name}`);Pt(e,{get schema(){return n()},row:null,presentation:`inline`,get formSize(){return p(r)},get title(){return p(i)},get submitLabel(){return t().config.submitLabel},onSubmit:()=>{}})}}),d(e,r)},y=e=>{{let i=N(()=>t().config.color||`var(--sg-accent)`),o=N(()=>t().config.dataLabels!==!1),s=N(()=>tf(n(),t().config.measure)&&t().config.reduce!==`count`?e=>`$${e.toLocaleString()}`:void 0);Mr(e,{get schema(){return n()},get rows(){return r()},get dimension(){return t().config.dimension},get measure(){return t().config.measure},get reduce(){return t().config.reduce},get type(){return t().config.type},controls:!1,get height(){return a()},width:340,get accent(){return p(i)},get dataLabels(){return p(o)},get formatValue(){return p(s)}})}},b=e=>{Re(e,{get schema(){return n()},get rows(){return r()}})},C=e=>{let i=N(()=>t().config),a=N(()=>af(p(i),r())),o=N(()=>rf(p(i),r()));var s=bF(),c=B(s),l=B(c,!0);H(c);var u=k(c,2),f=B(u,!0);H(u);var m=k(u,2),g=e=>{var t=_F();let n;var r=B(t,!0);H(t),w(()=>{n=Ce(t,1,`sv-studio__kpi-delta svelte-psjrav`,null,n,{"is-up":p(a).up,"is-down":!p(a).up}),v(r,p(a).text)}),d(e,t)};h(m,e=>{p(a)&&e(g)});var _=k(m,2),y=e=>{var t=vF(),n=B(t);H(t),w(e=>z(n,`points`,e),[()=>Me(p(o))]),d(e,t)},b=e=>{var t=yF(),n=B(t);H(t),w(()=>v(n,`${p(i).reduce??``}${p(i).measure?` · ${p(i).measure}`:``}`)),d(e,t)};h(_,e=>{p(o).length>1?e(y):e(b,-1)}),H(s),w(e=>{v(l,p(i).label),v(f,e)},[()=>nf(p(i),n(),r())]),d(e,s)},T=e=>{let n=N(()=>t().config);var i=xF(),a=B(i),o=B(a,!0);H(a);var s=k(a,2);{let e=N(()=>yt(r(),{measure:p(n).measure,reduce:p(n).reduce})),t=N(()=>p(n).unit??``);eo(s,{get value(){return p(e)},get min(){return p(n).min},get max(){return p(n).max},get unit(){return p(t)},size:150})}H(i),w(()=>v(o,p(n).label)),d(e,i)},E=e=>{let i=N(()=>t().config);var a=m(),o=L(a),s=e=>{var t=SF(),a=B(t);{let e=N(()=>of(r(),n(),p(i)));po(a,{get nodes(){return p(e)}})}H(t),d(e,t)},c=e=>{var t=CF();d(e,t)};h(o,e=>{p(i).labelField&&p(i).parentField?e(s):e(c,-1)}),d(e,a)},te=e=>{let a=N(()=>t().config),o=N(()=>vu[t().id]??`${t().id}-0`);{let s=(e,o=ee)=>{var s=m(),l=L(s);oe(l,17,()=>p(a).tabs,i,(e,i,a)=>{var s=m(),l=L(s),u=e=>{var t=m(),a=L(t),o=e=>{var t=TF();oe(t,21,()=>p(i).blocks,e=>e.id,(e,t)=>{var i=wF();let a;var o=B(i);se(o,()=>p(t),n,r,()=>180,c),H(i),w((e,n)=>{z(i,`data-block-id`,p(t).id),a=Ce(i,1,`sv-studio__tabchild svelte-psjrav`,null,a,{"is-selected":p(t).id===p(uo),"has-issue":!!p(Ts)[p(t).id]}),A(i,`grid-column: span ${e??``}`),z(i,`title`,`Select ${n??``} to edit it`)},[()=>Math.min(12,lt(p(t))),()=>Qd(p(t).config.kind)]),x(`click`,i,e=>{e.stopPropagation(),V(uo,p(t).id,!0)}),x(`keydown`,i,e=>{e.key===`Enter`&&(e.stopPropagation(),V(uo,p(t).id,!0))}),d(e,i)}),H(t),d(e,t)},s=e=>{var t=EF();d(e,t)};h(a,e=>{p(i).blocks.length?e(o):e(s,-1)}),d(e,t)};h(l,e=>{o()===`${t().id}-${a}`&&e(u)}),d(e,s)}),d(e,s)},l=N(()=>p(a).tabs.map((e,n)=>({id:`${t().id}-${n}`,label:e.label})));Xe(e,{get tabs(){return p(l)},get value(){return p(o)},onChange:e=>vu[t().id]=e,panel:s,$$slots:{panel:!0}})}},j=e=>{let a=N(()=>t().config),o=N(()=>yu[t().id]??[`${t().id}-s0`]);{let s=(e,o=ee)=>{var s=m(),l=L(s);oe(l,17,()=>p(a).sections,i,(e,i,a)=>{var s=m(),l=L(s),u=e=>{var t=m(),a=L(t),o=e=>{var t=OF();oe(t,21,()=>p(i).blocks,e=>e.id,(e,t)=>{var i=DF();let a;var o=B(i);se(o,()=>p(t),n,r,()=>180,c),H(i),w((e,n)=>{z(i,`data-block-id`,p(t).id),a=Ce(i,1,`sv-studio__tabchild svelte-psjrav`,null,a,{"is-selected":p(t).id===p(uo),"has-issue":!!p(Ts)[p(t).id]}),A(i,`grid-column: span ${e??``}`),z(i,`title`,`Select ${n??``} to edit it`)},[()=>Math.min(12,lt(p(t))),()=>Qd(p(t).config.kind)]),x(`click`,i,e=>{e.stopPropagation(),V(uo,p(t).id,!0)}),x(`keydown`,i,e=>{e.key===`Enter`&&(e.stopPropagation(),V(uo,p(t).id,!0))}),d(e,i)}),H(t),d(e,t)},s=e=>{var t=kF();d(e,t)};h(a,e=>{p(i).blocks.length?e(o):e(s,-1)}),d(e,t)};h(l,e=>{o().id===`${t().id}-s${a}`&&e(u)}),d(e,s)}),d(e,s)},l=N(()=>p(a).sections.map((e,n)=>({id:`${t().id}-s${n}`,label:e.label}))),u=N(()=>p(a).multiple?`multiple`:`single`);yo(e,{get items(){return p(l)},get expandMode(){return p(u)},get expanded(){return p(o)},onChange:e=>yu[t().id]=e,panel:s,$$slots:{panel:!0}})}},M=e=>{let i=N(()=>wt(p(G),t().config.childEntity)),o=N(()=>t().config.linkScreen);{let t=N(()=>p(o)&&p(G).screens.some(e=>e.id===p(o))?()=>V(ki,p(o),!0):void 0);pr(e,{get schema(){return n()},get data(){return r()},get detailSchema(){return p(i)},getChildren:()=>PM(p(i),3),get containerHeight(){return a()},detailHeight:130,rowHeight:30,get onParentClick(){return p(t)}})}},ne=N(()=>t().config.kind===`master-detail`&&t().config.childEntity&&wt(p(G),t().config.childEntity)),F=e=>{{let i=N(()=>ff(n())),o=N(()=>pf(t().config)),s=N(()=>Math.max(a()-64,120));Qn(e,{get data(){return r()},get fields(){return p(i)},get layout(){return p(o)},showFieldList:!1,showToolbar:!1,get gridHeight(){return p(s)}})}},re=e=>{let i=N(()=>t().config);{let t=N(()=>Math.max(a()-8,260)),o=N(()=>p(i).openScreen&&p(G).screens.some(e=>e.id===p(i).openScreen)?()=>V(ki,p(i).openScreen,!0):void 0);jt(e,{get schema(){return n()},get rows(){return r()},get groupBy(){return p(i).groupBy},get titleField(){return p(i).titleField},get badgeField(){return p(i).badgeField},get subtitleField(){return p(i).subtitleField},get height(){return p(t)},onMove:(e,t)=>gl(n(),e,{[p(i).groupBy]:t}),get onOpen(){return p(o)}})}},ie=e=>{let i=N(()=>t().config);{let t=N(()=>Cl(n())),o=N(()=>Math.max(a()-8,420)),s=N(()=>({startField:p(i).dateField,titleField:p(i).titleField,colorField:p(i).colorField,drawer:!0}));Mn(e,{get data(){return r()},get columns(){return p(t)},getRowId:e=>String(e[n().idField??`id`]),get containerHeight(){return p(o)},get scheduler(){return p(s)}})}},R=e=>{let i=N(()=>t().config);{let t=N(()=>p(i).metricFields??[]),o=N(()=>p(i).sections??[]),s=N(()=>fl(p(i))),c=N(()=>Math.max(a()-8,320));Fr(e,{get schema(){return n()},get rows(){return r()},get titleField(){return p(i).titleField},get subtitleField(){return p(i).subtitleField},get statusField(){return p(i).statusField},get metricFields(){return p(t)},get sections(){return p(o)},get related(){return p(s)},get height(){return p(c)}})}},ce=e=>{let r=N(()=>t().config);var i=FF(),a=B(i),s=B(a);o(s,()=>`filter`);var c=k(s),l=B(c,!0);H(c),H(a);var u=k(a,2);oe(u,17,()=>mf(n(),p(r)),e=>e.field,(e,t)=>{let r=N(()=>p(El)[n().name]?.[p(t).field]??``);var i=NF(),a=B(i),o=B(a,!0);H(a);var s=k(a,2),c=e=>{var i=AF();P(i),w(e=>{z(i,`placeholder`,`Search ${e??``}…`),I(i,p(r))},[()=>(p(t).label??p(t).field).toLowerCase()]),x(`input`,i,e=>Dl(n().name,p(t).field,e.currentTarget.value)),d(e,i)},l=e=>{let i=N(()=>p(t).type===`boolean`?[{value:`true`,label:`Yes`,color:`#10b981`},{value:`false`,label:`No`,color:`#94a3b8`}]:p(t).type===`relation`?kl(p(t)).map(e=>({value:e.value,label:e.label,color:void 0})):(p(t).options??[]).map(e=>({value:String(e.value),label:e.label??String(e.value),color:e.color})));var a=bee(),o=B(a);let s;var c=k(o,2);oe(c,17,()=>p(i),e=>e.value,(e,i)=>{var a=MF();let o;var s=B(a),c=e=>{var t=jF();w(()=>A(t,`background: ${p(i).color??``};`)),d(e,t)};h(s,e=>{p(i).color&&e(c)});var l=k(s,1,!0);H(a),w(e=>{o=Ce(a,1,`sv-studio__facet-chip svelte-psjrav`,null,o,e),A(a,p(i).color?`--chip: ${p(i).color};`:``),v(l,p(i).label)},[()=>({"is-active":p(r)===String(p(i).value)})]),x(`click`,a,()=>Dl(n().name,p(t).field,p(r)===String(p(i).value)?``:String(p(i).value))),d(e,a)}),H(a),w(()=>s=Ce(o,1,`sv-studio__facet-chip svelte-psjrav`,null,s,{"is-active":p(r)===``})),x(`click`,o,()=>Dl(n().name,p(t).field,``)),d(e,a)};h(s,e=>{p(t).type===`text`&&!p(t).options?.length?e(c):e(l,-1)}),H(i),w(()=>v(o,p(t).label??p(t).field)),d(e,i)});var f=k(u,2),m=e=>{var t=PF();d(e,t)},g=N(()=>!mf(n(),p(r)).length);h(f,e=>{p(g)&&e(m)}),H(i),w(()=>v(l,p(r).title??`Filters`)),d(e,i)},le=e=>{let r=N(()=>bu[n().name]),i=N(()=>t().config.presentation??`inline`);var a=m(),s=L(a),l=e=>{var n=IF(),r=B(n);o(r,()=>`record`);var a=k(r),s=B(a);H(a),H(n),w(()=>v(s,`Select a row in the grid above to ${t().config.editable?p(i)===`inline`?`edit`:`open its ${p(i)===`drawer`?`editor drawer`:`edit dialog`}`:`view`} it here.`)),d(e,n)},u=e=>{Pt(e,{get schema(){return n()},get row(){return p(r)},get presentation(){return p(i)},onSubmit:({id:e,values:t})=>gl(n(),e,t),onCancel:()=>bu[n().name]=void 0})},f=e=>{var t=RF(),a=L(t),s=e=>{var t=LF(),n=B(t);o(n,()=>p(i)===`drawer`?`screen`:`file`);var r=k(n);H(t),w(()=>v(r,` Opens as ${p(i)===`drawer`?`sidebar`:`modal`} at runtime`)),d(e,t)};h(a,e=>{p(i)!==`inline`&&e(s)});var c=k(a,2);Pt(c,{get schema(){return n()},get row(){return p(r)},presentation:`inline`,onSubmit:({id:e,values:t})=>gl(n(),e,t),onCancel:()=>bu[n().name]=void 0}),d(e,t)},g=e=>{var i=BF();oe(i,21,()=>hf(n(),t().config),e=>e.field,(e,t)=>{var n=zF(),i=B(n),a=B(i,!0);H(i);var o=k(i),s=B(o,!0);H(o),H(n),w(e=>{v(a,p(t).label??p(t).field),v(s,e)},[()=>String(p(r)[p(t).field]??``)]),d(e,n)}),H(i),d(e,i)};h(s,e=>{p(r)?t().config.editable&&c()&&p(i)!==`inline`?e(u,1):t().config.editable?e(f,2):e(g,-1):e(l)}),d(e,a)},ue=e=>{let n=N(()=>t().config),r=N(()=>gi[p(n).component]),i=N(()=>p(Ru)?p(Fu)[t().id]:void 0);var a=m(),o=L(a),c=e=>{var t=HF(),a=B(t),o=e=>{var t=VF(),a=B(t),o=e=>{var t=m(),n=L(t);s(n,()=>p(r),(e,t)=>{t(e,O(()=>p(i).props,{children:(e,t)=>{D();var n=S();w(()=>v(n,p(i).text)),d(e,n)},$$slots:{default:!0}}))}),d(e,t)},c=N(()=>jn(p(n).component)?.hasContent),l=e=>{var t=m(),n=L(t);s(n,()=>p(r),(e,t)=>{t(e,O(()=>p(i).props))}),d(e,t)};h(a,e=>{p(c)?e(o):e(l,-1)}),H(t),x(`click`,t,e=>p(i).on?.click?.(e)),d(e,t)},c=e=>{var t=m(),i=L(t);{let e=N(()=>Di(p(n)));s(i,()=>p(r),(t,r)=>{r(t,O(()=>p(e),{children:(e,t)=>{D();var r=S();w(e=>v(r,e),[()=>Oi(p(n))]),d(e,r)},$$slots:{default:!0}}))})}d(e,t)},l=N(()=>jn(p(n).component)?.hasContent),u=e=>{var t=m(),i=L(t);{let e=N(()=>Di(p(n)));s(i,()=>p(r),(t,n)=>{n(t,O(()=>p(e)))})}d(e,t)};h(a,e=>{p(i)?e(o):p(l)?e(c,1):e(u,-1)}),H(t),d(e,t)},l=e=>{var t=UF(),r=B(t);H(t),w(()=>v(r,`Unknown component "${p(n).component??``}"`)),d(e,t)};h(o,e=>{p(r)?e(c):e(l,-1)}),d(e,a)},de=e=>{var n=WF(),r=B(n);H(n),w(e=>v(r,`${e??``} - configure in the inspector`),[()=>Qd(t().config.kind)]),d(e,n)};h(u,e=>{t().config.kind===`grid`&&t().config.scheduler?e(f):t().config.kind===`grid`?e(g,1):t().config.kind===`form`?e(_,2):t().config.kind===`chart`?e(y,3):t().config.kind===`dashboard`?e(b,4):t().config.kind===`kpi`?e(C,5):t().config.kind===`gauge`?e(T,6):t().config.kind===`tree`?e(E,7):t().config.kind===`tabs`?e(te,8):t().config.kind===`accordion`?e(j,9):p(ne)?e(M,10):t().config.kind===`pivot`?e(F,11):t().config.kind===`board`?e(re,12):t().config.kind===`calendar`?e(ie,13):t().config.kind===`detail`?e(R,14):t().config.kind===`filter`?e(ce,15):t().config.kind===`record`?e(le,16):t().config.kind===`component`?e(ue,17):e(de,-1)}),d(e,l)},R=(e,t=ee,n=ee)=>{var r=GF(),i=B(r);o(i,()=>t().config.kind===`component`?`file`:t().config.kind);var a=k(i,1,!0),s=k(a);H(r),w(e=>v(a,e),[()=>t().config.kind===`component`?jn(t().config.component)?.label??t().config.component:Qd(t().config.kind)]),x(`click`,s,function(...e){n()?.apply(this,e)}),d(e,r)},ue=(e,t=ee,n=ee)=>{var r=m(),i=L(r),a=e=>{var r=qF();oe(r,20,()=>p(Ni),e=>e,(e,t)=>{var n=KF(),r=B(n,!0);H(n);var i={};w(()=>{v(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),d(e,n)}),H(r);var i;xe(r),w(()=>{i!==(i=t())&&(r.value=(r.__value=t())??``,Te(r,t()))}),x(`change`,r,e=>n()(e.currentTarget.value)),d(e,r)},o=e=>{var r=JF();P(r),w(()=>I(r,t())),x(`change`,r,e=>n()(e.currentTarget.value)),d(e,r)};h(i,e=>{p(Ni).length?e(a):e(o,-1)}),d(e,r)},he=(e,t=ee,n=ee)=>{var r=XF();oe(r,20,()=>p(Mi),e=>e,(e,t)=>{var n=YF(),r=B(n,!0);H(n);var i={};w(()=>{v(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),d(e,n)}),H(r);var i;xe(r),w(()=>{i!==(i=t())&&(r.value=(r.__value=t())??``,Te(r,t()))}),x(`change`,r,e=>n()(e.currentTarget.value)),d(e,r)},ve=(e,t=ee,n=ee)=>{var r=m(),i=L(r),a=e=>{var n=$F(),r=B(n);IP(B(r),t),H(r);var i=k(r,2),a=B(i);H(i),H(n),w(()=>{z(i,`title`,t().description),v(a,`set in code: ctx.grid.${t().key??``} = …`)}),d(e,n)},o=e=>{var r=tI(),i=B(r);P(i);var a=k(i),o=k(a),s=e=>{var n=eI();w(()=>{z(n,`aria-label`,`${t().label}: ${t().description}`),z(n,`title`,t().description)}),d(e,n)};h(o,e=>{t().description&&e(s)}),H(r),w(()=>{ce(i,!!n()),v(a,` ${t().label??``}`)}),x(`change`,i,e=>ya(t().key,e.currentTarget.checked)),d(e,r)},s=e=>{var r=xee(),i=B(r);IP(i,t);var a=k(i,2),o=B(a);o.value=o.__value=``;var s=k(o);oe(s,16,()=>t().options??[],e=>e,(e,t)=>{var n=nI(),r=B(n,!0);H(n);var i={};w(()=>{v(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),d(e,n)}),H(a);var c;xe(a),H(r),w(e=>{z(a,`title`,t().description),c!==(c=e)&&(a.value=(a.__value=e)??``,Te(a,e))},[()=>String(n()??``)]),x(`change`,a,e=>ya(t().key,e.currentTarget.value||void 0)),d(e,r)},c=e=>{var r=rI(),i=B(r);IP(i,t);var a=k(i,2);P(a),H(r),w(e=>{z(a,`title`,t().description),I(a,e)},[()=>n()==null?``:Number(n())]),x(`change`,a,e=>ya(t().key,e.currentTarget.value===``?void 0:Number(e.currentTarget.value))),d(e,r)},l=e=>{var r=aI(),i=B(r);IP(B(i),t),H(i);var a=k(i,2);ne(a);let o;var s=k(a,2),c=e=>{var t=iI();d(e,t)};h(s,e=>{p(wi)[`grid:${t().key}`]&&e(c)}),H(r),w(e=>{o=Ce(a,1,`sv-studio__prop-json svelte-psjrav`,null,o,{"is-invalid":p(wi)[`grid:${t().key}`]}),z(a,`title`,t().description??`JSON value`),I(a,e)},[()=>n()==null?``:JSON.stringify(n(),null,1)]),x(`change`,a,e=>ba(t().key,e.currentTarget.value)),d(e,r)},u=e=>{var r=oI(),i=B(r);IP(i,t);var a=k(i,2);P(a),H(r),w(e=>{z(a,`title`,t().description),I(a,e)},[()=>String(n()??``)]),x(`change`,a,e=>ya(t().key,e.currentTarget.value||void 0)),d(e,r)};h(i,e=>{t().code?e(a):t().type===`boolean`?e(o,1):t().type===`select`?e(s,2):t().type===`number`?e(c,3):t().type===`json`?e(l,4):e(u,-1)}),d(e,r)},ye=e=>{var t=sI(),n=B(t);let r;var i=B(n);o(i,()=>`dashboard`),D(),H(n);var a=k(n,2);let s;var c=B(a);o(c,()=>`navigate`),D(),H(a),H(t),w(()=>{r=Ce(n,1,`sv-studio__insp-tab svelte-psjrav`,null,r,{"is-active":p(ho)===`properties`}),z(n,`aria-selected`,p(ho)===`properties`),s=Ce(a,1,`sv-studio__insp-tab svelte-psjrav`,null,s,{"is-active":p(ho)===`events`}),z(a,`aria-selected`,p(ho)===`events`)}),x(`click`,n,()=>V(ho,`properties`)),x(`click`,a,()=>V(ho,`events`)),d(e,t)},Se=(e,t=ee)=>{var n=m(),r=L(n),i=e=>{var n=fI(),r=L(n),i=B(r);oe(i,21,t,e=>e.slot,(e,t)=>{var n=dI();let r;var i=B(n),a=B(i,!0);H(i);var o=k(i),s=B(o),c=e=>{var n=lI(),r=L(n),i=B(r,!0);H(r);var a=k(r),o=e=>{var t=cI();d(e,t)};h(a,e=>{p(t).count>0&&e(o)}),w(()=>v(i,p(t).handler)),d(e,n)},l=e=>{var t=uI();d(e,t)};h(s,e=>{p(t).handler?e(c):e(l,-1)}),H(o),H(n),w(e=>{r=Ce(n,1,`sv-studio__evgrid-row svelte-psjrav`,null,r,{"is-wired":p(t).count>0}),z(n,`title`,e),v(a,p(t).label)},[()=>`Runs when the ${p(t).label.toLowerCase()} event fires. Double-click to add its handler in handlers.ts.`]),x(`dblclick`,n,()=>fa(p(t).blockId,p(t).slot,p(t).label)),d(e,n)}),H(i),H(r),D(2),d(e,n)},a=e=>{var t=pI();d(e,t)};h(r,e=>{t().length?e(i):e(a,-1)}),d(e,n)},De=(e,t=ee,n=ee)=>{var r=mI();x(`click`,r,()=>Wa(t(),n(),`aggregate`)),d(e,r)},nt=(e,t=ee,n=ee,r=ee)=>{var i=yI(),a=B(i),o=k(B(a),2),s=B(o);s.value=s.__value=`aggregate`;var c=k(s);c.value=c.__value=`field`;var l=k(c);l.value=l.__value=`expr`,H(o);var u;xe(o);var f=k(o,2);H(a);var p=k(a,2),m=e=>{var i=gI(),a=L(i),o=B(a);oe(o,20,()=>Ds,e=>e,(e,t)=>{var n=hI(),r=B(n,!0);H(n);var i={};w(()=>{v(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),d(e,n)}),H(o);var s;xe(o);var c=k(o,2),l=e=>{ue(e,()=>r().field??``,()=>e=>Ua(t(),n(),r(),{field:e}))};h(c,e=>{r().reduce!==`count`&&e(l)}),H(a);var u=k(a,2),f=B(u,!0);H(u),w(()=>{s!==(s=r().reduce)&&(o.value=(o.__value=r().reduce)??``,Te(o,r().reduce)),v(f,r().reduce===`count`?`Count of all rows.`:`${r().reduce} of ${r().field||`…`} across all rows`)}),x(`change`,o,e=>Ua(t(),n(),r(),{reduce:e.currentTarget.value})),d(e,i)},g=e=>{var i=_I(),a=L(i);ue(a,()=>r().field,()=>e=>Ua(t(),n(),r(),{field:e}));var o=k(a,2),s=k(B(o)),c=B(s,!0);H(s),D(),H(o),w(()=>v(c,r().field||`…`)),d(e,i)},_=e=>{var i=vI(),a=L(i);ne(a),D(2),w(()=>I(a,r().code)),x(`change`,a,e=>Ua(t(),n(),r(),{code:e.currentTarget.value})),d(e,i)};h(p,e=>{r().kind===`aggregate`?e(m):r().kind===`field`?e(g,1):e(_,-1)}),H(i),w(()=>{u!==(u=r().kind)&&(o.value=(o.__value=r().kind)??``,Te(o,r().kind))}),x(`change`,o,e=>Wa(t(),n(),e.currentTarget.value)),x(`click`,f,()=>Ca(t(),n(),null)),d(e,i)},ut=(e,t=ee,n=ee,r)=>{let i=be(()=>Ee(r?.(),!1));var a=DI(),o=B(a),s=B(o);s.value=s.__value=`literal`;var c=k(s),l=e=>{var t=bI();t.value=t.__value=`state`,d(e,t)};h(c,e=>{!p(i)&&(p(Ai)?.state?.length??0)&&e(l)});var u=k(c),f=e=>{var t=xI(),n=B(t,!0);H(t),t.value=t.__value=`field`,w(()=>v(n,p(i)?`Field`:`Row field`)),d(e,t)};h(u,e=>{(p(i)||p(Ai)?.entity)&&e(f)});var m=k(u),g=e=>{var t=SI();t.value=t.__value=`param`,d(e,t)};h(m,e=>{p(i)||e(g)}),H(o);var _;xe(o);var y=k(o,2),b=e=>{var r=CI();P(r),w(()=>I(r,t().value)),x(`change`,r,e=>n()({kind:`literal`,value:e.currentTarget.value})),d(e,r)},S=e=>{var r=TI();oe(r,21,()=>p(Ai)?.state??[],e=>e.name,(e,t)=>{var n=wI(),r=B(n,!0);H(n);var i={};w(()=>{v(r,p(t).name),i!==(i=p(t).name)&&(n.value=(n.__value=p(t).name)??``)}),d(e,n)}),H(r);var i;xe(r),w(()=>{i!==(i=t().name)&&(r.value=(r.__value=t().name)??``,Te(r,t().name))}),x(`change`,r,e=>n()({kind:`state`,name:e.currentTarget.value})),d(e,r)},C=e=>{ue(e,()=>t().name,()=>e=>n()({kind:`field`,name:e}))},T=e=>{var r=EI();P(r),w(()=>I(r,t().name)),x(`change`,r,e=>n()({kind:`param`,name:e.currentTarget.value})),d(e,r)};h(y,e=>{t().kind===`literal`?e(b):t().kind===`state`?e(S,1):t().kind===`field`?e(C,2):e(T,-1)}),H(a),w(()=>{_!==(_=t().kind)&&(o.value=(o.__value=t().kind)??``,Te(o,t().kind))}),x(`change`,o,e=>n()(Wi(e.currentTarget.value,t()))),d(e,a)},Tt=(e,t=ee,n=ee)=>{var r=kI(),a=L(r);oe(a,17,t,i,(e,r,i)=>{var a=OI(),o=B(a);ue(o,()=>p(r).field,()=>e=>n()(t().map((t,n)=>n===i?{...t,field:e}:t)));var s=k(o,2);ut(s,()=>p(r).value,()=>e=>n()(t().map((t,n)=>n===i?{...t,value:e}:t)));var c=k(s,2);H(a),x(`click`,c,()=>n()(t().filter((e,t)=>t!==i))),d(e,a)});var o=k(a,2);x(`click`,o,()=>n()([...t(),{field:p(Ni)[0]??``,value:{kind:`literal`,value:``}}])),d(e,r)},un=(e,t=ee,n=ee,r)=>{let i=be(()=>Ee(r?.(),!1));var a=AI(),o=B(a);ut(o,()=>t().left,()=>e=>n()({...t(),left:e}),()=>p(i));var s=k(o,2),c=B(s);c.value=c.__value=`eq`;var l=k(c);l.value=l.__value=`neq`;var u=k(l);u.value=u.__value=`gt`;var f=k(u);f.value=f.__value=`lt`;var m=k(f);m.value=m.__value=`gte`;var g=k(m);g.value=g.__value=`lte`;var _=k(g);_.value=_.__value=`contains`;var v=k(_);v.value=v.__value=`truthy`;var y=k(v);y.value=y.__value=`falsy`,H(s);var b;xe(s);var S=k(s,2),C=e=>{ut(e,()=>t().right??{kind:`literal`,value:``},()=>e=>n()({...t(),right:e}),()=>p(i))};h(S,e=>{t().op!==`truthy`&&t().op!==`falsy`&&e(C)}),H(a),w(()=>{b!==(b=t().op)&&(s.value=(s.__value=t().op)??``,Te(s,t().op))}),x(`change`,s,e=>n()({...t(),op:e.currentTarget.value})),d(e,a)},Tn=(e,t=ee,n=ee,r=ee)=>{var a=PI(),s=L(a);oe(s,21,t,i,(e,i,a)=>{var o=jI(),s=B(o),c=B(s),l=B(c);l.textContent=a+1;var u=k(l,1,!0);H(c);var f=k(c,2),m=B(f);m.disabled=a===0;var h=k(m,2),g=k(h,2);H(f),H(s);var _=k(s,2);On(_,()=>p(i),()=>e=>n()(t().map((t,n)=>n===a?{...t,...e}:t)),r),H(o),w(e=>{v(u,e),h.disabled=a===t().length-1},[()=>na(p(i))]),x(`click`,m,()=>n()(qi(t(),a,-1))),x(`click`,h,()=>n()(qi(t(),a,1))),x(`click`,g,()=>n()(t().filter((e,t)=>t!==a))),d(e,o)},e=>{var t=MI();d(e,t)}),H(s);var c=k(s,2);oe(c,21,()=>ea,e=>e.type,(e,i)=>{var a=NI(),s=B(a);o(s,()=>`plus`);var c=k(s),l=B(c,!0);H(c),H(a),w(()=>v(l,p(i).label)),x(`click`,a,()=>n()([...t(),$i(p(i).type,r())])),d(e,a)}),H(c),d(e,a)},On=(e,t=ee,n=ee,r=ee)=>{var i=HI(),a=B(i),o=e=>{var r=FI(),i=L(r),a=k(B(i));ue(a,()=>t().field,()=>e=>n()({field:e})),H(i);var o=k(i,2),s=k(B(o));P(s),H(o),w(()=>{I(s,t().message??``),z(s,`placeholder`,`${t().field??``} is required`)}),x(`change`,s,e=>n()({message:e.currentTarget.value||void 0})),d(e,r)},s=e=>{var r=II(),i=L(r),a=k(B(i));ue(a,()=>t().field,()=>e=>n()({field:e})),H(i);var o=k(i,2),s=k(B(o));ut(s,()=>t().value,()=>e=>n()({value:e}),()=>!0),H(o),d(e,r)},c=e=>{var r=LI(),i=k(L(r),2);un(i,()=>t().condition,()=>e=>n()({condition:e}),()=>!0);var a=k(i,2),o=k(B(a));P(o),H(a),w(()=>I(o,t().message)),x(`change`,o,e=>n()({message:e.currentTarget.value})),d(e,r)},l=e=>{var i=BI(),a=k(L(i),2);un(a,()=>t().condition,()=>e=>n()({condition:e}),()=>!0);var o=k(a,2),s=k(B(o));Tn(s,()=>t().then,()=>e=>n()({then:e}),r),H(o);var c=k(o,2),l=e=>{var i=RI(),a=L(i),o=k(B(a));Tn(o,()=>t().else,()=>e=>n()({else:e.length?e:void 0}),r),H(a);var s=k(a,2);x(`click`,s,()=>n()({else:void 0})),d(e,i)},u=e=>{var t=zI();x(`click`,t,()=>n()({else:[]})),d(e,t)};h(c,e=>{t().else?e(l):e(u,-1)}),d(e,i)},u=e=>{var r=VI();ne(r),w(()=>I(r,t().code)),x(`change`,r,e=>n()({code:e.currentTarget.value})),d(e,r)};h(a,e=>{t().type===`requireField`?e(o):t().type===`setField`?e(s,1):t().type===`reject`?e(c,2):t().type===`branch`?e(l,3):t().type===`code`&&e(u,4)}),H(i),d(e,i)},Pn=(e,t=ee,n=ee)=>{var r=GI(),a=L(r);oe(a,21,t,i,(e,r,i)=>{var a=UI(),o=B(a),s=B(o),c=B(s);c.textContent=i+1;var l=k(c,1,!0);H(s);var u=k(s,2),f=B(u);f.disabled=i===0;var m=k(f,2),h=k(m,2);H(u),H(o);var g=k(o,2);Xn(g,()=>p(r),()=>e=>n()(t().map((t,n)=>n===i?{...t,...e}:t))),H(a),w(e=>{v(l,e),m.disabled=i===t().length-1},[()=>Hi(p(r))]),x(`click`,f,()=>n()(qi(t(),i,-1))),x(`click`,m,()=>n()(qi(t(),i,1))),x(`click`,h,()=>n()(t().filter((e,t)=>t!==i))),d(e,a)},e=>{var t=WI();d(e,t)}),H(a);var o=k(a,2);cr(o,()=>e=>n()([...t(),Vi(e)])),d(e,r)},Xn=(e,t=ee,n=ee)=>{var r=lL(),i=B(r),a=e=>{var r=qI(),i=k(B(r));oe(i,21,()=>p(G).screens,e=>e.id,(e,t)=>{var n=KI(),r=B(n,!0);H(n);var i={};w(()=>{v(r,p(t).title),i!==(i=`/`+p(t).route)&&(n.value=n.__value=`/`+p(t).route)}),d(e,n)}),H(i);var a;xe(i),H(r),w(()=>{a!==(a=t().to)&&(i.value=(i.__value=t().to)??``,Te(i,t().to))}),x(`change`,i,e=>n()({to:e.currentTarget.value})),d(e,r)},o=e=>{var r=JI(),i=k(B(r)),a=B(i);a.value=a.__value=`csv`;var o=k(a);o.value=o.__value=`tsv`;var s=k(o);s.value=s.__value=`json`,H(i);var c;xe(i),H(r),w(()=>{c!==(c=t().format??`csv`)&&(i.value=(i.__value=t().format??`csv`)??``,Te(i,t().format??`csv`))}),x(`change`,i,e=>n()({format:e.currentTarget.value})),d(e,r)},s=e=>{var r=YI(),i=k(B(r)),a=B(i);a.value=a.__value=`filters`;var o=k(a);o.value=o.__value=`sort`;var s=k(o);s.value=s.__value=`selection`,H(i);var c;xe(i),H(r),w(()=>{c!==(c=t().what)&&(i.value=(i.__value=t().what)??``,Te(i,t().what))}),x(`change`,i,e=>n()({what:e.currentTarget.value})),d(e,r)},c=e=>{var r=XI(),i=L(r),a=k(B(i));ue(a,()=>t().field,()=>e=>n()({field:e})),H(i);var o=k(i,2),s=k(B(o)),c=B(s);c.value=c.__value=`asc`;var l=k(c);l.value=l.__value=`desc`,H(s);var u;xe(s),H(o),w(()=>{u!==(u=t().dir??`asc`)&&(s.value=(s.__value=t().dir??`asc`)??``,Te(s,t().dir??`asc`))}),x(`change`,s,e=>n()({dir:e.currentTarget.value})),d(e,r)},l=e=>{var r=ZI(),i=L(r),a=k(B(i));ue(a,()=>t().field,()=>e=>n()({field:e})),H(i);var o=k(i,2),s=k(B(o));P(s),H(o),w(()=>I(s,t().value)),x(`change`,s,e=>n()({value:e.currentTarget.value})),d(e,r)},u=e=>{var r=QI(),i=L(r),a=k(B(i));he(a,()=>t().target,()=>e=>n()({target:e})),H(i);var o=k(i,2),s=k(B(o));P(s),H(o);var c=k(o,2),l=k(B(c));P(l),H(c),w(()=>{I(s,t().prop),I(l,t().value)}),x(`change`,s,e=>n()({prop:e.currentTarget.value})),x(`change`,l,e=>n()({value:e.currentTarget.value})),d(e,r)},f=e=>{var r=See(),i=L(r),a=k(B(i));he(a,()=>t().target,()=>e=>n()({target:e})),H(i);var o=k(i,2),s=k(B(o));P(s),H(o),w(()=>I(s,t().value)),x(`change`,s,e=>n()({value:e.currentTarget.value})),d(e,r)},m=e=>{var r=$I(),i=k(B(r));P(i),H(r),w(()=>I(i,t().message)),x(`change`,i,e=>n()({message:e.currentTarget.value})),d(e,r)},g=e=>{var r=Cee(),i=k(B(r));P(i),H(r),w(()=>I(i,t().actionId)),x(`change`,i,e=>n()({actionId:e.currentTarget.value})),d(e,r)},_=e=>{var r=tL(),i=L(r),a=k(B(i));oe(a,21,()=>p(Ai)?.state??[],e=>e.name,(e,t)=>{var n=eL(),r=B(n,!0);H(n);var i={};w(()=>{v(r,p(t).name),i!==(i=p(t).name)&&(n.value=(n.__value=p(t).name)??``)}),d(e,n)}),H(a);var o;xe(a),H(i);var s=k(i,2),c=k(B(s));ut(c,()=>t().value,()=>e=>n()({value:e})),H(s),w(()=>{o!==(o=t().name)&&(a.value=(a.__value=t().name)??``,Te(a,t().name))}),x(`change`,a,e=>n()({name:e.currentTarget.value})),d(e,r)},y=e=>{var r=nL(),i=k(L(r),2);Tt(i,()=>t().values,()=>e=>n()({values:e})),d(e,r)},b=e=>{var r=rL(),i=L(r),a=k(B(i));ut(a,()=>t().id,()=>e=>n()({id:e})),H(i);var o=k(i,4);Tt(o,()=>t().values,()=>e=>n()({values:e})),d(e,r)},S=e=>{var r=iL(),i=k(B(r));ut(i,()=>t().id,()=>e=>n()({id:e})),H(r),d(e,r)},C=e=>{var r=sL(),i=k(L(r),2);un(i,()=>t().condition,()=>e=>n()({condition:e}));var a=k(i,2),o=k(B(a),2);Pn(o,()=>t().then,()=>e=>n()({then:e})),H(a);var s=k(a,2),c=e=>{var r=aL(),i=L(r),a=k(B(i),2);Pn(a,()=>t().else,()=>e=>n()({else:e.length?e:void 0})),H(i);var o=k(i,2);x(`click`,o,()=>n()({else:void 0})),d(e,r)},l=e=>{var t=oL();x(`click`,t,()=>n()({else:[]})),d(e,t)};h(s,e=>{t().else?e(c):e(l,-1)}),d(e,r)},T=e=>{var r=cL();ne(r),w(()=>I(r,t().code)),x(`change`,r,e=>n()({code:e.currentTarget.value})),d(e,r)};h(i,e=>{t().type===`navigate`?e(a):t().type===`gridExport`?e(o,1):t().type===`gridClear`?e(s,2):t().type===`gridSort`?e(c,3):t().type===`gridFilter`?e(l,4):t().type===`setProp`?e(u,5):t().type===`setText`?e(f,6):t().type===`alert`?e(m,7):t().type===`apiAction`?e(g,8):t().type===`setVar`?e(_,9):t().type===`createRecord`?e(y,10):t().type===`updateRecord`?e(b,11):t().type===`deleteRecord`?e(S,12):t().type===`branch`?e(C,13):t().type===`code`&&e(T,14)}),H(r),d(e,r)},cr=(e,t=ee)=>{var n=dL();oe(n,21,()=>p(Li),e=>e.type,(e,n)=>{var r=uL(),i=B(r);o(i,()=>`plus`);var a=k(i),s=B(a,!0);H(a),H(r),w(()=>v(s,p(n).label)),x(`click`,r,()=>t()(p(n).type)),d(e,r)}),H(n),d(e,n)};Bt();let _r=ge(n,`showPreview`,7,!0),Ur=ge(n,`startWizard`,3,!1),Wr=j(null),G=N(()=>p(Wr)??n.project),Kr=j(pe([])),qr=j(pe([])),Jr=N(()=>p(Kr).length>0),Yr=N(()=>p(qr).length>0);function Xr(e){e!==p(G)&&(V(Kr,[...p(Kr).slice(-59),p(G)],!0),V(qr,[],!0),V(Wr,e,!0),n.onChange?.(e))}function Zr(){let e=p(Kr).at(-1);e&&(V(qr,[p(G),...p(qr)],!0),V(Kr,p(Kr).slice(0,-1),!0),V(Wr,e,!0),n.onChange?.(e))}function Qr(){let e=p(qr)[0];e&&(V(Kr,[...p(Kr),p(G)],!0),V(qr,p(qr).slice(1),!0),V(Wr,e,!0),n.onChange?.(e))}let $r=j(null),ni=j(null),ai,oi=N(()=>n.persistKey?p($r)?`Saved`:p(Wr)?`Saving…`:`Saved`:``),si=!1;T(()=>{if(!(si||!n.persistKey||Ur())){si=!0;try{let e=localStorage.getItem(n.persistKey);if(e&&e.trim()){let t=yn(e);He(t)!==He(n.project)&&V(ni,t,!0)}}catch{}}}),T(()=>{if(!n.persistKey||p(Wr)===null)return;let e=He(p(G));clearTimeout(ai),ai=setTimeout(()=>{try{localStorage.setItem(n.persistKey,e),V($r,Date.now(),!0)}catch{}},600)});function ci(){p(ni)&&(V(Kr,[],!0),V(qr,[],!0),V(Wr,p(ni),!0),p(ni).screens[0]&&(V(ki,p(ni).screens[0].id,!0),V(uo,null)),n.onChange?.(p(ni)),V($r,Date.now(),!0),V(ni,null))}function li(){V(ni,null);try{n.persistKey&&localStorage.removeItem(n.persistKey)}catch{}}function ui(e,t){if(!p(Ai))return;let n=t==null?jr(p(G),p(Ai).id,e):Nt(p(G),p(Ai).id,e,t),r=n.screens.find(e=>e.id===p(Ai).id);Xr(n),V(uo,(t==null?r?.blocks.at(-1):r?.blocks[t])?.id??null,!0)}function fi(){p(Ai)&&p(uo)&&(Xr(Zn(p(G),p(Ai).id,p(uo))),V(uo,null))}let pi=j(null);function mi(e,t){if(p(Ai)){if(p(os)){ui(e,t);return}V(pi,{kind:e,at:t},!0)}}function hi(e){if(!p(Ai)||!p(pi))return;let{kind:t,at:n}=p(pi),r=Gn(p(G),p(Ai).id,{entity:e});r=n==null?jr(r,p(Ai).id,t):Nt(r,p(Ai).id,t,n),Xr(r);let i=r.screens.find(e=>e.id===p(Ai).id);V(uo,(n==null?i?.blocks.at(-1):i?.blocks[n])?.id??null,!0),V(pi,null)}let gi={button:vn,badge:uc,alert:Dc,progress:cu,card:bc,divider:Lc,avatar:_l,stat:Xc,"toggle-button":Ma,switch:Kn,"text-input":sn,textarea:In,"number-input":hr,"password-input":er,"color-input":ke,checkbox:mn,rating:ir,slider:U,"otp-input":da,"circular-progress":fu,skeleton:pc,chip:Uc,"empty-state":Nc,timeline:rl,sparkline:ll,"avatar-group":xl,pagination:Wl,breadcrumb:iu,stepper:Lt,"masked-input":Sr,"phone-input":xn,"tags-input":Yt,"duration-input":ga,"radio-group":yr,"button-group":di,"list-box":ii,"dropdown-list":Qt,"combo-box":Kt,"auto-complete":za,"multi-select":at,"repeat-button":Er,"rich-text":xa,tree:po,"country-input":dr,title:Bi,text:zi,anchor:Ui,blockquote:Ki,code:ia,kbd:ta,mark:Ji,list:Xi,spinner:Si,"loading-overlay":Ei,result:Ii,collapsible:Ri,carousel:Ol,"date-time-picker":ti,"time-picker":ei,"date-range-input":ri,segmented:bi,"tree-select":Ya,"file-upload":Ut},_i=(()=>{let e=[],t=new Map;for(let n of sr)t.has(n.category)||(t.set(n.category,[]),e.push(n.category)),t.get(n.category).push(n);return e.map(e=>({category:e,items:t.get(e)}))})();function vi(e){let t=jn(e),n={};for(let e of t?.props??[])e.default!=null&&(n[e.key]=e.default);return t?.hasContent&&(n._content=t.contentDefault??t.label),n}let yi=[`common`,`appearance`,`behavior`,`advanced`],xi={common:`Common`,appearance:`Appearance`,behavior:`Behavior`,advanced:`Advanced`};function Ci(e){return e?p(go)===`az`?[{name:``,props:[...e.props].sort((e,t)=>e.label.localeCompare(t.label))}]:yi.map(t=>({name:xi[t],props:e.props.filter(e=>(e.group??`common`)===t)})).filter(e=>e.props.length>0):[]}let wi=j(pe({}));function Ti(e,t,n){let r=`${e}:${t}`;try{let i=n.trim()===``?void 0:JSON.parse(n);V(wi,{...p(wi),[r]:!1},!0),_a(e,t,i)}catch{V(wi,{...p(wi),[r]:!0},!0)}}function Di(e){let t=jn(e.component),n={};for(let r of t?.props??[]){let t=e.props[r.key]??r.default;t!=null&&t!==``&&(n[r.key]=r.type===`number`?Number(t):r.type===`boolean`?!!t:r.type===`date`?new Date(String(t)):t)}for(let e of t?.fixed??[])n[e.key]=e.preview;return n}function Oi(e){let t=jn(e.component);return String(e.props._content??t?.contentDefault??t?.label??``)}let ki=j(``),Ai=N(()=>p(G).screens.find(e=>e.id===p(ki))??p(G).screens[0]),ji=N(()=>!!p(Ai)?.entity),Mi=N(()=>(p(Ai)?Sn(p(Ai).blocks):[]).filter(e=>e.config.kind===`component`).map(e=>Ht(e.config))),Ni=N(()=>p(Ai)?.entity?wt(p(G),p(Ai).entity)?.fields.map(e=>e.field)??[]:[]),Pi=N(()=>p(Ni).length>0),Fi=[{type:`navigate`,label:`Go to screen`},{type:`setVar`,label:`Set variable`,state:!0},{type:`branch`,label:`If / else`},{type:`createRecord`,label:`Create record`,data:!0},{type:`updateRecord`,label:`Update record`,data:!0},{type:`deleteRecord`,label:`Delete record`,data:!0},{type:`gridExport`,label:`Export grid (download)`,grid:!0},{type:`gridCopy`,label:`Copy grid selection`,grid:!0},{type:`gridClear`,label:`Clear grid filters / sort / selection`,grid:!0},{type:`gridSort`,label:`Sort grid`,grid:!0},{type:`gridFilter`,label:`Filter grid`,grid:!0},{type:`reloadData`,label:`Refresh data`,reload:!0},{type:`setProp`,label:`Set component property`,target:!0},{type:`setText`,label:`Set component text`,target:!0},{type:`alert`,label:`Show a message`},{type:`apiAction`,label:`Call a server action`},{type:`code`,label:`Run custom code`}],Li=N(()=>Fi.filter(e=>(!e.grid||p(ls)&&p(ss)?.config.kind!==`component`)&&(!e.reload||p(ji))&&(!e.target||p(Mi).length>0)&&(!e.data||!!p(Ai)?.entity)&&(!e.state||(p(Ai)?.state?.length??0)>0)));function Vi(e){switch(e){case`navigate`:return{type:e,to:p(G).screens[0]?`/`+p(G).screens[0].route:`/`};case`gridExport`:return{type:e,format:`csv`};case`gridClear`:return{type:e,what:`filters`};case`gridSort`:return{type:e,field:p(Ni)[0]??``,dir:`asc`};case`gridFilter`:return{type:e,field:p(Ni)[0]??``,value:``};case`setProp`:return{type:e,target:p(Mi)[0]??``,prop:`disabled`,value:`true`};case`setText`:return{type:e,target:p(Mi)[0]??``,value:``};case`alert`:return{type:e,message:``};case`apiAction`:return{type:e,actionId:``};case`setVar`:return{type:e,name:p(Ai)?.state?.[0]?.name??``,value:{kind:`literal`,value:``}};case`createRecord`:return{type:e,values:[]};case`updateRecord`:return{type:e,id:{kind:`field`,name:p(Gi)},values:[]};case`deleteRecord`:return{type:e,id:{kind:`field`,name:p(Gi)}};case`branch`:return{type:e,condition:{left:{kind:`state`,name:p(Ai)?.state?.[0]?.name??``},op:`truthy`},then:[]};case`code`:return{type:e,code:``};default:return{type:`gridCopy`}}}let Hi=e=>Fi.find(t=>t.type===e.type)?.label??e.type;function Wi(e,t){return e===`literal`?{kind:`literal`,value:t.kind===`literal`?t.value:``}:e===`state`?{kind:`state`,name:p(Ai)?.state?.[0]?.name??``}:e===`field`?{kind:`field`,name:p(Ni)[0]??`id`}:{kind:`param`,name:``}}let Gi=N(()=>p(Ni)[0]??`id`);function qi(e,t,n){let r=t+n;if(r<0||r>=e.length)return e;let i=[...e];return[i[t],i[r]]=[i[r],i[t]],i}let Yi={beforeCreate:`Before create`,afterCreate:`After create`,beforeUpdate:`Before update`,afterUpdate:`After update`,beforeDelete:`Before delete`,afterDelete:`After delete`};function Zi(e){return p(os)?Fn(p(G),p(os).name)[e]??[]:[]}function Qi(e,t){p(os)&&Xr(Et(p(G),p(os).name,e,t.length?t:null))}function $i(e,t){let n=t.startsWith(`before`);switch(e){case`setField`:return{type:e,field:p(Ni)[0]??``,value:{kind:`literal`,value:``}};case`requireField`:return{type:e,field:p(Ni)[0]??``};case`reject`:return{type:e,condition:{left:{kind:`field`,name:p(Ni)[0]??``},op:`falsy`},message:`Not allowed`};case`branch`:return{type:e,condition:{left:{kind:`field`,name:p(Ni)[0]??``},op:`truthy`},then:[]};case`code`:return{type:e,code:n?`// runs before the write; v is the payload`:`// runs after the write; v is the saved row`}}}let ea=[{type:`requireField`,label:`Require field`},{type:`setField`,label:`Set field`},{type:`reject`,label:`Reject when...`},{type:`branch`,label:`If / else`},{type:`code`,label:`Custom code`}],na=e=>ea.find(t=>t.type===e.type)?.label??e.type;function ra(e){if(!e)return[];if(e.config.kind===`grid`)return Or.map(t=>({slot:Oe(t.key,e.id),label:sa(t.key)}));if(e.config.kind===`record`&&e.config.editable)return[{slot:en,label:`Record saved`}];if(e.config.kind===`component`){let t=jn(e.config.component)?.events??[],n=new Set(t.map(e=>e.key));return[...t,...wn.filter(e=>!n.has(e.key))].map(t=>({slot:Oe(t.key,e.id),label:t.label}))}return[]}let aa={keydown:`onKeyDown`,keyup:`onKeyUp`,dblclick:`onDblClick`,contextmenu:`onContextMenu`,mouseenter:`onMouseEnter`,mouseleave:`onMouseLeave`},oa=e=>aa[e]??`on`+e.charAt(0).toUpperCase()+e.slice(1),sa=e=>e.replace(/([A-Z])/g,` $1`).toLowerCase().replace(/^./,e=>e.toUpperCase()),ca=e=>p(fs).find(t=>t.blockId===e);function la(e,t){let n=ca(e);if(!n)return;let r=t.split(`:`)[0];if(n.tier===`grid`){let e=Or.find(e=>e.key===r);return e?`ctx.${n.name}.${e.method}`:void 0}if(n.tier===`component`)return`ctx.${n.name}.${oa(r)}`}function ua(e,t){let n=la(e,t);return!!n&&(p(Ai)?.handlerBodies?.onLoad??``).includes(n)}function fa(e,t,n){if(t===`onLoad`||t===`onDestroy`){V(mo,t,!0),V(fo,`code`);return}let r=la(e,t);if(p(Ai)&&r){let e=p(Ai).handlerBodies?.onLoad??``;if(!e.includes(r)){let t=`${r} = (e) => {\n \n}`,n=e.trim()?`${e.replace(/\s*$/,``)}\n\n${t}\n`:`${t}\n`;Xr(Rt(p(G),p(Ai).id,`onLoad`,n))}}V(mo,`onLoad`),V(fo,`code`)}function pa(e,t){if(!p(Ai))return;let n=Qe(Vi(t)),r=p(Ai).handlerBodies?.[e]??``,i=r.trim()?r.replace(/\s*$/,``)+`
75790
75790
  `+n:n;Xr(Rt(p(G),p(Ai).id,e,i))}let ma=[{c:1,label:`1/12`},{c:2,label:`1/6`},{c:3,label:`1/4`},{c:4,label:`1/3`},{c:5,label:`5/12`},{c:6,label:`1/2`},{c:7,label:`7/12`},{c:8,label:`2/3`},{c:9,label:`3/4`},{c:10,label:`5/6`},{c:11,label:`11/12`},{c:12,label:`Full`}];function ha(e,t){if(!p(Ai))return;let n=Ue(p(G),p(Ai).id,e,vi(e),t),r=n.screens.find(e=>e.id===p(Ai).id);Xr(n),V(uo,(t==null?r?.blocks.at(-1):r?.blocks[t])?.id??null,!0)}function _a(e,t,n){if(!p(Ai))return;let r=Sn(p(Ai).blocks).find(t=>t.id===e);if(!r||r.config.kind!==`component`)return;let i={...r.config.props,[t]:n};Xr(on(p(G),p(Ai).id,e,{config:{props:i}}))}let va=Yn();function ya(e,t){if(!p(Ai)||!p(ss)||p(ss).config.kind!==`grid`)return;let n={...p(ss).config.props??{}};t===void 0||t===``||t===null?delete n[e]:n[e]=t,Xr(on(p(G),p(Ai).id,p(ss).id,{config:{props:Object.keys(n).length?n:void 0}}))}function ba(e,t){let n=`grid:${e}`;try{let r=t.trim()===``?void 0:JSON.parse(t);V(wi,{...p(wi),[n]:!1},!0),ya(e,r)}catch{V(wi,{...p(wi),[n]:!0},!0)}}function Sa(e,t){return e.bindings?.[t]}function Ca(e,t,n){p(Ai)&&Xr(Bn(p(G),p(Ai).id,e,t,n))}let wa=`sv-studio:onboarded`,Ta=j(!1),Ea=`var(--sg-accent,#6366f1)`,Da=e=>`<svg viewBox="0 0 320 104" width="100%" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><rect width="320" height="104" rx="10" fill="${Ea}" opacity="0.1"/>${e}</svg>`,Oa={welcome:Da(`<g transform="translate(160,52)" fill="${Ea}"><path d="M0,-26 L6,-7 L25,0 L6,7 L0,26 L-6,7 L-25,0 L-6,-7 Z"/><circle cx="30" cy="-20" r="4" opacity="0.6"/><circle cx="-28" cy="22" r="3" opacity="0.5"/><circle cx="34" cy="16" r="2.5" opacity="0.5"/></g>`),pages:Da(`<g transform="translate(100,22)"><rect width="120" height="16" rx="4" fill="${Ea}"/><rect y="22" width="120" height="16" rx="4" fill="currentColor" opacity="0.16"/><rect y="44" width="120" height="16" rx="4" fill="currentColor" opacity="0.16"/></g>`),components:Da(`<g transform="translate(112,28)" fill="${Ea}"><rect width="28" height="20" rx="3"/><rect x="34" width="28" height="20" rx="3" opacity="0.7"/><rect x="68" width="28" height="20" rx="3" opacity="0.5"/><rect y="26" width="28" height="20" rx="3" opacity="0.5"/><rect x="34" y="26" width="28" height="20" rx="3"/><rect x="68" y="26" width="28" height="20" rx="3" opacity="0.7"/></g>`),canvas:Da(`<g transform="translate(96,22)"><rect width="52" height="22" rx="4" fill="currentColor" opacity="0.15"/><rect x="60" width="52" height="22" rx="4" fill="currentColor" opacity="0.15"/><g transform="translate(0,32)" fill="${Ea}"><rect y="16" width="14" height="16" rx="2"/><rect x="20" y="6" width="14" height="26" rx="2"/><rect x="40" y="20" width="14" height="12" rx="2"/><rect x="60" y="2" width="14" height="30" rx="2" opacity="0.7"/><rect x="80" y="12" width="14" height="20" rx="2" opacity="0.7"/></g></g>`),layouts:Da(`<g transform="translate(96,26)"><rect width="30" height="52" rx="4" fill="currentColor" opacity="0.15"/><rect x="38" width="52" height="52" rx="4" fill="${Ea}" opacity="0.85"/><rect x="98" width="30" height="52" rx="4" fill="currentColor" opacity="0.15"/></g>`),inspector:Da(`<g transform="translate(100,30)"><g stroke="currentColor" stroke-width="4" stroke-linecap="round" opacity="0.3"><line x1="0" y1="0" x2="120" y2="0"/><line x1="0" y1="22" x2="120" y2="22"/><line x1="0" y1="44" x2="120" y2="44"/></g><g fill="${Ea}"><circle cx="84" cy="0" r="7"/><circle cx="40" cy="22" r="7"/><circle cx="98" cy="44" r="7"/></g></g>`),logic:Da(`<g transform="translate(88,30)"><path d="M22,20 H58 M82,20 H108 M108,20 V4 H132 M108,20 V36 H132" stroke="currentColor" stroke-width="2.5" opacity="0.4" fill="none"/><g fill="${Ea}"><rect x="0" y="10" width="22" height="20" rx="4"/><rect x="58" y="10" width="24" height="20" rx="4" opacity="0.8"/><rect x="132" y="-6" width="22" height="18" rx="4" opacity="0.7"/><rect x="132" y="26" width="22" height="18" rx="4" opacity="0.7"/></g></g>`),triggers:Da(`<g transform="translate(160,50)"><path d="M0,-28 L22,-20 V2 C22,18 12,26 0,30 C-12,26 -22,18 -22,2 V-20 Z" fill="${Ea}"/><path d="M-9,0 L-2,8 L11,-8" stroke="#fff" stroke-width="4" fill="none" stroke-linecap="round" stroke-linejoin="round"/></g>`),code:Da(`<g transform="translate(160,52)" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M-28,-13 L-44,4 L-28,21" stroke="${Ea}" stroke-width="5"/><path d="M28,-13 L44,4 L28,21" stroke="${Ea}" stroke-width="5"/><path d="M9,-17 L-9,25" stroke="currentColor" stroke-width="4" opacity="0.45"/></g>`),data:Da(`<g transform="translate(160,50)" fill="${Ea}"><path d="M-27,-16 V16 C-27,21 -14,25 0,25 C14,25 27,21 27,16 V-16 Z" opacity="0.85"/><ellipse cx="0" cy="-16" rx="27" ry="9"/><ellipse cx="0" cy="-16" rx="27" ry="9" fill="#fff" opacity="0.25"/></g>`),samples:Da(`<g transform="translate(112,25)"><rect width="44" height="24" rx="4" fill="${Ea}"/><rect x="52" width="44" height="24" rx="4" fill="currentColor" opacity="0.15"/><rect y="30" width="44" height="24" rx="4" fill="currentColor" opacity="0.15"/><rect x="52" y="30" width="44" height="24" rx="4" fill="${Ea}" opacity="0.7"/></g>`),copilot:Da(`<g transform="translate(120,26)"><rect width="80" height="42" rx="10" fill="currentColor" opacity="0.12"/><g transform="translate(40,21)" fill="${Ea}"><path d="M0,-12 L3,-3 L12,0 L3,3 L0,12 L-3,3 L-12,0 L-3,-3 Z"/></g><circle cx="16" cy="21" r="3" fill="${Ea}" opacity="0.6"/><circle cx="64" cy="21" r="3" fill="${Ea}" opacity="0.6"/></g>`),preview:Da(`<g transform="translate(104,24)"><rect width="72" height="46" rx="4" fill="none" stroke="currentColor" stroke-width="3" opacity="0.4"/><rect x="8" y="8" width="56" height="30" rx="2" fill="${Ea}" opacity="0.8"/><rect x="88" y="6" width="26" height="46" rx="4" fill="none" stroke="currentColor" stroke-width="3" opacity="0.4"/><rect x="92" y="12" width="18" height="30" rx="1" fill="${Ea}" opacity="0.6"/></g>`),generate:Da(`<g transform="translate(160,54)"><path d="M0,-30 C11,-18 13,-2 8,12 L-8,12 C-13,-2 -11,-18 0,-30 Z" fill="${Ea}"/><circle cx="0" cy="-8" r="4.5" fill="#fff" opacity="0.9"/><path d="M-8,12 L-15,24 L-5,19 Z M8,12 L15,24 L5,19 Z" fill="${Ea}" opacity="0.65"/><path d="M-4,16 L0,30 L4,16 Z" fill="#f59e0b"/></g>`)},ka=[{image:Oa.welcome,title:`Welcome to Studio 👋`,content:`Studio builds a complete data app visually - screens, real data, and logic - then generates a typed SvelteKit project you own. This 90-second tour points out the essentials. Use ← → or the buttons to move, Esc to skip.`},{target:`[data-tour="rail"]`,image:Oa.pages,title:`Pages`,content:`Every screen in your app is listed here. Add a page (CRUD, dashboard, master-detail, or blank) with the New Page control below, reorder by dragging, and pick per-screen data sources. Entities (your data model) are listed underneath.`},{target:`[data-tour="rail"]`,image:Oa.components,title:`Components`,content:`Flip the rail to the Components tab to drag UI blocks onto a page: data grids, charts, KPIs, gauges, forms, trees, pivots, Kanban boards, schedulers, master-detail, record panels, filters - plus buttons, badges, alerts and more.`},{target:`[data-tour="canvas"]`,image:Oa.canvas,title:`The live canvas`,content:`Your app renders here as you build - with real sample data. Click a block to select it, drag to arrange, and drag a block edge to resize. Toggle "Show data" to see live content vs. wireframes.`},{target:`[data-tour="canvas"]`,image:Oa.layouts,title:`Layouts per screen`,content:`Each screen picks its own layout in the Inspector: a responsive 12-column Grid, a single-column Stack, a resizable Split view, a full Docking manager, or a free-form Canvas - each with its own spacing and options.`},{target:`[data-tour="inspector"]`,image:Oa.inspector,title:`Inspector`,content:`Configure the selected block here - columns, value formatting, rich cells, grouping + aggregations, filtering, export, and the screen layout. It updates the canvas instantly.`},{target:`[data-tour="inspector"]`,image:Oa.logic,title:`State & logic`,content:`Screens can hold reactive State variables, and blocks get visual Methods - On click / On row select / On change / On record saved - built from typed actions (set a variable, create/update/delete a record, navigate, if-else) with no code.`},{target:`[data-tour="inspector"]`,image:Oa.triggers,title:`Server rules (triggers)`,content:`On an entity you can add Triggers - before/after create, update and delete - to require fields, transform values, or reject bad writes. They run + are enforced on the server, so a client that skips its checks still can't write bad data.`},{target:`[data-tour="viewtabs"]`,image:Oa.code,title:`Design ↔ Code`,content:`Switch from Design to Code to read the generated +page.svelte for any screen, and write real code-behind in handlers.ts (with a typed ctx: the grid API, your data, state and navigation).`},{target:`[data-tour="data"]`,image:Oa.data,title:`Connect data`,content:`Start with seeded demo data (zero backend), flip the whole app to an in-browser Postgres in one click, or connect a real source: SQL (Postgres/MySQL/SQLite/Turso), Supabase, or a REST API. Import a CSV to create an entity too.`},{target:`[data-tour="newapp"]`,image:Oa.generate,title:`Start a new app`,content:`New app walks you through it: connect a database (or pick sample data), choose which tables you want, and Studio scaffolds a list, an edit form and a record page for each - a working CRUD app in a few clicks.`},{target:`[data-tour="samples"]`,image:Oa.samples,title:`Sample apps`,content:`Not sure where to start? Load a full example - CRM, HR, support desk, clinic, fleet and more - each with entities, dashboards, boards, schedulers and forms already wired up. Great for learning the patterns.`},{target:`[data-tour="copilot"]`,image:Oa.copilot,title:`Build with AI`,content:`Describe a change in plain English - "add a priority field to tasks and colour overdue rows red" - and Copilot edits the app for you. It also ships an MCP server so external AI agents can drive Studio.`},{target:`[data-tour="preview"]`,image:Oa.preview,title:`Preview`,content:`Run the whole app full-screen with live data and navigation, and check it on desktop, tablet or mobile - the layout adapts just like the shipped app.`},{target:`[data-tour="generate"]`,image:Oa.generate,title:`Generate & ship`,content:`When you are ready, generate a real, typed SvelteKit project - components, routes, schema, migrations and API. It's plain code: run it, extend it, and deploy anywhere. That's the tour - enjoy building! 🚀`}],Aa=N(()=>n.onCopilot?ka:ka.filter(e=>e.target!==`[data-tour="copilot"]`));function ja(){V(Ta,!0)}function Na(){V(Ta,!1);try{localStorage.setItem(wa,`1`)}catch{}}let Pa=`sv-studio:welcomed`;function Fa(){try{localStorage.setItem(Pa,`1`)}catch{}}T(()=>{let e=!0,t=!0;try{e=!!localStorage.getItem(Pa),t=!!localStorage.getItem(wa)}catch{}p(ni)||Ur()||(!e&&!t?queueMicrotask(()=>{V(La,`welcome`),V(Ia,!0)}):t||queueMicrotask(()=>V(Ta,!0)))});let Ia=j(!1),La=j(`new`);function Ra(){V(La,`new`),V(Ia,!0)}function Ba(){V(Ia,!1),Fa()}function Va(){V(Ia,!1),Fa(),ja()}function Ha(e,t,n){Xr(e),V(ki,t??e.screens[0]?.id??``,!0),V(uo,null),V(Ia,!1),Fa(),n&&ja()}T(()=>{Ur()&&queueMicrotask(()=>{V(La,`new`),V(Ia,!0)})});function Ua(e,t,n,r){Ca(e,t,{...n,...r})}function Wa(e,t,n){let r=p(Ni)[0]??``;Ca(e,t,n===`aggregate`?{kind:`aggregate`,reduce:`sum`,field:r||void 0}:n===`field`?{kind:`field`,field:r}:{kind:`expr`,code:`rows.length`})}function Ga(e){if(!p(Ai))return;let t=Jt(p(G),p(Ai).id,e),n=p(Ai).blocks.findIndex(t=>t.id===e),r=t.screens.find(e=>e.id===p(Ai).id)?.blocks[n+1];Xr(t),r&&V(uo,r.id,!0)}let Ka=j(null);function qa(e,t){if(!t.length)return;e.preventDefault(),e.stopPropagation();let n=Math.min(t.length,12)*32+12;V(Ka,{x:Math.max(6,Math.min(e.clientX,window.innerWidth-190-6)),y:Math.max(6,Math.min(e.clientY,window.innerHeight-n-6)),items:t},!0)}function Ja(e){e.disabled||(V(Ka,null),e.onSelect?.())}function Xa(e){if(!p(Ai))return[];let t=p(Ai).blocks.findIndex(t=>t.id===e.id),n=p(Ai).blocks.length-1;return[{label:`Select`,onSelect:()=>V(uo,e.id,!0)},{label:`Duplicate`,onSelect:()=>Ga(e.id)},{label:`Move up`,disabled:t<=0,onSelect:()=>Xr(Mt(p(G),p(Ai).id,e.id,t-1))},{label:`Move down`,disabled:t<0||t>=n,onSelect:()=>Xr(Mt(p(G),p(Ai).id,e.id,t+1))},{separator:!0},{label:`Delete`,danger:!0,onSelect:()=>{Xr(Zn(p(G),p(Ai).id,e.id)),p(uo)===e.id&&V(uo,null)}}]}function Za(e){let t=p(G).screens.findIndex(t=>t.id===e.id);return[{label:`Open`,onSelect:()=>{V(ki,e.id,!0),V(uo,null)}},{label:`Duplicate`,onSelect:()=>{V(ki,e.id,!0),so()}},{label:`Move up`,disabled:t<=0,onSelect:()=>Xr(ze(p(G),e.id,t-1))},{label:`Move down`,disabled:t<0||t>=p(G).screens.length-1,onSelect:()=>Xr(ze(p(G),e.id,t+1))},{separator:!0},{label:`Delete`,danger:!0,onSelect:()=>Xr(kn(p(G),e.id))}]}T(()=>{if(!p(Ka))return;let e=e=>{e.key===`Escape`&&V(Ka,null)},t=e=>{e.target?.closest?.(`.sv-studio__ctx`)||V(Ka,null)};return window.addEventListener(`keydown`,e),window.addEventListener(`pointerdown`,t,!0),window.addEventListener(`scroll`,()=>V(Ka,null),!0),()=>{window.removeEventListener(`keydown`,e),window.removeEventListener(`pointerdown`,t,!0)}});let Qa=j(null),$a=j(!1),K=j(!1),to=j(null),no=N(()=>p(G).entities.flatMap(e=>e.fields.filter(e=>e.type===`relation`&&e.relation?.entity).map(t=>({from:e.name,fromLabel:e.label??e.name,field:t.field,to:t.relation.entity,labelField:t.relation.labelField,missing:!wt(p(G),t.relation.entity)}))));function ro(e){V(to,e,!0),queueMicrotask(()=>document.querySelector(`[data-entity-card="${CSS.escape(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`})),setTimeout(()=>{p(to)===e&&V(to,null)},1400)}function io(e){V(K,!0),requestAnimationFrame(()=>ro(e))}function ao(){p(ss)&&V(Qa,JSON.parse(JSON.stringify(p(ss))),!0)}function oo(){if(!p(Qa)||!p(Ai))return;let e=ar(p(G),p(Ai).id,p(Qa));Xr(e),V(uo,e.screens.find(e=>e.id===p(Ai).id)?.blocks.at(-1)?.id??null,!0)}function so(){if(!p(Ai))return;let e=Gt(p(G),p(Ai).id),t=p(G).screens.findIndex(e=>e.id===p(Ai).id);Xr(e);let n=e.screens[t+1];n&&(V(ki,n.id,!0),V(uo,null))}function co(){let e=new Set(p(G).screens.map(e=>e.id)),t=p(Ai)?.entity??p(G).entities[0]?.name,n=p(Jl)!==`empty`&&t?je(p(G),t,p(Jl)):Vn(p(G),{title:`New Page`});Xr(n);let r=n.screens.find(t=>!e.has(t.id));r&&(V(ki,r.id,!0),V(uo,null))}function lo(e,t){if(!p(os))return;let n=t.trim();!n||n!==e&&p(os).fields.some(e=>e.field===n)||am(NM(p(os),e,{field:n}))}let uo=j(null),fo=j(`design`),mo=j(`onLoad`),ho=j(`properties`),go=j(`az`),_o=j(void 0),vo=N(()=>!!p(Ai)&&Ge(p(Ai))===`dock`),bo=N(()=>!!p(Ai)&&Ge(p(Ai))===`stack`),xo=N(()=>!!p(Ai)&&Ge(p(Ai))===`split`),So=N(()=>!!p(Ai)&&Ge(p(Ai))===`canvas`),Co=N(()=>p(vo)||p(xo)),wo=N(()=>p(Ai)?Ln(p(Ai)):null),To=N(()=>p(Ai)?xr(p(Ai)):null),Eo=N(()=>p(Ai)?Ae(p(Ai)):null),Do=N(()=>p(Ai)?st(p(Ai)):null),Oo=N(()=>p(Ai)?Pe(p(Ai)):null);function ko(e,t,n=!1){if(!p(Ai))return;let r=Wt(p(G),p(Ai).id,e,t);n&&(r=Nr(r,p(Ai).id)),Xr(r)}let Ao=N(()=>({minSize:p(xo)?p(Eo)?.minPaneSize??80:80,allowPopout:p(vo)?!!p(Do)?.allowPopout:!1,hideSingleTab:p(vo)?!!p(Do)?.hideSingleTab:!1,headerPosition:(p(vo)?p(Do)?.headerPosition:`top`)??`top`})),jo=N(()=>p(bo)&&p(To)?`gap: ${p(To).gap}px; --stack-minh: ${p(To).minHeight}px;`+(p(To).maxWidth?` max-width: ${p(To).maxWidth}px;${p(To).align===`center`?` margin-inline: auto;`:``}`:``):!p(Co)&&!p(So)&&p(wo)?`gap: ${p(wo).rowGap}px ${p(wo).colGap}px; align-items: ${p(wo).align};`+(p(wo).maxWidth?` max-width: ${p(wo).maxWidth}px; margin-inline: auto;`:``):``),Mo=j(null),No=pe({}),Po=pe({}),Fo=j(null),q=null;function J(e){return p(Fo)&&p(Fo).id===e?p(Fo).rect:p(Ai)?zt(p(Ai),e):{col:0,row:0,colSpan:6,rowSpan:8}}let Io=()=>p(Oo)?.cols??12,Lo=()=>p(Oo)?.gap??8,Ro=()=>p(Oo)?.rowHeight??40;function zo(){let e=((p(Mo)?.clientWidth??1)-(Io()-1)*Lo())/Io();return{cw:e>0?e:1,ch:Ro()+Lo()}}function Bo(e,t,n){!p(Ai)||e.button!==0||(e.preventDefault(),e.stopPropagation(),V(uo,t,!0),q={id:t,mode:n,sx:e.clientX,sy:e.clientY,start:zt(p(Ai),t)},V(Fo,{id:t,rect:q.start},!0),e.currentTarget.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,Vo),window.addEventListener(`pointerup`,Ho))}function Vo(e){if(!q)return;let{cw:t,ch:n}=zo(),r=Math.round((e.clientX-q.sx)/t),i=Math.round((e.clientY-q.sy)/n),a=q.start,o;if(q.mode===`move`){let e=a.colSpan;o={col:Math.max(0,Math.min(Io()-e,a.col+r)),row:Math.max(0,a.row+i),colSpan:e,rowSpan:a.rowSpan}}else{let e=Math.max(1,Math.min(Io()-a.col,a.colSpan+r)),t=Math.max(1,a.rowSpan+i);o={col:a.col,row:a.row,colSpan:e,rowSpan:t}}V(Fo,{id:q.id,rect:o},!0)}function Ho(){window.removeEventListener(`pointermove`,Vo),window.removeEventListener(`pointerup`,Ho),q&&p(Fo)&&p(Ai)&&Xr(Ne(p(G),p(Ai).id,q.id,p(Fo).rect)),q=null,V(Fo,null)}function Uo(e,t){let n=Lo(),r=e.col*(t+n),i=(e.col+e.colSpan)*(t+n)-n;return[r,i,(r+i)/2]}function Wo(e){let t=Ro()+Lo(),n=e.row*t,r=(e.row+e.rowSpan)*t-Lo();return[n,r,(n+r)/2]}let Go=N(()=>{if(!p(Fo)||!p(Ai)||!p(Mo))return{x:[],y:[]};let e=(p(Mo).clientWidth-(Io()-1)*Lo())/Io();if(!(e>0))return{x:[],y:[]};let t=p(Ai).blocks.filter(e=>e.id!==p(Fo).id).map(e=>zt(p(Ai),e.id)),n=t.flatMap(t=>Uo(t,e)),r=t.flatMap(e=>Wo(e)),i=(e,t)=>t.some(t=>Math.abs(t-e)<=1),a=e=>[...new Set(e.map(e=>Math.round(e)))];return{x:a(Uo(p(Fo).rect,e).filter(e=>i(e,n))),y:a(Wo(p(Fo).rect).filter(e=>i(e,r)))}}),Ko=N(()=>p(Ai)&&p(Co)?p(Ai).id+`|`+p(Ai).blocks.map(e=>e.id).join(`,`):``),qo=j(void 0),Jo=j(``),Yo=pe({}),Xo=()=>({main:{type:`group`,id:`cg-root`,direction:`row`,children:[{type:`tabs`,id:`ct-rail`,panes:[{id:`rail`,title:`Pages`,closable:!1},{id:`rail-components`,title:`Components`,closable:!1}],active:0},{type:`tabs`,id:`ct-main`,panes:[{id:`main`,title:`Canvas`,closable:!1}],active:0},{type:`tabs`,id:`ct-insp`,panes:[{id:`inspector`,title:`Inspector`,closable:!1}],active:0}],sizes:[.2,.56,.24]},floating:[],autoHide:[]}),Zo=j(pe(Xo())),Qo=j(null);T(()=>{try{let e=localStorage.getItem(`sv-studio:chrome-ws`);e&&V(Qo,Ls(JSON.parse(e)),!0)}catch{}});function $o(e){V(Zo,e,!0);try{localStorage.setItem(`sv-studio:chrome-ws`,JSON.stringify(e))}catch{}}function es(){p(Qo)&&V(Zo,Ls(p(Qo)),!0)}function ts(){V(Zo,Xo(),!0)}function ns(e){let t=structuredClone(re(p(Zo))),n=t=>{let r=t;if(!r||typeof r!=`object`)return!1;if(r.type===`tabs`&&Array.isArray(r.panes)){let t=r.panes.findIndex(t=>t.id===e);return t>=0&&(r.active=t,!0)}return Array.isArray(r.children)?r.children.some(n):!1};(n(t.main)||(t.floating??[]).some(n))&&V(Zo,t,!0)}T(()=>{if(p(Ko)&&p(Ko)!==p(Jo)){V(Jo,p(Ko),!0);let e=p(Ai)?mr(p(Ai)).dock:null;V(qo,e?Ls(e):void 0,!0)}});function rs(e){p(Ai)&&Xr(ct(p(G),p(Ai).id,e))}function is(e){if(!p(Ai))return;let t=ur(e),n=p(Ai).blocks.filter(e=>!t.has(e.id)),r=Ze(p(G),p(Ai).id,e);for(let e of n)r=Zn(r,p(Ai).id,e.id);Xr(r)}function as(e,t){if(!p(Ai))return;let n=rt(p(G),p(Ai).id,e,t);Xr(n);let r=n.screens.find(e=>e.id===p(Ai).id);r?.dock&&V(qo,r.dock,!0)}let os=N(()=>p(Ai)?wt(p(G),p(Ai).entity):void 0),ss=N(()=>Sn(p(Ai)?.blocks??[]).find(e=>e.id===p(uo)));T(()=>{if(p(uo),!(p(go)!==`az`||!p(ss)||p(ho)!==`properties`||!p(_o)))for(let e of p(_o).querySelectorAll(`details.sv-studio__section`))e.open=!0});let cs=N(()=>!!p(Ai)?.renderGrid),ls=N(()=>!!p(Ai)?.renderGrid||Sn(p(Ai)?.blocks??[]).some(e=>e.config.kind===`grid`)),us=N(()=>p(Ai)?.handlerBodies?.onLoad??``),ds=N(()=>p(Ai)?.handlerBodies?.onDestroy??``),fs=N(()=>p(Ai)?or(p(Ai)):[]),ps=N(()=>p(Ai)?Cn(p(Ai)):`none`),ms=N(()=>p(Ai)?fn(p(Ai),p(os)):``),hs=N(()=>{if(p(fo)!==`code`||p(mo)===`onLoad`||p(mo)===`onDestroy`||p(mo)===`css`||!p(Ai))return null;try{let e=wr(p(G)),t=t=>e.find(e=>e.path===t)?.contents??``;return{page:t(`src/routes/${p(Ai).route}/+page.svelte`),ctx:t(`src/routes/${p(Ai).route}/page-context.ts`),error:``}}catch(e){return{page:``,ctx:``,error:e instanceof Error?e.message:String(e)}}});function gs(e){return e.tier===`grid`?`the Grid's real API (exportCsv, selectCells, addRow, …)`:e.tier===`data`?`the ${e.kind}: setData(rows) · rows · clear()`:`${e.component}: setLabel · setVariant · onclick`}let _s=N(()=>p(Ai)?[...Wn(p(Ai)),`await fetch('/api/')`,`console.log()`]:[]),vs=N(()=>p(fs).find(e=>e.tier===`data`)),ys=N(()=>p(fs).find(e=>e.tier===`component`)),bs=N(()=>[...p(ps)===`settable`?[{label:`Fetch → Grid`,code:`const res = await fetch('/api/data')
75791
75791
  ctx.data.setRows(await res.json())`}]:[],...p(ls)?[{label:`Export CSV`,code:`const csv = ctx.grid.exportCsv()
75792
- console.log(csv)`}]:[],...p(vs)?[{label:`Feed ${p(vs).name}`,code:`const res = await fetch('/api/data')\nctx.${p(vs).name}.setData(await res.json())`}]:[],...p(ys)?[{label:`Wire ${p(ys).name}`,code:`ctx.${p(ys).name}.onclick = () => {\n ctx.${p(ys).name}.setLabel('Clicked')\n}`}]:[],{label:`Log on mount`,code:`console.log('page mounted', ctx)`}]),xs={name:`__free__`,label:``,idField:`id`,fields:[]},Ss=N(()=>_n(p(G))),Cs=N(()=>br(p(G))),ws=N(()=>p(Ss).filter(e=>e.level===`error`).length),Ts=N(()=>{let e={};for(let t of p(Ss))t.block&&(e[t.block]??=[]).push(t);return e});function Es(e){e.screen&&V(ki,e.screen,!0),V(uo,e.block??null,!0),e.block&&queueMicrotask(()=>document.querySelector(`[data-block-id="${CSS.escape(e.block)}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`}))}T(()=>{!p(G).screens.some(e=>e.id===p(ki))&&p(G).screens[0]&&V(ki,p(G).screens[0].id,!0)}),T(()=>$e(`Studio`));let Ds=[`count`,`sum`,`avg`,`min`,`max`],Os=[{type:`bar`,label:`Bar`,glyph:`<rect x="2" y="13" width="6" height="13" rx="1"/><rect x="11" y="6" width="6" height="20" rx="1"/><rect x="20" y="16" width="6" height="10" rx="1"/><rect x="29" y="9" width="6" height="17" rx="1"/>`},{type:`pie`,label:`Pie`,glyph:`<circle cx="18" cy="14" r="12" opacity="0.32"/><path d="M18,14 L18,2 A12,12 0 0,1 29,18 Z"/>`},{type:`line`,label:`Line`,glyph:`<polyline points="2,22 12,10 21,16 36,4" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>`},{type:`area`,label:`Area`,glyph:`<path d="M2,22 L12,10 L21,16 L36,4 L36,26 L2,26 Z" opacity="0.9"/>`},{type:`radar`,label:`Radar`,glyph:`<polygon points="18,3 32,13 27,27 9,27 4,13" fill="none" stroke="currentColor" stroke-width="1.5" opacity="0.4"/><polygon points="18,9 26,14 23,23 13,23 10,14"/>`},{type:`funnel`,label:`Funnel`,glyph:`<path d="M3,4 H35 L28,12 H10 Z"/><path d="M11,15 H27 L23,23 H15 Z" opacity="0.7"/>`},{type:`waterfall`,label:`Waterfall`,glyph:`<rect x="2" y="15" width="6" height="11" rx="1"/><rect x="11" y="10" width="6" height="8" rx="1" opacity="0.7"/><rect x="20" y="6" width="6" height="9" rx="1"/><rect x="29" y="6" width="6" height="20" rx="1" opacity="0.7"/>`},{type:`treemap`,label:`Treemap`,glyph:`<rect x="2" y="3" width="20" height="15" rx="1"/><rect x="24" y="3" width="12" height="15" rx="1" opacity="0.6"/><rect x="2" y="20" width="12" height="6" rx="1" opacity="0.7"/><rect x="16" y="20" width="20" height="6" rx="1" opacity="0.5"/>`}],ks=e=>`<svg viewBox="0 0 38 28" width="26" height="19" fill="currentColor" aria-hidden="true">${Os.find(t=>t.type===e)?.glyph??``}</svg>`,As={memory:`In-memory`,pglite:`Local database`,sql:`SQL`,supabase:`Supabase`,rest:`REST`},js={memory:`Fake sample data, zero setup. Best for designing and demos - no database needed.`,pglite:`A real database that runs inside your browser (saved on this computer). No server, no sign-up - great for learning and prototypes.`,supabase:`A free hosted Postgres database with a friendly web dashboard. The easiest real database, and it works right here in the browser (paste the project URL + anon key).`,sql:`Your own SQL database (Postgres, MySQL, SQL Server, SQLite). To connect and see rows live you need the local designer; online you set it up here and the generated app connects for real.`,rest:`An existing web API - a URL that returns JSON. Use this when your data already lives behind an API.`},Ms={memory:`#94a3b8`,pglite:`#14b8a6`,sql:`#3b82f6`,supabase:`#10b981`,rest:`#a855f7`};function Ns(e){let t=Zt(p(G),e).kind;return{kind:t,label:As[t],color:Ms[t],explicit:!!p(G).dataSources?.[e]}}let Ps=j(pe({}));function Fs(e,t){let n=t.fields.filter(e=>e.type===`relation`&&e.relation);if(!n.length)return e;let r=n.map(e=>{let t=wt(p(G),e.relation.entity),n=Zt(p(G),e.relation.entity),r=n.kind===`memory`&&n.seed?.length?n.seed:t?PM(t,6):[],i=t?.idField??t?.fields.find(e=>e.primaryKey)?.field??`id`;return{field:e.field,map:new Map(r.map(t=>[String(t[i]),t[e.relation.labelField]]))}});return e.map(e=>{let t={...e};for(let{field:n,map:i}of r){let r=i.get(String(e[n]));r!=null&&(t[n]=r)}return t})}function Is(e){return Fs(Rs(e),e)}function Rs(e){let t=Zt(p(G),e.name);return p(Ps)[e.name]??(t.kind===`memory`&&t.seed?.length?t.seed:PM(e,6))}let zs=j(null),Bs=j(null),Vs=j(null),Hs=j(null),Us=j(`design`),Ws=j(`field`),Gs=j(`edit`),Ks=j(``),qs=j(!1),Js=j(pe([])),Ys=j(`full`),Xs={sm:`400px`,md:`560px`,lg:`760px`,full:`none`},Zs=j(!0),Qs=j(!1),$s=j(``),ec=j(`text`),tc=j(``),nc=j(null),rc=N(()=>p(zs)?wt(p(G),p(zs)):void 0),ic=N(()=>p(rc)?gr(p(rc)):{sections:[],unassigned:[]}),ac=e=>p(rc)?.fields.find(t=>t.field===e),oc=N(()=>(p(rc)?.fields??[]).map(e=>({id:e.field,name:e.label??e.field,type:e.type===`number`?`number`:e.type===`boolean`?`boolean`:e.type===`date`||e.type===`dateString`?`date`:e.type===`datetime`?`datetime`:`text`}))),cc=[{key:`visible`,label:`Shown when`,hint:`Hidden fields are skipped by validation and left out of the saved record.`},{key:`required`,label:`Required when`,hint:`Replaces the field’s own Required flag - it can make a required field optional too.`},{key:`disabled`,label:`Locked when`,hint:`The value still saves; the user just cannot change it.`}];function lc(e){let t=p(oc).find(t=>t.id!==e)?.id??p(oc)[0]?.id;return t?{kind:`cmp`,column:t,op:`equals`,value:``}:{kind:`const`,value:!0}}let dc=N(()=>(p(rc)?.fields??[]).filter(e=>qe(e,`form`))),fc=N(()=>new Set(p(Js))),mc=N(()=>[...p(ic).sections.flatMap(e=>e.fields),...p(ic).unassigned]),hc=N(()=>p(Vs)&&p(fc).has(p(Vs))?p(mc).filter(e=>p(fc).has(e)):p(Vs)?[p(Vs)]:[]);T(()=>{let e=p(Js).filter(e=>p(mc).includes(e));e.length!==p(Js).length&&V(Js,e,!0)});let gc=N(()=>new Map((p(rc)?Vr(p(rc)):[]).map(e=>[e.field,e]))),_c=N(()=>!!p(rc)&&(gt(p(rc))||(p(rc).form?.sections??[]).some(e=>e.visibleWhen))),vc=N(()=>p(Zs)&&p(_c)&&p(Us)===`design`),yc=N(()=>p(rc)?zn(p(rc),p(Gs)===`create`?null:Rs(p(rc))[0]??null):{});function xc(e){if(!p(vc))return null;let t=p(gc).get(e);return t?pt(t,p(yc)):null}let Sc=e=>!p(vc)||!e.visibleWhen||St(e.visibleWhen,p(yc));function Cc(e){V(zs,e,!0),V(Bs,null),V(Js,[],!0),V(Qs,!1),V(tc,``),V(nc,null)}function wc(e){if(e.key===`Escape`){if(p(Qs)){V(Qs,!1),V(tc,``),e.stopPropagation();return}if(p(Js).length>1){V(Js,p(Bs)?[p(Bs)]:[],!0),e.stopPropagation();return}V(zs,null)}}function Tc(e){let t=ac(e)?.when;return t?[t.visible,t.disabled,t.required].filter(Boolean).length:0}function Ec(e,t,n){p(zs)&&Xr(Hr(p(G),p(zs),e,{...ac(e)?.when,[t]:n}))}function Oc(e,t){p(zs)&&Xr(vr(p(G),p(zs),e,t))}function kc(e,t){p(zs)&&Xr(Vt(p(G),p(zs),e,t))}function Ac(e,t,n){if(n.ctrlKey||n.metaKey){p(fc).has(e)?(V(Js,p(Js).filter(t=>t!==e),!0),p(Bs)===e&&V(Bs,p(Js).at(-1)??null,!0)):(V(Js,[...p(Js),e],!0),V(Bs,e,!0)),V(Ks,`${p(Js).length} field${p(Js).length===1?``:`s`} selected.`),V(Ws,`field`);return}let r=t===null?p(ic).unassigned:p(ic).sections[t]?.fields??[];if(n.shiftKey&&p(Bs)&&r.includes(p(Bs))&&p(Bs)!==e){let t=r.indexOf(p(Bs)),n=r.indexOf(e);V(Js,r.slice(Math.min(t,n),Math.max(t,n)+1),!0),V(Bs,e,!0),V(Ks,`${p(Js).length} fields selected.`),V(Ws,`field`);return}let i=p(Bs)===e&&p(Js).length<=1;V(Bs,i?null:e,!0),V(Js,i?[]:[e],!0),V(Ws,`field`)}function jc(e){p(zs)&&(Xr(Ie(p(G),p(zs),e,`form`,!1)),V(Ks,`${ac(e)?.label??e} restored to the form.`))}function Mc(e){let t=p($s).trim();if(!t){V(tc,`Give the field a name.`);return}if(e.fields.some(e=>e.field===t)){V(tc,`"${t}" already exists on ${e.label??e.name}.`);return}let n=rr(p(G),e.name,jM(e,{field:t,type:p(ec)}));p(nc)!=null&&(n=hn(n,e.name,t,p(nc))),Xr(n),V(Bs,t,!0),V(Js,[t],!0),V(Ws,`field`),V(Qs,!1),V($s,``),V(tc,``),V(Ks,`${t} added to the form.`)}function Pc(e,t){Oc(e,{options:t.length?t:void 0})}function Fc(e){let t=(e.options?.length??0)+1;Pc(e.field,[...e.options??[],{value:`option-${t}`,label:`Option ${t}`}])}function Ic(e,t,n){Pc(e.field,(e.options??[]).map((e,r)=>r===t?{...e,...n}:e))}function Rc(e,t){Pc(e.field,(e.options??[]).filter((e,n)=>n!==t))}function zc(e){p(zs)&&(Xr(Ie(p(G),p(zs),e,`form`,!0)),p(Bs)===e&&V(Bs,null),V(Ks,`${ac(e)?.label??e} removed from the form.`))}function Bc(){if(!p(rc)||!p(zs))return;let e=$n(p(rc));e.length&&(Xr(kt(p(G),p(zs),{...p(rc).form,sections:e})),V(Ks,`Suggested ${e.length} sections.`))}let Vc=e=>(p(rc)?.validations??[]).map((e,t)=>({...e,i:t})).filter(t=>t.field===e);function Hc(e){!p(rc)||!p(zs)||Xr(rr(p(G),p(zs),{...p(rc),validations:e.length?e:void 0}))}function Wc(){!p(rc)||!p(Bs)||Hc([...p(rc).validations??[],{field:p(Bs),op:`required`,message:`This field is required`}])}function Gc(e,t){p(rc)&&Hc((p(rc).validations??[]).map((n,r)=>r===e?{...n,...t}:n))}function Kc(e){p(rc)&&Hc((p(rc).validations??[]).filter((t,n)=>n!==e))}let qc=e=>e.replace(/[_-]+/g,` `).replace(/([a-z\d])([A-Z])/g,`$1 $2`).replace(/^./,e=>e.toUpperCase());function Jc(e){let t=e.input?.editorType??tr(e.type)[0];return e.type===`boolean`||t===`checkbox`?`switch`:t===`textarea`?`area`:t===`chips`?`chips`:t===`slider`||t===`rating`?`slider`:t===`color`?`colour`:e.type===`enum`||e.type===`relation`||t===`select`||t===`rich-select`||t===`list`?`select`:`box`}let Yc=e=>e?.columns??p(rc)?.form?.columns??2,Zc=(e,t)=>e?.input?.span===2?t:1,Qc=e=>e===null?`Unsectioned`:p(ic).sections[e]?.title||`section ${e+1}`;function $c(e,t){if(!p(zs)||!p(Vs))return;let n=p(hc);Xr(qn(p(G),p(zs),n,e,t)),V(Ks,n.length>1?`${n.length} fields moved to ${Qc(e)}.`:`${ac(n[0]??``)?.label??n[0]} moved to ${Qc(e)}.`,!0),V(Bs,p(Vs),!0),V(Vs,null),V(Hs,null)}function el(e,t){if(!p(zs))return;let n=p(fc).has(e)&&p(Js).length>1?p(mc).filter(e=>p(fc).has(e)):[e],r=new Set(n.filter(t=>t!==e)),i=[{section:null,fields:p(ic).unassigned.filter(e=>!r.has(e))},...p(ic).sections.map((e,t)=>({section:t,fields:e.fields.filter(e=>!r.has(e))}))],a=i.findIndex(t=>t.fields.includes(e));if(a<0)return;let o=i[a],s=o.fields.indexOf(e)+t,c=n.length>1?`${n.length} fields`:ac(e)?.label??e;if(o.section!==null&&s>=0&&s<o.fields.length){Xr(qn(p(G),p(zs),n,o.section,s)),V(Ks,`${c} moved to position ${s+1} in ${Qc(o.section)}.`);return}let l=i[a+t];l&&(Xr(qn(p(G),p(zs),n,l.section,t===1?0:l.fields.length)),V(Ks,`${c} moved to ${Qc(l.section)}.`))}let tl=j(!1),nl=j(pe([])),il=N(()=>{if(!p(os))return null;let e=Zt(p(G),p(os).name).kind;return e===`memory`||e===`pglite`?e:null}),al=N(()=>p(os)?p(os).fields.filter(e=>!e.formula&&!e.computed):[]);function ol(){p(os)&&(V(nl,Rs(p(os)).map(e=>({...e})),!0),V(tl,!0))}function sl(){if(!p(os))return;let e=p(os).idField??p(os).fields.find(e=>e.primaryKey)?.field??`id`,t={};for(let e of p(al))t[e.field]=e.type===`boolean`?!1:e.type===`number`?0:``;t[e]=`${p(os).name.charAt(0).toLowerCase()||`r`}${p(nl).length+1}`,V(nl,[...p(nl),t],!0)}function cl(e,t,n){V(nl,p(nl).map((r,i)=>i===e?{...r,[t]:n}:r),!0)}function ul(e){let t=e.relation&&p(G).entities.find(t=>t.name===e.relation.entity);if(!t||!e.relation)return[];let n=t.idField??t.fields.find(e=>e.primaryKey)?.field??`id`;return Rs(t).map(t=>({value:String(t[n]??``),label:String(t[e.relation.labelField??n]??t[n]??``)}))}function dl(){if(!p(os))return;let e=Zt(p(G),p(os).name),t=p(nl).map(e=>({...e}));Xr(dt(p(G),p(os).name,e.kind===`pglite`?{kind:`pglite`,table:e.table,seed:t}:{kind:`memory`,seed:t}));let{[p(os).name]:n,...r}=p(Ps);V(Ps,r,!0),V(tl,!1)}function fl(e){return(e.related??[]).map(e=>{let t=wt(p(G),e.entity);return t?{label:e.label??t.label??t.name,schema:t,rows:Is(t),foreignKey:e.foreignKey,parentField:e.parentField,titleField:e.titleField??t.fields.find(e=>e.type===`text`&&!e.primaryKey)?.field??t.fields[0]?.field??`id`,subtitleField:e.subtitleField,dateField:e.dateField,statusField:e.statusField}:null}).filter(e=>e!=null)}let pl=N(()=>p(G).screens.filter(e=>e.blocks.some(e=>e.config.kind===`detail`)));function ml(e){let t=[];for(let n of p(G).entities){if(n.name===e.name)continue;let r=n.fields.find(t=>t.type===`relation`&&t.relation?.entity===e.name)?.field;r&&t.push({child:n,fk:r})}return t}function hl(e,t){let n=e.fields.filter(e=>!e.primaryKey&&e.field!==t);return{entity:e.name,foreignKey:t,label:e.label??e.name,titleField:n.find(e=>e.type===`text`)?.field??n[0]?.field??e.fields[0]?.field??`id`,dateField:n.find(e=>e.type===`date`||e.type===`datetime`||e.type===`dateString`)?.field,statusField:n.find(e=>e.type===`enum`)?.field}}function gl(e,t,n){let r=e.idField??e.fields.find(e=>e.primaryKey)?.field??`id`,i=String(t??bu[e.name]?.[r]??``),a=(p(Ps)[e.name]??Is(e)).map(e=>String(e[r])===i?{...e,...n}:{...e});V(Ps,{...p(Ps),[e.name]:a},!0),bu[e.name]=void 0}let vl=j(null);function yl(e){return e.idField??e.fields.find(e=>e.primaryKey)?.field??`id`}function bl(e,t){let n=yl(e),r=p(Ps)[e.name]??Is(e);V(Ps,{...p(Ps),[e.name]:r.filter(e=>String(e[n])!==t)},!0)}function Sl(e,t,n){let r=yl(e),i=p(Ps)[e.name]??Is(e);if(t==null){let t=i.reduce((e,t)=>Math.max(e,Number(t[r])||0),0)+1;V(Ps,{...p(Ps),[e.name]:[{[r]:t,...n},...i]},!0)}else V(Ps,{...p(Ps),[e.name]:i.map(e=>String(e[r])===t?{...e,...n}:e)},!0);V(vl,null)}function Cl(e){let t=e.idField??e.fields.find(e=>e.primaryKey)?.field;return Ot(e).filter(e=>e.field!==t)}function wl(e,t){let n=new Map(e.columns.filter(e=>e.aggregate||e.format||e.cellType).map(e=>[e.field,e])),r=Cl(t).map(e=>{let t=e.field?n.get(e.field):void 0;return t?{...e,aggregate:t.aggregate,format:t.format,...t.cellType?{cell:e=>nn(b,{value:e.getValue(),type:t.cellType})}:{}}:e});return e.rowActions?.length&&r.push({id:`__actions`,header:`Actions`,sortable:!1,cell:n=>nn(M,{row:n.row.original,ent:t,actions:e.rowActions})}),r}let Tl=N(()=>p(os)?Is(p(os)):[]);N(()=>p(os)?Cl(p(os)):[]);let El=j(pe({}));function Dl(e,t,n){V(El,{...p(El),[e]:{...p(El)[e]??{},[t]:n}},!0)}function kl(e){let t=e.relation;if(!t)return[];let n=p(G).entities.find(e=>e.name===t.entity);if(!n)return[];let r=n.idField??n.fields.find(e=>e.primaryKey)?.field??`id`;return Is(n).map(e=>({value:String(e[r]??``),label:String(e[t.labelField]??e[r]??``)}))}function Al(e,t){let n=Object.entries(p(El)[e.name]??{}).filter(([,e])=>e!==``&&e!=null);return n.length?t.filter(t=>n.every(([n,r])=>{let i=e.fields.find(e=>e.field===n),a=t[n];return i&&i.type===`text`&&!i.options?.length?String(a??``).toLowerCase().includes(String(r).toLowerCase()):String(a??``)===String(r)})):t}let jl=N(()=>n.appearance??(p(G).theme?.mode===`dark`?`dark`:`light`)),Ml=N(()=>n.appearance?{...p(G).theme,mode:n.appearance}:p(G).theme),Nl=N(()=>Rr(p(Ml))),Pl=N(()=>tn(p(G).theme?.preset)??Dn),Fl=N(()=>p(Pl)[p(jl)].accent),Ll=N(()=>p(G).theme?.shell?.style??`sidebar`),Rl=N(()=>p(G).theme?.shell?.brand||p(G).title),zl=N(()=>p(G).theme?.shell?.navPosition??`left`),Bl=N(()=>p(G).theme?.shell?.footer),Vl=N(()=>p(G).theme?.shell?.logo),Hl=j(!1),Ul=N(()=>p(Ll)===`sidebar`&&p(Hl));function Gl(e){let t=e.currentTarget.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>Xr(Xt(p(G),{logo:String(n.result)})),n.readAsDataURL(t)}let Kl=N(()=>p(G).screens.filter(e=>e.nav?.show!==!1).map((e,t)=>({s:e,order:e.nav?.order??t})).sort((e,t)=>e.order-t.order).map(e=>e.s)),ql=j(null),Jl=j(`crud`),Yl=j(`none`),Xl=j(``),Zl=j(``),Ql=j(null),$l=N(()=>He(p(G)));function eu(e){try{Xr(yn(e)),V(Xl,``),V(Ql,null),V(Yl,`none`)}catch(e){V(Ql,e instanceof Error?e.message:String(e),!0)}}let tu=()=>eu(p(Xl)),nu=j(!1);async function ru(e){if(e)try{eu(await e.text())}catch(e){V(Ql,e instanceof Error?e.message:String(e),!0)}}function au(e){e.preventDefault(),V(nu,!1),ru(e.dataTransfer?.files?.[0])}let ou=j(null);function su(){try{V(ou,null);let e=p(Zl).trim();if(e.startsWith(`{`)&&/"(openapi|swagger|paths)"\s*:/.test(e)){let{entities:t,sources:n,warnings:r}=EN(e),i=p(G);for(let e of t){i=Be(i,e);let t=n[e.name];t&&(i=dt(i,e.name,t))}Xr(i),V(Zl,``),V(Ql,null),V(ou,`Imported ${t.length} REST resource${t.length===1?``:`s`}.${r.length?` `+r.join(` `):``}`),V(Yl,`none`);return}let t=/\bmodel\s+\w+\s*\{/.test(p(Zl))?fN(p(Zl)):KM(p(Zl)),n=p(G);for(let e of t)n=Be(n,e);Xr(n),V(Zl,``),V(Ql,null),V(Yl,`none`)}catch(e){V(Ql,e instanceof Error?e.message:String(e),!0)}}let lu=j(!1),uu=j(`desktop`),du={desktop:`100%`,tablet:`834px`,mobile:`390px`},pu=j(``),mu=j(!1);T(()=>{V(mu,p(uu)!==`desktop`)});let hu=N(()=>p(Ll)===`sidebar`&&p(mu)),gu=j(!1),_u=j(!1),vu=pe({}),yu=pe({}),bu=pe({}),xu=pe({}),Su=N(()=>p(G).screens.find(e=>e.id===p(pu))??p(G).screens[0]),Cu=N(()=>p(Su)?wt(p(G),p(Su).entity):void 0),wu=N(()=>!!p(Su)&&Ge(p(Su))===`dock`),Tu=N(()=>!!p(Su)&&Ge(p(Su))===`stack`),Eu=N(()=>!!p(Su)&&Ge(p(Su))===`split`),Du=N(()=>!!p(Su)&&Ge(p(Su))===`canvas`),Ou=N(()=>p(wu)||p(Eu)),ku=N(()=>({minSize:p(Eu)&&p(Su)?Ae(p(Su)).minPaneSize:80,allowPopout:p(wu)&&p(Su)?st(p(Su)).allowPopout:!1,hideSingleTab:p(wu)&&p(Su)?st(p(Su)).hideSingleTab:!1,headerPosition:p(wu)&&p(Su)?st(p(Su)).headerPosition:`top`})),Au=N(()=>{if(!p(Su))return``;if(p(Tu)){let e=xr(p(Su));return`gap: ${e.gap}px; --stack-minh: ${e.minHeight}px;`+(e.maxWidth?` max-width: ${e.maxWidth}px;${e.align===`center`?` margin-inline: auto;`:``}`:``)}if(!p(Ou)&&!p(Du)){let e=Ln(p(Su));return`gap: ${e.rowGap}px ${e.colGap}px; align-items: ${e.align};`+(e.maxWidth?` max-width: ${e.maxWidth}px; margin-inline: auto;`:``)}return``}),ju=N(()=>p(Su)&&p(Ou)?p(Su).id+`|`+p(Su).blocks.map(e=>e.id).join(`,`):``),Mu=j(void 0),Nu=j(``);T(()=>{p(ju)&&p(ju)!==p(Nu)&&(V(Nu,p(ju),!0),V(Mu,p(Su)?mr(p(Su)).dock??void 0:void 0,!0))});function Pu(){V(pu,p(Ai)?.id??p(G).screens[0]?.id??``,!0),V(lu,!0)}let Fu=j(pe({})),Iu=j(null),Lu=j(null),Ru=N(()=>p(lu));function zu(){try{V(Fu,{},!0),V(Iu,null),V(Lu,null);let e=p(G).screens.find(e=>e.id===p(pu))??p(G).screens[0];if(!p(lu)||!e)return;let t=wt(p(G),e.entity),n=t?Al(t,Is(t)):[],r={},i=[],a=null,o=null,s=[];for(let t of or(e))if(t.tier===`component`){let n=Sn(e.blocks).find(e=>e.id===t.blockId);n&&n.config.kind===`component`&&(r[n.id]={props:Di(n.config),text:Oi(n.config)},i.push({name:t.name,id:n.id}))}else t.tier===`grid`?(a=t.name,o=t.blockId):t.tier===`data`&&s.push(t.name);V(Fu,r,!0);let c=()=>p(Iu)??n,l=e=>{V(Iu,Array.isArray(e)?e:[],!0)},u={};for(let e of i)u[e.name]=cM(()=>p(Fu)[e.id],t=>{V(Fu,{...p(Fu),[e.id]:t},!0)});let d=()=>o?xu[o]:void 0;a&&(u[a]=new Proxy(()=>void 0,{get:(e,t)=>{if(typeof t!=`string`)return;let n=d();return n&&typeof n[t]==`function`?n[t].bind(n):t===`getData`||t===`getDisplayedRows`?()=>c():n&&typeof n.getOption==`function`?n.getOption(t):()=>void 0},set:(e,t,n)=>{if(typeof t!=`string`||/^on[A-Z]/.test(t))return!0;let r=d();return r&&typeof r.setOption==`function`&&r.setOption(t,n),!0},apply:()=>void 0}));for(let e of s)u[e]={setData:e=>l(e),get rows(){return c()},clear:()=>{V(Iu,null)}};u.data={get rows(){return c()},setRows:l,reload:async()=>{}},u.goto=()=>{},u.params={};let m=e.handlerBodies?.onLoad??``,h=()=>{f(()=>lM(m,u)).then(e=>{V(Lu,e,!0)})};if(o){let e=0,t=()=>{d()||e++>30?h():requestAnimationFrame(t)};queueMicrotask(t)}else queueMicrotask(h)}catch(e){V(Lu,e instanceof Error?e.message:String(e),!0)}}function Bu(e,t){return p(Ru)&&p(Iu)&&e===p(Cu)?p(Iu):t}T(()=>{if(!p(lu)){V(Fu,{},!0),V(Iu,null),V(Lu,null);return}p(pu),p(G).screens.find(e=>e.id===p(pu))?.handlerBodies?.onLoad,zu()}),T(()=>{let e=p(lu)?p(G).theme?.customCss??``:``;if(typeof document>`u`||!e.trim())return;let t=document.createElement(`style`);return t.setAttribute(`data-studio-preview-css`,``),t.textContent=e,document.head.appendChild(t),()=>t.remove()});let Vu=j(!1),Hu=j(``),Uu=j(!1),Wu=j(null),Gu=[`Add a "status" enum field (new / active / churned) to customers`,`Add a dashboard screen with revenue by tier`,`Make the customers grid drill into orders on row click`,`Add a validation rule: mrr must be >= 0`];function Ku(){V(Vu,!0),V(Wu,null)}async function qu(){let e=p(Hu).trim();if(!(!n.onCopilot||!e||p(Uu))){V(Uu,!0),V(Wu,null);try{let t=await n.onCopilot({prompt:e,project:p(G)}),r=yn(He(t));Xr(r),!r.screens.some(e=>e.id===p(ki))&&r.screens[0]&&V(ki,r.screens[0].id,!0),V(Hu,``),V(Vu,!1)}catch(e){V(Wu,e instanceof Error?e.message:String(e),!0)}finally{V(Uu,!1)}}}let Ju=j(!1);function Yu(e){let t=e.build();Xr(t),t.screens[0]&&(V(ki,t.screens[0].id,!0),V(uo,null)),V(Ju,!1)}function Xu(){let e=UN({project:p(G),action:p(Ai)?`editing screen "${p(Ai).title}"`:`in the designer`,env:{studioVersion:`web designer`,node:`-`,os:typeof navigator<`u`?navigator.userAgent:`-`}});try{navigator.clipboard?.writeText(e.markdown)}catch{}window.open(e.issueUrl,`_blank`,`noopener,noreferrer`)}let Zu=j(!1),Qu=j(``);function $u(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``)}let ed=N(()=>!!$u(p(Qu))&&!wt(p(G),$u(p(Qu))));function td(){let e=$u(p(Qu));if(!e||wt(p(G),e))return;let t={name:e,idField:`id`,fields:[{field:`id`,type:`number`,primaryKey:!0,readonly:!0},{field:`name`,type:`text`,required:!0}]};Xr(Be(p(G),t)),V(ki,e,!0),V(uo,null),V(Qu,``),V(Zu,!1)}let nd=j(null);async function rd(e){if(e){V(nd,null),V(Ql,null);try{let t=await e.text(),n=$u(e.name.replace(/\.[^.]+$/,``))||`imported`,r=n,i=2;for(;wt(p(G),r);)r=`${n}_${i++}`;let{schema:a,rows:o,renamed:s}=rN(r,t);if(a.fields.length===0||o.length===0){V(Ql,`That file had no rows to import.`);return}let c=Be(p(G),a);c=dt(c,r,{kind:`memory`,seed:o}),Xr(c),V(ki,r,!0),V(uo,null);let l=s.length?` Renamed ${s.length} column${s.length>1?`s`:``} to safe keys.`:``;V(nd,`Imported ${o.length} row${o.length>1?`s`:``} into "${r}" (${a.fields.length} fields).${l}`)}catch(e){V(Ql,e instanceof Error?e.message:String(e),!0)}}}let id=j(!1),ad=j(!1),od=N(()=>Jn(p(G))),sd=[{value:`auto`,label:`Auto-detect (Vercel / Netlify / Cloudflare)`},{value:`vercel`,label:`Vercel`},{value:`netlify`,label:`Netlify`},{value:`cloudflare`,label:`Cloudflare Pages`},{value:`node`,label:`Node server`}];function cd(e){Xr(Je(p(G),e))}let ld=j(!1),ud=[{id:`neon`,label:`Neon`,blurb:`Serverless Postgres with a generous free tier - a database in seconds, no card.`,url:`https://neon.tech`,dialect:`postgres`,kind:`sql`,env:[`DATABASE_URL`]},{id:`supabase`,label:`Supabase`,blurb:`Postgres plus auth, storage, and realtime. Use the connection string (server) here.`,url:`https://database.new`,dialect:`supabase`,kind:`sql`,env:[`DATABASE_URL`]},{id:`turso`,label:`Turso`,blurb:`Hosted SQLite (libSQL) that runs at the edge - fast, cheap, great for reads.`,url:`https://turso.tech`,dialect:`turso`,kind:`sql`,env:[`DATABASE_URL`,`DATABASE_AUTH_TOKEN`]}],dd=j(null);function fd(e){let t=Ct(p(G),`sql`);for(let n of p(G).entities)t=dt(t,n.name,{kind:`sql`,table:n.name,dialect:e.dialect});Xr(t),V(dd,e,!0);try{window.open(e.url,`_blank`,`noopener,noreferrer`)}catch{}}async function pd(){try{await navigator.clipboard.writeText(p(od).cli),V(ad,!0),setTimeout(()=>V(ad,!1),1600)}catch{}}let md=j(!1),hd=new GN({introspect:e=>n.onIntrospectDatabase(e),installDriver:e=>n.onInstallDriver(e),canInstall:()=>!!n.onInstallDriver});function gd(){V(md,!0),hd.reset()}function _d(e){let t=p(G);for(let n of e.schemas)t=Be(t,n),t=dt(t,n.name,e.sources[n.name]??{kind:`sql`,table:n.name,dialect:e.dialect});Xr(t),e.schemas[0]&&(V(ki,e.schemas[0].name,!0),V(uo,null))}let Y=j(!1),vd=j(`connect`),yd=j(`postgres`),bd=j(``),xd=j(!1),Sd=j(null),Cd=j(pe([])),wd=j(pe({})),Td=j(0),Ed=j(pe([])),Dd=N(()=>WN.find(e=>e.value===p(yd))?.placeholder??``),Od=N(()=>Object.values(p(wd)).filter(Boolean).length),kd=j(`form`),Ad=j(pe({})),jd=j(null),Md=j(null),Nd=j(!1),Pd=N(()=>p(yd)!==`turso`),Fd=N(()=>p(kd)===`form`&&p(Pd));function Id(){try{return jN(p(yd),p(Ad))}catch{return``}}let Ld=N(()=>p(Fd)?Id():p(bd).trim()),Rd=N(()=>ON(p(yd))?``:String(DN[p(yd)]??``));function zd(e,t){V(Ad,{...p(Ad),[e]:t},!0),V(jd,null)}function Bd(e){V(Sd,e instanceof Error?e.message:String(e),!0);let t=e;V(Md,t?.missingDriver?t.driver??null:null,!0)}async function Vd(){if(!(!n.onIntrospectDatabase||!p(Ld))){V(xd,!0),V(Sd,null),V(jd,null),V(Md,null);try{let e=await n.onIntrospectDatabase({dialect:p(yd),url:p(Ld),action:`test`});V(jd,e.tables??[],!0),p(jd).length===0&&V(Sd,`Connected, but no tables were found.`)}catch(e){Bd(e)}finally{V(xd,!1)}}}async function Hd(){if(n.onInstallDriver){V(Nd,!0),V(Sd,null);try{let e=await n.onInstallDriver(p(yd));e.ok?V(Md,null):V(Sd,`Install failed: ${(e.output||e.package||``).slice(-300)}`)}catch(e){V(Sd,e instanceof Error?e.message:String(e),!0)}finally{V(Nd,!1)}}}function Ud(){V(Y,!0),V(vd,`connect`),V(Sd,null),V(Cd,[],!0),V(wd,{},!0),V(Td,0),V(Ed,[],!0),V(jd,null),V(Md,null),V(Ad,{},!0)}function Wd(e,t){let n=e=>e.toLowerCase().replace(/[^a-z]/g,``).replace(/s$/,``),r=n(e);return t.find(e=>n(e)===r)??t.find(e=>n(e).includes(r)||r.includes(n(e)))??``}async function Gd(){if(!(!n.onIntrospectDatabase||!p(Ld))){V(xd,!0),V(Sd,null),V(Md,null);try{let e=await n.onIntrospectDatabase({dialect:p(yd),url:p(Ld),action:`tables`});V(Cd,e.tables??[],!0);let t={};for(let e of p(G).entities)t[e.name]=Wd(e.name,p(Cd));V(wd,t,!0),V(vd,`map`),p(Cd).length===0&&V(Sd,`No tables found in this database.`)}catch(e){Bd(e)}finally{V(xd,!1)}}}function Kd(e){let t=[],n=t=>new Set((wt(e,t)?.fields??[]).map(e=>e.field));for(let r of e.screens){let e=n(r.entity),i=(e,n,i)=>{e&&!n.has(e)&&t.push(`${r.title}: ${i} "${e}"`)};for(let t of r.blocks){let r=t.config;if(r.kind===`chart`)i(r.dimension,e,`chart dimension`),i(r.measure,e,`chart measure`);else if(r.kind===`kpi`)i(r.measure,e,`KPI measure`);else if(r.kind===`master-detail`)i(r.foreignKey,n(r.childEntity),`detail key`);else if(r.kind===`pivot`){for(let t of[...r.rows,...r.cols])i(t,e,`pivot field`);i(r.measure,e,`pivot measure`)}else if(r.kind===`filter`)for(let t of r.fields)i(t,e,`filter facet`);else if(r.kind===`record`&&r.fields)for(let t of r.fields)i(t,e,`record field`)}}return t}let qd=[[`value`,`amount`,`total`,`price`,`cost`,`revenue`,`mrr`,`arr`,`subtotal`,`fee`,`balance`],[`name`,`title`,`subject`,`label`,`fullname`],[`status`,`state`,`stage`,`phase`],[`created`,`createdat`,`placedat`,`opened`,`signed`,`date`,`timestamp`],[`due`,`duedate`,`deadline`,`closedate`,`expires`],[`owner`,`assignee`,`rep`,`manager`,`agent`,`handler`],[`qty`,`quantity`,`count`,`units`,`stock`,`inventory`],[`email`,`mail`],[`phone`,`mobile`,`tel`],[`description`,`notes`,`summary`,`comment`,`detail`],[`company`,`organization`,`account`,`client`,`vendor`,`supplier`]],Jd=e=>e.toLowerCase().replace(/[^a-z0-9]/g,``);function Yd(e,t,n){let r=t.filter(e=>!n.has(Jd(e))),i=Jd(e),a=r.find(e=>Jd(e)===i);if(a)return a;let o=qd.find(e=>e.includes(i));return o&&(a=r.find(e=>o.includes(Jd(e))),a)?a:(a=r.find(e=>Jd(e).includes(i)||i.includes(Jd(e))),a??``)}function Xd(e,t,n){let r=t.fields.map(e=>e.field),i=new Set,a=[],o=[];for(let t of e.fields){let e=Yd(t.field,r,i);if(!e){o.push(t.field);continue}i.add(Jd(e)),a.push(e===t.field?{...t}:{...t,dbColumn:e})}for(let e of t.fields)i.has(Jd(e.field))||a.push({field:e.field,type:e.type,...e.primaryKey?{primaryKey:!0,readonly:!0}:{}});let s=t.idField??t.fields.find(e=>e.primaryKey)?.field;if(!a.some(e=>e.primaryKey)&&s){let e=a.find(e=>(e.dbColumn??e.field)===s);e&&(e.primaryKey=!0,e.readonly=!0)}let c=a.find(e=>e.primaryKey)?.field??a[0]?.field;return{schema:{name:n,...e.label?{label:e.label}:{},idField:c,fields:a},dropped:o}}async function Zd(){if(!n.onIntrospectDatabase)return;let e=Object.entries(p(wd)).filter(([,e])=>e);if(e.length!==0){V(xd,!0),V(Sd,null);try{let t=await n.onIntrospectDatabase({dialect:p(yd),url:p(Ld),action:`introspect`,tables:e.map(([,e])=>e)}),r=new Map((t.schemas??[]).map(e=>[e.name,e])),i=p(G),a=0;for(let[t,n]of e){let e=r.get(n),o=wt(i,t);if(!e||!o)continue;let{schema:s}=Xd(o,e,t);i=rr(i,t,s),i=dt(i,t,{kind:`sql`,table:n,dialect:p(yd)}),a++}Xr(i),V(Td,a,!0),V(Ed,Kd(i),!0),V(vd,`done`)}catch(e){V(Sd,e instanceof Error?e.message:String(e),!0)}finally{V(xd,!1)}}}let Qd=e=>Dt.find(t=>t.kind===e)?.label??e;function $d(e){return e.config.kind===`component`?jn(e.config.component)?.label??e.config.component:Qd(e.config.kind)}function ef(e){return e.config.kind===`tabs`?e.config.tabs.flatMap(e=>e.blocks.map(t=>({block:t,group:e.label}))):e.config.kind===`accordion`?e.config.sections.flatMap(e=>e.blocks.map(t=>({block:t,group:e.label}))):[]}let tf=(e,t)=>!!t&&/\$/.test(e?.fields.find(e=>e.field===t)?.label??``),nf=(e,t,n)=>{let r=yt(n,{measure:e.measure,reduce:e.reduce});if(typeof r!=`number`)return String(r??``);let i=e.format??`auto`;if(i!==`auto`)return We(r,i);let a=r.toLocaleString(void 0,{maximumFractionDigits:1});return tf(t,e.measure)?`$${a}`:a},rf=(e,t)=>e.trendField?Ve(t,{trendField:e.trendField,measure:e.measure,reduce:e.trendReduce??e.reduce}):[],af=(e,t)=>{if(e.target!=null&&e.target!==0){let n=yt(t,{measure:e.measure,reduce:e.reduce});return{text:`${Math.round(n/e.target*100)}% of target`,up:n>=e.target}}let n=Hn(rf(e,t));return n==null?null:{text:`${n>=0?`▲`:`▼`} ${Math.abs(n).toFixed(0)}%`,up:n>=0}};function of(e,t,n){let r=t.idField??t.fields.find(e=>e.primaryKey)?.field??`id`,i=new Map(e.map(e=>[String(e[r]),{id:String(e[r]),label:String(e[n.labelField]??e[r]),children:[]}])),a=[];for(let t of e){let e=i.get(String(t[r])),o=t[n.parentField]!=null&&t[n.parentField]!==``?String(t[n.parentField]):null;o&&o!==e.id&&i.has(o)?i.get(o).children.push(e):a.push(e)}return a}let sf=[`sum`,`avg`,`count`,`min`,`max`],cf=e=>{let t=e.idField??e.fields.find(e=>e.primaryKey)?.field;return e.fields.filter(e=>e.field!==t)},lf=e=>cf(e).filter(e=>e.type!==`number`&&e.type!==`json`&&e.type!==`relation`),uf=e=>e.fields.filter(e=>e.type===`number`&&!e.primaryKey),df=e=>cf(e).filter(e=>e.type===`enum`||e.type===`boolean`||e.type===`text`),ff=e=>cf(e).filter(e=>e.type!==`json`&&e.type!==`relation`).map(e=>({field:e.field,label:e.label??e.field,kind:e.type===`number`?`measure`:`dimension`,...e.type===`number`?{defaultAgg:`sum`}:{}})),pf=e=>({rows:[...e.rows],cols:[...e.cols],values:e.measure?[{field:e.measure,agg:e.aggregate}]:[],filters:[]}),mf=(e,t)=>t.fields.map(t=>e.fields.find(e=>e.field===t)).filter(e=>!!e),hf=(e,t)=>t.fields&&t.fields.length?e.fields.filter(e=>t.fields.includes(e.field)):cf(e);function gf(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}let _f=N(()=>p(G).access??{enabled:!1,roles:[]}),vf=e=>Xr({...p(G),access:e});function yf(e){e&&(!p(G).access||p(G).access.roles.length===0)?vf({enabled:!0,defaultRole:`viewer`,roles:[{role:`admin`,screens:`*`,actions:`*`},{role:`editor`,screens:`*`,actions:[`create`,`update`,`delete`]},{role:`viewer`,screens:`*`,actions:[]}]}):vf({...p(_f),enabled:e})}let bf=e=>vf({...p(_f),roles:p(_f).roles.map(e)});function xf(){let e=new Set(p(_f).roles.map(e=>e.role)),t=`role`,n=1;for(;e.has(t);)t=`role${++n}`;vf({...p(_f),roles:[...p(_f).roles,{role:t,screens:`*`,actions:[]}]})}function Sf(e){let t=p(_f).roles.filter(t=>t.role!==e);vf({...p(_f),roles:t,defaultRole:p(_f).defaultRole===e?t[0]?.role:p(_f).defaultRole})}function Cf(e,t){let n=t.trim();!n||n!==e&&p(_f).roles.some(e=>e.role===n)||vf({...p(_f),roles:p(_f).roles.map(t=>t.role===e?{...t,role:n}:t),defaultRole:p(_f).defaultRole===e?n:p(_f).defaultRole})}let wf=(e,t)=>e.actions===`*`||e.actions.includes(t);function Tf(e,t){bf(n=>{if(n.role!==e)return n;let r=n.actions===`*`?[...W]:n.actions,i=r.includes(t)?r.filter(e=>e!==t):[...r,t];return{...n,actions:i.length===W.length?`*`:i}})}let Ef=(e,t)=>e.screens===`*`||e.screens.includes(t);function Df(e,t){bf(n=>{if(n.role!==e)return n;let r=n.screens===`*`?p(G).screens.map(e=>e.id):n.screens,i=r.includes(t)?r.filter(e=>e!==t):[...r,t];return{...n,screens:i.length===p(G).screens.length?`*`:i}})}let Of=(e,t)=>bf(n=>n.role===e?{...n,screens:t?`*`:[]}:n),kf=[`edit`,`delete`,`navigate`];function Af(e){let t=p(G).screens.find(t=>t.id===e),n=t?wt(p(G),t.entity):void 0;return n?[...n.fields]:[]}function jf(e){p(Ai)&&p(ss)&&Xr(on(p(G),p(Ai).id,p(ss).id,{config:e}))}function Mf(e){let t=p(ss).config;jf({rowActions:[...t.rowActions??[],{kind:e}]})}function Nf(e,t){let n=p(ss).config;jf({rowActions:(n.rowActions??[]).map((n,r)=>r===e?{...n,...t}:n)})}function Pf(e){let t=p(ss).config;jf({rowActions:(t.rowActions??[]).filter((t,n)=>n!==e)})}let Ff=[{value:`eq`,label:`=`},{value:`ne`,label:`≠`},{value:`lt`,label:`<`},{value:`lte`,label:`≤`},{value:`gt`,label:`>`},{value:`gte`,label:`≥`},{value:`contains`,label:`contains`},{value:`empty`,label:`is empty`},{value:`notEmpty`,label:`not empty`}],If=e=>e!==`empty`&&e!==`notEmpty`;function Lf(){let e=p(ss).config,t=e.columns.find(e=>e.show)?.field??p(os)?.fields[0]?.field??``;jf({formatRules:[...e.formatRules??[],{field:t,op:`gt`,value:0,color:`#dc2626`,bold:!0}]})}function Rf(e,t){let n=p(ss).config;jf({formatRules:(n.formatRules??[]).map((n,r)=>r===e?{...n,...t}:n)})}function zf(e){let t=p(ss).config;jf({formatRules:(t.formatRules??[]).filter((t,n)=>n!==e)})}function Bf(e,t,n){jf({formFields:t?n.includes(e)?n:[...n,e]:n.filter(t=>t!==e)})}function Vf(e,t){let n=Number(t),r=String(t??``);switch(e){case`eq`:return e=>String(e.value)===r;case`ne`:return e=>String(e.value)!==r;case`lt`:return e=>Number(e.value)<n;case`lte`:return e=>Number(e.value)<=n;case`gt`:return e=>Number(e.value)>n;case`gte`:return e=>Number(e.value)>=n;case`contains`:return e=>String(e.value).toLowerCase().includes(r.toLowerCase());case`empty`:return e=>e.value==null||e.value===``;case`notEmpty`:return e=>e.value!=null&&e.value!==``;default:return null}}function Hf(e){let t=[];for(let n of e.formatRules??[]){if((n.op===`lt`||n.op===`lte`||n.op===`gt`||n.op===`gte`)&&!Number.isFinite(Number(n.value)))continue;let e=Vf(n.op,n.value);!e||!n.color&&!n.background&&!n.bold||t.push({type:`rule`,columns:[n.field],when:e,...n.background?{background:n.background}:{},...n.color?{color:n.color}:{},...n.bold?{fontWeight:700}:{}})}return t}let Uf=N(()=>p(G).i18n??{enabled:!1,locales:[`en`]});function Wf(e){e&&(!p(G).i18n||p(G).i18n.locales.length===0)?Xr({...p(G),i18n:{enabled:!0,locales:[`en`],defaultLocale:`en`}}):Xr({...p(G),i18n:{...p(Uf),enabled:e}})}function Gf(e){let t=[...new Set(e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean))];if(!t.length)return;let n=t.includes(p(Uf).defaultLocale??``)?p(Uf).defaultLocale:t[0];Xr({...p(G),i18n:{...p(Uf),locales:t,defaultLocale:n}})}let Kf={grid:`M3 3h18v18H3z M3 9h18 M3 15h18 M9 3v18 M15 3v18`,form:`M4 3h16v18H4z M8 8h8 M8 12h8 M8 16h5`,chart:`M4 4v16h16 M8 16v-5 M13 16V8 M18 16v-9`,dashboard:`M3 3h7v8H3z M14 3h7v5h-7z M14 12h7v9h-7z M3 15h7v6H3z`,kpi:`M3 17l5-5 4 3 6-7 M16 8h4v4`,gauge:`M4 20a8 8 0 1 1 16 0 M12 12l4-3`,tree:`M5 3h6v4H5z M13 10h6v4h-6z M13 17h6v4h-6z M8 7v10h5 M8 12h5`,tabs:`M3 7h5v13H3z M9 7h5v13H9z M3 4h18v3H3z`,accordion:`M4 4h16v4H4z M4 10h16v4H4z M4 16h16v4H4z M15 6l-2 0 M15 12l-2 0`,"master-detail":`M4 5h16 M4 10h8 M8 10v10 M8 15h6 M8 20h6`,pivot:`M3 3h18v18H3z M3 9h18 M9 3v18`,filter:`M3 5h18l-7 8v6l-4 2v-8z`,record:`M4 4h16v16H4z M8 9h8 M8 13h8 M8 17h5`,board:`M4 4h4v16H4z M10 4h4v10h-4z M16 4h4v13h-4z`,calendar:`M4 5h16v15H4z M4 9h16 M8 3v4 M16 3v4`,detail:`M4 3h16v18H4z M8 8h8 M8 12h8 M8 16h5`,lookup:`M10 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12z M20 20l-5.5-5.5`,file:`M6 2h9l5 5v15H6z M15 2v5h5`,copy:`M9 9h11v11H9z M5 15H4V4h11v1`,generate:`M8 6l-5 6 5 6 M16 6l5 6-5 6`,import:`M12 15V3 M7 8l5-5 5 5 M4 17v3h16v-3`,save:`M12 3v12 M7 10l5 5 5-5 M4 19h16`,undo:`M9 14l-4-4 4-4 M5 10h11a4 4 0 0 1 0 8h-1`,redo:`M15 14l4-4-4-4 M19 10H8a4 4 0 0 0 0 8h1`,screen:`M3 4h18v13H3z M8 21h8 M12 17v4`,entity:`M4 6c0-1.7 3.6-3 8-3s8 1.3 8 3-3.6 3-8 3-8-1.3-8-3z M4 6v6c0 1.7 3.6 3 8 3s8-1.3 8-3V6 M4 12v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6`,database:`M4 5c0-1.7 3.6-3 8-3s8 1.3 8 3-3.6 3-8 3-8-1.3-8-3z M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5 M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3`,plus:`M12 5v14 M5 12h14`,deploy:`M22 2L11 13 M22 2l-7 20-4-9-9-4z`,desktop:`M3 4h18v12H3z M8 20h8 M12 16v4`,tablet:`M6 3h12a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z M11 18h2`,mobile:`M8 2h8a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z M11 18h2`,chevron:`M9 6l6 6-6 6`,close:`M6 6l12 12 M18 6L6 18`},qf=e=>Kf[e]??Kf.file,Jf=j(!1),Yf=j(null),Xf=j(!1),Zf=N(()=>p(ql)?.find(e=>e.path===p(Yf))??p(ql)?.[0]),Qf=j(`app`);function $f(){V(ql,p(Qf)===`fragment`?gn(p(G)):wr(p(G)),!0),p(ql).some(e=>e.path===p(Yf))||V(Yf,(p(ql).find(e=>e.path.endsWith(`+page.svelte`))??p(ql)[0])?.path??null,!0)}function ep(){$f();let e=p(ql)??[];V(Yf,(e.find(e=>e.path.endsWith(`+page.svelte`))??e[0])?.path??null,!0),V(Jf,!0)}let tp=e=>e.replace(/^src\//,``);async function np(){if(p(Zf))try{await navigator.clipboard.writeText(p(Zf).contents),V(Xf,!0),setTimeout(()=>V(Xf,!1),1200)}catch{}}let rp=j(!1);async function ip(){if(p(ql)){V(rp,!0);try{let t=(await Gr(async()=>{let{default:t}=await import(`./jszip.min-CX2fPs3O.js`).then(t=>e(t.default));return{default:t}},__vite__mapDeps([0,1]),import.meta.url)).default,n=new t;for(let e of p(ql))n.file(e.path,e.contents);let r=await n.generateAsync({type:`blob`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${(p(G).title||`studio-app`).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`studio-app`}.zip`,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(i)}catch{alert(`Download needs the "jszip" package. Install it (npm i jszip) or copy the files individually.`)}finally{V(rp,!1)}}}function ap(){if(!p(ql))return;let e=document.createElement(`form`);e.method=`POST`,e.action=`https://stackblitz.com/run`,e.target=`_blank`;let t=(t,n)=>{let r=document.createElement(`input`);r.type=`hidden`,r.name=t,r.value=n,e.appendChild(r)};for(let e of p(ql))t(`project[files][${e.path}]`,e.contents);t(`project[title]`,p(G).title||`SvGrid Studio app`),t(`project[description]`,`Generated with SvGrid Studio`),t(`project[template]`,`node`),document.body.appendChild(e),e.submit(),e.remove()}let op=j(`idle`);async function sp(){if(!(!p(ql)||!n.onWriteToDisk)){V(op,`busy`);try{await n.onWriteToDisk(p(ql)),V(op,`done`),setTimeout(()=>V(op,`idle`),1600)}catch{V(op,`idle`)}}}let cp=j(200),lp=j(290),up=j(null),dp=(e,t,n)=>Math.max(t,Math.min(e,n)),fp=j(!1),pp=j(`none`),mp=j(!1);T(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(`(max-width: 900px)`),t=()=>{V(mp,e.matches,!0),e.matches||V(pp,`none`)};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)});let hp=N(()=>p(fp)?`0px 0px minmax(0, 1fr) 6px ${p(lp)}px`:`${p(cp)}px 6px minmax(0, 1fr) 6px ${p(lp)}px`);function gp(){V(pp,p(pp)===`insp`?`none`:`insp`,!0)}T(()=>{p(mp)&&p(uo)&&V(pp,`insp`)});let _p=e=>e.config.kind===`grid`?e.config.scheduler?640:440:200,vp=new Set([`grid`,`chart`,`master-detail`,`pivot`]),yp=e=>vp.has(e.config.kind),bp=new Set([`grid`,`master-detail`]),xp=e=>bp.has(e.config.kind);function Sp(e){let t=e.style;if(!t)return``;let n=[];return t.border===!1?n.push(`border-color: transparent`):t.border===!0&&n.push(`border: 1px solid var(--sg-border)`),t.shadow===!1?n.push(`box-shadow: none`):t.shadow===!0&&n.push(`box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06)`),t.background&&n.push(`background: ${t.background}`),typeof t.radius==`number`&&n.push(`border-radius: ${t.radius}px`),typeof t.margin==`number`&&n.push(`margin: ${t.margin}px`),n.length?`; `+n.join(`; `):``}let Cp=e=>typeof e.style?.padding==`number`?`padding:${e.style.padding}px;`:``,wp=j(null),Tp=j(0),Ep=0,Dp=0,Op=e=>p(wp)===e.id?p(Tp):e.height??_p(e);function kp(e,t){t.preventDefault(),t.stopPropagation(),V(wp,e.id,!0),Ep=t.clientY,Dp=e.height??_p(e),V(Tp,Dp,!0),t.currentTarget.setPointerCapture(t.pointerId)}function Ap(e){p(wp)&&V(Tp,dp(Dp+(e.clientY-Ep),120,900),!0)}function jp(){let e=p(wp);if(V(wp,null),!e||!p(Ai))return;let t=p(Ai).blocks.find(t=>t.id===e);t&&p(Tp)!==(t.height??_p(t))&&Xr(on(p(G),p(Ai).id,e,{height:p(Tp)}))}let Mp=j(null),Np=j(4),Pp=0,Fp=0,Ip=60,Lp=e=>p(Mp)===e.id?p(Np):lt(e);function Rp(e,t){t.preventDefault(),t.stopPropagation(),V(Mp,e.id,!0),Pp=t.clientX,Fp=lt(e);let n=t.currentTarget.closest(`.sv-studio__block`)?.closest(`.sv-studio__canvas`);n&&(Ip=(n.clientWidth-132)/12),V(Np,Fp,!0),t.currentTarget.setPointerCapture(t.pointerId)}function zp(e){if(!p(Mp))return;let t=Math.round((e.clientX-Pp)/Math.max(Ip,1));V(Np,dp(Fp+t,1,12),!0)}function Bp(){let e=p(Mp);if(V(Mp,null),!e||!p(Ai))return;let t=p(Ai).blocks.find(t=>t.id===e);t&&p(Np)!==lt(t)&&Xr(on(p(G),p(Ai).id,e,{colSpan:p(Np)}))}let Vp=(e,t)=>Xr(on(p(G),p(Ai).id,e.id,{colSpan:t})),Hp=e=>{p(Ai)&&p(ss)&&Xr(on(p(G),p(Ai).id,p(ss).id,{style:e}))},Up=e=>e===!0?`on`:e===!1?`off`:``,Wp=e=>e===`on`||e!==`off`&&void 0,Gp=e=>e===``?void 0:Number(e);function Kp(e){let t=e.target,n=!!t&&(/^(INPUT|TEXTAREA|SELECT)$/.test(t.tagName)||t.isContentEditable),r=e.ctrlKey||e.metaKey;if(r&&(e.key===`z`||e.key===`Z`)){e.preventDefault(),e.shiftKey?Qr():Zr();return}if(r&&(e.key===`y`||e.key===`Y`)){e.preventDefault(),Qr();return}if(r&&(e.key===`d`||e.key===`D`)&&p(uo)&&!n){e.preventDefault(),Ga(p(uo));return}if(r&&(e.key===`c`||e.key===`C`)&&p(uo)&&!n&&!window.getSelection()?.toString()){e.preventDefault(),ao();return}if(r&&(e.key===`v`||e.key===`V`)&&p(Qa)&&!n){e.preventDefault(),oo();return}if(e.key===`?`&&!n){e.preventDefault(),V($a,!p($a));return}if(e.key===`Escape`){p($a)?V($a,!1):p(vl)?V(vl,null):p(pi)?V(pi,null):p(K)?V(K,!1):p(_u)?V(_u,!1):p(gu)?V(gu,!1):p(id)?V(id,!1):p(ld)?V(ld,!1):p(Vu)?V(Vu,!1):p(lu)?V(lu,!1):p(Wm)?V(Wm,!1):p(Jf)?V(Jf,!1):p(Yl)===`none`?V(uo,null):V(Yl,`none`);return}!n&&!p(Jf)&&!p(Wm)&&(e.key===`Delete`||e.key===`Backspace`)&&p(uo)&&(e.preventDefault(),fi())}let qp=j(null),Jp=j(null),Yp=j(null),Xp=j(null),Zp=j(null);function Qp(e,t){V(qp,t,!0),V(Jp,null),V(Yp,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`,e.dataTransfer.setData(`text/plain`,t))}function $p(e,t){V(Jp,t,!0),V(qp,null),V(Yp,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`,e.dataTransfer.setData(`text/plain`,`component:${t}`))}function em(e,t){if(p(wp)||p(Mp)){e.preventDefault();return}V(Yp,t,!0),V(qp,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t))}function tm(e,t){if(!p(qp)&&!p(Jp)&&!p(Yp))return;e.preventDefault();let n=e.currentTarget.getBoundingClientRect();V(Zp,e.clientX>n.left+n.width/2?t+1:t,!0),e.dataTransfer&&(e.dataTransfer.dropEffect=p(Yp)?`move`:`copy`)}function nm(e){(p(qp)||p(Jp)||p(Yp))&&e.preventDefault()}function rm(e){if(!p(Ai))return;e.preventDefault();let t=p(Zp)??p(Ai).blocks.length;if(p(Jp))ha(p(Jp),t);else if(p(qp))mi(p(qp),t);else if(p(Yp)){let e=p(Ai).blocks.findIndex(e=>e.id===p(Yp));Xr(Mt(p(G),p(Ai).id,p(Yp),e<t?t-1:t))}im()}function im(){V(qp,null),V(Jp,null),V(Yp,null),V(Zp,null)}function am(e){p(os)&&Xr(rr(p(G),p(os).name,e))}let om=[{value:`required`,label:`is required`},{value:`gt`,label:`>`},{value:`gte`,label:`≥`},{value:`lt`,label:`<`},{value:`lte`,label:`≤`},{value:`eq`,label:`=`},{value:`ne`,label:`≠`},{value:`minLen`,label:`min length`},{value:`maxLen`,label:`max length`}],sm=e=>e!==`required`;function cm(){if(!p(os))return;let e=p(os).fields.find(e=>!e.primaryKey)?.field??p(os).fields[0]?.field??``;am({...p(os),validations:[...p(os).validations??[],{field:e,op:`required`,message:`This field is required`}]})}function lm(e,t){p(os)&&am({...p(os),validations:(p(os).validations??[]).map((n,r)=>r===e?{...n,...t}:n)})}function um(e){p(os)&&am({...p(os),validations:(p(os).validations??[]).filter((t,n)=>n!==e)})}let dm=j(null),fm=j(null);function pm(e,t){if(!p(dm))return;e.preventDefault();let n=e.currentTarget.getBoundingClientRect();V(fm,e.clientY>n.top+n.height/2?t+1:t,!0)}function mm(){if(!p(os)||!p(dm)||p(fm)==null){V(dm,null),V(fm,null);return}let e=p(os).fields.findIndex(e=>e.field===p(dm)),t=[...p(os).fields],[n]=t.splice(e,1);t.splice(Math.max(0,Math.min(e<p(fm)?p(fm)-1:p(fm),t.length)),0,n),am({...p(os),fields:t}),V(dm,null),V(fm,null)}function hm(e,t){p(Ai)&&p(ss)&&Xr(on(p(G),p(Ai).id,p(ss).id,{config:{columns:t}}))}function gm(e,t,n){hm(e,e.columns.map(e=>e.field===t?{...e,show:n}:e))}function _m(e,t,n){hm(e,e.columns.map(e=>e.field===t?{...e,...n}:e))}function vm(e,t,n){let r=t+n;if(r<0||r>=e.columns.length)return;let i=[...e.columns];[i[t],i[r]]=[i[r],i[t]],hm(e,i)}function ym(e){let t=String(e??``).toLowerCase().trim();return[`active`,`open`,`success`,`done`,`paid`,`approved`,`complete`,`completed`,`won`,`shipped`,`yes`,`true`].includes(t)?`success`:[`pending`,`warning`,`in progress`,`processing`,`trial`,`review`,`on hold`,`medium`].includes(t)?`warning`:[`closed`,`error`,`failed`,`cancelled`,`canceled`,`overdue`,`rejected`,`lost`,`blocked`,`inactive`,`no`,`false`,`high`,`urgent`].includes(t)?`danger`:[`new`,`info`,`draft`,`low`].includes(t)?`info`:`neutral`}function bm(e){return e.cellType?`cell:${e.cellType.kind}`:e.format?e.format.type:``}function xm(e,t,n){if(n.startsWith(`cell:`)){let r=n.slice(5);_m(e,t.field,{cellType:{kind:r},format:void 0})}else n?_m(e,t.field,{format:{type:n},cellType:void 0}):_m(e,t.field,{format:void 0,cellType:void 0})}function Sm(e,t,n){t.format&&_m(e,t.field,{format:{...t.format,...n}})}function Cm(e,t,n){t.cellType&&_m(e,t.field,{cellType:{...t.cellType,...n}})}function wm(e,t,n){let r={...e.filterUi??{global:!0},[t]:n||void 0};jf({filterUi:r.global||r.row||r.menu?r:{global:!0}})}function Tm(e,t,n){let r={...e.export??{},[t]:n||void 0};jf({export:r.csv||r.json||r.copy||r.xlsx||r.pdf||r.print?r:void 0})}async function Em(e,t,n){let r=xu[e];if(r)try{let{exportGrid:e}=await Gr(async()=>{let{exportGrid:e}=await import(`./src-7qOYsBug.js`).then(e=>e.t);return{exportGrid:e}},__vite__mapDeps([2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]),import.meta.url);await e(r,{format:t,filename:n})}catch(e){console.error(`Export failed:`,e),alert(`Export failed: `+(e instanceof Error?e.message:String(e)))}}async function Dm(e,t){let n=xu[e];if(n)try{let{printGrid:e}=await Gr(async()=>{let{printGrid:e}=await import(`./src-7qOYsBug.js`).then(e=>e.t);return{printGrid:e}},__vite__mapDeps([2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]),import.meta.url);await e(n,{title:t})}catch(e){console.error(`Print failed:`,e),alert(`Print failed: `+(e instanceof Error?e.message:String(e)))}}function Om(e,t,n){let r=e.grouping??[],i=n?[...r.filter(e=>e!==t),t]:r.filter(e=>e!==t);jf({grouping:i.length?i:void 0,...i.length?{treeData:void 0,scheduler:void 0}:{}})}function km(e,t){if(!t){jf({treeData:void 0});return}jf({treeData:{parentField:p(Ni).find(e=>/parent|manager|reports_to/i.test(e))??p(Ni)[0]??``,labelField:e.columns.find(e=>e.show)?.field??p(Ni)[0]??``},grouping:void 0,scheduler:void 0})}function Am(e,t){e.treeData&&jf({treeData:{...e.treeData,...t}})}function jm(e,t){if(!t){jf({scheduler:void 0});return}jf({scheduler:{startField:(p(os)?.fields??[]).filter(e=>e.type===`date`||/date|start|when|time|due|created/i.test(e.field))[0]?.field??p(Ni)[0]??``,titleField:e.columns.find(e=>e.show)?.field??p(Ni)[0]??``,initialView:`month`,drawer:!0},grouping:void 0,treeData:void 0})}function Mm(e,t){e.scheduler&&jf({scheduler:{...e.scheduler,...t}})}let Nm=e=>(wt(p(G),e)?.fields??[]).filter(e=>e.type===`text`||e.type===`enum`);function Pm(e){switch(e){case`number`:return[{value:``,label:`Number input`},{value:`slider`,label:`Slider`},{value:`rating`,label:`Rating`}];case`boolean`:return[{value:``,label:`Switch`}];case`date`:case`dateString`:return[{value:``,label:`Date`},{value:`datetime`,label:`Date + time`}];case`datetime`:return[{value:``,label:`Date + time`},{value:`date`,label:`Date only`},{value:`time`,label:`Time only`}];case`enum`:case`relation`:return[{value:``,label:`Dropdown`},{value:`rich-select`,label:`Searchable`}];case`json`:return[{value:``,label:`Textarea`}];default:return[{value:``,label:`Text`},{value:`textarea`,label:`Multiline`},{value:`chips`,label:`Tags`},{value:`password`,label:`Password`},{value:`color`,label:`Color`},{value:`phone`,label:`Phone`},{value:`country`,label:`Country`},{value:`mask`,label:`Masked`}]}}let Fm=e=>Pm(e).length>1;function Im(e){if(!p(os))return;let t=(e.options?.length??0)+1,n=[...e.options??[],{value:`option-${t}`,label:`Option ${t}`}];am(NM(p(os),e.field,{options:n}))}function Lm(e,t,n){if(!p(os))return;let r=(e.options??[]).map((e,r)=>r===t?{...e,...n}:e);am(NM(p(os),e.field,{options:r}))}function Rm(e,t){if(!p(os))return;let n=(e.options??[]).filter((e,n)=>n!==t);am(NM(p(os),e.field,{options:n.length?n:void 0}))}function zm(e,t){if(!p(os))return;let n={...e.input??{},...t};for(let e of Object.keys(n)){let t=n[e];(t===``||t==null)&&delete n[e]}let r=Object.keys(n).length?n:void 0;am(NM(p(os),e.field,{input:r}))}let Bm=[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`],Vm=[`postgres`,`mysql`,`sqlite`,`mssql`,`supabase`,`turso`],Hm=[`query`,`path`,`header`,`body`],Um=j(`query`),Wm=j(!1),Gm=j(null),Km=N(()=>p(Gm)?wt(p(G),p(Gm)):p(os)),qm=j(``),Jm=j(null),Ym=j(null),Xm=j(!1),Zm=j(!1);function Qm(e,t){let n=e.querySelector(t.handle),r=null,i=i=>{if(t.maximized||i.target.closest(`button`))return;let a=e.getBoundingClientRect();e.style.position=`fixed`,e.style.margin=`0`,e.style.left=`${a.left}px`,e.style.top=`${a.top}px`,r={dx:i.clientX-a.left,dy:i.clientY-a.top};try{n?.setPointerCapture(i.pointerId)}catch{}i.preventDefault()},a=t=>{r&&(e.style.left=`${Math.min(Math.max(t.clientX-r.dx,0),window.innerWidth-120)}px`,e.style.top=`${Math.min(Math.max(t.clientY-r.dy,0),window.innerHeight-44)}px`)},o=e=>{r=null;try{n?.releasePointerCapture(e.pointerId)}catch{}},s=e=>{e?.addEventListener(`pointerdown`,i),e?.addEventListener(`pointermove`,a),e?.addEventListener(`pointerup`,o)},c=e=>{e?.removeEventListener(`pointerdown`,i),e?.removeEventListener(`pointermove`,a),e?.removeEventListener(`pointerup`,o)},l=t=>{e.classList.toggle(`is-max`,t),t&&(e.style.left=e.style.top=e.style.width=e.style.height=e.style.position=e.style.margin=``)};return s(n),l(t.maximized),{update(r){r.handle!==t.handle&&(c(n),n=e.querySelector(r.handle),s(n)),t=r,l(r.maximized)},destroy(){c(n)}}}T(()=>{p(Wm)||(V(Gm,null),V(qm,``),V(Jm,null),V(Ym,null),V(Xm,!1))}),T(()=>{p(K)||V(Zm,!1)});function $m(e){Zt(p(G),e).kind!==`memory`&&Zt(p(G),e).kind!==`pglite`&&(V(Gm,e,!0),V(qm,``),V(Jm,null),V(Ym,null),V(vh,null),V(Xm,!1),V(K,!1),V(Wm,!0))}let eh=N(()=>p(Km)?Zt(p(G),p(Km).name):{kind:`memory`});function th(e){p(Km)&&Xr(dt(p(G),p(Km).name,e))}function nh(e,t){let n=Zt(p(G),e);if(n.kind===t)return;let r=Ye(t,e),i=n.kind===`memory`||n.kind===`pglite`?n.seed:void 0;i&&(r.kind===`memory`||r.kind===`pglite`)&&(r.seed=i),Xr(dt(p(G),e,r))}function rh(e){p(os)&&nh(p(os).name,e)}function ih(e){p(eh).kind===`rest`&&th({...p(eh),...e})}function ah(e){ih({adapter:e===`none`?void 0:e===`offsetLimit`?{kind:`offsetLimit`}:e===`dummyjson`?{kind:`dummyjson`}:{kind:`jsonServer`}})}function oh(e){let t=p(eh).kind===`rest`?p(eh).adapter:void 0;t?.kind===`offsetLimit`&&ih({adapter:{...t,...e}})}function sh(e){if(e.kind===`dummyjson`)return xM(e.rowsKey);if(e.kind===`jsonServer`)return SM();let{kind:t,...n}=e;return bM(n)}let ch=N(()=>{if(!p(G).entities.length)return null;let e=new Set(p(G).entities.map(e=>Zt(p(G),e.name).kind));return e.size===1&&e.has(`memory`)?`memory`:e.size===1&&e.has(`pglite`)?`pglite`:null}),lh=N(()=>{let e=new Map;for(let t of p(G).entities){let n=Zt(p(G),t.name).kind;e.set(n,(e.get(n)??0)+1)}return[...e].map(([e,t])=>`${As[e]} ×${t}`).join(` · `)||As[p(G).dataSource]});function uh(e){if(p(ch)===e)return;let t=Ct(p(G),e);for(let n of p(G).entities){let r=Zt(p(G),n.name),i=r.kind===`memory`||r.kind===`pglite`?r.seed:void 0;t=dt(t,n.name,e===`pglite`?{kind:`pglite`,table:n.name,...i?{seed:i}:{}}:{kind:`memory`,...i?{seed:i}:{}})}Xr(t)}let dh=e=>[...e.matchAll(/\{([^}]+)\}/g)].map(e=>e[1]);function fh(e){if(p(eh).kind!==`rest`)return;let t=dh(e),n=p(eh).params.filter(e=>e.location!==`path`),r=new Set,i=t.filter(e=>!r.has(e)&&r.add(e)).map(e=>p(eh).kind===`rest`?p(eh).params.find(t=>t.location===`path`&&t.name===e)??{name:e,location:`path`,type:`string`,value:``}:{name:e,location:`path`,type:`string`,value:``});ih({path:e,params:[...n,...i]})}function ph(e){return p(eh).kind===`rest`?p(eh).params.filter(t=>t.location===e):[]}function mh(e){p(eh).kind===`rest`&&ih({params:[...p(eh).params,{name:``,location:e,type:`string`,value:``}]})}function hh(e,t){p(eh).kind===`rest`&&ih({params:p(eh).params.map(n=>n===e?{...n,...t}:n)})}function gh(e){p(eh).kind===`rest`&&ih({params:p(eh).params.filter(t=>t!==e)})}let _h=j(!1),vh=j(null),yh=j(pe([])),bh=j(!1);function xh(e){return{url:e.url??p(G).supabase?.url,key:e.key??p(G).supabase?.key}}function Sh(e){let t={...p(G),supabase:{...p(G).supabase,...e}},n=p(eh);if(n.kind===`supabase`&&(n.url||n.key)&&p(Km)){let{url:e,key:r,...i}=n;t=dt(t,p(Km).name,i)}Xr(t)}let Ch={postgres:`postgresql://user:pass@host:5432/db`,supabase:`postgresql://postgres:pass@db.<ref>.supabase.co:5432/postgres`,mysql:`mysql://user:pass@host:3306/db`,mssql:`sqlserver://user:pass@host:1433;database=db`,sqlite:`/path/to/app.db`,turso:`libsql://your-db.turso.io`};function wh(e){let t=e.trim().toLowerCase();return t.startsWith(`libsql://`)||t.includes(`.turso.io`)?`turso`:t.startsWith(`mysql`)?`mysql`:t.startsWith(`sqlserver://`)||t.startsWith(`mssql://`)||t.includes(`sqlserver`)?`mssql`:t.startsWith(`postgres`)&&t.includes(`supabase.co`)?`supabase`:t.startsWith(`postgres`)?`postgres`:/\.(db|sqlite|sqlite3)(\?|$)/.test(t)||t.length>0&&!t.includes(`://`)?`sqlite`:`postgres`}function Th(e){return{placeholder:Ch[e.dialect??`postgres`],parsed:p(Jm)}}function Eh(e){let t=p(qm).trim();if(!t)return;let n=wh(t),r=MN(n===`turso`||n===`supabase`?`postgres`:n,t);th({...e,dialect:n}),V(Jm,{dialect:n,host:typeof r.host==`string`?r.host:void 0,database:r.database},!0)}let Dh=j(!1),Oh=j(!1),kh=j(!1);async function Ah(){try{await navigator.clipboard.writeText(`npx @svgrid/studio designer`),V(kh,!0),setTimeout(()=>V(kh,!1),1600)}catch{}}async function jh(e){let t=p(Km);if(!t||!n.onIntrospectDatabase)return;let r=p(qm).trim();if(!r){V(vh,{ok:!1,message:`Paste your connection string above first, then Preview data.`},!0);return}V(Dh,!0),V(vh,null),V(Ym,null);try{let i=e.dialect??wh(r),a=(await n.onIntrospectDatabase({dialect:i,url:r,action:`preview`,tables:[e.table||t.name],schema:e.schema})).rows??[];V(Ps,{...p(Ps),[t.name]:a},!0),V(vh,{ok:!0,message:`OK - ${a.length} row${a.length===1?``:`s`} from ${e.table||t.name}.`},!0)}catch(e){let t=e;V(Ym,t?.missingDriver?t.driver??null:null,!0),V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(Dh,!1)}}async function Mh(e){if(n.onInstallDriver){V(Oh,!0),V(vh,null);try{let t=e.dialect??wh(p(qm).trim()),r=await n.onInstallDriver(t);r.ok?(V(Ym,null),await jh(e)):V(vh,{ok:!1,message:`Install failed: ${(r.output||r.package||``).slice(-300)}`},!0)}catch(e){V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(Oh,!1)}}}async function Nh(){if(p(eh).kind!==`supabase`)return;let e=xh(p(eh));if(!e.url||!e.key){V(vh,{ok:!1,message:`Set the project URL and the anon key first.`},!0);return}V(bh,!0),V(vh,null);try{V(yh,await DM(e.url,e.key),!0),V(vh,p(yh).length?{ok:!0,message:`Found ${p(yh).length} table${p(yh).length===1?``:`s`}. Pick one, then Import schema.`}:{ok:!1,message:`No tables listed (the OpenAPI doc may be CORS-blocked or the key is wrong). You can still type the table name.`},!0)}catch(e){V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(bh,!1)}}async function Ph(){let e=p(Km);if(!e||p(eh).kind!==`supabase`)return;let t=p(eh),n=xh(t);if(!n.url||!n.key){V(vh,{ok:!1,message:`Set the project URL and the anon key first.`},!0);return}V(bh,!0),V(vh,null);try{let r=await OM({url:n.url,key:n.key,table:t.table||e.name});r&&r.fields.length?(Xr(rr(p(G),e.name,{...e,idField:r.idField,fields:r.fields})),V(vh,{ok:!0,message:`Imported ${r.fields.length} fields from "${t.table||e.name}".`},!0),await Lh()):(await Lh(),Bh())}catch(e){V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(bh,!1)}}let Fh=(e,t)=>{let n=(e??``).replace(/\/+$/,``),r=(t??``).replace(/^\/+/,``);return n?r?`${n}/${r}`:n:r},Ih=(e,t)=>t?t.split(`.`).filter(Boolean).reduce((e,t)=>e==null?e:e[t],e):e;async function Lh(){let e=p(Km);if(!e)return;let t=p(eh);V(_h,!0),V(vh,null);try{let n;if(t.kind===`rest`){let r=t.path;for(let e of t.params)e.location===`path`&&e.value&&(r=r.split(`{${e.name}}`).join(e.value));let i=Object.fromEntries(t.params.filter(e=>e.location===`header`&&e.value).map(e=>[e.name,e.value])),a=Object.fromEntries(t.params.filter(e=>e.location===`query`&&e.value).map(e=>[e.name,e.value])),o=t.adapter?sh(t.adapter):{parse:t.rowsPath||t.totalPath?e=>{let n=Ih(e,t.rowsPath)??[];return{rows:n,rowCount:Number(Ih(e,t.totalPath)??n.length)}}:void 0};n=vM({url:Fh(t.baseUrl,r),schema:e,headers:i,query:a,...o})}else if(t.kind===`supabase`){let r=xh(t);if(!r.url||!r.key)throw Error(`Set the project URL and the anon key first.`);n=vM({url:`${r.url.replace(/\/+$/,``)}/rest/v1/${t.table}`,schema:e,headers:{apikey:r.key,Authorization:`Bearer ${r.key}`},query:{select:`*`}})}else return;let r=await n.getRows({startRow:0,endRow:25,pageIndex:0,pageSize:25,sortModel:[],filterModel:{}}),i=[...r.rows];V(Ps,{...p(Ps),[e.name]:i},!0),V(vh,{ok:!0,message:`OK - ${r.rowCount} rows returned.`},!0)}catch(e){V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(_h,!1)}}let Rh=e=>{let t=e==null?``:typeof e==`object`?JSON.stringify(e):String(e);return t.length>48?t.slice(0,47)+`…`:t},zh=e=>typeof e==`number`?`number`:typeof e==`boolean`?`boolean`:e&&typeof e==`object`?`json`:`text`;function Bh(){let e=p(Km);if(!e)return;let t=p(Ps)[e.name]??[];if(!t.length)return;let n=Object.keys(t[0]??{});if(!n.length)return;let r=n.includes(`id`)?`id`:n[0],i=n.map(e=>{let n=t.map(t=>t[e]).find(e=>e!=null);return{field:e,type:zh(n),...e===r?{primaryKey:!0}:{}}});Xr(rr(p(G),e.name,{...e,idField:r,fields:i})),V(vh,{ok:!0,message:`Imported ${i.length} fields from the response.`},!0)}var Vh=zG();C(`keydown`,de,Kp);let Hh;var Uh=B(Vh),Wh=B(Uh),Gh=B(Wh);o(B(Gh),()=>`dashboard`),H(Gh),D(2),H(Wh);var Kh=k(Wh,4);P(Kh);var qh=k(Kh,2),Jh=e=>{var t=fL();let n;w(()=>n=Ce(t,1,`sv-studio__tb-btn svelte-psjrav`,null,n,{"is-active":p(pp)===`insp`})),x(`click`,t,gp),d(e,t)};h(qh,e=>{p(mp)&&e(Jh)});var Yh=k(qh,2),Xh=B(Yh);let Zh;var Qh=B(Xh),$h=k(Qh,2),eg=B($h,!0);H($h),o(k($h,2),()=>`chevron`),H(Xh);var tg=k(Xh,2),ng=e=>{var t=gL(),r=L(t),i=k(r,2),a=B(i),o=e=>{var t=pL(),n=B(t);let r;var i=k(n,2);let a;H(t),w(()=>{r=Ce(n,1,`svelte-psjrav`,null,r,{"is-active":p(jl)===`light`}),a=Ce(i,1,`svelte-psjrav`,null,a,{"is-active":p(jl)===`dark`})}),x(`click`,n,()=>Xr(qt(p(G),{mode:`light`}))),x(`click`,i,()=>Xr(qt(p(G),{mode:`dark`}))),d(e,t)};h(a,e=>{n.appearance||e(o)});var s=k(a,2);oe(s,21,()=>kr,e=>e.id,(e,t)=>{let n=N(()=>(p(G).theme?.preset??`tailwind`)===p(t).id),r=N(()=>p(t)[p(jl)]);var i=mL();let a;var o=k(B(i),2),s=B(o,!0);H(o),H(i),w(()=>{a=Ce(i,1,`sv-studio__theme svelte-psjrav`,null,a,{"is-active":p(n)}),z(i,`aria-checked`,p(n)),z(i,`title`,p(t).name),A(i,`--pv-bg: ${p(r).bg??``}; --pv-header: ${p(r).headerBg??``}; --pv-border: ${p(r).border??``}; --pv-accent: ${p(r).accent??``}; --pv-fg: ${p(r).fg??``}`),v(s,p(t).name)}),x(`click`,i,()=>Xr($t(p(G),p(t).id))),d(e,i)}),H(s);var c=k(s,2),l=k(B(c)),u=B(l);P(u);var f=k(u,2),m=e=>{var t=hL();x(`click`,t,()=>Xr(qt(p(G),{accent:void 0}))),d(e,t)};h(f,e=>{p(G).theme?.accent&&e(m)}),H(l),H(c);var g=k(c,2),_=k(B(g));P(_);var y=k(_,2),b=k(B(y));b.textContent=`.brand-app { … }`,D(),H(y),H(g),D(2),H(i),w(()=>{I(u,p(G).theme?.accent??p(Fl)),I(_,p(G).theme?.appClass??``)}),x(`click`,r,()=>V(gu,!1)),x(`change`,u,e=>Xr(qt(p(G),{accent:e.currentTarget.value}))),x(`change`,_,e=>Xr(qt(p(G),{appClass:e.currentTarget.value.trim()||void 0}))),d(e,t)};h(tg,e=>{p(gu)&&e(ng)}),H(Yh);var rg=k(Yh,4),ig=e=>{var t=_L();let n;var r=B(t);H(t),w(()=>{n=Ce(t,1,`sv-studio__saved svelte-psjrav`,null,n,{"is-saving":p(oi)===`Saving…`}),v(r,`${p(oi)===`Saving…`?``:`✓ `}${p(oi)??``}`)}),d(e,t)};h(rg,e=>{p(oi)&&e(ig)});var ag=k(rg,2);o(B(ag),()=>`undo`),H(ag);var og=k(ag,2);o(B(og),()=>`redo`),H(og);var sg=k(og,2),cg=k(sg,4),lg=e=>{var t=vL();let n;w(()=>n=Ce(t,1,`sv-studio__tb-btn sv-studio__tb-btn--ai svelte-psjrav`,null,n,{"is-active":p(Vu)})),x(`click`,t,Ku),d(e,t)};h(cg,e=>{n.onCopilot&&e(lg)});var ug=k(cg,2);o(B(ug),()=>`plus`),D(),H(ug);var dg=k(ug,2);o(B(dg),()=>`dashboard`),D(),H(dg);var fg=k(dg,2),pg=e=>{var t=yL();let n;var r=B(t);o(r,()=>`entity`),D(),H(t),w(()=>n=Ce(t,1,`sv-studio__tb-btn svelte-psjrav`,null,n,{"is-active":p(K)})),x(`click`,t,()=>V(K,!0)),d(e,t)};h(fg,e=>{p(G).entities.length>0&&e(pg)});var mg=k(fg,2),hg=B(mg);let gg;var _g=B(hg);o(_g,()=>`plus`),o(k(_g,2),()=>`chevron`),H(hg);var vg=k(hg,2),yg=e=>{var t=SL(),r=L(t),i=k(r,2),a=B(i),s=B(a);o(s,()=>`plus`),D(),H(a);var c=k(a,2),l=B(c);o(l,()=>`import`);var u=k(l,3);H(c);var f=k(c,2),m=B(f);o(m,()=>`database`),D(),H(f);var g=k(f,2),_=e=>{var t=xL(),n=L(t),r=B(n);o(r,()=>`database`),D(),H(n);var i=k(n,2),a=e=>{var t=bL(),n=B(t);o(n,()=>`database`),D(),H(t),x(`click`,t,()=>{V(_u,!1),Ud()}),d(e,t)};h(i,e=>{p(G).entities.length>0&&e(a)}),x(`click`,n,()=>{V(_u,!1),gd()}),d(e,t)};h(g,e=>{n.onIntrospectDatabase&&e(_)});var v=k(g,2),y=B(v);o(y,()=>`import`),D(),H(v),H(i),x(`click`,r,()=>V(_u,!1)),x(`click`,a,()=>{V(_u,!1),V(Qu,``),V(Zu,!0)}),x(`change`,u,e=>{V(_u,!1),rd(e.currentTarget.files?.[0]),e.currentTarget.value=``}),x(`click`,f,()=>{V(_u,!1),V(dd,null),V(ld,!0)}),x(`click`,v,()=>{V(_u,!1),V(Yl,`import`)}),d(e,t)};h(vg,e=>{p(_u)&&e(yg)}),H(mg);var bg=k(mg,2);let xg;var Sg=k(bg,2);let Cg;o(B(Sg),()=>`save`),D(),H(Sg);var wg=k(Sg,4),Tg=e=>{var t=CL();x(`click`,t,es),d(e,t)};h(wg,e=>{p(Qo)&&e(Tg)});var Eg=k(wg,2),Dg=k(Eg,4);let Og;var kg=k(Dg,2),Ag=k(kg,2);o(B(Ag),()=>`screen`),D(),H(Ag);var jg=k(Ag,2);let Mg;o(B(jg),()=>`deploy`),D(),H(jg);var Ng=k(jg,2),Pg=k(Ng,2);o(B(Pg),()=>`generate`),D(),H(Pg),H(Uh);var Fg=k(Uh,2),Ig=e=>{var t=wL(),n=B(t),r=B(n);o(r,()=>`save`),D(),H(n);var i=k(n,2),a=k(i,2);H(t),x(`click`,i,ci),x(`click`,a,li),d(e,t)};h(Fg,e=>{p(ni)&&e(Ig)});var Lg=k(Fg,2),Rg=e=>{var t=TL(),n=B(t),r=B(n,!0);H(n);var i=k(n,2);H(t),w(()=>v(r,p(nd))),x(`click`,i,()=>V(nd,null)),d(e,t)};h(Lg,e=>{p(nd)&&e(Rg)});var zg=k(Lg,2),Bg=e=>{var t=EL(),n=B(t),r=B(n,!0);H(n);var i=k(n,2);H(t),w(()=>v(r,p(Ql))),x(`click`,i,()=>V(Ql,null)),d(e,t)};h(zg,e=>{p(Ql)&&p(Yl)===`none`&&e(Bg)});var Vg=k(zg,2),Hg=e=>{var t=ML(),n=B(t),r=e=>{var t=DL(),n=k(L(t),2);ne(n),w(()=>I(n,p($l))),d(e,t)},i=e=>{var t=OL(),n=k(L(t),2);let r;var i=B(n);o(i,()=>`import`);var a=k(i,4);H(n);var s=k(n,2);ne(s),z(s,`placeholder`,`…or paste { "entities": [...], "screens": [...] }`);var c=k(s,2);w(e=>{r=Ce(n,1,`sv-studio__dropzone svelte-psjrav`,null,r,{"is-dragover":p(nu)}),c.disabled=e},[()=>!p(Xl).trim()]),C(`dragover`,n,e=>{e.preventDefault(),V(nu,!0)}),C(`dragleave`,n,()=>V(nu,!1)),C(`drop`,n,au),x(`change`,a,e=>ru(e.currentTarget.files?.[0])),te(s,()=>p(Xl),e=>V(Xl,e)),x(`click`,c,tu),d(e,t)},a=e=>{var t=kL(),n=k(L(t),2);ne(n),z(n,`placeholder`,`model User { id Int @id ... } · or an OpenAPI 3 JSON document`);var r=k(n,2);te(n,()=>p(Zl),e=>V(Zl,e)),x(`click`,r,su),d(e,t)};h(n,e=>{p(Yl)===`save`?e(r):p(Yl)===`load`?e(i,1):e(a,-1)});var s=k(n,2),c=e=>{var t=AL(),n=B(t,!0);H(t),w(()=>v(n,p(ou))),d(e,t)};h(s,e=>{p(ou)&&e(c)});var l=k(s,2),u=e=>{var t=jL(),n=B(t,!0);H(t),w(()=>v(n,p(Ql))),d(e,t)};h(l,e=>{p(Ql)&&e(u)}),H(t),d(e,t)};h(Vg,e=>{p(Yl)!==`none`&&e(Hg)});var Ug=k(Vg,2);let Wg;{let e=e=>{var t=zL(),n=B(t),r=B(n),i=B(r),a=B(i);o(a,()=>`chevron`),D(),H(i);var s=k(i,2),c=B(s);oe(c,17,()=>p(G).screens,e=>e.id,(e,t)=>{var n=NL();let r;var i=B(n),a=B(i);o(a,()=>`screen`);var s=k(a),c=B(s,!0);H(s);var l=k(s),u=B(l);H(l),H(i);var f=k(i,2),m=k(f,2),h=B(m);o(h,()=>`close`),H(m),H(n),w(()=>{r=Ce(n,1,`sv-studio__tree-row svelte-psjrav`,null,r,{"is-active":p(t).id===p(Ai)?.id,"is-dragging":p(Xp)===p(t).id}),v(c,p(t).title),v(u,`/${p(t).route??``}`)}),C(`dragstart`,n,()=>V(Xp,p(t).id,!0)),C(`dragover`,n,e=>e.preventDefault()),C(`drop`,n,e=>{e.preventDefault(),p(Xp)&&p(Xp)!==p(t).id&&Xr(ze(p(G),p(Xp),p(G).screens.findIndex(e=>e.id===p(t).id))),V(Xp,null)}),C(`dragend`,n,()=>V(Xp,null)),x(`contextmenu`,n,e=>qa(e,Za(p(t)))),x(`click`,i,()=>{V(ki,p(t).id,!0),V(uo,null)}),x(`click`,f,()=>{V(ki,p(t).id,!0),so()}),x(`click`,m,()=>Xr(kn(p(G),p(t).id))),d(e,n)});var l=k(c,2),u=e=>{var t=PL();d(e,t)};h(l,e=>{p(G).screens.length===0&&e(u)}),H(s),H(r);var f=k(r,2),m=B(f),g=B(m);o(g,()=>`chevron`),D(),H(m);var _=k(m,2);oe(_,21,()=>p(G).entities,e=>e.name,(e,t)=>{let n=N(()=>Ns(p(t).name));var r=FL(),i=B(r),a=B(i);o(a,()=>`entity`);var s=k(a),c=B(s,!0);H(s),H(i);var l=k(i,2);let u;var f=B(l,!0);H(l);var m=k(l,2),h=B(m);o(h,()=>`plus`),H(m),H(r),w(()=>{v(c,p(t).label??p(t).name),u=Ce(l,1,`sv-studio__srcchip svelte-psjrav`,null,u,{"is-inherited":!p(n).explicit}),A(l,`--src: ${p(n).color??``}`),z(l,`title`,`${p(t).label??p(t).name??``} data: ${p(n).label??``}${p(n).explicit?``:` (project default)`} - click to manage in Data model`),v(f,p(n).label),z(m,`aria-label`,`Add screen for ${p(t).name??``}`),z(m,`title`,`Add ${p(Jl)??``} screen`)}),x(`click`,l,()=>io(p(t).name)),x(`click`,m,()=>Xr(je(p(G),p(t).name,p(Jl)))),d(e,r)}),H(_),H(f);var y=k(f,2),b=B(y),S=k(B(b)),T=B(S),O=B(T);O.value=O.__value=`crud`;var ee=k(O);ee.value=ee.__value=`dashboard`;var te=k(ee);te.value=te.__value=`master-detail`;var j=k(te);j.value=j.__value=`empty`,H(T);var M=k(T,2),ne=B(M);o(ne,()=>`plus`),H(M),H(S),H(b);var F=k(b,2),re=k(B(F)),ie=B(re);ie.value=ie.__value=`memory`;var ae=k(ie);ae.value=ae.__value=`pglite`;var se=k(ae);se.value=se.__value=`sql`;var R=k(se);R.value=R.__value=`supabase`;var ce=k(R);ce.value=ce.__value=`rest`,H(re);var le;xe(re),H(F);var ue=k(F,4),de=B(ue),fe=B(de);o(fe,()=>`chevron`),D(),H(de);var pe=k(de,2),me=B(pe),he=k(B(me)),ge=B(he);ge.value=ge.__value=`sidebar`;var _e=k(ge);_e.value=_e.__value=`top-nav`;var ve=k(_e);ve.value=ve.__value=`bottom-nav`,H(he);var ye;xe(he),H(me);var be=k(me,2),Se=e=>{var t=IL(),n=k(B(t)),r=B(n);r.value=r.__value=`left`;var i=k(r);i.value=i.__value=`right`,H(n);var a;xe(n),H(t),w(()=>{a!==(a=p(G).theme?.shell?.navPosition??`left`)&&(n.value=(n.__value=p(G).theme?.shell?.navPosition??`left`)??``,Te(n,p(G).theme?.shell?.navPosition??`left`))}),x(`change`,n,e=>Xr(Xt(p(G),{navPosition:e.currentTarget.value}))),d(e,t)};h(be,e=>{(p(G).theme?.shell?.style??`sidebar`)===`sidebar`&&e(Se)});var we=k(be,2),Ee=k(B(we));P(Ee),H(we);var De=k(we,4),Oe=B(De),ke=e=>{var t=LL(),n=L(t),r=k(n,2);w(()=>z(n,`src`,p(Vl))),x(`click`,r,()=>Xr(Xt(p(G),{logo:void 0}))),d(e,t)},Ae=e=>{var t=RL();x(`change`,t,Gl),d(e,t)};h(Oe,e=>{p(Vl)?e(ke):e(Ae,-1)}),H(De);var Me=k(De,4),Ne=k(B(Me));P(Ne),H(Me),H(pe),H(ue),H(y),H(n),H(t),w(()=>{le!==(le=p(G).dataSource)&&(re.value=(re.__value=p(G).dataSource)??``,Te(re,p(G).dataSource)),ye!==(ye=p(G).theme?.shell?.style??`sidebar`)&&(he.value=(he.__value=p(G).theme?.shell?.style??`sidebar`)??``,Te(he,p(G).theme?.shell?.style??`sidebar`)),I(Ee,p(G).theme?.shell?.brand??``),z(Ee,`placeholder`,p(G).title),I(Ne,p(G).theme?.shell?.footer??``)}),E(T,()=>p(Jl),e=>V(Jl,e)),x(`click`,M,()=>co()),x(`change`,re,e=>Xr(Ct(p(G),e.currentTarget.value))),x(`change`,he,e=>Xr(Xt(p(G),{style:e.currentTarget.value}))),x(`change`,Ee,e=>Xr(Xt(p(G),{brand:e.currentTarget.value}))),x(`change`,Ne,e=>Xr(Xt(p(G),{footer:e.currentTarget.value}))),d(e,t)},t=e=>{var t=UL(),n=B(t),r=B(n),i=B(r),a=B(i,!0);H(i);var s=k(i,2);oe(s,21,()=>Dt,e=>e.kind,(e,t)=>{var n=BL();let r;var i=B(n);o(i,()=>p(t).kind);var a=k(i,1,!0);H(n),w(()=>{r=Ce(n,1,`sv-studio__palette-item svelte-psjrav`,null,r,{"is-dragging":p(qp)===p(t).kind}),n.disabled=!p(Ai),z(n,`draggable`,!!p(Ai)),z(n,`title`,p(os)?p(t).needs?`Needs a ${p(t).needs}`:`Drag onto the canvas, or click to add`:`Drop it and pick an entity to bind this page to`),v(a,p(t).label)}),C(`dragstart`,n,e=>p(Ai)&&Qp(e,p(t).kind)),C(`dragend`,n,im),x(`click`,n,()=>mi(p(t).kind)),d(e,n)}),H(s);var c=k(s,4);oe(c,17,()=>_i,e=>e.category,(e,t)=>{var n=HL(),r=L(n),i=B(r,!0);H(r);var a=k(r,2);oe(a,21,()=>p(t).items,e=>e.key,(e,t)=>{var n=VL();let r;var i=B(n);o(i,()=>`file`);var a=k(i,1,!0);H(n),w(()=>{r=Ce(n,1,`sv-studio__palette-item svelte-psjrav`,null,r,{"is-dragging":p(Jp)===p(t).key}),n.disabled=!p(Ai),z(n,`draggable`,!!p(Ai)),v(a,p(t).label)}),C(`dragstart`,n,e=>p(Ai)&&$p(e,p(t).key)),C(`dragend`,n,im),x(`click`,n,()=>ha(p(t).key)),d(e,n)}),H(a),w(()=>v(i,p(t).category)),d(e,n)}),H(r),H(n),H(t),w(()=>v(a,p(Ai)?p(os)?`Drag a block onto the canvas, or click to add it to the current screen.`:`Data blocks read a page’s entity - drop one and you’ll pick which entity to bind this page to. UI components below drop onto any page.`:`Add or select a screen first, then drop blocks onto it.`)),d(e,t)},r=e=>{var t=jee(),r=B(t),i=e=>{var t=GL(),n=B(t);let r;var i=B(n);o(i,()=>`dashboard`),D(),H(n);var a=k(n,2);let s;var c=B(a);o(c,()=>`file`);var l=k(c,2),u=e=>{var t=WL();d(e,t)};h(l,e=>{p(Ai).code&&e(u)}),H(a),H(t),w(()=>{r=Ce(n,1,`sv-studio__viewtab svelte-psjrav`,null,r,{"is-active":p(fo)===`design`}),z(n,`aria-selected`,p(fo)===`design`),s=Ce(a,1,`sv-studio__viewtab svelte-psjrav`,null,s,{"is-active":p(fo)===`code`}),z(a,`aria-selected`,p(fo)===`code`)}),x(`click`,n,()=>V(fo,`design`)),x(`click`,a,()=>V(fo,`code`)),d(e,t)};h(r,e=>{p(Ai)&&e(i)});var a=k(r,2),s=e=>{var t=iR(),n=B(t),r=B(n),i=B(r);let a;var s=B(i);o(s,()=>`file`),D(),H(i);var c=k(i,2);let l;var u=k(c,2);let f;var m=k(u,2);let g;H(r);var _=k(r,2),y=e=>{var t=KL(),n=B(t);P(n),D(),H(t),w(()=>ce(n,p(cs))),x(`change`,n,e=>Xr(fr(p(G),p(Ai).id,e.currentTarget.checked))),d(e,t)};h(_,e=>{(p(mo)===`onLoad`||p(mo)===`onDestroy`)&&!p(os)&&e(y)}),H(n);var b=k(n,2),S=e=>{var t=eR(),n=L(t),r=B(n),i=B(r),a=B(i);let s;var c=k(B(a)),l=e=>{var t=qL();d(e,t)};h(c,e=>{(p(us)||p(Ai).handlerSteps?.onLoad?.length)&&e(l)}),H(a);var u=k(a,2);let f;var m=k(B(u)),g=e=>{var t=JL();d(e,t)};h(m,e=>{(p(ds)||p(Ai).handlerSteps?.onDestroy?.length)&&e(g)}),H(u),H(i);var _=k(i,2),y=B(_),b=B(y),S=B(b);o(S,()=>`screen`);var C=k(S,1,!0);H(b);var T=k(b,2),E=B(T,!0);H(T),H(y);var O=k(y,2),A=e=>{var t=YL();sM(L(t),{get value(){return p(us)},get completions(){return p(_s)},get snippets(){return p(bs)},placeholder:`// Runs when the page mounts. Reach the grid via ctx.grid, feed a chart via ctx.chart1.setData(rows).
75792
+ console.log(csv)`}]:[],...p(vs)?[{label:`Feed ${p(vs).name}`,code:`const res = await fetch('/api/data')\nctx.${p(vs).name}.setData(await res.json())`}]:[],...p(ys)?[{label:`Wire ${p(ys).name}`,code:`ctx.${p(ys).name}.onclick = () => {\n ctx.${p(ys).name}.setLabel('Clicked')\n}`}]:[],{label:`Log on mount`,code:`console.log('page mounted', ctx)`}]),xs={name:`__free__`,label:``,idField:`id`,fields:[]},Ss=N(()=>_n(p(G))),Cs=N(()=>br(p(G))),ws=N(()=>p(Ss).filter(e=>e.level===`error`).length),Ts=N(()=>{let e={};for(let t of p(Ss))t.block&&(e[t.block]??=[]).push(t);return e});function Es(e){e.screen&&V(ki,e.screen,!0),V(uo,e.block??null,!0),e.block&&queueMicrotask(()=>document.querySelector(`[data-block-id="${CSS.escape(e.block)}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`}))}T(()=>{!p(G).screens.some(e=>e.id===p(ki))&&p(G).screens[0]&&V(ki,p(G).screens[0].id,!0)}),T(()=>$e(`Studio`));let Ds=[`count`,`sum`,`avg`,`min`,`max`],Os=[{type:`bar`,label:`Bar`,glyph:`<rect x="2" y="13" width="6" height="13" rx="1"/><rect x="11" y="6" width="6" height="20" rx="1"/><rect x="20" y="16" width="6" height="10" rx="1"/><rect x="29" y="9" width="6" height="17" rx="1"/>`},{type:`pie`,label:`Pie`,glyph:`<circle cx="18" cy="14" r="12" opacity="0.32"/><path d="M18,14 L18,2 A12,12 0 0,1 29,18 Z"/>`},{type:`line`,label:`Line`,glyph:`<polyline points="2,22 12,10 21,16 36,4" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"/>`},{type:`area`,label:`Area`,glyph:`<path d="M2,22 L12,10 L21,16 L36,4 L36,26 L2,26 Z" opacity="0.9"/>`},{type:`radar`,label:`Radar`,glyph:`<polygon points="18,3 32,13 27,27 9,27 4,13" fill="none" stroke="currentColor" stroke-width="1.5" opacity="0.4"/><polygon points="18,9 26,14 23,23 13,23 10,14"/>`},{type:`funnel`,label:`Funnel`,glyph:`<path d="M3,4 H35 L28,12 H10 Z"/><path d="M11,15 H27 L23,23 H15 Z" opacity="0.7"/>`},{type:`waterfall`,label:`Waterfall`,glyph:`<rect x="2" y="15" width="6" height="11" rx="1"/><rect x="11" y="10" width="6" height="8" rx="1" opacity="0.7"/><rect x="20" y="6" width="6" height="9" rx="1"/><rect x="29" y="6" width="6" height="20" rx="1" opacity="0.7"/>`},{type:`treemap`,label:`Treemap`,glyph:`<rect x="2" y="3" width="20" height="15" rx="1"/><rect x="24" y="3" width="12" height="15" rx="1" opacity="0.6"/><rect x="2" y="20" width="12" height="6" rx="1" opacity="0.7"/><rect x="16" y="20" width="20" height="6" rx="1" opacity="0.5"/>`}],ks=e=>`<svg viewBox="0 0 38 28" width="26" height="19" fill="currentColor" aria-hidden="true">${Os.find(t=>t.type===e)?.glyph??``}</svg>`,As={memory:`In-memory`,pglite:`Local database`,sql:`SQL`,supabase:`Supabase`,rest:`REST`},js={memory:`Fake sample data, zero setup. Best for designing and demos - no database needed.`,pglite:`A real database that runs inside your browser (saved on this computer). No server, no sign-up - great for learning and prototypes.`,supabase:`A free hosted Postgres database with a friendly web dashboard. The easiest real database, and it works right here in the browser (paste the project URL + anon key).`,sql:`Your own SQL database (Postgres, MySQL, SQL Server, SQLite). To connect and see rows live you need the local designer; online you set it up here and the generated app connects for real.`,rest:`An existing web API - a URL that returns JSON. Use this when your data already lives behind an API.`},Ms={memory:`#94a3b8`,pglite:`#14b8a6`,sql:`#3b82f6`,supabase:`#10b981`,rest:`#a855f7`};function Ns(e){let t=Zt(p(G),e).kind;return{kind:t,label:As[t],color:Ms[t],explicit:!!p(G).dataSources?.[e]}}let Ps=j(pe({}));function Fs(e,t){let n=t.fields.filter(e=>e.type===`relation`&&e.relation);if(!n.length)return e;let r=n.map(e=>{let t=wt(p(G),e.relation.entity),n=Zt(p(G),e.relation.entity),r=n.kind===`memory`&&n.seed?.length?n.seed:t?PM(t,6):[],i=t?.idField??t?.fields.find(e=>e.primaryKey)?.field??`id`;return{field:e.field,map:new Map(r.map(t=>[String(t[i]),t[e.relation.labelField]]))}});return e.map(e=>{let t={...e};for(let{field:n,map:i}of r){let r=i.get(String(e[n]));r!=null&&(t[n]=r)}return t})}function Is(e){return Fs(Rs(e),e)}function Rs(e){let t=Zt(p(G),e.name);return p(Ps)[e.name]??(t.kind===`memory`&&t.seed?.length?t.seed:PM(e,6))}let zs=j(null),Bs=j(null),Vs=j(null),Hs=j(null),Us=j(`design`),Ws=j(`field`),Gs=j(`edit`),Ks=j(``),qs=j(!1),Js=j(pe([])),Ys=j(`full`),Xs={sm:`400px`,md:`560px`,lg:`760px`,full:`none`},Zs=j(!0),Qs=j(!1),$s=j(``),ec=j(`text`),tc=j(``),nc=j(null),rc=N(()=>p(zs)?wt(p(G),p(zs)):void 0),ic=N(()=>p(rc)?gr(p(rc)):{sections:[],unassigned:[]}),ac=e=>p(rc)?.fields.find(t=>t.field===e),oc=N(()=>(p(rc)?.fields??[]).map(e=>({id:e.field,name:e.label??e.field,type:e.type===`number`?`number`:e.type===`boolean`?`boolean`:e.type===`date`||e.type===`dateString`?`date`:e.type===`datetime`?`datetime`:`text`}))),cc=[{key:`visible`,label:`Shown when`,hint:`Hidden fields are skipped by validation and left out of the saved record.`},{key:`required`,label:`Required when`,hint:`Replaces the field’s own Required flag - it can make a required field optional too.`},{key:`disabled`,label:`Locked when`,hint:`The value still saves; the user just cannot change it.`}];function lc(e){let t=p(oc).find(t=>t.id!==e)?.id??p(oc)[0]?.id;return t?{kind:`cmp`,column:t,op:`equals`,value:``}:{kind:`const`,value:!0}}let dc=N(()=>(p(rc)?.fields??[]).filter(e=>qe(e,`form`))),fc=N(()=>new Set(p(Js))),mc=N(()=>[...p(ic).sections.flatMap(e=>e.fields),...p(ic).unassigned]),hc=N(()=>p(Vs)&&p(fc).has(p(Vs))?p(mc).filter(e=>p(fc).has(e)):p(Vs)?[p(Vs)]:[]);T(()=>{let e=p(Js).filter(e=>p(mc).includes(e));e.length!==p(Js).length&&V(Js,e,!0)});let gc=N(()=>new Map((p(rc)?Vr(p(rc)):[]).map(e=>[e.field,e]))),_c=N(()=>!!p(rc)&&(gt(p(rc))||(p(rc).form?.sections??[]).some(e=>e.visibleWhen))),vc=N(()=>p(Zs)&&p(_c)&&p(Us)===`design`),yc=N(()=>p(rc)?zn(p(rc),p(Gs)===`create`?null:Rs(p(rc))[0]??null):{});function xc(e){if(!p(vc))return null;let t=p(gc).get(e);return t?pt(t,p(yc)):null}let Sc=e=>!p(vc)||!e.visibleWhen||St(e.visibleWhen,p(yc));function Cc(e){V(zs,e,!0),V(Bs,null),V(Js,[],!0),V(Qs,!1),V(tc,``),V(nc,null)}function wc(e){if(e.key===`Escape`){if(p(Qs)){V(Qs,!1),V(tc,``),e.stopPropagation();return}if(p(Js).length>1){V(Js,p(Bs)?[p(Bs)]:[],!0),e.stopPropagation();return}V(zs,null)}}function Tc(e){let t=ac(e)?.when;return t?[t.visible,t.disabled,t.required].filter(Boolean).length:0}function Ec(e,t,n){p(zs)&&Xr(Hr(p(G),p(zs),e,{...ac(e)?.when,[t]:n}))}function Oc(e,t){p(zs)&&Xr(vr(p(G),p(zs),e,t))}function kc(e,t){p(zs)&&Xr(Vt(p(G),p(zs),e,t))}function Ac(e,t,n){if(n.ctrlKey||n.metaKey){p(fc).has(e)?(V(Js,p(Js).filter(t=>t!==e),!0),p(Bs)===e&&V(Bs,p(Js).at(-1)??null,!0)):(V(Js,[...p(Js),e],!0),V(Bs,e,!0)),V(Ks,`${p(Js).length} field${p(Js).length===1?``:`s`} selected.`),V(Ws,`field`);return}let r=t===null?p(ic).unassigned:p(ic).sections[t]?.fields??[];if(n.shiftKey&&p(Bs)&&r.includes(p(Bs))&&p(Bs)!==e){let t=r.indexOf(p(Bs)),n=r.indexOf(e);V(Js,r.slice(Math.min(t,n),Math.max(t,n)+1),!0),V(Bs,e,!0),V(Ks,`${p(Js).length} fields selected.`),V(Ws,`field`);return}let i=p(Bs)===e&&p(Js).length<=1;V(Bs,i?null:e,!0),V(Js,i?[]:[e],!0),V(Ws,`field`)}function jc(e){p(zs)&&(Xr(Ie(p(G),p(zs),e,`form`,!1)),V(Ks,`${ac(e)?.label??e} restored to the form.`))}function Mc(e){let t=p($s).trim();if(!t){V(tc,`Give the field a name.`);return}if(e.fields.some(e=>e.field===t)){V(tc,`"${t}" already exists on ${e.label??e.name}.`);return}let n=rr(p(G),e.name,jM(e,{field:t,type:p(ec)}));p(nc)!=null&&(n=hn(n,e.name,t,p(nc))),Xr(n),V(Bs,t,!0),V(Js,[t],!0),V(Ws,`field`),V(Qs,!1),V($s,``),V(tc,``),V(Ks,`${t} added to the form.`)}function Pc(e,t){Oc(e,{options:t.length?t:void 0})}function Fc(e){let t=(e.options?.length??0)+1;Pc(e.field,[...e.options??[],{value:`option-${t}`,label:`Option ${t}`}])}function Ic(e,t,n){Pc(e.field,(e.options??[]).map((e,r)=>r===t?{...e,...n}:e))}function Rc(e,t){Pc(e.field,(e.options??[]).filter((e,n)=>n!==t))}function zc(e){p(zs)&&(Xr(Ie(p(G),p(zs),e,`form`,!0)),p(Bs)===e&&V(Bs,null),V(Ks,`${ac(e)?.label??e} removed from the form.`))}function Bc(){if(!p(rc)||!p(zs))return;let e=$n(p(rc));e.length&&(Xr(kt(p(G),p(zs),{...p(rc).form,sections:e})),V(Ks,`Suggested ${e.length} sections.`))}let Vc=e=>(p(rc)?.validations??[]).map((e,t)=>({...e,i:t})).filter(t=>t.field===e);function Hc(e){!p(rc)||!p(zs)||Xr(rr(p(G),p(zs),{...p(rc),validations:e.length?e:void 0}))}function Wc(){!p(rc)||!p(Bs)||Hc([...p(rc).validations??[],{field:p(Bs),op:`required`,message:`This field is required`}])}function Gc(e,t){p(rc)&&Hc((p(rc).validations??[]).map((n,r)=>r===e?{...n,...t}:n))}function Kc(e){p(rc)&&Hc((p(rc).validations??[]).filter((t,n)=>n!==e))}let qc=e=>e.replace(/[_-]+/g,` `).replace(/([a-z\d])([A-Z])/g,`$1 $2`).replace(/^./,e=>e.toUpperCase());function Jc(e){let t=e.input?.editorType??tr(e.type)[0];return e.type===`boolean`||t===`checkbox`?`switch`:t===`textarea`?`area`:t===`chips`?`chips`:t===`slider`||t===`rating`?`slider`:t===`color`?`colour`:e.type===`enum`||e.type===`relation`||t===`select`||t===`rich-select`||t===`list`?`select`:`box`}let Yc=e=>e?.columns??p(rc)?.form?.columns??2,Zc=(e,t)=>e?.input?.span===2?t:1,Qc=e=>e===null?`Unsectioned`:p(ic).sections[e]?.title||`section ${e+1}`;function $c(e,t){if(!p(zs)||!p(Vs))return;let n=p(hc);Xr(qn(p(G),p(zs),n,e,t)),V(Ks,n.length>1?`${n.length} fields moved to ${Qc(e)}.`:`${ac(n[0]??``)?.label??n[0]} moved to ${Qc(e)}.`,!0),V(Bs,p(Vs),!0),V(Vs,null),V(Hs,null)}function el(e,t){if(!p(zs))return;let n=p(fc).has(e)&&p(Js).length>1?p(mc).filter(e=>p(fc).has(e)):[e],r=new Set(n.filter(t=>t!==e)),i=[{section:null,fields:p(ic).unassigned.filter(e=>!r.has(e))},...p(ic).sections.map((e,t)=>({section:t,fields:e.fields.filter(e=>!r.has(e))}))],a=i.findIndex(t=>t.fields.includes(e));if(a<0)return;let o=i[a],s=o.fields.indexOf(e)+t,c=n.length>1?`${n.length} fields`:ac(e)?.label??e;if(o.section!==null&&s>=0&&s<o.fields.length){Xr(qn(p(G),p(zs),n,o.section,s)),V(Ks,`${c} moved to position ${s+1} in ${Qc(o.section)}.`);return}let l=i[a+t];l&&(Xr(qn(p(G),p(zs),n,l.section,t===1?0:l.fields.length)),V(Ks,`${c} moved to ${Qc(l.section)}.`))}let tl=j(!1),nl=j(pe([])),il=N(()=>{if(!p(os))return null;let e=Zt(p(G),p(os).name).kind;return e===`memory`||e===`pglite`?e:null}),al=N(()=>p(os)?p(os).fields.filter(e=>!e.formula&&!e.computed):[]);function ol(){p(os)&&(V(nl,Rs(p(os)).map(e=>({...e})),!0),V(tl,!0))}function sl(){if(!p(os))return;let e=p(os).idField??p(os).fields.find(e=>e.primaryKey)?.field??`id`,t={};for(let e of p(al))t[e.field]=e.type===`boolean`?!1:e.type===`number`?0:``;t[e]=`${p(os).name.charAt(0).toLowerCase()||`r`}${p(nl).length+1}`,V(nl,[...p(nl),t],!0)}function cl(e,t,n){V(nl,p(nl).map((r,i)=>i===e?{...r,[t]:n}:r),!0)}function ul(e){let t=e.relation&&p(G).entities.find(t=>t.name===e.relation.entity);if(!t||!e.relation)return[];let n=t.idField??t.fields.find(e=>e.primaryKey)?.field??`id`;return Rs(t).map(t=>({value:String(t[n]??``),label:String(t[e.relation.labelField??n]??t[n]??``)}))}function dl(){if(!p(os))return;let e=Zt(p(G),p(os).name),t=p(nl).map(e=>({...e}));Xr(dt(p(G),p(os).name,e.kind===`pglite`?{kind:`pglite`,table:e.table,seed:t}:{kind:`memory`,seed:t}));let{[p(os).name]:n,...r}=p(Ps);V(Ps,r,!0),V(tl,!1)}function fl(e){return(e.related??[]).map(e=>{let t=wt(p(G),e.entity);return t?{label:e.label??t.label??t.name,schema:t,rows:Is(t),foreignKey:e.foreignKey,parentField:e.parentField,titleField:e.titleField??t.fields.find(e=>e.type===`text`&&!e.primaryKey)?.field??t.fields[0]?.field??`id`,subtitleField:e.subtitleField,dateField:e.dateField,statusField:e.statusField}:null}).filter(e=>e!=null)}let pl=N(()=>p(G).screens.filter(e=>e.blocks.some(e=>e.config.kind===`detail`)));function ml(e){let t=[];for(let n of p(G).entities){if(n.name===e.name)continue;let r=n.fields.find(t=>t.type===`relation`&&t.relation?.entity===e.name)?.field;r&&t.push({child:n,fk:r})}return t}function hl(e,t){let n=e.fields.filter(e=>!e.primaryKey&&e.field!==t);return{entity:e.name,foreignKey:t,label:e.label??e.name,titleField:n.find(e=>e.type===`text`)?.field??n[0]?.field??e.fields[0]?.field??`id`,dateField:n.find(e=>e.type===`date`||e.type===`datetime`||e.type===`dateString`)?.field,statusField:n.find(e=>e.type===`enum`)?.field}}function gl(e,t,n){let r=e.idField??e.fields.find(e=>e.primaryKey)?.field??`id`,i=String(t??bu[e.name]?.[r]??``),a=(p(Ps)[e.name]??Is(e)).map(e=>String(e[r])===i?{...e,...n}:{...e});V(Ps,{...p(Ps),[e.name]:a},!0),bu[e.name]=void 0}let vl=j(null);function yl(e){return e.idField??e.fields.find(e=>e.primaryKey)?.field??`id`}function bl(e,t){let n=yl(e),r=p(Ps)[e.name]??Is(e);V(Ps,{...p(Ps),[e.name]:r.filter(e=>String(e[n])!==t)},!0)}function Sl(e,t,n){let r=yl(e),i=p(Ps)[e.name]??Is(e);if(t==null){let t=i.reduce((e,t)=>Math.max(e,Number(t[r])||0),0)+1;V(Ps,{...p(Ps),[e.name]:[{[r]:t,...n},...i]},!0)}else V(Ps,{...p(Ps),[e.name]:i.map(e=>String(e[r])===t?{...e,...n}:e)},!0);V(vl,null)}function Cl(e){let t=e.idField??e.fields.find(e=>e.primaryKey)?.field;return Ot(e).filter(e=>e.field!==t)}function wl(e,t){let n=new Map(e.columns.filter(e=>e.aggregate||e.format||e.cellType).map(e=>[e.field,e])),r=Cl(t).map(e=>{let t=e.field?n.get(e.field):void 0;return t?{...e,aggregate:t.aggregate,format:t.format,...t.cellType?{cell:e=>nn(b,{value:e.getValue(),type:t.cellType})}:{}}:e});return e.rowActions?.length&&r.push({id:`__actions`,header:`Actions`,sortable:!1,cell:n=>nn(M,{row:n.row.original,ent:t,actions:e.rowActions})}),r}let Tl=N(()=>p(os)?Is(p(os)):[]);N(()=>p(os)?Cl(p(os)):[]);let El=j(pe({}));function Dl(e,t,n){V(El,{...p(El),[e]:{...p(El)[e]??{},[t]:n}},!0)}function kl(e){let t=e.relation;if(!t)return[];let n=p(G).entities.find(e=>e.name===t.entity);if(!n)return[];let r=n.idField??n.fields.find(e=>e.primaryKey)?.field??`id`;return Is(n).map(e=>({value:String(e[r]??``),label:String(e[t.labelField]??e[r]??``)}))}function Al(e,t){let n=Object.entries(p(El)[e.name]??{}).filter(([,e])=>e!==``&&e!=null);return n.length?t.filter(t=>n.every(([n,r])=>{let i=e.fields.find(e=>e.field===n),a=t[n];return i&&i.type===`text`&&!i.options?.length?String(a??``).toLowerCase().includes(String(r).toLowerCase()):String(a??``)===String(r)})):t}let jl=N(()=>n.appearance??(p(G).theme?.mode===`dark`?`dark`:`light`)),Ml=N(()=>n.appearance?{...p(G).theme,mode:n.appearance}:p(G).theme),Nl=N(()=>Rr(p(Ml))),Pl=N(()=>tn(p(G).theme?.preset)??Dn),Fl=N(()=>p(Pl)[p(jl)].accent),Ll=N(()=>p(G).theme?.shell?.style??`sidebar`),Rl=N(()=>p(G).theme?.shell?.brand||p(G).title),zl=N(()=>p(G).theme?.shell?.navPosition??`left`),Bl=N(()=>p(G).theme?.shell?.footer),Vl=N(()=>p(G).theme?.shell?.logo),Hl=j(!1),Ul=N(()=>p(Ll)===`sidebar`&&p(Hl));function Gl(e){let t=e.currentTarget.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>Xr(Xt(p(G),{logo:String(n.result)})),n.readAsDataURL(t)}let Kl=N(()=>p(G).screens.filter(e=>e.nav?.show!==!1).map((e,t)=>({s:e,order:e.nav?.order??t})).sort((e,t)=>e.order-t.order).map(e=>e.s)),ql=j(null),Jl=j(`crud`),Yl=j(`none`),Xl=j(``),Zl=j(``),Ql=j(null),$l=N(()=>He(p(G)));function eu(e){try{Xr(yn(e)),V(Xl,``),V(Ql,null),V(Yl,`none`)}catch(e){V(Ql,e instanceof Error?e.message:String(e),!0)}}let tu=()=>eu(p(Xl)),nu=j(!1);async function ru(e){if(e)try{eu(await e.text())}catch(e){V(Ql,e instanceof Error?e.message:String(e),!0)}}function au(e){e.preventDefault(),V(nu,!1),ru(e.dataTransfer?.files?.[0])}let ou=j(null);function su(){try{V(ou,null);let e=p(Zl).trim();if(e.startsWith(`{`)&&/"(openapi|swagger|paths)"\s*:/.test(e)){let{entities:t,sources:n,warnings:r}=EN(e),i=p(G);for(let e of t){i=Be(i,e);let t=n[e.name];t&&(i=dt(i,e.name,t))}Xr(i),V(Zl,``),V(Ql,null),V(ou,`Imported ${t.length} REST resource${t.length===1?``:`s`}.${r.length?` `+r.join(` `):``}`),V(Yl,`none`);return}let t=/\bmodel\s+\w+\s*\{/.test(p(Zl))?fN(p(Zl)):KM(p(Zl)),n=p(G);for(let e of t)n=Be(n,e);Xr(n),V(Zl,``),V(Ql,null),V(Yl,`none`)}catch(e){V(Ql,e instanceof Error?e.message:String(e),!0)}}let lu=j(!1),uu=j(`desktop`),du={desktop:`100%`,tablet:`834px`,mobile:`390px`},pu=j(``),mu=j(!1);T(()=>{V(mu,p(uu)!==`desktop`)});let hu=N(()=>p(Ll)===`sidebar`&&p(mu)),gu=j(!1),_u=j(!1),vu=pe({}),yu=pe({}),bu=pe({}),xu=pe({}),Su=N(()=>p(G).screens.find(e=>e.id===p(pu))??p(G).screens[0]),Cu=N(()=>p(Su)?wt(p(G),p(Su).entity):void 0),wu=N(()=>!!p(Su)&&Ge(p(Su))===`dock`),Tu=N(()=>!!p(Su)&&Ge(p(Su))===`stack`),Eu=N(()=>!!p(Su)&&Ge(p(Su))===`split`),Du=N(()=>!!p(Su)&&Ge(p(Su))===`canvas`),Ou=N(()=>p(wu)||p(Eu)),ku=N(()=>({minSize:p(Eu)&&p(Su)?Ae(p(Su)).minPaneSize:80,allowPopout:p(wu)&&p(Su)?st(p(Su)).allowPopout:!1,hideSingleTab:p(wu)&&p(Su)?st(p(Su)).hideSingleTab:!1,headerPosition:p(wu)&&p(Su)?st(p(Su)).headerPosition:`top`})),Au=N(()=>{if(!p(Su))return``;if(p(Tu)){let e=xr(p(Su));return`gap: ${e.gap}px; --stack-minh: ${e.minHeight}px;`+(e.maxWidth?` max-width: ${e.maxWidth}px;${e.align===`center`?` margin-inline: auto;`:``}`:``)}if(!p(Ou)&&!p(Du)){let e=Ln(p(Su));return`gap: ${e.rowGap}px ${e.colGap}px; align-items: ${e.align};`+(e.maxWidth?` max-width: ${e.maxWidth}px; margin-inline: auto;`:``)}return``}),ju=N(()=>p(Su)&&p(Ou)?p(Su).id+`|`+p(Su).blocks.map(e=>e.id).join(`,`):``),Mu=j(void 0),Nu=j(``);T(()=>{p(ju)&&p(ju)!==p(Nu)&&(V(Nu,p(ju),!0),V(Mu,p(Su)?mr(p(Su)).dock??void 0:void 0,!0))});function Pu(){V(pu,p(Ai)?.id??p(G).screens[0]?.id??``,!0),V(lu,!0)}let Fu=j(pe({})),Iu=j(null),Lu=j(null),Ru=N(()=>p(lu));function zu(){try{V(Fu,{},!0),V(Iu,null),V(Lu,null);let e=p(G).screens.find(e=>e.id===p(pu))??p(G).screens[0];if(!p(lu)||!e)return;let t=wt(p(G),e.entity),n=t?Al(t,Is(t)):[],r={},i=[],a=null,o=null,s=[];for(let t of or(e))if(t.tier===`component`){let n=Sn(e.blocks).find(e=>e.id===t.blockId);n&&n.config.kind===`component`&&(r[n.id]={props:Di(n.config),text:Oi(n.config)},i.push({name:t.name,id:n.id}))}else t.tier===`grid`?(a=t.name,o=t.blockId):t.tier===`data`&&s.push(t.name);V(Fu,r,!0);let c=()=>p(Iu)??n,l=e=>{V(Iu,Array.isArray(e)?e:[],!0)},u={};for(let e of i)u[e.name]=cM(()=>p(Fu)[e.id],t=>{V(Fu,{...p(Fu),[e.id]:t},!0)});let d=()=>o?xu[o]:void 0;a&&(u[a]=new Proxy(()=>void 0,{get:(e,t)=>{if(typeof t!=`string`)return;let n=d();return n&&typeof n[t]==`function`?n[t].bind(n):t===`getData`||t===`getDisplayedRows`?()=>c():n&&typeof n.getOption==`function`?n.getOption(t):()=>void 0},set:(e,t,n)=>{if(typeof t!=`string`||/^on[A-Z]/.test(t))return!0;let r=d();return r&&typeof r.setOption==`function`&&r.setOption(t,n),!0},apply:()=>void 0}));for(let e of s)u[e]={setData:e=>l(e),get rows(){return c()},clear:()=>{V(Iu,null)}};u.data={get rows(){return c()},setRows:l,reload:async()=>{}},u.goto=()=>{},u.params={};let m=e.handlerBodies?.onLoad??``,h=()=>{f(()=>lM(m,u)).then(e=>{V(Lu,e,!0)})};if(o){let e=0,t=()=>{d()||e++>30?h():requestAnimationFrame(t)};queueMicrotask(t)}else queueMicrotask(h)}catch(e){V(Lu,e instanceof Error?e.message:String(e),!0)}}function Bu(e,t){return p(Ru)&&p(Iu)&&e===p(Cu)?p(Iu):t}T(()=>{if(!p(lu)){V(Fu,{},!0),V(Iu,null),V(Lu,null);return}p(pu),p(G).screens.find(e=>e.id===p(pu))?.handlerBodies?.onLoad,zu()}),T(()=>{let e=p(lu)?p(G).theme?.customCss??``:``;if(typeof document>`u`||!e.trim())return;let t=document.createElement(`style`);return t.setAttribute(`data-studio-preview-css`,``),t.textContent=e,document.head.appendChild(t),()=>t.remove()});let Vu=j(!1),Hu=j(``),Uu=j(!1),Wu=j(null),Gu=[`Add a "status" enum field (new / active / churned) to customers`,`Add a dashboard screen with revenue by tier`,`Make the customers grid drill into orders on row click`,`Add a validation rule: mrr must be >= 0`];function Ku(){V(Vu,!0),V(Wu,null)}async function qu(){let e=p(Hu).trim();if(!(!n.onCopilot||!e||p(Uu))){V(Uu,!0),V(Wu,null);try{let t=await n.onCopilot({prompt:e,project:p(G)}),r=yn(He(t));Xr(r),!r.screens.some(e=>e.id===p(ki))&&r.screens[0]&&V(ki,r.screens[0].id,!0),V(Hu,``),V(Vu,!1)}catch(e){V(Wu,e instanceof Error?e.message:String(e),!0)}finally{V(Uu,!1)}}}let Ju=j(!1);function Yu(e){let t=e.build();Xr(t),t.screens[0]&&(V(ki,t.screens[0].id,!0),V(uo,null)),V(Ju,!1)}function Xu(){let e=UN({project:p(G),action:p(Ai)?`editing screen "${p(Ai).title}"`:`in the designer`,env:{studioVersion:`web designer`,node:`-`,os:typeof navigator<`u`?navigator.userAgent:`-`}});try{navigator.clipboard?.writeText(e.markdown)}catch{}window.open(e.issueUrl,`_blank`,`noopener,noreferrer`)}let Zu=j(!1),Qu=j(``);function $u(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``)}let ed=N(()=>!!$u(p(Qu))&&!wt(p(G),$u(p(Qu))));function td(){let e=$u(p(Qu));if(!e||wt(p(G),e))return;let t={name:e,idField:`id`,fields:[{field:`id`,type:`number`,primaryKey:!0,readonly:!0},{field:`name`,type:`text`,required:!0}]};Xr(Be(p(G),t)),V(ki,e,!0),V(uo,null),V(Qu,``),V(Zu,!1)}let nd=j(null);async function rd(e){if(e){V(nd,null),V(Ql,null);try{let t=await e.text(),n=$u(e.name.replace(/\.[^.]+$/,``))||`imported`,r=n,i=2;for(;wt(p(G),r);)r=`${n}_${i++}`;let{schema:a,rows:o,renamed:s}=rN(r,t);if(a.fields.length===0||o.length===0){V(Ql,`That file had no rows to import.`);return}let c=Be(p(G),a);c=dt(c,r,{kind:`memory`,seed:o}),Xr(c),V(ki,r,!0),V(uo,null);let l=s.length?` Renamed ${s.length} column${s.length>1?`s`:``} to safe keys.`:``;V(nd,`Imported ${o.length} row${o.length>1?`s`:``} into "${r}" (${a.fields.length} fields).${l}`)}catch(e){V(Ql,e instanceof Error?e.message:String(e),!0)}}}let id=j(!1),ad=j(!1),od=N(()=>Jn(p(G))),sd=[{value:`auto`,label:`Auto-detect (Vercel / Netlify / Cloudflare)`},{value:`vercel`,label:`Vercel`},{value:`netlify`,label:`Netlify`},{value:`cloudflare`,label:`Cloudflare Pages`},{value:`node`,label:`Node server`}];function cd(e){Xr(Je(p(G),e))}let ld=j(!1),ud=[{id:`neon`,label:`Neon`,blurb:`Serverless Postgres with a generous free tier - a database in seconds, no card.`,url:`https://neon.tech`,dialect:`postgres`,kind:`sql`,env:[`DATABASE_URL`]},{id:`supabase`,label:`Supabase`,blurb:`Postgres plus auth, storage, and realtime. Use the connection string (server) here.`,url:`https://database.new`,dialect:`supabase`,kind:`sql`,env:[`DATABASE_URL`]},{id:`turso`,label:`Turso`,blurb:`Hosted SQLite (libSQL) that runs at the edge - fast, cheap, great for reads.`,url:`https://turso.tech`,dialect:`turso`,kind:`sql`,env:[`DATABASE_URL`,`DATABASE_AUTH_TOKEN`]}],dd=j(null);function fd(e){let t=Ct(p(G),`sql`);for(let n of p(G).entities)t=dt(t,n.name,{kind:`sql`,table:n.name,dialect:e.dialect});Xr(t),V(dd,e,!0);try{window.open(e.url,`_blank`,`noopener,noreferrer`)}catch{}}async function pd(){try{await navigator.clipboard.writeText(p(od).cli),V(ad,!0),setTimeout(()=>V(ad,!1),1600)}catch{}}let md=j(!1),hd=new GN({introspect:e=>n.onIntrospectDatabase(e),installDriver:e=>n.onInstallDriver(e),canInstall:()=>!!n.onInstallDriver});function gd(){V(md,!0),hd.reset()}function _d(e){let t=p(G);for(let n of e.schemas)t=Be(t,n),t=dt(t,n.name,e.sources[n.name]??{kind:`sql`,table:n.name,dialect:e.dialect});Xr(t),e.schemas[0]&&(V(ki,e.schemas[0].name,!0),V(uo,null))}let Y=j(!1),vd=j(`connect`),yd=j(`postgres`),bd=j(``),xd=j(!1),Sd=j(null),Cd=j(pe([])),wd=j(pe({})),Td=j(0),Ed=j(pe([])),Dd=N(()=>WN.find(e=>e.value===p(yd))?.placeholder??``),Od=N(()=>Object.values(p(wd)).filter(Boolean).length),kd=j(`form`),Ad=j(pe({})),jd=j(null),Md=j(null),Nd=j(!1),Pd=N(()=>p(yd)!==`turso`),Fd=N(()=>p(kd)===`form`&&p(Pd));function Id(){try{return jN(p(yd),p(Ad))}catch{return``}}let Ld=N(()=>p(Fd)?Id():p(bd).trim()),Rd=N(()=>ON(p(yd))?``:String(DN[p(yd)]??``));function zd(e,t){V(Ad,{...p(Ad),[e]:t},!0),V(jd,null)}function Bd(e){V(Sd,e instanceof Error?e.message:String(e),!0);let t=e;V(Md,t?.missingDriver?t.driver??null:null,!0)}async function Vd(){if(!(!n.onIntrospectDatabase||!p(Ld))){V(xd,!0),V(Sd,null),V(jd,null),V(Md,null);try{let e=await n.onIntrospectDatabase({dialect:p(yd),url:p(Ld),action:`test`});V(jd,e.tables??[],!0),p(jd).length===0&&V(Sd,`Connected, but no tables were found.`)}catch(e){Bd(e)}finally{V(xd,!1)}}}async function Hd(){if(n.onInstallDriver){V(Nd,!0),V(Sd,null);try{let e=await n.onInstallDriver(p(yd));e.ok?V(Md,null):V(Sd,`Install failed: ${(e.output||e.package||``).slice(-300)}`)}catch(e){V(Sd,e instanceof Error?e.message:String(e),!0)}finally{V(Nd,!1)}}}function Ud(){V(Y,!0),V(vd,`connect`),V(Sd,null),V(Cd,[],!0),V(wd,{},!0),V(Td,0),V(Ed,[],!0),V(jd,null),V(Md,null),V(Ad,{},!0)}function Wd(e,t){let n=e=>e.toLowerCase().replace(/[^a-z]/g,``).replace(/s$/,``),r=n(e);return t.find(e=>n(e)===r)??t.find(e=>n(e).includes(r)||r.includes(n(e)))??``}async function Gd(){if(!(!n.onIntrospectDatabase||!p(Ld))){V(xd,!0),V(Sd,null),V(Md,null);try{let e=await n.onIntrospectDatabase({dialect:p(yd),url:p(Ld),action:`tables`});V(Cd,e.tables??[],!0);let t={};for(let e of p(G).entities)t[e.name]=Wd(e.name,p(Cd));V(wd,t,!0),V(vd,`map`),p(Cd).length===0&&V(Sd,`No tables found in this database.`)}catch(e){Bd(e)}finally{V(xd,!1)}}}function Kd(e){let t=[],n=t=>new Set((wt(e,t)?.fields??[]).map(e=>e.field));for(let r of e.screens){let e=n(r.entity),i=(e,n,i)=>{e&&!n.has(e)&&t.push(`${r.title}: ${i} "${e}"`)};for(let t of r.blocks){let r=t.config;if(r.kind===`chart`)i(r.dimension,e,`chart dimension`),i(r.measure,e,`chart measure`);else if(r.kind===`kpi`)i(r.measure,e,`KPI measure`);else if(r.kind===`master-detail`)i(r.foreignKey,n(r.childEntity),`detail key`);else if(r.kind===`pivot`){for(let t of[...r.rows,...r.cols])i(t,e,`pivot field`);i(r.measure,e,`pivot measure`)}else if(r.kind===`filter`)for(let t of r.fields)i(t,e,`filter facet`);else if(r.kind===`record`&&r.fields)for(let t of r.fields)i(t,e,`record field`)}}return t}let qd=[[`value`,`amount`,`total`,`price`,`cost`,`revenue`,`mrr`,`arr`,`subtotal`,`fee`,`balance`],[`name`,`title`,`subject`,`label`,`fullname`],[`status`,`state`,`stage`,`phase`],[`created`,`createdat`,`placedat`,`opened`,`signed`,`date`,`timestamp`],[`due`,`duedate`,`deadline`,`closedate`,`expires`],[`owner`,`assignee`,`rep`,`manager`,`agent`,`handler`],[`qty`,`quantity`,`count`,`units`,`stock`,`inventory`],[`email`,`mail`],[`phone`,`mobile`,`tel`],[`description`,`notes`,`summary`,`comment`,`detail`],[`company`,`organization`,`account`,`client`,`vendor`,`supplier`]],Jd=e=>e.toLowerCase().replace(/[^a-z0-9]/g,``);function Yd(e,t,n){let r=t.filter(e=>!n.has(Jd(e))),i=Jd(e),a=r.find(e=>Jd(e)===i);if(a)return a;let o=qd.find(e=>e.includes(i));return o&&(a=r.find(e=>o.includes(Jd(e))),a)?a:(a=r.find(e=>Jd(e).includes(i)||i.includes(Jd(e))),a??``)}function Xd(e,t,n){let r=t.fields.map(e=>e.field),i=new Set,a=[],o=[];for(let t of e.fields){let e=Yd(t.field,r,i);if(!e){o.push(t.field);continue}i.add(Jd(e)),a.push(e===t.field?{...t}:{...t,dbColumn:e})}for(let e of t.fields)i.has(Jd(e.field))||a.push({field:e.field,type:e.type,...e.primaryKey?{primaryKey:!0,readonly:!0}:{}});let s=t.idField??t.fields.find(e=>e.primaryKey)?.field;if(!a.some(e=>e.primaryKey)&&s){let e=a.find(e=>(e.dbColumn??e.field)===s);e&&(e.primaryKey=!0,e.readonly=!0)}let c=a.find(e=>e.primaryKey)?.field??a[0]?.field;return{schema:{name:n,...e.label?{label:e.label}:{},idField:c,fields:a},dropped:o}}async function Zd(){if(!n.onIntrospectDatabase)return;let e=Object.entries(p(wd)).filter(([,e])=>e);if(e.length!==0){V(xd,!0),V(Sd,null);try{let t=await n.onIntrospectDatabase({dialect:p(yd),url:p(Ld),action:`introspect`,tables:e.map(([,e])=>e)}),r=new Map((t.schemas??[]).map(e=>[e.name,e])),i=p(G),a=0;for(let[t,n]of e){let e=r.get(n),o=wt(i,t);if(!e||!o)continue;let{schema:s}=Xd(o,e,t);i=rr(i,t,s),i=dt(i,t,{kind:`sql`,table:n,dialect:p(yd)}),a++}Xr(i),V(Td,a,!0),V(Ed,Kd(i),!0),V(vd,`done`)}catch(e){V(Sd,e instanceof Error?e.message:String(e),!0)}finally{V(xd,!1)}}}let Qd=e=>Dt.find(t=>t.kind===e)?.label??e;function $d(e){return e.config.kind===`component`?jn(e.config.component)?.label??e.config.component:Qd(e.config.kind)}function ef(e){return e.config.kind===`tabs`?e.config.tabs.flatMap(e=>e.blocks.map(t=>({block:t,group:e.label}))):e.config.kind===`accordion`?e.config.sections.flatMap(e=>e.blocks.map(t=>({block:t,group:e.label}))):[]}let tf=(e,t)=>!!t&&/\$/.test(e?.fields.find(e=>e.field===t)?.label??``),nf=(e,t,n)=>{let r=yt(n,{measure:e.measure,reduce:e.reduce});if(typeof r!=`number`)return String(r??``);let i=e.format??`auto`;if(i!==`auto`)return We(r,i);let a=r.toLocaleString(void 0,{maximumFractionDigits:1});return tf(t,e.measure)?`$${a}`:a},rf=(e,t)=>e.trendField?Ve(t,{trendField:e.trendField,measure:e.measure,reduce:e.trendReduce??e.reduce}):[],af=(e,t)=>{if(e.target!=null&&e.target!==0){let n=yt(t,{measure:e.measure,reduce:e.reduce});return{text:`${Math.round(n/e.target*100)}% of target`,up:n>=e.target}}let n=Hn(rf(e,t));return n==null?null:{text:`${n>=0?`▲`:`▼`} ${Math.abs(n).toFixed(0)}%`,up:n>=0}};function of(e,t,n){let r=t.idField??t.fields.find(e=>e.primaryKey)?.field??`id`,i=new Map(e.map(e=>[String(e[r]),{id:String(e[r]),label:String(e[n.labelField]??e[r]),children:[]}])),a=[];for(let t of e){let e=i.get(String(t[r])),o=t[n.parentField]!=null&&t[n.parentField]!==``?String(t[n.parentField]):null;o&&o!==e.id&&i.has(o)?i.get(o).children.push(e):a.push(e)}return a}let sf=[`sum`,`avg`,`count`,`min`,`max`],cf=e=>{let t=e.idField??e.fields.find(e=>e.primaryKey)?.field;return e.fields.filter(e=>e.field!==t)},lf=e=>cf(e).filter(e=>e.type!==`number`&&e.type!==`json`&&e.type!==`relation`),uf=e=>e.fields.filter(e=>e.type===`number`&&!e.primaryKey),df=e=>cf(e).filter(e=>e.type===`enum`||e.type===`boolean`||e.type===`text`),ff=e=>cf(e).filter(e=>e.type!==`json`&&e.type!==`relation`).map(e=>({field:e.field,label:e.label??e.field,kind:e.type===`number`?`measure`:`dimension`,...e.type===`number`?{defaultAgg:`sum`}:{}})),pf=e=>({rows:[...e.rows],cols:[...e.cols],values:e.measure?[{field:e.measure,agg:e.aggregate}]:[],filters:[]}),mf=(e,t)=>t.fields.map(t=>e.fields.find(e=>e.field===t)).filter(e=>!!e),hf=(e,t)=>t.fields&&t.fields.length?e.fields.filter(e=>t.fields.includes(e.field)):cf(e);function gf(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}let _f=N(()=>p(G).access??{enabled:!1,roles:[]}),vf=e=>Xr({...p(G),access:e});function yf(e){e&&(!p(G).access||p(G).access.roles.length===0)?vf({enabled:!0,defaultRole:`viewer`,roles:[{role:`admin`,screens:`*`,actions:`*`},{role:`editor`,screens:`*`,actions:[`create`,`update`,`delete`]},{role:`viewer`,screens:`*`,actions:[]}]}):vf({...p(_f),enabled:e})}let bf=e=>vf({...p(_f),roles:p(_f).roles.map(e)});function xf(){let e=new Set(p(_f).roles.map(e=>e.role)),t=`role`,n=1;for(;e.has(t);)t=`role${++n}`;vf({...p(_f),roles:[...p(_f).roles,{role:t,screens:`*`,actions:[]}]})}function Sf(e){let t=p(_f).roles.filter(t=>t.role!==e);vf({...p(_f),roles:t,defaultRole:p(_f).defaultRole===e?t[0]?.role:p(_f).defaultRole})}function Cf(e,t){let n=t.trim();!n||n!==e&&p(_f).roles.some(e=>e.role===n)||vf({...p(_f),roles:p(_f).roles.map(t=>t.role===e?{...t,role:n}:t),defaultRole:p(_f).defaultRole===e?n:p(_f).defaultRole})}let wf=(e,t)=>e.actions===`*`||e.actions.includes(t);function Tf(e,t){bf(n=>{if(n.role!==e)return n;let r=n.actions===`*`?[...W]:n.actions,i=r.includes(t)?r.filter(e=>e!==t):[...r,t];return{...n,actions:i.length===W.length?`*`:i}})}let Ef=(e,t)=>e.screens===`*`||e.screens.includes(t);function Df(e,t){bf(n=>{if(n.role!==e)return n;let r=n.screens===`*`?p(G).screens.map(e=>e.id):n.screens,i=r.includes(t)?r.filter(e=>e!==t):[...r,t];return{...n,screens:i.length===p(G).screens.length?`*`:i}})}let Of=(e,t)=>bf(n=>n.role===e?{...n,screens:t?`*`:[]}:n),kf=[`edit`,`delete`,`navigate`];function Af(e){let t=p(G).screens.find(t=>t.id===e),n=t?wt(p(G),t.entity):void 0;return n?[...n.fields]:[]}function jf(e){p(Ai)&&p(ss)&&Xr(on(p(G),p(Ai).id,p(ss).id,{config:e}))}function Mf(e){let t=p(ss).config;jf({rowActions:[...t.rowActions??[],{kind:e}]})}function Nf(e,t){let n=p(ss).config;jf({rowActions:(n.rowActions??[]).map((n,r)=>r===e?{...n,...t}:n)})}function Pf(e){let t=p(ss).config;jf({rowActions:(t.rowActions??[]).filter((t,n)=>n!==e)})}let Ff=[{value:`eq`,label:`=`},{value:`ne`,label:`≠`},{value:`lt`,label:`<`},{value:`lte`,label:`≤`},{value:`gt`,label:`>`},{value:`gte`,label:`≥`},{value:`contains`,label:`contains`},{value:`empty`,label:`is empty`},{value:`notEmpty`,label:`not empty`}],If=e=>e!==`empty`&&e!==`notEmpty`;function Lf(){let e=p(ss).config,t=e.columns.find(e=>e.show)?.field??p(os)?.fields[0]?.field??``;jf({formatRules:[...e.formatRules??[],{field:t,op:`gt`,value:0,color:`#dc2626`,bold:!0}]})}function Rf(e,t){let n=p(ss).config;jf({formatRules:(n.formatRules??[]).map((n,r)=>r===e?{...n,...t}:n)})}function zf(e){let t=p(ss).config;jf({formatRules:(t.formatRules??[]).filter((t,n)=>n!==e)})}function Bf(e,t,n){jf({formFields:t?n.includes(e)?n:[...n,e]:n.filter(t=>t!==e)})}function Vf(e,t){let n=Number(t),r=String(t??``);switch(e){case`eq`:return e=>String(e.value)===r;case`ne`:return e=>String(e.value)!==r;case`lt`:return e=>Number(e.value)<n;case`lte`:return e=>Number(e.value)<=n;case`gt`:return e=>Number(e.value)>n;case`gte`:return e=>Number(e.value)>=n;case`contains`:return e=>String(e.value).toLowerCase().includes(r.toLowerCase());case`empty`:return e=>e.value==null||e.value===``;case`notEmpty`:return e=>e.value!=null&&e.value!==``;default:return null}}function Hf(e){let t=[];for(let n of e.formatRules??[]){if((n.op===`lt`||n.op===`lte`||n.op===`gt`||n.op===`gte`)&&!Number.isFinite(Number(n.value)))continue;let e=Vf(n.op,n.value);!e||!n.color&&!n.background&&!n.bold||t.push({type:`rule`,columns:[n.field],when:e,...n.background?{background:n.background}:{},...n.color?{color:n.color}:{},...n.bold?{fontWeight:700}:{}})}return t}let Uf=N(()=>p(G).i18n??{enabled:!1,locales:[`en`]});function Wf(e){e&&(!p(G).i18n||p(G).i18n.locales.length===0)?Xr({...p(G),i18n:{enabled:!0,locales:[`en`],defaultLocale:`en`}}):Xr({...p(G),i18n:{...p(Uf),enabled:e}})}function Gf(e){let t=[...new Set(e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean))];if(!t.length)return;let n=t.includes(p(Uf).defaultLocale??``)?p(Uf).defaultLocale:t[0];Xr({...p(G),i18n:{...p(Uf),locales:t,defaultLocale:n}})}let Kf={grid:`M3 3h18v18H3z M3 9h18 M3 15h18 M9 3v18 M15 3v18`,form:`M4 3h16v18H4z M8 8h8 M8 12h8 M8 16h5`,chart:`M4 4v16h16 M8 16v-5 M13 16V8 M18 16v-9`,dashboard:`M3 3h7v8H3z M14 3h7v5h-7z M14 12h7v9h-7z M3 15h7v6H3z`,kpi:`M3 17l5-5 4 3 6-7 M16 8h4v4`,gauge:`M4 20a8 8 0 1 1 16 0 M12 12l4-3`,tree:`M5 3h6v4H5z M13 10h6v4h-6z M13 17h6v4h-6z M8 7v10h5 M8 12h5`,tabs:`M3 7h5v13H3z M9 7h5v13H9z M3 4h18v3H3z`,accordion:`M4 4h16v4H4z M4 10h16v4H4z M4 16h16v4H4z M15 6l-2 0 M15 12l-2 0`,"master-detail":`M4 5h16 M4 10h8 M8 10v10 M8 15h6 M8 20h6`,pivot:`M3 3h18v18H3z M3 9h18 M9 3v18`,filter:`M3 5h18l-7 8v6l-4 2v-8z`,record:`M4 4h16v16H4z M8 9h8 M8 13h8 M8 17h5`,board:`M4 4h4v16H4z M10 4h4v10h-4z M16 4h4v13h-4z`,calendar:`M4 5h16v15H4z M4 9h16 M8 3v4 M16 3v4`,detail:`M4 3h16v18H4z M8 8h8 M8 12h8 M8 16h5`,lookup:`M10 4a6 6 0 1 0 0 12 6 6 0 0 0 0-12z M20 20l-5.5-5.5`,file:`M6 2h9l5 5v15H6z M15 2v5h5`,copy:`M9 9h11v11H9z M5 15H4V4h11v1`,generate:`M8 6l-5 6 5 6 M16 6l5 6-5 6`,import:`M12 15V3 M7 8l5-5 5 5 M4 17v3h16v-3`,save:`M12 3v12 M7 10l5 5 5-5 M4 19h16`,undo:`M9 14l-4-4 4-4 M5 10h11a4 4 0 0 1 0 8h-1`,redo:`M15 14l4-4-4-4 M19 10H8a4 4 0 0 0 0 8h1`,screen:`M3 4h18v13H3z M8 21h8 M12 17v4`,entity:`M4 6c0-1.7 3.6-3 8-3s8 1.3 8 3-3.6 3-8 3-8-1.3-8-3z M4 6v6c0 1.7 3.6 3 8 3s8-1.3 8-3V6 M4 12v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6`,database:`M4 5c0-1.7 3.6-3 8-3s8 1.3 8 3-3.6 3-8 3-8-1.3-8-3z M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5 M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3`,plus:`M12 5v14 M5 12h14`,deploy:`M22 2L11 13 M22 2l-7 20-4-9-9-4z`,desktop:`M3 4h18v12H3z M8 20h8 M12 16v4`,tablet:`M6 3h12a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1z M11 18h2`,mobile:`M8 2h8a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z M11 18h2`,chevron:`M9 6l6 6-6 6`,close:`M6 6l12 12 M18 6L6 18`},qf=e=>Kf[e]??Kf.file,Jf=j(!1),Yf=j(null),Xf=j(!1),Zf=N(()=>p(ql)?.find(e=>e.path===p(Yf))??p(ql)?.[0]),Qf=j(`app`);function $f(){V(ql,p(Qf)===`fragment`?gn(p(G)):wr(p(G)),!0),p(ql).some(e=>e.path===p(Yf))||V(Yf,(p(ql).find(e=>e.path.endsWith(`+page.svelte`))??p(ql)[0])?.path??null,!0)}function ep(){$f();let e=p(ql)??[];V(Yf,(e.find(e=>e.path.endsWith(`+page.svelte`))??e[0])?.path??null,!0),V(Jf,!0)}let tp=e=>e.replace(/^src\//,``);async function np(){if(p(Zf))try{await navigator.clipboard.writeText(p(Zf).contents),V(Xf,!0),setTimeout(()=>V(Xf,!1),1200)}catch{}}let rp=j(!1);async function ip(){if(p(ql)){V(rp,!0);try{let t=(await Gr(async()=>{let{default:t}=await import(`./jszip.min-CX2fPs3O.js`).then(t=>e(t.default));return{default:t}},__vite__mapDeps([0,1]),import.meta.url)).default,n=new t;for(let e of p(ql))n.file(e.path,e.contents);let r=await n.generateAsync({type:`blob`}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=`${(p(G).title||`studio-app`).toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`studio-app`}.zip`,document.body.appendChild(a),a.click(),a.remove(),URL.revokeObjectURL(i)}catch{alert(`Download needs the "jszip" package. Install it (npm i jszip) or copy the files individually.`)}finally{V(rp,!1)}}}function ap(){if(!p(ql))return;let e=document.createElement(`form`);e.method=`POST`,e.action=`https://stackblitz.com/run`,e.target=`_blank`;let t=(t,n)=>{let r=document.createElement(`input`);r.type=`hidden`,r.name=t,r.value=n,e.appendChild(r)};for(let e of p(ql))t(`project[files][${e.path}]`,e.contents);t(`project[title]`,p(G).title||`SvGrid Studio app`),t(`project[description]`,`Generated with SvGrid Studio`),t(`project[template]`,`node`),document.body.appendChild(e),e.submit(),e.remove()}let op=j(`idle`);async function sp(){if(!(!p(ql)||!n.onWriteToDisk)){V(op,`busy`);try{await n.onWriteToDisk(p(ql)),V(op,`done`),setTimeout(()=>V(op,`idle`),1600)}catch{V(op,`idle`)}}}let cp=j(200),lp=j(290),up=j(null),dp=(e,t,n)=>Math.max(t,Math.min(e,n)),fp=j(!1),pp=j(`none`),mp=j(!1);T(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(`(max-width: 900px)`),t=()=>{V(mp,e.matches,!0),e.matches||V(pp,`none`)};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)});let hp=N(()=>p(fp)?`0px 0px minmax(0, 1fr) 6px ${p(lp)}px`:`${p(cp)}px 6px minmax(0, 1fr) 6px ${p(lp)}px`);function gp(){V(pp,p(pp)===`insp`?`none`:`insp`,!0)}T(()=>{p(mp)&&p(uo)&&V(pp,`insp`)});let _p=e=>e.config.kind===`grid`?e.config.scheduler?640:440:200,vp=new Set([`grid`,`chart`,`master-detail`,`pivot`]),yp=e=>vp.has(e.config.kind),bp=new Set([`grid`,`master-detail`]),xp=e=>bp.has(e.config.kind);function Sp(e){let t=e.style;if(!t)return``;let n=[];return t.border===!1?n.push(`border-color: transparent`):t.border===!0&&n.push(`border: 1px solid var(--sg-border)`),t.shadow===!1?n.push(`box-shadow: none`):t.shadow===!0&&n.push(`box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06)`),t.background&&n.push(`background: ${t.background}`),typeof t.radius==`number`&&n.push(`border-radius: ${t.radius}px`),typeof t.margin==`number`&&n.push(`margin: ${t.margin}px`),n.length?`; `+n.join(`; `):``}let Cp=e=>typeof e.style?.padding==`number`?`padding:${e.style.padding}px;`:``,wp=j(null),Tp=j(0),Ep=0,Dp=0,Op=e=>p(wp)===e.id?p(Tp):e.height??_p(e);function kp(e,t){t.preventDefault(),t.stopPropagation(),V(wp,e.id,!0),Ep=t.clientY,Dp=e.height??_p(e),V(Tp,Dp,!0),t.currentTarget.setPointerCapture(t.pointerId)}function Ap(e){p(wp)&&V(Tp,dp(Dp+(e.clientY-Ep),120,900),!0)}function jp(){let e=p(wp);if(V(wp,null),!e||!p(Ai))return;let t=p(Ai).blocks.find(t=>t.id===e);t&&p(Tp)!==(t.height??_p(t))&&Xr(on(p(G),p(Ai).id,e,{height:p(Tp)}))}let Mp=j(null),Np=j(4),Pp=0,Fp=0,Ip=60,Lp=e=>p(Mp)===e.id?p(Np):lt(e);function Rp(e,t){t.preventDefault(),t.stopPropagation(),V(Mp,e.id,!0),Pp=t.clientX,Fp=lt(e);let n=t.currentTarget.closest(`.sv-studio__block`)?.closest(`.sv-studio__canvas`);n&&(Ip=(n.clientWidth-132)/12),V(Np,Fp,!0),t.currentTarget.setPointerCapture(t.pointerId)}function zp(e){if(!p(Mp))return;let t=Math.round((e.clientX-Pp)/Math.max(Ip,1));V(Np,dp(Fp+t,1,12),!0)}function Bp(){let e=p(Mp);if(V(Mp,null),!e||!p(Ai))return;let t=p(Ai).blocks.find(t=>t.id===e);t&&p(Np)!==lt(t)&&Xr(on(p(G),p(Ai).id,e,{colSpan:p(Np)}))}let Vp=(e,t)=>Xr(on(p(G),p(Ai).id,e.id,{colSpan:t})),Hp=e=>{p(Ai)&&p(ss)&&Xr(on(p(G),p(Ai).id,p(ss).id,{style:e}))},Up=e=>e===!0?`on`:e===!1?`off`:``,Wp=e=>e===`on`||e!==`off`&&void 0,Gp=e=>e===``?void 0:Number(e);function Kp(e){let t=e.target,n=!!t&&(/^(INPUT|TEXTAREA|SELECT)$/.test(t.tagName)||t.isContentEditable),r=e.ctrlKey||e.metaKey;if(r&&(e.key===`z`||e.key===`Z`)){e.preventDefault(),e.shiftKey?Qr():Zr();return}if(r&&(e.key===`y`||e.key===`Y`)){e.preventDefault(),Qr();return}if(r&&(e.key===`d`||e.key===`D`)&&p(uo)&&!n){e.preventDefault(),Ga(p(uo));return}if(r&&(e.key===`c`||e.key===`C`)&&p(uo)&&!n&&!window.getSelection()?.toString()){e.preventDefault(),ao();return}if(r&&(e.key===`v`||e.key===`V`)&&p(Qa)&&!n){e.preventDefault(),oo();return}if(e.key===`?`&&!n){e.preventDefault(),V($a,!p($a));return}if(e.key===`Escape`){p($a)?V($a,!1):p(vl)?V(vl,null):p(pi)?V(pi,null):p(K)?V(K,!1):p(_u)?V(_u,!1):p(gu)?V(gu,!1):p(id)?V(id,!1):p(ld)?V(ld,!1):p(Vu)?V(Vu,!1):p(lu)?V(lu,!1):p(Wm)?V(Wm,!1):p(Jf)?V(Jf,!1):p(Yl)===`none`?V(uo,null):V(Yl,`none`);return}!n&&!p(Jf)&&!p(Wm)&&(e.key===`Delete`||e.key===`Backspace`)&&p(uo)&&(e.preventDefault(),fi())}let qp=j(null),Jp=j(null),Yp=j(null),Xp=j(null),Zp=j(null);function Qp(e,t){V(qp,t,!0),V(Jp,null),V(Yp,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`,e.dataTransfer.setData(`text/plain`,t))}function $p(e,t){V(Jp,t,!0),V(qp,null),V(Yp,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`,e.dataTransfer.setData(`text/plain`,`component:${t}`))}function em(e,t){if(p(wp)||p(Mp)){e.preventDefault();return}V(Yp,t,!0),V(qp,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t))}function tm(e,t){if(!p(qp)&&!p(Jp)&&!p(Yp))return;e.preventDefault();let n=e.currentTarget.getBoundingClientRect();V(Zp,e.clientX>n.left+n.width/2?t+1:t,!0),e.dataTransfer&&(e.dataTransfer.dropEffect=p(Yp)?`move`:`copy`)}function nm(e){(p(qp)||p(Jp)||p(Yp))&&e.preventDefault()}function rm(e){if(!p(Ai))return;e.preventDefault();let t=p(Zp)??p(Ai).blocks.length;if(p(Jp))ha(p(Jp),t);else if(p(qp))mi(p(qp),t);else if(p(Yp)){let e=p(Ai).blocks.findIndex(e=>e.id===p(Yp));Xr(Mt(p(G),p(Ai).id,p(Yp),e<t?t-1:t))}im()}function im(){V(qp,null),V(Jp,null),V(Yp,null),V(Zp,null)}function am(e){p(os)&&Xr(rr(p(G),p(os).name,e))}let om=[{value:`required`,label:`is required`},{value:`gt`,label:`>`},{value:`gte`,label:`≥`},{value:`lt`,label:`<`},{value:`lte`,label:`≤`},{value:`eq`,label:`=`},{value:`ne`,label:`≠`},{value:`minLen`,label:`min length`},{value:`maxLen`,label:`max length`}],sm=e=>e!==`required`;function cm(){if(!p(os))return;let e=p(os).fields.find(e=>!e.primaryKey)?.field??p(os).fields[0]?.field??``;am({...p(os),validations:[...p(os).validations??[],{field:e,op:`required`,message:`This field is required`}]})}function lm(e,t){p(os)&&am({...p(os),validations:(p(os).validations??[]).map((n,r)=>r===e?{...n,...t}:n)})}function um(e){p(os)&&am({...p(os),validations:(p(os).validations??[]).filter((t,n)=>n!==e)})}let dm=j(null),fm=j(null);function pm(e,t){if(!p(dm))return;e.preventDefault();let n=e.currentTarget.getBoundingClientRect();V(fm,e.clientY>n.top+n.height/2?t+1:t,!0)}function mm(){if(!p(os)||!p(dm)||p(fm)==null){V(dm,null),V(fm,null);return}let e=p(os).fields.findIndex(e=>e.field===p(dm)),t=[...p(os).fields],[n]=t.splice(e,1);t.splice(Math.max(0,Math.min(e<p(fm)?p(fm)-1:p(fm),t.length)),0,n),am({...p(os),fields:t}),V(dm,null),V(fm,null)}function hm(e,t){p(Ai)&&p(ss)&&Xr(on(p(G),p(Ai).id,p(ss).id,{config:{columns:t}}))}function gm(e,t,n){hm(e,e.columns.map(e=>e.field===t?{...e,show:n}:e))}function _m(e,t,n){hm(e,e.columns.map(e=>e.field===t?{...e,...n}:e))}function vm(e,t,n){let r=t+n;if(r<0||r>=e.columns.length)return;let i=[...e.columns];[i[t],i[r]]=[i[r],i[t]],hm(e,i)}function ym(e){let t=String(e??``).toLowerCase().trim();return[`active`,`open`,`success`,`done`,`paid`,`approved`,`complete`,`completed`,`won`,`shipped`,`yes`,`true`].includes(t)?`success`:[`pending`,`warning`,`in progress`,`processing`,`trial`,`review`,`on hold`,`medium`].includes(t)?`warning`:[`closed`,`error`,`failed`,`cancelled`,`canceled`,`overdue`,`rejected`,`lost`,`blocked`,`inactive`,`no`,`false`,`high`,`urgent`].includes(t)?`danger`:[`new`,`info`,`draft`,`low`].includes(t)?`info`:`neutral`}function bm(e){return e.cellType?`cell:${e.cellType.kind}`:e.format?e.format.type:``}function xm(e,t,n){if(n.startsWith(`cell:`)){let r=n.slice(5);_m(e,t.field,{cellType:{kind:r},format:void 0})}else n?_m(e,t.field,{format:{type:n},cellType:void 0}):_m(e,t.field,{format:void 0,cellType:void 0})}function Sm(e,t,n){t.format&&_m(e,t.field,{format:{...t.format,...n}})}function Cm(e,t,n){t.cellType&&_m(e,t.field,{cellType:{...t.cellType,...n}})}function wm(e,t,n){let r={...e.filterUi??{global:!0},[t]:n||void 0};jf({filterUi:r.global||r.row||r.menu?r:{global:!0}})}function Tm(e,t,n){let r={...e.export??{},[t]:n||void 0};jf({export:r.csv||r.json||r.copy||r.xlsx||r.pdf||r.print?r:void 0})}async function Em(e,t,n){let r=xu[e];if(r)try{let{exportGrid:e}=await Gr(async()=>{let{exportGrid:e}=await import(`./src-BoYyigAC.js`).then(e=>e.t);return{exportGrid:e}},__vite__mapDeps([2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]),import.meta.url);await e(r,{format:t,filename:n})}catch(e){console.error(`Export failed:`,e),alert(`Export failed: `+(e instanceof Error?e.message:String(e)))}}async function Dm(e,t){let n=xu[e];if(n)try{let{printGrid:e}=await Gr(async()=>{let{printGrid:e}=await import(`./src-BoYyigAC.js`).then(e=>e.t);return{printGrid:e}},__vite__mapDeps([2,1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22]),import.meta.url);await e(n,{title:t})}catch(e){console.error(`Print failed:`,e),alert(`Print failed: `+(e instanceof Error?e.message:String(e)))}}function Om(e,t,n){let r=e.grouping??[],i=n?[...r.filter(e=>e!==t),t]:r.filter(e=>e!==t);jf({grouping:i.length?i:void 0,...i.length?{treeData:void 0,scheduler:void 0}:{}})}function km(e,t){if(!t){jf({treeData:void 0});return}jf({treeData:{parentField:p(Ni).find(e=>/parent|manager|reports_to/i.test(e))??p(Ni)[0]??``,labelField:e.columns.find(e=>e.show)?.field??p(Ni)[0]??``},grouping:void 0,scheduler:void 0})}function Am(e,t){e.treeData&&jf({treeData:{...e.treeData,...t}})}function jm(e,t){if(!t){jf({scheduler:void 0});return}jf({scheduler:{startField:(p(os)?.fields??[]).filter(e=>e.type===`date`||/date|start|when|time|due|created/i.test(e.field))[0]?.field??p(Ni)[0]??``,titleField:e.columns.find(e=>e.show)?.field??p(Ni)[0]??``,initialView:`month`,drawer:!0},grouping:void 0,treeData:void 0})}function Mm(e,t){e.scheduler&&jf({scheduler:{...e.scheduler,...t}})}let Nm=e=>(wt(p(G),e)?.fields??[]).filter(e=>e.type===`text`||e.type===`enum`);function Pm(e){switch(e){case`number`:return[{value:``,label:`Number input`},{value:`slider`,label:`Slider`},{value:`rating`,label:`Rating`}];case`boolean`:return[{value:``,label:`Switch`}];case`date`:case`dateString`:return[{value:``,label:`Date`},{value:`datetime`,label:`Date + time`}];case`datetime`:return[{value:``,label:`Date + time`},{value:`date`,label:`Date only`},{value:`time`,label:`Time only`}];case`enum`:case`relation`:return[{value:``,label:`Dropdown`},{value:`rich-select`,label:`Searchable`}];case`json`:return[{value:``,label:`Textarea`}];default:return[{value:``,label:`Text`},{value:`textarea`,label:`Multiline`},{value:`chips`,label:`Tags`},{value:`password`,label:`Password`},{value:`color`,label:`Color`},{value:`phone`,label:`Phone`},{value:`country`,label:`Country`},{value:`mask`,label:`Masked`}]}}let Fm=e=>Pm(e).length>1;function Im(e){if(!p(os))return;let t=(e.options?.length??0)+1,n=[...e.options??[],{value:`option-${t}`,label:`Option ${t}`}];am(NM(p(os),e.field,{options:n}))}function Lm(e,t,n){if(!p(os))return;let r=(e.options??[]).map((e,r)=>r===t?{...e,...n}:e);am(NM(p(os),e.field,{options:r}))}function Rm(e,t){if(!p(os))return;let n=(e.options??[]).filter((e,n)=>n!==t);am(NM(p(os),e.field,{options:n.length?n:void 0}))}function zm(e,t){if(!p(os))return;let n={...e.input??{},...t};for(let e of Object.keys(n)){let t=n[e];(t===``||t==null)&&delete n[e]}let r=Object.keys(n).length?n:void 0;am(NM(p(os),e.field,{input:r}))}let Bm=[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`],Vm=[`postgres`,`mysql`,`sqlite`,`mssql`,`supabase`,`turso`],Hm=[`query`,`path`,`header`,`body`],Um=j(`query`),Wm=j(!1),Gm=j(null),Km=N(()=>p(Gm)?wt(p(G),p(Gm)):p(os)),qm=j(``),Jm=j(null),Ym=j(null),Xm=j(!1),Zm=j(!1);function Qm(e,t){let n=e.querySelector(t.handle),r=null,i=i=>{if(t.maximized||i.target.closest(`button`))return;let a=e.getBoundingClientRect();e.style.position=`fixed`,e.style.margin=`0`,e.style.left=`${a.left}px`,e.style.top=`${a.top}px`,r={dx:i.clientX-a.left,dy:i.clientY-a.top};try{n?.setPointerCapture(i.pointerId)}catch{}i.preventDefault()},a=t=>{r&&(e.style.left=`${Math.min(Math.max(t.clientX-r.dx,0),window.innerWidth-120)}px`,e.style.top=`${Math.min(Math.max(t.clientY-r.dy,0),window.innerHeight-44)}px`)},o=e=>{r=null;try{n?.releasePointerCapture(e.pointerId)}catch{}},s=e=>{e?.addEventListener(`pointerdown`,i),e?.addEventListener(`pointermove`,a),e?.addEventListener(`pointerup`,o)},c=e=>{e?.removeEventListener(`pointerdown`,i),e?.removeEventListener(`pointermove`,a),e?.removeEventListener(`pointerup`,o)},l=t=>{e.classList.toggle(`is-max`,t),t&&(e.style.left=e.style.top=e.style.width=e.style.height=e.style.position=e.style.margin=``)};return s(n),l(t.maximized),{update(r){r.handle!==t.handle&&(c(n),n=e.querySelector(r.handle),s(n)),t=r,l(r.maximized)},destroy(){c(n)}}}T(()=>{p(Wm)||(V(Gm,null),V(qm,``),V(Jm,null),V(Ym,null),V(Xm,!1))}),T(()=>{p(K)||V(Zm,!1)});function $m(e){Zt(p(G),e).kind!==`memory`&&Zt(p(G),e).kind!==`pglite`&&(V(Gm,e,!0),V(qm,``),V(Jm,null),V(Ym,null),V(vh,null),V(Xm,!1),V(K,!1),V(Wm,!0))}let eh=N(()=>p(Km)?Zt(p(G),p(Km).name):{kind:`memory`});function th(e){p(Km)&&Xr(dt(p(G),p(Km).name,e))}function nh(e,t){let n=Zt(p(G),e);if(n.kind===t)return;let r=Ye(t,e),i=n.kind===`memory`||n.kind===`pglite`?n.seed:void 0;i&&(r.kind===`memory`||r.kind===`pglite`)&&(r.seed=i),Xr(dt(p(G),e,r))}function rh(e){p(os)&&nh(p(os).name,e)}function ih(e){p(eh).kind===`rest`&&th({...p(eh),...e})}function ah(e){ih({adapter:e===`none`?void 0:e===`offsetLimit`?{kind:`offsetLimit`}:e===`dummyjson`?{kind:`dummyjson`}:{kind:`jsonServer`}})}function oh(e){let t=p(eh).kind===`rest`?p(eh).adapter:void 0;t?.kind===`offsetLimit`&&ih({adapter:{...t,...e}})}function sh(e){if(e.kind===`dummyjson`)return xM(e.rowsKey);if(e.kind===`jsonServer`)return SM();let{kind:t,...n}=e;return bM(n)}let ch=N(()=>{if(!p(G).entities.length)return null;let e=new Set(p(G).entities.map(e=>Zt(p(G),e.name).kind));return e.size===1&&e.has(`memory`)?`memory`:e.size===1&&e.has(`pglite`)?`pglite`:null}),lh=N(()=>{let e=new Map;for(let t of p(G).entities){let n=Zt(p(G),t.name).kind;e.set(n,(e.get(n)??0)+1)}return[...e].map(([e,t])=>`${As[e]} ×${t}`).join(` · `)||As[p(G).dataSource]});function uh(e){if(p(ch)===e)return;let t=Ct(p(G),e);for(let n of p(G).entities){let r=Zt(p(G),n.name),i=r.kind===`memory`||r.kind===`pglite`?r.seed:void 0;t=dt(t,n.name,e===`pglite`?{kind:`pglite`,table:n.name,...i?{seed:i}:{}}:{kind:`memory`,...i?{seed:i}:{}})}Xr(t)}let dh=e=>[...e.matchAll(/\{([^}]+)\}/g)].map(e=>e[1]);function fh(e){if(p(eh).kind!==`rest`)return;let t=dh(e),n=p(eh).params.filter(e=>e.location!==`path`),r=new Set,i=t.filter(e=>!r.has(e)&&r.add(e)).map(e=>p(eh).kind===`rest`?p(eh).params.find(t=>t.location===`path`&&t.name===e)??{name:e,location:`path`,type:`string`,value:``}:{name:e,location:`path`,type:`string`,value:``});ih({path:e,params:[...n,...i]})}function ph(e){return p(eh).kind===`rest`?p(eh).params.filter(t=>t.location===e):[]}function mh(e){p(eh).kind===`rest`&&ih({params:[...p(eh).params,{name:``,location:e,type:`string`,value:``}]})}function hh(e,t){p(eh).kind===`rest`&&ih({params:p(eh).params.map(n=>n===e?{...n,...t}:n)})}function gh(e){p(eh).kind===`rest`&&ih({params:p(eh).params.filter(t=>t!==e)})}let _h=j(!1),vh=j(null),yh=j(pe([])),bh=j(!1);function xh(e){return{url:e.url??p(G).supabase?.url,key:e.key??p(G).supabase?.key}}function Sh(e){let t={...p(G),supabase:{...p(G).supabase,...e}},n=p(eh);if(n.kind===`supabase`&&(n.url||n.key)&&p(Km)){let{url:e,key:r,...i}=n;t=dt(t,p(Km).name,i)}Xr(t)}let Ch={postgres:`postgresql://user:pass@host:5432/db`,supabase:`postgresql://postgres:pass@db.<ref>.supabase.co:5432/postgres`,mysql:`mysql://user:pass@host:3306/db`,mssql:`sqlserver://user:pass@host:1433;database=db`,sqlite:`/path/to/app.db`,turso:`libsql://your-db.turso.io`};function wh(e){let t=e.trim().toLowerCase();return t.startsWith(`libsql://`)||t.includes(`.turso.io`)?`turso`:t.startsWith(`mysql`)?`mysql`:t.startsWith(`sqlserver://`)||t.startsWith(`mssql://`)||t.includes(`sqlserver`)?`mssql`:t.startsWith(`postgres`)&&t.includes(`supabase.co`)?`supabase`:t.startsWith(`postgres`)?`postgres`:/\.(db|sqlite|sqlite3)(\?|$)/.test(t)||t.length>0&&!t.includes(`://`)?`sqlite`:`postgres`}function Th(e){return{placeholder:Ch[e.dialect??`postgres`],parsed:p(Jm)}}function Eh(e){let t=p(qm).trim();if(!t)return;let n=wh(t),r=MN(n===`turso`||n===`supabase`?`postgres`:n,t);th({...e,dialect:n}),V(Jm,{dialect:n,host:typeof r.host==`string`?r.host:void 0,database:r.database},!0)}let Dh=j(!1),Oh=j(!1),kh=j(!1);async function Ah(){try{await navigator.clipboard.writeText(`npx @svgrid/studio designer`),V(kh,!0),setTimeout(()=>V(kh,!1),1600)}catch{}}async function jh(e){let t=p(Km);if(!t||!n.onIntrospectDatabase)return;let r=p(qm).trim();if(!r){V(vh,{ok:!1,message:`Paste your connection string above first, then Preview data.`},!0);return}V(Dh,!0),V(vh,null),V(Ym,null);try{let i=e.dialect??wh(r),a=(await n.onIntrospectDatabase({dialect:i,url:r,action:`preview`,tables:[e.table||t.name],schema:e.schema})).rows??[];V(Ps,{...p(Ps),[t.name]:a},!0),V(vh,{ok:!0,message:`OK - ${a.length} row${a.length===1?``:`s`} from ${e.table||t.name}.`},!0)}catch(e){let t=e;V(Ym,t?.missingDriver?t.driver??null:null,!0),V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(Dh,!1)}}async function Mh(e){if(n.onInstallDriver){V(Oh,!0),V(vh,null);try{let t=e.dialect??wh(p(qm).trim()),r=await n.onInstallDriver(t);r.ok?(V(Ym,null),await jh(e)):V(vh,{ok:!1,message:`Install failed: ${(r.output||r.package||``).slice(-300)}`},!0)}catch(e){V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(Oh,!1)}}}async function Nh(){if(p(eh).kind!==`supabase`)return;let e=xh(p(eh));if(!e.url||!e.key){V(vh,{ok:!1,message:`Set the project URL and the anon key first.`},!0);return}V(bh,!0),V(vh,null);try{V(yh,await DM(e.url,e.key),!0),V(vh,p(yh).length?{ok:!0,message:`Found ${p(yh).length} table${p(yh).length===1?``:`s`}. Pick one, then Import schema.`}:{ok:!1,message:`No tables listed (the OpenAPI doc may be CORS-blocked or the key is wrong). You can still type the table name.`},!0)}catch(e){V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(bh,!1)}}async function Ph(){let e=p(Km);if(!e||p(eh).kind!==`supabase`)return;let t=p(eh),n=xh(t);if(!n.url||!n.key){V(vh,{ok:!1,message:`Set the project URL and the anon key first.`},!0);return}V(bh,!0),V(vh,null);try{let r=await OM({url:n.url,key:n.key,table:t.table||e.name});r&&r.fields.length?(Xr(rr(p(G),e.name,{...e,idField:r.idField,fields:r.fields})),V(vh,{ok:!0,message:`Imported ${r.fields.length} fields from "${t.table||e.name}".`},!0),await Lh()):(await Lh(),Bh())}catch(e){V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(bh,!1)}}let Fh=(e,t)=>{let n=(e??``).replace(/\/+$/,``),r=(t??``).replace(/^\/+/,``);return n?r?`${n}/${r}`:n:r},Ih=(e,t)=>t?t.split(`.`).filter(Boolean).reduce((e,t)=>e==null?e:e[t],e):e;async function Lh(){let e=p(Km);if(!e)return;let t=p(eh);V(_h,!0),V(vh,null);try{let n;if(t.kind===`rest`){let r=t.path;for(let e of t.params)e.location===`path`&&e.value&&(r=r.split(`{${e.name}}`).join(e.value));let i=Object.fromEntries(t.params.filter(e=>e.location===`header`&&e.value).map(e=>[e.name,e.value])),a=Object.fromEntries(t.params.filter(e=>e.location===`query`&&e.value).map(e=>[e.name,e.value])),o=t.adapter?sh(t.adapter):{parse:t.rowsPath||t.totalPath?e=>{let n=Ih(e,t.rowsPath)??[];return{rows:n,rowCount:Number(Ih(e,t.totalPath)??n.length)}}:void 0};n=vM({url:Fh(t.baseUrl,r),schema:e,headers:i,query:a,...o})}else if(t.kind===`supabase`){let r=xh(t);if(!r.url||!r.key)throw Error(`Set the project URL and the anon key first.`);n=vM({url:`${r.url.replace(/\/+$/,``)}/rest/v1/${t.table}`,schema:e,headers:{apikey:r.key,Authorization:`Bearer ${r.key}`},query:{select:`*`}})}else return;let r=await n.getRows({startRow:0,endRow:25,pageIndex:0,pageSize:25,sortModel:[],filterModel:{}}),i=[...r.rows];V(Ps,{...p(Ps),[e.name]:i},!0),V(vh,{ok:!0,message:`OK - ${r.rowCount} rows returned.`},!0)}catch(e){V(vh,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{V(_h,!1)}}let Rh=e=>{let t=e==null?``:typeof e==`object`?JSON.stringify(e):String(e);return t.length>48?t.slice(0,47)+`…`:t},zh=e=>typeof e==`number`?`number`:typeof e==`boolean`?`boolean`:e&&typeof e==`object`?`json`:`text`;function Bh(){let e=p(Km);if(!e)return;let t=p(Ps)[e.name]??[];if(!t.length)return;let n=Object.keys(t[0]??{});if(!n.length)return;let r=n.includes(`id`)?`id`:n[0],i=n.map(e=>{let n=t.map(t=>t[e]).find(e=>e!=null);return{field:e,type:zh(n),...e===r?{primaryKey:!0}:{}}});Xr(rr(p(G),e.name,{...e,idField:r,fields:i})),V(vh,{ok:!0,message:`Imported ${i.length} fields from the response.`},!0)}var Vh=zG();C(`keydown`,de,Kp);let Hh;var Uh=B(Vh),Wh=B(Uh),Gh=B(Wh);o(B(Gh),()=>`dashboard`),H(Gh),D(2),H(Wh);var Kh=k(Wh,4);P(Kh);var qh=k(Kh,2),Jh=e=>{var t=fL();let n;w(()=>n=Ce(t,1,`sv-studio__tb-btn svelte-psjrav`,null,n,{"is-active":p(pp)===`insp`})),x(`click`,t,gp),d(e,t)};h(qh,e=>{p(mp)&&e(Jh)});var Yh=k(qh,2),Xh=B(Yh);let Zh;var Qh=B(Xh),$h=k(Qh,2),eg=B($h,!0);H($h),o(k($h,2),()=>`chevron`),H(Xh);var tg=k(Xh,2),ng=e=>{var t=gL(),r=L(t),i=k(r,2),a=B(i),o=e=>{var t=pL(),n=B(t);let r;var i=k(n,2);let a;H(t),w(()=>{r=Ce(n,1,`svelte-psjrav`,null,r,{"is-active":p(jl)===`light`}),a=Ce(i,1,`svelte-psjrav`,null,a,{"is-active":p(jl)===`dark`})}),x(`click`,n,()=>Xr(qt(p(G),{mode:`light`}))),x(`click`,i,()=>Xr(qt(p(G),{mode:`dark`}))),d(e,t)};h(a,e=>{n.appearance||e(o)});var s=k(a,2);oe(s,21,()=>kr,e=>e.id,(e,t)=>{let n=N(()=>(p(G).theme?.preset??`tailwind`)===p(t).id),r=N(()=>p(t)[p(jl)]);var i=mL();let a;var o=k(B(i),2),s=B(o,!0);H(o),H(i),w(()=>{a=Ce(i,1,`sv-studio__theme svelte-psjrav`,null,a,{"is-active":p(n)}),z(i,`aria-checked`,p(n)),z(i,`title`,p(t).name),A(i,`--pv-bg: ${p(r).bg??``}; --pv-header: ${p(r).headerBg??``}; --pv-border: ${p(r).border??``}; --pv-accent: ${p(r).accent??``}; --pv-fg: ${p(r).fg??``}`),v(s,p(t).name)}),x(`click`,i,()=>Xr($t(p(G),p(t).id))),d(e,i)}),H(s);var c=k(s,2),l=k(B(c)),u=B(l);P(u);var f=k(u,2),m=e=>{var t=hL();x(`click`,t,()=>Xr(qt(p(G),{accent:void 0}))),d(e,t)};h(f,e=>{p(G).theme?.accent&&e(m)}),H(l),H(c);var g=k(c,2),_=k(B(g));P(_);var y=k(_,2),b=k(B(y));b.textContent=`.brand-app { … }`,D(),H(y),H(g),D(2),H(i),w(()=>{I(u,p(G).theme?.accent??p(Fl)),I(_,p(G).theme?.appClass??``)}),x(`click`,r,()=>V(gu,!1)),x(`change`,u,e=>Xr(qt(p(G),{accent:e.currentTarget.value}))),x(`change`,_,e=>Xr(qt(p(G),{appClass:e.currentTarget.value.trim()||void 0}))),d(e,t)};h(tg,e=>{p(gu)&&e(ng)}),H(Yh);var rg=k(Yh,4),ig=e=>{var t=_L();let n;var r=B(t);H(t),w(()=>{n=Ce(t,1,`sv-studio__saved svelte-psjrav`,null,n,{"is-saving":p(oi)===`Saving…`}),v(r,`${p(oi)===`Saving…`?``:`✓ `}${p(oi)??``}`)}),d(e,t)};h(rg,e=>{p(oi)&&e(ig)});var ag=k(rg,2);o(B(ag),()=>`undo`),H(ag);var og=k(ag,2);o(B(og),()=>`redo`),H(og);var sg=k(og,2),cg=k(sg,4),lg=e=>{var t=vL();let n;w(()=>n=Ce(t,1,`sv-studio__tb-btn sv-studio__tb-btn--ai svelte-psjrav`,null,n,{"is-active":p(Vu)})),x(`click`,t,Ku),d(e,t)};h(cg,e=>{n.onCopilot&&e(lg)});var ug=k(cg,2);o(B(ug),()=>`plus`),D(),H(ug);var dg=k(ug,2);o(B(dg),()=>`dashboard`),D(),H(dg);var fg=k(dg,2),pg=e=>{var t=yL();let n;var r=B(t);o(r,()=>`entity`),D(),H(t),w(()=>n=Ce(t,1,`sv-studio__tb-btn svelte-psjrav`,null,n,{"is-active":p(K)})),x(`click`,t,()=>V(K,!0)),d(e,t)};h(fg,e=>{p(G).entities.length>0&&e(pg)});var mg=k(fg,2),hg=B(mg);let gg;var _g=B(hg);o(_g,()=>`plus`),o(k(_g,2),()=>`chevron`),H(hg);var vg=k(hg,2),yg=e=>{var t=SL(),r=L(t),i=k(r,2),a=B(i),s=B(a);o(s,()=>`plus`),D(),H(a);var c=k(a,2),l=B(c);o(l,()=>`import`);var u=k(l,3);H(c);var f=k(c,2),m=B(f);o(m,()=>`database`),D(),H(f);var g=k(f,2),_=e=>{var t=xL(),n=L(t),r=B(n);o(r,()=>`database`),D(),H(n);var i=k(n,2),a=e=>{var t=bL(),n=B(t);o(n,()=>`database`),D(),H(t),x(`click`,t,()=>{V(_u,!1),Ud()}),d(e,t)};h(i,e=>{p(G).entities.length>0&&e(a)}),x(`click`,n,()=>{V(_u,!1),gd()}),d(e,t)};h(g,e=>{n.onIntrospectDatabase&&e(_)});var v=k(g,2),y=B(v);o(y,()=>`import`),D(),H(v),H(i),x(`click`,r,()=>V(_u,!1)),x(`click`,a,()=>{V(_u,!1),V(Qu,``),V(Zu,!0)}),x(`change`,u,e=>{V(_u,!1),rd(e.currentTarget.files?.[0]),e.currentTarget.value=``}),x(`click`,f,()=>{V(_u,!1),V(dd,null),V(ld,!0)}),x(`click`,v,()=>{V(_u,!1),V(Yl,`import`)}),d(e,t)};h(vg,e=>{p(_u)&&e(yg)}),H(mg);var bg=k(mg,2);let xg;var Sg=k(bg,2);let Cg;o(B(Sg),()=>`save`),D(),H(Sg);var wg=k(Sg,4),Tg=e=>{var t=CL();x(`click`,t,es),d(e,t)};h(wg,e=>{p(Qo)&&e(Tg)});var Eg=k(wg,2),Dg=k(Eg,4);let Og;var kg=k(Dg,2),Ag=k(kg,2);o(B(Ag),()=>`screen`),D(),H(Ag);var jg=k(Ag,2);let Mg;o(B(jg),()=>`deploy`),D(),H(jg);var Ng=k(jg,2),Pg=k(Ng,2);o(B(Pg),()=>`generate`),D(),H(Pg),H(Uh);var Fg=k(Uh,2),Ig=e=>{var t=wL(),n=B(t),r=B(n);o(r,()=>`save`),D(),H(n);var i=k(n,2),a=k(i,2);H(t),x(`click`,i,ci),x(`click`,a,li),d(e,t)};h(Fg,e=>{p(ni)&&e(Ig)});var Lg=k(Fg,2),Rg=e=>{var t=TL(),n=B(t),r=B(n,!0);H(n);var i=k(n,2);H(t),w(()=>v(r,p(nd))),x(`click`,i,()=>V(nd,null)),d(e,t)};h(Lg,e=>{p(nd)&&e(Rg)});var zg=k(Lg,2),Bg=e=>{var t=EL(),n=B(t),r=B(n,!0);H(n);var i=k(n,2);H(t),w(()=>v(r,p(Ql))),x(`click`,i,()=>V(Ql,null)),d(e,t)};h(zg,e=>{p(Ql)&&p(Yl)===`none`&&e(Bg)});var Vg=k(zg,2),Hg=e=>{var t=ML(),n=B(t),r=e=>{var t=DL(),n=k(L(t),2);ne(n),w(()=>I(n,p($l))),d(e,t)},i=e=>{var t=OL(),n=k(L(t),2);let r;var i=B(n);o(i,()=>`import`);var a=k(i,4);H(n);var s=k(n,2);ne(s),z(s,`placeholder`,`…or paste { "entities": [...], "screens": [...] }`);var c=k(s,2);w(e=>{r=Ce(n,1,`sv-studio__dropzone svelte-psjrav`,null,r,{"is-dragover":p(nu)}),c.disabled=e},[()=>!p(Xl).trim()]),C(`dragover`,n,e=>{e.preventDefault(),V(nu,!0)}),C(`dragleave`,n,()=>V(nu,!1)),C(`drop`,n,au),x(`change`,a,e=>ru(e.currentTarget.files?.[0])),te(s,()=>p(Xl),e=>V(Xl,e)),x(`click`,c,tu),d(e,t)},a=e=>{var t=kL(),n=k(L(t),2);ne(n),z(n,`placeholder`,`model User { id Int @id ... } · or an OpenAPI 3 JSON document`);var r=k(n,2);te(n,()=>p(Zl),e=>V(Zl,e)),x(`click`,r,su),d(e,t)};h(n,e=>{p(Yl)===`save`?e(r):p(Yl)===`load`?e(i,1):e(a,-1)});var s=k(n,2),c=e=>{var t=AL(),n=B(t,!0);H(t),w(()=>v(n,p(ou))),d(e,t)};h(s,e=>{p(ou)&&e(c)});var l=k(s,2),u=e=>{var t=jL(),n=B(t,!0);H(t),w(()=>v(n,p(Ql))),d(e,t)};h(l,e=>{p(Ql)&&e(u)}),H(t),d(e,t)};h(Vg,e=>{p(Yl)!==`none`&&e(Hg)});var Ug=k(Vg,2);let Wg;{let e=e=>{var t=zL(),n=B(t),r=B(n),i=B(r),a=B(i);o(a,()=>`chevron`),D(),H(i);var s=k(i,2),c=B(s);oe(c,17,()=>p(G).screens,e=>e.id,(e,t)=>{var n=NL();let r;var i=B(n),a=B(i);o(a,()=>`screen`);var s=k(a),c=B(s,!0);H(s);var l=k(s),u=B(l);H(l),H(i);var f=k(i,2),m=k(f,2),h=B(m);o(h,()=>`close`),H(m),H(n),w(()=>{r=Ce(n,1,`sv-studio__tree-row svelte-psjrav`,null,r,{"is-active":p(t).id===p(Ai)?.id,"is-dragging":p(Xp)===p(t).id}),v(c,p(t).title),v(u,`/${p(t).route??``}`)}),C(`dragstart`,n,()=>V(Xp,p(t).id,!0)),C(`dragover`,n,e=>e.preventDefault()),C(`drop`,n,e=>{e.preventDefault(),p(Xp)&&p(Xp)!==p(t).id&&Xr(ze(p(G),p(Xp),p(G).screens.findIndex(e=>e.id===p(t).id))),V(Xp,null)}),C(`dragend`,n,()=>V(Xp,null)),x(`contextmenu`,n,e=>qa(e,Za(p(t)))),x(`click`,i,()=>{V(ki,p(t).id,!0),V(uo,null)}),x(`click`,f,()=>{V(ki,p(t).id,!0),so()}),x(`click`,m,()=>Xr(kn(p(G),p(t).id))),d(e,n)});var l=k(c,2),u=e=>{var t=PL();d(e,t)};h(l,e=>{p(G).screens.length===0&&e(u)}),H(s),H(r);var f=k(r,2),m=B(f),g=B(m);o(g,()=>`chevron`),D(),H(m);var _=k(m,2);oe(_,21,()=>p(G).entities,e=>e.name,(e,t)=>{let n=N(()=>Ns(p(t).name));var r=FL(),i=B(r),a=B(i);o(a,()=>`entity`);var s=k(a),c=B(s,!0);H(s),H(i);var l=k(i,2);let u;var f=B(l,!0);H(l);var m=k(l,2),h=B(m);o(h,()=>`plus`),H(m),H(r),w(()=>{v(c,p(t).label??p(t).name),u=Ce(l,1,`sv-studio__srcchip svelte-psjrav`,null,u,{"is-inherited":!p(n).explicit}),A(l,`--src: ${p(n).color??``}`),z(l,`title`,`${p(t).label??p(t).name??``} data: ${p(n).label??``}${p(n).explicit?``:` (project default)`} - click to manage in Data model`),v(f,p(n).label),z(m,`aria-label`,`Add screen for ${p(t).name??``}`),z(m,`title`,`Add ${p(Jl)??``} screen`)}),x(`click`,l,()=>io(p(t).name)),x(`click`,m,()=>Xr(je(p(G),p(t).name,p(Jl)))),d(e,r)}),H(_),H(f);var y=k(f,2),b=B(y),S=k(B(b)),T=B(S),O=B(T);O.value=O.__value=`crud`;var ee=k(O);ee.value=ee.__value=`dashboard`;var te=k(ee);te.value=te.__value=`master-detail`;var j=k(te);j.value=j.__value=`empty`,H(T);var M=k(T,2),ne=B(M);o(ne,()=>`plus`),H(M),H(S),H(b);var F=k(b,2),re=k(B(F)),ie=B(re);ie.value=ie.__value=`memory`;var ae=k(ie);ae.value=ae.__value=`pglite`;var se=k(ae);se.value=se.__value=`sql`;var R=k(se);R.value=R.__value=`supabase`;var ce=k(R);ce.value=ce.__value=`rest`,H(re);var le;xe(re),H(F);var ue=k(F,4),de=B(ue),fe=B(de);o(fe,()=>`chevron`),D(),H(de);var pe=k(de,2),me=B(pe),he=k(B(me)),ge=B(he);ge.value=ge.__value=`sidebar`;var _e=k(ge);_e.value=_e.__value=`top-nav`;var ve=k(_e);ve.value=ve.__value=`bottom-nav`,H(he);var ye;xe(he),H(me);var be=k(me,2),Se=e=>{var t=IL(),n=k(B(t)),r=B(n);r.value=r.__value=`left`;var i=k(r);i.value=i.__value=`right`,H(n);var a;xe(n),H(t),w(()=>{a!==(a=p(G).theme?.shell?.navPosition??`left`)&&(n.value=(n.__value=p(G).theme?.shell?.navPosition??`left`)??``,Te(n,p(G).theme?.shell?.navPosition??`left`))}),x(`change`,n,e=>Xr(Xt(p(G),{navPosition:e.currentTarget.value}))),d(e,t)};h(be,e=>{(p(G).theme?.shell?.style??`sidebar`)===`sidebar`&&e(Se)});var we=k(be,2),Ee=k(B(we));P(Ee),H(we);var De=k(we,4),Oe=B(De),ke=e=>{var t=LL(),n=L(t),r=k(n,2);w(()=>z(n,`src`,p(Vl))),x(`click`,r,()=>Xr(Xt(p(G),{logo:void 0}))),d(e,t)},Ae=e=>{var t=RL();x(`change`,t,Gl),d(e,t)};h(Oe,e=>{p(Vl)?e(ke):e(Ae,-1)}),H(De);var Me=k(De,4),Ne=k(B(Me));P(Ne),H(Me),H(pe),H(ue),H(y),H(n),H(t),w(()=>{le!==(le=p(G).dataSource)&&(re.value=(re.__value=p(G).dataSource)??``,Te(re,p(G).dataSource)),ye!==(ye=p(G).theme?.shell?.style??`sidebar`)&&(he.value=(he.__value=p(G).theme?.shell?.style??`sidebar`)??``,Te(he,p(G).theme?.shell?.style??`sidebar`)),I(Ee,p(G).theme?.shell?.brand??``),z(Ee,`placeholder`,p(G).title),I(Ne,p(G).theme?.shell?.footer??``)}),E(T,()=>p(Jl),e=>V(Jl,e)),x(`click`,M,()=>co()),x(`change`,re,e=>Xr(Ct(p(G),e.currentTarget.value))),x(`change`,he,e=>Xr(Xt(p(G),{style:e.currentTarget.value}))),x(`change`,Ee,e=>Xr(Xt(p(G),{brand:e.currentTarget.value}))),x(`change`,Ne,e=>Xr(Xt(p(G),{footer:e.currentTarget.value}))),d(e,t)},t=e=>{var t=UL(),n=B(t),r=B(n),i=B(r),a=B(i,!0);H(i);var s=k(i,2);oe(s,21,()=>Dt,e=>e.kind,(e,t)=>{var n=BL();let r;var i=B(n);o(i,()=>p(t).kind);var a=k(i,1,!0);H(n),w(()=>{r=Ce(n,1,`sv-studio__palette-item svelte-psjrav`,null,r,{"is-dragging":p(qp)===p(t).kind}),n.disabled=!p(Ai),z(n,`draggable`,!!p(Ai)),z(n,`title`,p(os)?p(t).needs?`Needs a ${p(t).needs}`:`Drag onto the canvas, or click to add`:`Drop it and pick an entity to bind this page to`),v(a,p(t).label)}),C(`dragstart`,n,e=>p(Ai)&&Qp(e,p(t).kind)),C(`dragend`,n,im),x(`click`,n,()=>mi(p(t).kind)),d(e,n)}),H(s);var c=k(s,4);oe(c,17,()=>_i,e=>e.category,(e,t)=>{var n=HL(),r=L(n),i=B(r,!0);H(r);var a=k(r,2);oe(a,21,()=>p(t).items,e=>e.key,(e,t)=>{var n=VL();let r;var i=B(n);o(i,()=>`file`);var a=k(i,1,!0);H(n),w(()=>{r=Ce(n,1,`sv-studio__palette-item svelte-psjrav`,null,r,{"is-dragging":p(Jp)===p(t).key}),n.disabled=!p(Ai),z(n,`draggable`,!!p(Ai)),v(a,p(t).label)}),C(`dragstart`,n,e=>p(Ai)&&$p(e,p(t).key)),C(`dragend`,n,im),x(`click`,n,()=>ha(p(t).key)),d(e,n)}),H(a),w(()=>v(i,p(t).category)),d(e,n)}),H(r),H(n),H(t),w(()=>v(a,p(Ai)?p(os)?`Drag a block onto the canvas, or click to add it to the current screen.`:`Data blocks read a page’s entity - drop one and you’ll pick which entity to bind this page to. UI components below drop onto any page.`:`Add or select a screen first, then drop blocks onto it.`)),d(e,t)},r=e=>{var t=jee(),r=B(t),i=e=>{var t=GL(),n=B(t);let r;var i=B(n);o(i,()=>`dashboard`),D(),H(n);var a=k(n,2);let s;var c=B(a);o(c,()=>`file`);var l=k(c,2),u=e=>{var t=WL();d(e,t)};h(l,e=>{p(Ai).code&&e(u)}),H(a),H(t),w(()=>{r=Ce(n,1,`sv-studio__viewtab svelte-psjrav`,null,r,{"is-active":p(fo)===`design`}),z(n,`aria-selected`,p(fo)===`design`),s=Ce(a,1,`sv-studio__viewtab svelte-psjrav`,null,s,{"is-active":p(fo)===`code`}),z(a,`aria-selected`,p(fo)===`code`)}),x(`click`,n,()=>V(fo,`design`)),x(`click`,a,()=>V(fo,`code`)),d(e,t)};h(r,e=>{p(Ai)&&e(i)});var a=k(r,2),s=e=>{var t=iR(),n=B(t),r=B(n),i=B(r);let a;var s=B(i);o(s,()=>`file`),D(),H(i);var c=k(i,2);let l;var u=k(c,2);let f;var m=k(u,2);let g;H(r);var _=k(r,2),y=e=>{var t=KL(),n=B(t);P(n),D(),H(t),w(()=>ce(n,p(cs))),x(`change`,n,e=>Xr(fr(p(G),p(Ai).id,e.currentTarget.checked))),d(e,t)};h(_,e=>{(p(mo)===`onLoad`||p(mo)===`onDestroy`)&&!p(os)&&e(y)}),H(n);var b=k(n,2),S=e=>{var t=eR(),n=L(t),r=B(n),i=B(r),a=B(i);let s;var c=k(B(a)),l=e=>{var t=qL();d(e,t)};h(c,e=>{(p(us)||p(Ai).handlerSteps?.onLoad?.length)&&e(l)}),H(a);var u=k(a,2);let f;var m=k(B(u)),g=e=>{var t=JL();d(e,t)};h(m,e=>{(p(ds)||p(Ai).handlerSteps?.onDestroy?.length)&&e(g)}),H(u),H(i);var _=k(i,2),y=B(_),b=B(y),S=B(b);o(S,()=>`screen`);var C=k(S,1,!0);H(b);var T=k(b,2),E=B(T,!0);H(T),H(y);var O=k(y,2),A=e=>{var t=YL();sM(L(t),{get value(){return p(us)},get completions(){return p(_s)},get snippets(){return p(bs)},placeholder:`// Runs when the page mounts. Reach the grid via ctx.grid, feed a chart via ctx.chart1.setData(rows).
75793
75793
  // Tip: type ctx. for suggestions, or use an Insert snippet above.`,get tsTypes(){return p(ms)},oncommit:e=>Xr(Rt(p(G),p(Ai).id,`onLoad`,e))}),D(2),d(e,t)},ee=e=>{var t=XL();sM(L(t),{get value(){return p(ds)},get completions(){return p(_s)},get snippets(){return p(bs)},placeholder:`// Runs when the page unmounts. Clean up timers, subscriptions, aborts you started in onLoad.`,get tsTypes(){return p(ms)},oncommit:e=>Xr(Rt(p(G),p(Ai).id,`onDestroy`,e))}),D(2),d(e,t)};h(O,e=>{p(mo)===`onLoad`?e(A):e(ee,-1)}),H(_),H(r);var te=k(r,2),j=k(B(te),2),M=B(j);oe(M,17,()=>p(fs),e=>e.name,(e,t)=>{var n=ZL(),r=B(n),i=B(r);H(r);var a=k(r),o=B(a,!0);H(a),H(n),w(e=>{v(i,`ctx.${p(t).name??``}`),v(o,e)},[()=>gs(p(t))]),d(e,n)});var N=k(M,2),ne=e=>{var t=QL();d(e,t)},P=e=>{var t=$L();d(e,t)};h(N,e=>{p(ps)===`settable`?e(ne):p(ps)===`reload`&&e(P,1)}),D(4),H(j);var F=k(j,8);cr(F,()=>e=>pa(p(mo),e)),H(te),H(n);var I=k(n,2),re=B(I);o(re,()=>`screen`),D(3),H(I),w(()=>{s=Ce(a,1,`sv-studio__code-file-tab svelte-psjrav`,null,s,{"is-active":p(mo)===`onLoad`}),z(a,`aria-selected`,p(mo)===`onLoad`),f=Ce(u,1,`sv-studio__code-file-tab svelte-psjrav`,null,f,{"is-active":p(mo)===`onDestroy`}),z(u,`aria-selected`,p(mo)===`onDestroy`),v(C,p(mo)),v(E,p(mo)===`onLoad`?`async (ctx) =&gt; void`:`(ctx) =&gt; void`)}),x(`click`,a,()=>V(mo,`onLoad`)),x(`click`,u,()=>V(mo,`onDestroy`)),d(e,t)},C=e=>{var t=wee(),n=L(t),r=B(n),i=B(r),a=B(i),s=B(a),c=B(s);o(c,()=>`file`),D(),H(s),D(2),H(a);var l=k(a,2);{let e=N(()=>p(G).theme?.customCss??``);sM(l,{lang:`css`,get value(){return p(e)},placeholder:`/* Global styles for the whole app (imported after app.css).
75794
75794
  Target a block via its CSS class, override --sg-* tokens, or restyle any .st-* class. */
75795
75795
  .featured-card { box-shadow: 0 8px 24px rgba(0,0,0,.12); }`,oncommit:e=>Xr(qt(p(G),{customCss:e.trim()||void 0}))})}D(2),H(i),H(r),H(n);var u=k(n,2),f=B(u);o(f,()=>`file`),D(3),H(u),d(e,t)},T=e=>{let t=N(()=>p(mo)===`page`?p(hs)?.page:p(hs)?.ctx);var n=rR(),r=L(n),i=B(r),a=B(i),s=B(a),c=B(s),l=B(c);o(l,()=>`file`);var u=k(l);H(c),D(2),H(s);var f=k(s,2),m=e=>{var t=tR(),n=B(t),r=B(n);H(n),H(t),w(()=>v(r,`Couldn't generate this file: ${p(hs).error??``}`)),d(e,t)},g=e=>{sM(e,{readonly:!0,get value(){return p(t)}})},_=e=>{var t=nR(),n=B(t),r=B(n,!0);H(n),H(t),w(()=>v(r,p(mo)===`context`?`No page-context.ts - this screen has no code yet (write in handlers.ts).`:`No generated page for this screen.`)),d(e,t)};h(f,e=>{p(hs)?.error?e(m):p(t)?e(g,1):e(_,-1)}),H(a),H(i),H(r);var y=k(r,2),b=B(y);o(b,()=>`screen`),D(3),H(y),w(()=>v(u,`src/routes/${p(Ai).route??``}/${p(mo)===`page`?`+page.svelte`:`page-context.ts`}`)),d(e,n)};h(b,e=>{p(mo)===`onLoad`||p(mo)===`onDestroy`?e(S):p(mo)===`css`?e(C,1):e(T,-1)}),H(t),w(()=>{a=Ce(i,1,`sv-studio__code-file-tab svelte-psjrav`,null,a,{"is-active":p(mo)===`onLoad`||p(mo)===`onDestroy`}),z(i,`aria-selected`,p(mo)===`onLoad`||p(mo)===`onDestroy`),l=Ce(c,1,`sv-studio__code-file-tab svelte-psjrav`,null,l,{"is-active":p(mo)===`page`}),z(c,`aria-selected`,p(mo)===`page`),f=Ce(u,1,`sv-studio__code-file-tab svelte-psjrav`,null,f,{"is-active":p(mo)===`context`}),z(u,`aria-selected`,p(mo)===`context`),g=Ce(m,1,`sv-studio__code-file-tab svelte-psjrav`,null,g,{"is-active":p(mo)===`css`}),z(m,`aria-selected`,p(mo)===`css`)}),x(`click`,i,()=>V(mo,`onLoad`)),x(`click`,c,()=>V(mo,`page`)),x(`click`,u,()=>V(mo,`context`)),x(`click`,m,()=>V(mo,`css`)),d(e,t)},c=e=>{var t=Aee();let n;var r=B(t),i=B(r),a=B(i),s=B(a),c=e=>{var t=aR();w(()=>{z(t,`src`,p(Vl)),z(t,`alt`,p(Rl))}),d(e,t)},l=e=>{var t=oR(),n=L(t);o(n,()=>`dashboard`);var r=k(n),i=B(r,!0);H(r),w(()=>v(i,p(Rl))),d(e,t)};h(s,e=>{p(Vl)?e(c):e(l,-1)}),H(a);var u=k(a,2),f=e=>{var t=Tee();w(()=>{z(t,`title`,p(Hl)?`Expand sidebar`:`Collapse sidebar`),z(t,`aria-expanded`,!p(Hl))}),x(`click`,t,()=>V(Hl,!p(Hl))),d(e,t)};h(u,e=>{p(Ll)===`sidebar`&&e(f)}),H(i);var m=k(i,2);oe(m,21,()=>p(Kl),e=>e.id,(e,t)=>{var n=sR();let r;var i=B(n),a=B(i,!0);H(i);var o=k(i),s=B(o,!0);H(o),H(n),w(e=>{r=Ce(n,1,`sv-studio__shellnav-item svelte-psjrav`,null,r,{"is-active":p(t).id===p(Ai).id}),z(n,`title`,p(t).nav?.label??p(t).title),v(a,e),v(s,p(t).nav?.label??p(t).title)},[()=>(p(t).nav?.label??p(t).title).trim().slice(0,1)]),x(`click`,n,()=>{V(ki,p(t).id,!0),V(uo,null)}),d(e,n)}),H(m),H(r);var g=k(r,2),_=B(g);let y;var b=B(_),S=e=>{var t=Eee();sc(B(t),{onChange:is,get locked(){return p(xo)},get minSize(){return p(Ao).minSize},get allowPopout(){return p(Ao).allowPopout},get hideSingleTab(){return p(Ao).hideSingleTab},get headerPosition(){return p(Ao).headerPosition},get workspace(){return p(qo)},set workspace(e){V(qo,e,!0)},pane:(e,t=ee)=>{ie(e,t)},$$slots:{pane:!0}}),H(t),d(e,t)},T=e=>{var t=pR();let n;var r=B(t);oe(r,17,()=>p(Ai).blocks,e=>e.id,(e,t)=>{let n=N(()=>J(p(t).id));var r=uR();let i;var a=B(r),s=B(a),c=k(B(s));o(c,()=>p(t).config.kind);var l=k(c,1,!0),u=k(l),f=e=>{var n=cR();w(e=>z(n,`title`,e),[()=>p(Ts)[p(t).id].map(e=>e.message).join(`