@svgrid/enterprise 3.1.18 → 3.1.19

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=["./export-format-BCuqcexA.js","./rolldown-runtime-Dd_uD5pT.js","./cell-formatting-JoxA0t65.js","./conditional-formatting-MDWbF8_Y.js","./chart-Bmu-KAet.js","./chart-trend-_gDVw3bP.js","./row-drag-D5c8CRVe.js","./preload-helper-HclGiUj8.js","./SvGridChartView-Bfs0bvDb.js","./disclose-version-CIm4S9xS.js","./SvGridChart-DYtGHM3F.js","./editor-contract-Bpoa7A5g.js","./chart-export-B6bkQ3X8.js","./SvGridChart-BgLuPO7I.css","./SvGridChartView-7msfnWZT.css","./GridFooter-CKBVItAU.js","./SvGrid.helpers-BF2QRcNt.js","./sv-grid-scrollbar-B9N6Wuj0.js","./PinSplitter-C5AwA1xV.js","./grid-extension.svelte-BZ7AqyJI.js","./PinSplitter-BgTpgh1d.css","./sparkline-C-NcnB2i.js","./SvDateTimePicker-r4FqmR6R.js","./date-format-B8JbEtIG.js","./date-format-DKS-z0xS.css","./popover-CUkLsvRX.js","./dismissable-ChWRPkoa.js","./SvDateTimePicker-DPv09DIT.css","./SvDateRangeInput-DbfmXqJj.js","./SvDateRangeInput-C0iCCZ8o.css","./SvGridChartPanel-Cm9_K7BV.js","./chart-panel-messages-B3y8y3kL.js","./SvGridChartPanel-4Pc8y5yO.css","./SvGridCellEditor-od4VbndV.js","./editor-registry-BjP16H0v.js","./GridMenus-Dzwu7M9r.js","./SvListBox-fn160gSB.js","./list-option-BP_dWS66.js","./SvListBox-BXfyqy4a.css","./row-resize-BInFWCpr.js","./column-resize-BYDzR1Ve.js","./jszip.min-CX2fPs3O.js","./src-hO8VnnI5.js"])))=>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,B as a,C as o,D as s,E as c,F as l,G as u,H as d,I as f,J as p,K as m,L as h,M as g,N as _,O as v,P as y,Q as b,R as x,T as S,U as C,V as w,W as T,X as E,Z as D,_ as O,_t as k,a as A,at as j,b as M,bt as N,c as ee,ct as P,d as te,dt as F,et as I,f as L,ft as ne,g as re,gt as ie,h as ae,ht as oe,i as se,it as R,j as ce,k as z,l as le,lt as ue,m as de,mt as fe,n as pe,nt as me,o as he,ot as ge,p as B,pt as _e,q as ve,r as V,rt as H,s as ye,st as U,t as be,tt as xe,u as Se,ut as Ce,v as we,vt as W,w as Te,x as Ee,xt as De,y as Oe,yt as ke,z as Ae}from"./disclose-version-CIm4S9xS.js";import{a as je,n as Me,t as Ne}from"./cell-formatting-JoxA0t65.js";import{C as Pe,D as Fe,E as Ie,S as Le,T as G,_ as Re,a as ze,b as Be,c as Ve,f as He,g as Ue,h as We,i as Ge,l as Ke,n as qe,r as Je,t as Ye,u as Xe,w as Ze,y as Qe}from"./SvGrid.helpers-BF2QRcNt.js";import"./sv-grid-scrollbar-B9N6Wuj0.js";import{a as $e,c as et,d as tt,f as nt,i as rt,l as it,n as K,o as at,r as ot,s as st,t as ct,u as lt}from"./SvListBox-fn160gSB.js";import{n as ut,t as dt}from"./grid-extension.svelte-BZ7AqyJI.js";import{n as ft,t as pt}from"./editor-registry-BjP16H0v.js";import{t as mt}from"./preload-helper-HclGiUj8.js";import{a as ht,i as gt,t as _t}from"./editor-contract-Bpoa7A5g.js";import{_ as vt,a as yt,c as bt,d as xt,f as St,g as Ct,h as wt,m as Tt,o as Et,p as Dt,s as Ot,u as kt,v as At}from"./date-format-B8JbEtIG.js";import{i as jt,n as Mt,r as Nt,t as Pt}from"./popover-CUkLsvRX.js";import{t as Ft}from"./SvGridDropdown-Cjz0H-fI.js";import{r as It,t as Lt}from"./SvDateTimePicker-r4FqmR6R.js";import{n as Rt,t as zt}from"./dismissable-ChWRPkoa.js";import{t as Bt}from"./SvDateRangeInput-DbfmXqJj.js";import{t as Vt}from"./focus-trap-V2-6Fy9I.js";import{n as Ht,t as Ut}from"./SvTabs-2mHC6oaz.js";import{a as Wt,i as Gt,n as Kt,o as qt,r as Jt,s as Yt,t as Xt}from"./list-option-BP_dWS66.js";import{n as Zt,r as Qt,t as $t}from"./SvMenuList-Dgq2D5VN.js";import{i as en,n as tn,r as nn}from"./SvGridChartPanel-Cm9_K7BV.js";import{t as rn}from"./sparkline-C-NcnB2i.js";import{g as an}from"./chart-Bmu-KAet.js";import{t as on}from"./SvGridChart-DYtGHM3F.js";import{t as sn}from"./server-block-cache-CXJKkJpy.js";import{a as cn,i as ln,n as un,r as dn}from"./src-hO8VnnI5.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 fn(e,t,n,r){return e.id??e.field??`${t??`col`}_${n}_${r}`}function pn(e,t,n){if(e===`count`)return n.length;if(e===`first`)return n.length?n[0].getCellValueByColumnId(t):void 0;if(e===`countDistinct`){let e=new Set;for(let r of n)e.add(String(r.getCellValueByColumnId(t)??``));return e.size}if(typeof e==`function`){let r=[];for(let e of n){let n=Number(e.getCellValueByColumnId(t));Number.isFinite(n)&&r.push(n)}return e(r,n.map(e=>e.original))}let r=0,i=0,a=1/0,o=-1/0;for(let e of n){let n=Number(e.getCellValueByColumnId(t));Number.isFinite(n)&&(r++,i+=n,a=Math.min(a,n),o=Math.max(o,n))}if(r)switch(e){case`sum`:return i;case`avg`:return i/r;case`min`:return a;case`max`:return o;case`extent`:return`${a} – ${o}`;default:return}}function mn(e){let t=e,n=new Set;return{get state(){return t},setState(e){t=e(t),n.forEach(e=>e())},subscribe(e){return n.add(e),()=>n.delete(e)}}}var hn={key:`rowSortingFeature`},gn={key:`columnFilteringFeature`},_n={key:`columnGroupingFeature`};function vn(e){return e}var yn={auto:(e,t)=>Cn(e,t),number:(e,t)=>Jn(xn(e),xn(t)),date:(e,t)=>Jn(Sn(e),Sn(t))};function bn(e){return e==null||e===``}function xn(e){if(bn(e))return-1/0;let t=Number(e);return Number.isNaN(t)?-1/0:t}function Sn(e){if(bn(e))return-1/0;let t=new Date(e).getTime();return Number.isNaN(t)?-1/0:t}function Cn(e,t){let n=bn(e),r=bn(t);if(n||r)return n===r?0:n?-1:1;let i=typeof e==`number`,a=typeof t==`number`;return i&&a?Jn(xn(e),xn(t)):i===a?tr(String(e),String(t)):i?-1:1}var q={includesString:(e,t)=>String(e).toLowerCase().includes(t.toLowerCase()),equals:(e,t)=>e===t},wn=Symbol(`svgrid.row.ctx`),Tn=Symbol(`svgrid.row.values`),En=Symbol(`svgrid.row.cells`),Dn=Symbol(`svgrid.row.filterGen`),On=Symbol(`svgrid.row.filterPos`),kn=Symbol(`svgrid.row.sortDropped`),An=Symbol(`svgrid.row.sortKey`),jn=0,Mn=Symbol(`svgrid.lazyRows`),Nn=Symbol(`svgrid.lazyRows.fill`);function Pn(e,t){let n=Array(e),r=t=>{if(typeof t!=`string`)return-1;let n=t.charCodeAt(0);if(n<48||n>57)return-1;let r=+t;return r<e&&(r|0)===r?r:-1},i=()=>{for(let r=0;r<e;r++)n[r]===void 0&&(n[r]=t(r));return n};return new Proxy(n,{get(e,n,a){if(n===Mn)return e;if(n===Nn)return i;let o=r(n);if(o<0)return Reflect.get(e,n,a);let s=e[o];return s===void 0&&(e[o]=s=t(o)),s},has(e,t){return t===Mn||r(t)>=0||Reflect.has(e,t)},getOwnPropertyDescriptor(e,n){let i=r(n);if(i<0)return Reflect.getOwnPropertyDescriptor(e,n);let a=e[i];return a===void 0&&(e[i]=a=t(i)),{value:a,writable:!0,enumerable:!0,configurable:!0}}})}function Fn(e){let t=e[Nn];return t?t():e}function In(e){return e?e[Mn]??null:null}var Ln={getCanExpand(){return!1},getIsExpanded(){return!!(this[wn].store.state.expanded??{})[this.id]},toggleExpanded(){let e=this.id;this[wn].grid.setExpanded(t=>({...t,[e]:!t[e]}))},getIsSelected(){return!!(this[wn].store.state.rowSelection??{})[this.id]},toggleSelected(){let e=this.id;this[wn].grid.setRowSelection(t=>({...t,[e]:!t[e]}))},getAllCells(){return this[En]??Rn(this)},getCellValueByColumnId(e){let t=this[wn].columnIndexById.get(e);if(t!==void 0)return this[Tn]||(this[Tn]=zn(this)),this[Tn][t]}};function Rn(e){let{columns:t,columnCount:n,grid:r}=e[wn],i=Array(n);for(let a=0;a<n;a++){let n=t[a],o=a,s={id:`${e.id}_${n.id}`,row:e,column:n,getValue:()=>(e[Tn]||(e[Tn]=zn(e)),e[Tn][o]),getContext:()=>({cell:s,row:e,column:n,table:r,getValue:()=>s.getValue()})};i[a]=s}return e[En]=i,i}function zn(e){let{columns:t,columnCount:n}=e[wn],r=e.original,i=Array(n);for(let e=0;e<n;e++){let n=t[e].columnDef;n.fieldFn?i[e]=n.fieldFn(r):n.field?i[e]=r[n.field]:i[e]=void 0}return i}function Bn(){return({rows:e})=>e}function Vn(){let e=null,t=0;return({table:n,rows:r})=>{let i=n.getState().columnFilters??[];if(!i.length)return e=null,r;let a=n.getAllColumns(),o=i.map(e=>({id:e.id,value:e.value,fn:e.fn?q[e.fn]:q.includesString})),s=e=>{for(let t=0;t<o.length;t++){let n=o[t];if(!n.fn(e.getCellValueByColumnId(n.id),n.value))return!1}return!0};if(e&&e.filters===i&&e.columns===a){if(e.input===r)return e.output;let t=Kn(n);if(t&&r.length===e.input.length){let n=null,i=!0;for(let a=0;a<r.length&&i;a++){let o=e.input[a],c=r[a];if(c===o)continue;if(t.get(o)!==c){i=!1;break}let l=o[Dn]===e.gen,u=s(c);if(l!==u){i=!1;break}if(!u)continue;n??=e.output.slice();let d=o[On];n[d]=c,c[Dn]=e.gen,c[On]=d}if(i){let t=n??e.output;return e={...e,input:r,output:t},t}}}let c=++t,l=[];for(let e=0;e<r.length;e++){let t=r[e];s(t)&&(t[Dn]=c,t[On]=l.length,l.push(t))}return e={input:r,output:l,filters:i,columns:a,gen:c},l}}function Hn(){return({table:e,rows:t})=>{let n=e.getState().grouping??[];if(!n.length)return t;let r=e.getAllColumns();function i(t,a,o,s,c){if(a>=n.length)return t.map(e=>({...e,depth:o}));let l=n[a];if(!l)return t;let u=new Map;for(let e of t){let t=e.getCellValueByColumnId(l),n=String(t??``),r=u.get(n);r?(r.rows.push(e),!r.mixed&&r.raw!==t&&(r.mixed=!0)):u.set(n,{rows:[e],raw:t,mixed:!1})}let d=[],f=0;return u.forEach((t,u)=>{let p=t.rows,m=`${s}_${l}_${u}`,h=t.mixed?c:new Map(c).set(l,t.raw),g=i(p,a+1,o+1,m,h),_=a+1>=n.length?g.length:g.reduce((e,t)=>e+(t.leafCount??0),0),v=e=>{if(e===l)return u;if(c.has(e))return c.get(e);let t,n=!1;for(let r of p){let i=r.getCellValueByColumnId(e);if(!n)t=i,n=!0;else if(i!==t)return}return t},y={};r.forEach(e=>{let t=e.columnDef.field;if(!t)return;let n=e.columnDef.aggregate;y[t]=n?pn(n,e.id,p):v(e.id)});let b={id:m,index:f++,original:y,depth:o,subRows:g,leafCount:_,getCanExpand:()=>!0,getIsExpanded:()=>!!(e.getState().expanded??{})[m],toggleExpanded:()=>{e.setExpanded(e=>({...e,[m]:!e[m]}))},getIsSelected:()=>!!(e.getState().rowSelection??{})[m],toggleSelected:()=>{e.setRowSelection(e=>({...e,[m]:!e[m]}))},getAllCells:()=>[],getCellValueByColumnId:e=>{let t=r.find(t=>t.id===e)?.columnDef.field;return t&&t in y?y[t]:v(e)}};d.push(b)}),d}return i(t,0,0,`group`,new Map)}}function Un(e){let{parentField:t,idField:n=`id`}=e;return({table:e,rows:r})=>{if(!r.length)return r;let i=e=>e.original?.[n],a=e=>e.original?.[t],o=new Set;for(let e of r)o.add(i(e));let s=new Map,c=[];for(let e of r){let t=a(e);if(t==null||t===i(e)||!o.has(t)){c.push(e);continue}let n=s.get(t)??[];n.push(e),s.set(t,n)}let l=new Set,u=(t,n)=>{let r=i(t),a=t.id;if(l.has(r))return{...t,depth:n,subRows:[],getCanExpand:()=>!1};l.add(r);let o=(s.get(r)??[]).map(e=>u(e,n+1));return{...t,depth:n,subRows:o,leafCount:o.reduce((e,t)=>e+1+(t.leafCount??0),0),__treeRow:!0,getCanExpand:()=>o.length>0,getIsExpanded:()=>!!(e.getState().expanded??{})[a],toggleExpanded:()=>{e.setExpanded(e=>({...e,[a]:!e[a]}))}}};return c.map(e=>u(e,0))}}function Wn(){return({table:e,rows:t})=>{let n=e.getState().expanded??{},r=!1;for(let e in n)if(n[e]){r=!0;break}if(!r)return t;let i=[],a=e=>{if(i.push(e),e.subRows?.length&&n[e.id])for(let t of e.subRows)a(t)};for(let e of t)a(e);return i}}var Gn=new WeakMap;function Kn(e){return Gn.get(e)??null}function qn(e=yn){let t=null,n=Symbol(`svgrid.sort.missing-key`);function r(t,r,i){let a=[];for(let o of r){let r=i.find(e=>e.id===o.id);if(!r)continue;let s=G(r.columnDef),c=s===`number`?e.number:Ie(s)?e.date:e.auto,l=r.id,u=t.length,d=Array(u),f,p,m,h,g=r.columnDef.sortValue;if(typeof g==`function`){p=e=>xn(g(e.getCellValueByColumnId(l)));for(let e=0;e<u;e++)d[e]=p(t[e]);f=Jn}else if(c===yn.number){p=e=>xn(e.getCellValueByColumnId(l));for(let e=0;e<u;e++)d[e]=p(t[e]);f=Jn}else if(c===yn.date){p=e=>Sn(e.getCellValueByColumnId(l));for(let e=0;e<u;e++)d[e]=p(t[e]);f=Jn}else if(c===yn.auto&&(m=Xn(t,l))===`number`){p=e=>{let t=e.getCellValueByColumnId(l);return typeof t==`number`||bn(t)?xn(t):n};for(let e=0;e<u;e++)d[e]=p(t[e]);f=Jn}else if(m===`mixed`){p=e=>e.getCellValueByColumnId(l);for(let e=0;e<u;e++)d[e]=p(t[e]);f=Cn}else if(c===yn.auto){let e=Array(u),r=u>>1,i=null;if(u>0){let e=Math.max(1,Math.floor(u/Math.min(u,2048))),n=new Set,a=0;for(let r=0;r<u;r+=e)n.add(Yn(t[r].getCellValueByColumnId(l))),a++;let o=a-n.size;(e===1?n.size<=r:o*u>=a*a)&&(i=new Map)}let a=i?new Int32Array(u):null;for(let n=0;n<u;n++){let o=Yn(t[n].getCellValueByColumnId(l));if(e[n]=o,i){let e=i.get(o);if(e===void 0&&(e=i.size,i.set(o,e),i.size>r)){i=null;continue}a[n]=e}}if(i){let e=Array.from(i.keys()),t=e.map((e,t)=>t).sort((t,n)=>tr(e[t],e[n])),r=new Int32Array(e.length);for(let e=0;e<t.length;e++)r[t[e]]=e;for(let e=0;e<u;e++)d[e]=r[a[e]];let o=i;h=e.length,f=Jn,p=e=>{let t=e.getCellValueByColumnId(l);if(typeof t==`number`)return n;let i=o.get(Yn(t));return i===void 0?n:r[i]}}else d=e,f=tr,p=e=>{let t=e.getCellValueByColumnId(l);return typeof t==`number`?n:Yn(t)}}else{p=e=>e.getCellValueByColumnId(l);for(let e=0;e<u;e++)d[e]=p(t[e]);f=c}a.push({keys:d,desc:o.desc,compare:f,keyOf:p,rankCount:h})}if(!a.length)return null;let o=Array(t.length);for(let e=0;e<o.length;e++)o[e]=e;if(a.length===1){let{keys:e,compare:n,desc:r,rankCount:i}=a[0];i!==void 0&&t.length>=Zn?o=Qn(e,i,r):n===Jn&&t.length>=Zn?o=er(e,r):n===Jn?o.sort(r?function(t,n){return e[n]-e[t]}:function(t,n){return e[t]-e[n]}):o.sort(r?function(t,r){return-n(e[t],e[r])}:function(t,r){return n(e[t],e[r])})}else o.sort(function(e,t){for(let n=0;n<a.length;n++){let r=a[n],i=r.compare(r.keys[e],r.keys[t]);if(i!==0)return r.desc?-i:i}return 0});let s=Array(t.length);for(let e=0;e<o.length;e++)s[e]=t[o[e]];if(a.length===1){let e=a[0].keys;for(let n=0;n<t.length;n++)t[n][An]=e[n]}else for(let e=0;e<t.length;e++){let n=Array(a.length);for(let t=0;t<a.length;t++)n[t]=a[t].keys[e];t[e][An]=n}return{sorted:s,clauses:a.map(({desc:e,compare:t,keyOf:n})=>({desc:e,compare:t,keyOf:n}))}}function i(e,r){let i=t;if(e.length!==i.input.length)return null;let a=++jn,o=[];for(let t=0;t<e.length;t++){let n=i.input[t],s=e[t];if(s!==n){if(r.get(n)!==s)return null;n[kn]=a,o.push(s)}}if(!o.length)return i.output;let s=i.clauses,c=s.length===1;for(let e=0;e<o.length;e++){let t=o[e];if(c){let e=s[0].keyOf(t);if(e===n)return null;t[An]=e}else{let e=Array(s.length);for(let r=0;r<s.length;r++){let i=s[r].keyOf(t);if(i===n)return null;e[r]=i}t[An]=e}}let l=i.output,u=c?(()=>{let{compare:e,desc:t}=s[0];return(n,r)=>{let i=e(n[An],r[An]);return i===0?n.index-r.index:t?-i:i}})():(e,t)=>{let n=e[An],r=t[An];for(let e=0;e<s.length;e++){let t=s[e],i=t.compare(n[e],r[e]);if(i!==0)return t.desc?-i:i}return e.index-t.index};o.sort(u);let d=l.length,f=Array(o.length),p=0;for(let e=0;e<o.length;e++){let t=o[e],n=d;for(;p<n;){let e=p+n>>>1;u(t,l[e])<0?n=e:p=e+1}f[e]=p}let m=Array(e.length),h=0,g=0,_=f[0]??-1;for(let e=0;e<d;e++){for(;_===e;)m[h++]=o[g++],_=g<o.length?f[g]:-1;let t=l[e];t[kn]!==a&&(m[h++]=t)}for(;g<o.length;)m[h++]=o[g++];return m}return function({table:e,rows:n}){let a=e.getState().sorting??[];if(!a.length)return t=null,n;let o=e.getAllColumns();if(t&&t.sorting===a&&t.columns===o){if(t.input===n)return t.output;let r=Kn(e);if(r){let e=i(n,r);if(e)return t={...t,input:n,output:e},e}}let s=r(n,a,o);return s?(t={input:n,output:s.sorted,sorting:a,columns:o,clauses:s.clauses},s.sorted):(t=null,n)}}function Jn(e,t){return e===t?0:e-t}function Yn(e){return bn(e)?``:String(e)}function Xn(e,t){let n=!1,r=!1;for(let i=0;i<e.length;i++){let a=e[i].getCellValueByColumnId(t);if(!bn(a)&&(typeof a==`number`?n=!0:r=!0,n&&r))return`mixed`}return n?`number`:`text`}var Zn=2e4;function Qn(e,t,n){let r=e.length,i=new Uint32Array(t+1);for(let a=0;a<r;a++)i[(n?t-1-e[a]:e[a])+1]++;for(let e=0;e<t;e++)i[e+1]+=i[e];let a=new Uint32Array(r);for(let o=0;o<r;o++)a[i[n?t-1-e[o]:e[o]]++]=o;return a}var $n=new Uint8Array(new Uint32Array([1]).buffer)[0]===1;function er(e,t){let n=e.length,r=new Float64Array(n);for(let t=0;t<n;t++)r[t]=e[t]+0;let i=new Uint32Array(r.buffer),a=new Uint32Array(n),o=new Uint32Array(n),s=+!$n,c=1-s;for(let e=0;e<n;e++){let n=i[2*e+c],r=i[2*e+s];n&2147483648?(n=~n>>>0,r=~r>>>0):n=(n|2147483648)>>>0,t&&(n=~n>>>0,r=~r>>>0),o[e]=n,a[e]=r}let l=new Uint32Array(n);for(let e=0;e<n;e++)l[e]=e;let u=new Uint32Array(n),d=new Uint32Array(65536);for(let e=0;e<4;e++){let t=e<2?a:o,r=e%2==0?0:16;d.fill(0);for(let e=0;e<n;e++)d[t[e]>>>r&65535]++;if(d[t[l[0]]>>>r&65535]===n)continue;let i=0;for(let e=0;e<65536;e++){let t=d[e];d[e]=i,i+=t}for(let e=0;e<n;e++){let n=l[e];u[d[t[n]>>>r&65535]++]=n}let s=l;l=u,u=s}return l}function tr(e,t){return e.localeCompare(t)}function nr(e){let t=mn({sorting:[],columnFilters:[],pagination:{pageIndex:0,pageSize:e.data.length||10},grouping:[],expanded:{},rowSelection:{},activeCell:{rowIndex:0,colIndex:0,cellId:null},...e.state??{}}),n=mn(e),r=null,i=[],a=[],o=null,s=null,c=[],l=null,u=null,d=null,f=null,p=e._rowModels,m=null,h={store:t,optionsStore:n,get state(){return t.state},getState(){return t.state},setOptions(e){n.setState(t=>typeof e==`function`?e(t):e)},setColumnFilters(n){t.setState(e=>({...e,columnFilters:typeof n==`function`?n(e.columnFilters??[]):n})),e.onColumnFiltersChange?.(n)},setPagination(n){t.setState(e=>({...e,pagination:typeof n==`function`?n(e.pagination??{pageIndex:0,pageSize:10}):n})),e.onPaginationChange?.(n)},setGrouping(n){t.setState(e=>({...e,grouping:typeof n==`function`?n(e.grouping??[]):n})),e.onGroupingChange?.(n)},setExpanded(n){t.setState(e=>({...e,expanded:typeof n==`function`?n(e.expanded??{}):n})),e.onExpandedChange?.(n)},setRowSelection(n){t.setState(e=>({...e,rowSelection:typeof n==`function`?n(e.rowSelection??{}):n})),e.onRowSelectionChange?.(n)},setActiveCell(n){t.setState(e=>{let t=e.activeCell??{rowIndex:0,colIndex:0,cellId:null},r=typeof n==`function`?n(t):n;return{...e,activeCell:r}}),e.onActiveCellChange?.(n)},moveActiveCell(e){let t=h.getRowModel().rows,n=h.getAllColumns(),r=Math.max(t.length-1,0),i=Math.max(n.length-1,0),a=h.getState().activeCell??{rowIndex:0,colIndex:0,cellId:null},o=Math.min(Math.max(a.rowIndex+(e.rowDelta??0),0),r),s=Math.min(Math.max(a.colIndex+(e.colDelta??0),0),i),c=n[s]?.id??`col_0`;h.setActiveCell({rowIndex:o,colIndex:s,cellId:`${o}_${c}`})},getAllColumns(){if(r===e.columns&&i.length)return i;if(r&&e.columns.length===r.length&&i.length===e.columns.length&&e.columns.every((e,t)=>{let n=r[t];return e.field===n.field&&e.id===n.id&&e.header===n.header&&e.editorType===n.editorType&&e.fieldType===n.fieldType&&e.fieldProps===n.fieldProps}))return r=e.columns,i;r=e.columns,a=[];let n=(r,i,a)=>{let o=[];return r.forEach((r,s)=>{let c=fn(r,a,i,s);if(r.columns?.length){o.push(...n(r.columns,i+1,c));return}o.push({id:c,depth:i,parentId:a,columnDef:r,getCanSort:()=>!!e._features.rowSortingFeature&&r.sortable!==!1,getCanFilter:()=>!!e._features.columnFilteringFeature&&r.filterable!==!1,getIsSorted:()=>{let e=t.state.sorting?.find(e=>e.id===c);return e?e.desc?`desc`:`asc`:!1},getToggleSortingHandler:()=>()=>{let n=t.state.sorting??[],r=n.find(e=>e.id===c),i=r?r.desc?n.filter(e=>e.id!==c):n.map(e=>e.id===c?{...e,desc:!0}:e):[...n,{id:c,desc:!1}];t.setState(e=>({...e,sorting:i})),e.onSortingChange?.(i)}})}),o};return i=n(e.columns,0),i},getHeaderGroups(){return a.length||(a=[{id:`header_group_0`,headers:h.getAllColumns().map(e=>{let t={id:e.id,isPlaceholder:!1,colSpan:1,column:e,getContext:()=>({header:t,column:e,table:h})};return t})}]),a},getFooterGroups(){return h.getHeaderGroups()},getRowModel(){let n=h.getAllColumns(),r=e.data;if(o!==r||s!==n){let i=s===n&&u?In(c)??c:null,a=o;l=i&&i.length===r.length?new Map:null,o=r,s=n;let d;if(i&&u)d=u;else{let e=new Map;for(let t=0;t<n.length;t++)e.set(n[t].id,t);d={grid:h,store:t,columns:n,columnCount:n.length,columnIndexById:e},u=d}let f=e.getRowId,p=Ln,m=e=>{let t=r[e];return{id:f?f(t,e):String(e),index:e,original:t,depth:0,[wn]:d,[Tn]:null,[En]:null,[Dn]:0,[On]:-1,[kn]:0,[An]:void 0,getCanExpand:p.getCanExpand,getIsExpanded:p.getIsExpanded,toggleExpanded:p.toggleExpanded,getIsSelected:p.getIsSelected,toggleSelected:p.toggleSelected,getAllCells:p.getAllCells,getCellValueByColumnId:p.getCellValueByColumnId}};c=i?Array(r.length):Pn(r.length,m);for(let e=0;i&&e<r.length;e++){let t=r[e],n=i[e];if(n&&n.original===t){n[Tn]!==null&&(n[Tn]=null),n[En]!==null&&(n[En]=null),c[e]=n;continue}l&&l.size*4>=r.length&&(l=null);let o=m(e);n===void 0&&a?.[e]===t&&(i[e]=o),c[e]=o,l&&n&&l.set(n,o)}l&&l.size===0&&(l=null)}let i={sorting:t.state.sorting,columnFilters:t.state.columnFilters,pagination:t.state.pagination,grouping:t.state.grouping,expanded:t.state.expanded};if(d&&f===c&&p===e._rowModels&&m?.sorting===i.sorting&&m?.columnFilters===i.columnFilters&&m?.pagination===i.pagination&&m?.grouping===i.grouping&&m?.expanded===i.expanded)return d;let a=(i.sorting?.length??0)>0||(i.columnFilters?.length??0)>0||(i.grouping?.length??0)>0||i.expanded===!0||Object.keys(i.expanded??{}).length>0?Fn(c):c,g=e._rowModels??{},_=[g.coreRowModel,g.filteredRowModel,g.sortedRowModel,g.groupedRowModel,g.expandedRowModel,g.paginatedRowModel];Gn.set(h,l);try{_.forEach(e=>{e&&(a=e({table:h,rows:a}))})}finally{Gn.set(h,null),l=null}return p=e._rowModels,m=i,f=c,d={rows:a},d}};return h}function rr(e,t=()=>({})){let n=nr(e),r=P(ge(t(n.store.state)));return n.store.subscribe(()=>{U(r,t(n.store.state),!0)}),Object.defineProperty(n,"state",{get(){return m(r)},configurable:!0,enumerable:!0}),n}var ir=class{constructor(e,t){this.component=e,this.props=t}},ar=class{constructor(e,t){this.snippet=e,this.params=t}},or=(e,t)=>new ir(e,t),sr=(e,t)=>new ar(e,t),cr=(e,t)=>`${e}:${t}`;function lr(e){if(!e||e.length===0)return null;let t=new Map,n=[];for(let r of e){let e=Math.max(1,Math.floor(r.rowSpan)),i=Math.max(1,Math.floor(r.colSpan));if(e===1&&i===1)continue;let a={rowIndex:r.rowIndex,colIndex:r.colIndex,rowSpan:e,colSpan:i};n.push(a);for(let n=a.rowIndex;n<a.rowIndex+e;n+=1)for(let e=a.colIndex;e<a.colIndex+i;e+=1)t.set(cr(n,e),a)}return n.length?{list:n,byCell:t}:null}function ur(e,t,n){return e?.byCell.get(cr(t,n))}function dr(e,t,n){let r=ur(e,t,n);return r?{rowIndex:r.rowIndex,colIndex:r.colIndex}:{rowIndex:t,colIndex:n}}function fr(e,t,n){let r=ur(e,t,n);return r?{rowIndex:r.rowIndex+r.rowSpan-1,colIndex:r.colIndex+r.colSpan-1}:{rowIndex:t,colIndex:n}}function pr(e,t){if(!e)return t;let{minRow:n,maxRow:r,minCol:i,maxCol:a}=t;for(let t=0;t<64;t+=1){let t=!1;for(let o of e.list){let e=o.rowIndex+o.rowSpan-1,s=o.colIndex+o.colSpan-1;o.rowIndex<=r&&e>=n&&o.colIndex<=a&&s>=i&&(o.rowIndex<n&&(n=o.rowIndex,t=!0),e>r&&(r=e,t=!0),o.colIndex<i&&(i=o.colIndex,t=!0),s>a&&(a=s,t=!0))}if(!t)break}return n===t.minRow&&r===t.maxRow&&i===t.minCol&&a===t.maxCol?t:{minRow:n,maxRow:r,minCol:i,maxCol:a}}function mr(e,t,n,r){if(!e)return n;let i=ur(e,n.rowIndex,n.colIndex);if(!i)return n;if(ur(e,t.rowIndex,t.colIndex)!==i)return{rowIndex:i.rowIndex,colIndex:i.colIndex};let a=Math.sign(n.rowIndex-t.rowIndex),o=Math.sign(n.colIndex-t.colIndex);if(a===0&&o===0)return{rowIndex:i.rowIndex,colIndex:i.colIndex};let s=n.rowIndex,c=n.colIndex;if(a>0?s=i.rowIndex+i.rowSpan:a<0&&(s=i.rowIndex-1),o>0?c=i.colIndex+i.colSpan:o<0&&(c=i.colIndex-1),s<0||s>r.maxRow||c<0||c>r.maxCol)return{rowIndex:i.rowIndex,colIndex:i.colIndex};let l=ur(e,s,c);return l?{rowIndex:l.rowIndex,colIndex:l.colIndex}:{rowIndex:s,colIndex:c}}function hr(e,t,n,r){let i=ur(e,t,n);if(!i)return null;let a=Math.max(i.rowIndex,r.firstRow),o=Math.max(i.colIndex,r.firstCol);if(t!==a||n!==o)return{kind:`skip`};let s=a===i.rowIndex&&o===i.colIndex,c=Math.max(1,Math.min(i.rowIndex+i.rowSpan-t,r.lastRow-t+1)),l=Math.max(1,Math.min(i.colIndex+i.colSpan-n,r.lastCol-n+1));return{kind:s?`origin`:`continuation`,merge:i,rowSpan:c,colSpan:l}}var gr=[`in`,`notIn`],_r=[`isBlank`,`isNotBlank`],vr=[`between`];function yr(e){return gr.includes(e)}function br(e){return _r.includes(e)}function xr(e){return vr.includes(e)}var Sr=[{value:`contains`,label:`Contains`,iconName:`op-contains`},{value:`notContains`,label:`Not contains`,iconName:`op-notContains`},{value:`equals`,label:`Equals`,iconName:`op-equals`},{value:`notEquals`,label:`Not equals`,iconName:`op-notEquals`},{value:`startsWith`,label:`Starts with`,iconName:`op-startsWith`},{value:`endsWith`,label:`Ends with`,iconName:`op-endsWith`},{value:`regex`,label:`Regex`,iconName:`op-regex`},{value:`in`,label:`In`,iconName:`op-in`},{value:`notIn`,label:`Not in`,iconName:`op-notIn`},{value:`greaterThan`,label:`Greater than`,iconName:`op-greaterThan`},{value:`lessThan`,label:`Less than`,iconName:`op-lessThan`},{value:`between`,label:`Between`,iconName:`op-between`},{value:`isBlank`,label:`Blank`,iconName:`op-isBlank`},{value:`isNotBlank`,label:`Not blank`,iconName:`op-isNotBlank`}],Cr=[`contains`,`notContains`,`equals`,`notEquals`,`startsWith`,`endsWith`,`regex`,`in`,`notIn`,`isBlank`,`isNotBlank`],wr=[`equals`,`notEquals`,`greaterThan`,`lessThan`,`between`,`in`,`notIn`,`isBlank`,`isNotBlank`],Tr=[`equals`,`notEquals`,`lessThan`,`greaterThan`,`between`,`isBlank`,`isNotBlank`],Er=[`equals`,`isBlank`,`isNotBlank`],Dr={value:`contains`,label:`Contains`,iconName:`op-contains`};function Or(e){return Sr.find(t=>t.value===e)??Dr}function kr(e){let t=G(e?.columnDef);return(t===`number`?wr:Ie(t)?Tr:t===`boolean`?Er:Cr).map(e=>Sr.find(t=>t.value===e)).filter(e=>!!e)}function Ar(e){return kr(e)[0]?.value??`contains`}function jr(e,t){if(Ie(G(t?.columnDef))){if(e.value===`lessThan`)return`Before`;if(e.value===`greaterThan`)return`After`}return e.label}var Mr={contains:`opContains`,notContains:`opNotContains`,equals:`opEquals`,notEquals:`opNotEquals`,startsWith:`opStartsWith`,endsWith:`opEndsWith`,regex:`opRegex`,in:`opIn`,notIn:`opNotIn`,greaterThan:`opGreaterThan`,lessThan:`opLessThan`,between:`opBetween`,isBlank:`opIsBlank`,isNotBlank:`opIsNotBlank`};function Nr(e,t,n){if(Ie(G(t?.columnDef))){if(e.value===`lessThan`)return n?.opBefore||`Before`;if(e.value===`greaterThan`)return n?.opAfter||`After`}let r=Mr[e.value];return r&&n?.[r]||e.label}var Pr={close:`✕`,clear:`✕`,remove:`×`,"row-number":`#`,"pinned-row-top":`↑`,"pinned-row-bottom":`↓`,"find-prev":`↑`,"find-next":`↓`,"move-up":`↑`,"move-down":`↓`,"group-add":`⊞`,"page-first":`⇤`,"page-prev":`‹`,"page-next":`›`,"page-last":`⇥`,"page-size-caret":`▾`,"drag-handle":`⠿`,"breadcrumb-separator":`›`},Fr=`sort.sort-asc.sort-desc.filter.menu.group.x.chevron-down.chevron-right.autosize.columns.reset.op-contains.op-notContains.op-equals.op-notEquals.op-startsWith.op-endsWith.op-regex.op-in.op-notIn.op-greaterThan.op-lessThan.op-between.op-isBlank.op-isNotBlank.pin-left.pin-right.unpin.search.tool-panel.chart.advanced-filter.column-group-caret.no-rows.no-rows-filtered.close.clear.remove.row-number.pinned-row-top.pinned-row-bottom.find-prev.find-next.move-up.move-down.group-add.page-first.page-prev.page-next.page-last.page-size-caret.drag-handle.breadcrumb-separator`.split(`.`);function Ir(e){return e<=0?0:e>=1?1:e}var Lr=1e5,Rr=9e8,zr=.995;function Br(e,t,n){let r=[e,t].filter(e=>Number.isFinite(e)&&e>Lr&&e<Rr);return r.length===0?n:Math.floor(Math.min(...r)*zr)}function Vr(e,t,n){let r=Math.max(t,1),i=Math.min(Math.max(e,0),r),a=e>r,o=Math.max(i-n,1),s=Math.max(e-n,0);return{active:a,domTotal:i,domToLogical(e){return a?Ir(e/o)*s:e},logicalToDom(e){return a?Ir(e/Math.max(s,1))*Math.max(i-n,0):e}}}var Hr=Symbol.for(`svgrid.windowedData`);function Ur(e){return typeof e!=`object`||!e?null:e[Hr]??null}function Wr(e){return Ur(e)!==null}function Gr(e){function t(){let t={...e.props.features??{}};return e.props.sortable===!0?t.rowSortingFeature=hn:e.props.sortable===!1&&delete t.rowSortingFeature,e.props.filterable===!0?t.columnFilteringFeature=gn:e.props.filterable===!1&&delete t.columnFilteringFeature,e.props.groupable===!0?t.columnGroupingFeature=_n:e.props.groupable===!1&&delete t.columnGroupingFeature,vn(t)}return{resolveEffectiveFeatures:t}}function Kr(e,t){let n=e[t]?.groupId;if(!n)return t;let r=t;for(;r>0&&e[r-1]?.groupId===n;)--r;return r}function qr(e,t){let n=e[t]?.groupId;if(!n)return t;let r=t;for(;r<e.length-1&&e[r+1]?.groupId===n;)r+=1;return r}function Jr(e,t){let n=e.length,r=0;for(;n>0&&r<t;)n=Kr(e,n-1),r+=1;return n===0?e:e.slice(n)}function Yr(e){let t=e.historyPtr>=0?e.history[e.historyPtr]:void 0;return t?{tag:t.tag}:null}function Xr(e){let t=e.historyPtr<e.history.length-1?e.history[e.historyPtr+1]:void 0;return t?{tag:t.tag}:null}function Zr(e){if(e.historyPtr<0)return!1;let t=e.historyPtr;if(!e.history[t])return!1;let n=Kr(e.history,t);for(let r=t;r>=n;--r){let t=e.history[r];t&&e.applyHistoryStep(t,`undo`)}return e.historyPtr=n-1,e.historyVersion+=1,!0}function Qr(e){if(e.historyPtr>=e.history.length-1)return!1;let t=e.historyPtr+1;if(!e.history[t])return!1;let n=qr(e.history,t);for(let r=t;r<=n;r+=1){let t=e.history[r];t&&e.applyHistoryStep(t,`redo`)}return e.historyPtr=n,e.historyVersion+=1,!0}function $r(e,t,n){if(!t.length)return;let r=e.historyGroupId??(n&&t.length>1?n:void 0),i=e.historyTag,a=e.history.slice(0,e.historyPtr+1);for(let e of t){let t=i===void 0?e:{...e,tag:i};a.push(r?{...t,groupId:r}:t)}a=Jr(a,e.UNDO_LIMIT),e.history=a,e.historyPtr=e.history.length-1,e.historyVersion+=1}var ei=0;function ti(){return ei+=1,`g${ei}`}function ni(e,t){let n=e.historyGroupId;e.historyGroupId=n??ti();try{return t()}finally{e.historyGroupId=n}}function ri(e){function t(t,n){n&&(e.tooltipTimer&&window.clearTimeout(e.tooltipTimer),e.tooltipTimer=window.setTimeout(()=>{let r=t.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight,o=r.bottom+64<a;e.tooltip={text:n,x:Math.min(Math.max(r.left+6,10),i-290),y:o?r.bottom+6:r.top-6,below:o}},250))}function n(){e.tooltipTimer&&=(window.clearTimeout(e.tooltipTimer),null),e.tooltip=null}function r(){e.scrollSyncRaf=null,e.scrollVersion+=1,e.rowVirtualizationEnabled&&e.virtualizer.setScrollOffset(e.domToLogicalRowOffset(e.pendingScrollTop)),e.columnVirtualizationEnabled&&e.columnVirtualizer.setHorizontalOffset(e.pendingScrollLeft)}function i(t,n){e.pendingScrollTop=t,e.pendingScrollLeft=n,e.scrollSyncRaf===null&&(e.scrollSyncRaf=requestAnimationFrame(r))}function a(t,n){e.scrollSyncRaf!==null&&(cancelAnimationFrame(e.scrollSyncRaf),e.scrollSyncRaf=null),e.pendingScrollTop=t,e.pendingScrollLeft=n,r()}function o(t){let n=t.currentTarget;if(n&&((e.columnMenuFor||e.operatorMenuFor||e.contextMenuFor)&&e.closeMenus(),i(n.scrollTop,n.scrollLeft),e.props.alignedGridGroup!=null&&e.broadcastAlignedScroll(n.scrollLeft),e.props.onScrollBottomReached)){let{scrollTop:t,scrollHeight:r,clientHeight:i}=n,a=t+i>=r-32;a&&e.scrollBottomArmed?(e.scrollBottomArmed=!1,e.props.onScrollBottomReached({scrollTop:t,scrollHeight:r,clientHeight:i})):!a&&!e.scrollBottomArmed&&(e.scrollBottomArmed=!0)}}return{showTooltipFor:t,hideTooltip:n,flushScheduledScrollSync:r,scheduleScrollSync:i,syncScrollNow:a,onBodyScroll:o}}function ii(e){return e.ctrlKey&&e.key===`Home`?`gridStart`:e.ctrlKey&&e.key===`End`?`gridEnd`:(e.ctrlKey||e.metaKey)&&!e.altKey&&(e.key===`ArrowLeft`||e.key===`ArrowRight`||e.key===`ArrowUp`||e.key===`ArrowDown`)?`noop`:e.key===`ArrowLeft`?`moveLeft`:e.key===`ArrowRight`?`moveRight`:e.key===`ArrowUp`?`moveUp`:e.key===`ArrowDown`?`moveDown`:e.key===`Home`?`rowStart`:e.key===`End`?`rowEnd`:e.key===`PageUp`?`pageUp`:e.key===`PageDown`?`pageDown`:e.key===`Enter`&&(e.ctrlKey||e.metaKey)?`activate`:e.key===`Enter`?e.shiftKey?`moveUp`:`moveDown`:e.key===`Tab`?e.shiftKey?`tabPrev`:`tabNext`:e.key===`F2`||e.key===` `?`activate`:e.key===`Delete`?`clearCells`:`noop`}function ai(e,t,n){let r=n.pageSize??10,i=e.rowIndex,a=e.colIndex;return t===`moveLeft`&&--a,t===`moveRight`&&(a+=1),t===`moveUp`&&--i,t===`moveDown`&&(i+=1),t===`tabNext`&&(a+=1,a>n.maxCol&&(a=0,i+=1)),t===`tabPrev`&&(--a,a<0&&(a=n.maxCol,--i)),t===`rowStart`&&(a=0),t===`rowEnd`&&(a=n.maxCol),t===`gridStart`&&(i=0,a=0),t===`gridEnd`&&(i=n.maxRow,a=n.maxCol),t===`pageUp`&&(i-=r),t===`pageDown`&&(i+=r),i=Math.min(Math.max(i,0),Math.max(n.maxRow,0)),a=Math.min(Math.max(a,0),Math.max(n.maxCol,0)),{rowIndex:i,colIndex:a,cellId:e.cellId}}function oi(e,t,n,r){let i=(e,t,n,r)=>{if(t===e)return t;let i=t>e?1:-1,a=t;for(;a>=0&&a<=n&&r(a);)a+=i;if(a>=0&&a<=n)return a;for(a=t-i;a!==e&&r(a);)a-=i;return a},a=i(e.rowIndex,t.rowIndex,n.maxRow,r.isRowCollapsed),o=i(e.colIndex,t.colIndex,n.maxCol,r.isColumnCollapsed);return a===t.rowIndex&&o===t.colIndex?t:{rowIndex:a,colIndex:o,cellId:t.cellId}}function si(e,t,n){let r=ci(e,t,n),i=n.collapsed;if(!i)return r;let a=e=>i.isRowCollapsed(e.rowIndex)||i.isColumnCollapsed(e.colIndex);if(!a(r.cell))return r;if(!r.withinRange)return{...r,cell:oi(e,r.cell,n,i)};let o=r.cell;for(let e=(n.range.maxRow-n.range.minRow+1)*(n.range.maxCol-n.range.minCol+1);e>0&&a(o);--e)o=ci(o,t,n).cell;return{...r,cell:a(o)?e:o}}function ci(e,t,n){let r=n.range;if(r!==null&&(r.maxRow>r.minRow||r.maxCol>r.minCol)&&e.rowIndex>=r.minRow&&e.rowIndex<=r.maxRow&&e.colIndex>=r.minCol&&e.colIndex<=r.maxCol){let{rowIndex:n,colIndex:i}=e;return t===`moveDown`?(n+=1,n>r.maxRow&&(n=r.minRow,i+=1),i>r.maxCol&&(i=r.minCol)):t===`moveUp`?(--n,n<r.minRow&&(n=r.maxRow,--i),i<r.minCol&&(i=r.maxCol)):t===`tabNext`?(i+=1,i>r.maxCol&&(i=r.minCol,n+=1),n>r.maxRow&&(n=r.minRow)):(--i,i<r.minCol&&(i=r.maxCol,--n),n<r.minRow&&(n=r.maxRow)),{cell:{rowIndex:n,colIndex:i,cellId:e.cellId},withinRange:!0,tabOrigin:null}}let i={maxRow:n.maxRow,maxCol:n.maxCol};return t===`tabNext`||t===`tabPrev`?{cell:ai(e,t,i),withinRange:!1,tabOrigin:n.tabOrigin??e.colIndex}:{cell:ai(n.tabOrigin===null?e:{...e,colIndex:n.tabOrigin},t,i),withinRange:!1,tabOrigin:null}}var li=[];function ui(e,t){for(let n of li)if(n.handler(e,t))return!0;return!1}function di(){return li.length>0}function fi(e,t){function n(t){return e.allColumns[t]?.id??null}return{get api(){return e.buildApi()},editing:t,get editor(){return(e.gridRootEl??null)?.querySelector(`.sv-grid-cell-editor`)??null},get activeCell(){let t=e.grid.getState().activeCell;return t?{rowIndex:t.rowIndex,colIndex:t.colIndex,columnId:n(t.colIndex)}:null},get selectionFocus(){let t=e.selectionRange?.focus;return t?{rowIndex:t.rowIndex,colIndex:t.colIndex}:null},get rowCount(){return e.allRows.length},get colCount(){return e.allColumns.length},get ranges(){return e.getSelectionRects().map(e=>[e.minRow,e.minCol,e.maxRow,e.maxCol])},columnIdAt:n,getCellValue(t,r){let i=n(r);return i==null?void 0:e.readCellRaw(t,i)},setCellValue(t,r,i){let a=n(r);if(a==null)return;let o=e.allColumns[r]?.columnDef?.field,s=e.allRows[t]?.id,c=e.readCellRaw(t,a);e.writeCellRaw(t,a,i),o!=null&&s!=null&&c!==i&&$r(e,[{rowId:s,columnId:a,field:o,before:c,after:i}])},setActiveCell(t,n){e.setActiveCell(t,n)},setSelection(t,n){e.setSelection(t,n)},extendSelection(t,n){e.extendSelection(t,n)},scrollIntoView(t,n){e.scrollActiveCellIntoView(t,n)},startEditing(t,n,r){return r===void 0?(e.onCellDoubleClick(t,n),!0):e.startEditingWithChar(t,n,r)===!0},batch(t){return ni(e,t)},recordUndo(t,n){$r(e,[{rowId:``,columnId:``,field:``,before:void 0,after:void 0,custom:{undo:t,redo:n}}])},focus(){e.gridRootEl?.focus({preventScroll:!0})},async paste(){await e.pasteFromClipboard?.()},copy(){e.copySelectionToClipboard?.()},async cut(){await e.cutSelectionToClipboard?.()},canEdit(t,n){return e.isCellEditableAt?.(t,n)??!0}}}function pi(e){function t(t){if(t.target!==t.currentTarget||di()&&ui(t,fi(e,!1))||e.editingCell)return;if((t.ctrlKey||t.metaKey)&&!t.altKey){let n=t.key.toLowerCase();if(n===`c`){t.preventDefault(),e.copySelectionToClipboard();return}if(n===`v`){if(e.props.onPasteClipboard){e.armPasteFallback();return}typeof navigator.clipboard?.readText==`function`&&(t.preventDefault(),e.pasteFromClipboard());return}if(n===`x`){t.preventDefault(),e.cutSelectionToClipboard();return}if(n===`z`&&!t.shiftKey){t.preventDefault(),Zr(e);return}if(n===`z`&&t.shiftKey||n===`y`){t.preventDefault(),Qr(e);return}if(n===`f`){t.preventDefault(),e.findOpen=!0;return}}if(t.key===`Escape`&&e.findOpen){t.preventDefault(),e.findOpen=!1;return}if((t.key===`Delete`||t.key===`Backspace`)&&!t.ctrlKey&&!t.metaKey&&!t.altKey&&e.clearSelectedCells()){t.preventDefault();return}let n=e.grid.getState().activeCell??{rowIndex:0,colIndex:0,cellId:null};if(t.key===`F2`){t.preventDefault(),e.onCellDoubleClick(n.rowIndex,n.colIndex);return}let r=ii(t);if(r===`noop`){t.key.length===1&&!t.ctrlKey&&!t.metaKey&&!t.altKey&&e.startEditingWithChar(n.rowIndex,n.colIndex,t.key)&&t.preventDefault();return}if(t.preventDefault(),e.props.treeData&&(r===`moveRight`||r===`moveLeft`)){let t=e.allRows[n.rowIndex];if(t?.getCanExpand?.()){let e=t.getIsExpanded?.()??!1;if(r===`moveRight`&&!e){t.toggleExpanded?.();return}if(r===`moveLeft`&&e){t.toggleExpanded?.();return}}}let i=e.props.serverGroup;if(i&&(r===`moveRight`||r===`moveLeft`)){let t=e.allRows[n.rowIndex]?.original;if(t!==void 0&&i.isGroup(t)){let e=i.expanded?.(t)??!1;if(r===`moveRight`&&!e){i.onToggle(t);return}if(r===`moveLeft`&&e){i.onToggle(t);return}}}if(r===`clearCells`){e.clearSelectedCellValues();return}if(r===`activate`){let r=e.allRows[n.rowIndex],i=e.allColumns[n.colIndex];if(t.key===` `){r?.toggleSelected?.();return}if(t.ctrlKey&&r?.getCanExpand?.()){r.toggleExpanded?.();return}let a=e.props.serverGroup;if(t.ctrlKey&&a&&r){let t=r.original;if(a.isGroup(t)){a.onToggle(t);return}if(a.toggleDetail&&e.props.renderDetailRow&&(a.hasDetail?.(t)??!0)){a.toggleDetail(t);return}}if(t.ctrlKey&&r&&e.props.onDetailToggle&&e.props.renderDetailRow){let t=r.original;if(!e.props.isDetailRow?.(t,n.rowIndex)&&(e.props.hasDetail?.(t)??!0)){e.props.onDetailToggle(t,n.rowIndex);return}}if(i?.columnDef.editorType===`checkbox`){(e.isCellEditableAt?.(n.rowIndex,n.colIndex)??!0)&&e.toggleBooleanCell(n.rowIndex,n.colIndex);return}e.onCellDoubleClick(n.rowIndex,n.colIndex);return}function a(){let t=e.grid.getState().pagination?.pageSize;if(t&&t>0)return t;let r=e.scrollContainer?.clientHeight??0,i=e.headerHeight??0,a=typeof e.props.rowHeight==`function`?e.props.rowHeight(n.rowIndex)??30:e.props.rowHeight??30,o=Math.max(0,r-i);return Math.max(1,Math.floor(o/Math.max(a,1))-1)}let o={maxRow:Math.max(e.allRows.length-1,0),maxCol:Math.max(e.allColumns.length-1,0)},s={isRowCollapsed:t=>e.isRowCollapsed(t),isColumnCollapsed:t=>!!e.collapsedColumns[e.allColumns[t]?.id]};if((t.key===`Enter`||t.key===`Tab`)&&(r===`moveDown`||r===`moveUp`||r===`tabNext`||r===`tabPrev`)){let t=si(n,r,{...o,tabOrigin:e.tabRunOrigin,range:e.activeRangeRect(),collapsed:s}),i=mr(e.mergeIndex,n,t.cell,o);e.setActiveCell(i.rowIndex,i.colIndex),e.tabRunOrigin=t.tabOrigin,e.scrollActiveCellIntoView(i.rowIndex,i.colIndex),t.withinRange||e.setSelection(i.rowIndex,i.colIndex);return}if(t.shiftKey&&e.enableCellSelectionEffective!==!1&&(r===`moveLeft`||r===`moveRight`||r===`moveUp`||r===`moveDown`||r===`rowStart`||r===`rowEnd`||r===`pageUp`||r===`pageDown`||r===`gridStart`||r===`gridEnd`)){let t=!!e.selectionRange?.anchor;t||e.setSelection(n.rowIndex,n.colIndex);let i=t?e.selectionRange.focus??n:n,c=mr(e.mergeIndex,i,oi(i,ai(i,r,{...o,pageSize:a()}),o,s),o);e.extendSelection(c.rowIndex,c.colIndex);let l=r===`moveLeft`||r===`moveRight`||r===`rowStart`||r===`rowEnd`;e.scrollActiveCellIntoView(l?n.rowIndex:c.rowIndex,l?c.colIndex:n.colIndex);return}let c=mr(e.mergeIndex,n,oi(n,ai(n,r,{...o,pageSize:a()}),o,s),o);e.setActiveCell(c.rowIndex,c.colIndex),e.scrollActiveCellIntoView(c.rowIndex,c.colIndex),e.setSelection(c.rowIndex,c.colIndex)}function n(t){t.key===`Escape`&&(e.columnMenuFor||e.operatorMenuFor||e.filterMenuFor||e.inSuggestFor||e.chooseColumnsPos)&&e.closeMenus()}function r(t,n){if(!e.allColumns.find(e=>e.id===n)?.getCanSort?.())return;let r=e.grid.getState().sorting??[],i=r.find(e=>e.id===n);if(!t.shiftKey){let t=i?i.desc?[]:[{id:n,desc:!0}]:[{id:n,desc:!1}];e.grid.store.setState(e=>({...e,sorting:t}));return}let a=i?i.desc?r.filter(e=>e.id!==n):r.map(e=>e.id===n?{...e,desc:!0}:e):[...r,{id:n,desc:!1}];e.grid.store.setState(e=>({...e,sorting:a}))}return{onGridKeyDown:t,onWindowKeydown:n,onHeaderSortClick:r}}function mi(e,t){let n=t.columnDef;return n.fieldFn?n.fieldFn(e.original):n.field?e.original[n.field]:e.getCellValueByColumnId(t.id)}function hi(e){let t=new Map;for(let n=0;n<e.length;n+=1)t.has(e[n])||t.set(e[n],n);return e=>{let n=t.get(e?.original);return n===void 0?-1:n}}function gi(e){return!e.__treeRow&&typeof e.getCanExpand==`function`&&e.getCanExpand()}function _i(e){let t=e.columnDef.header;return typeof t==`string`?t:e.id}function vi(e,t){let n=e.columnDef.format;return n&&(n.type===`number`||n.type===`currency`||n.type===`percent`)?Ne(t,{type:n.type,locales:n.locales,currency:n.type===`currency`?n.currency??`USD`:void 0,valueIsPercentPoints:n.type===`percent`?n.valueIsPercentPoints:void 0,options:n.options}):String(t)}function yi(e){let t=e.columnDef.align;if(t)return t;let n=G(e.columnDef);return n===`number`||Ie(n)?`right`:n===`boolean`?`center`:`left`}function bi(e,t){let n=t.columnDef;if(n.fieldFn)return n.fieldFn(e);let r=n.field;if(r)return e[r]}function xi(e,t){let n=t.columnDef;if(n.fieldFn)return n.fieldFn(e);if(n.field)return e[n.field]}function Si(e,t){return(e.id??e.field??null)===t}function Ci(e){function t(t,r){t=n(t,e.advancedKeep);let i={},a=t.length,o=Object.keys(e.editedCellValues).length>0;for(let n of r){let r=n.columnDef,s=r.fieldFn,c=r.field,l=n.id,u=r.summary;if(u!==void 0){if(u===!1){i[l]=``;continue}let e=pn(u,l,t);i[l]=typeof e==`number`&&Number.isFinite(e)?vi(n,e):e==null?``:String(e);continue}let d=0,f=0;for(let n=0;n<a;n+=1){let r=t[n],i,a=s?s(r.original):c?r.original[c]:r.getCellValueByColumnId(l);if(o){let t=He(r.id,l);i=t in e.editedCellValues?e.editedCellValues[t]:a}else i=a;let u=Number(i);Number.isFinite(u)&&(d+=u,f+=1)}i[l]=f>0?vi(n,d):`Count: ${a}`}return i}function n(e,t){let n=!1;for(let t of e)if(gi(t)){n=!0;break}if(!n)return e;let r=[],i=e=>{for(let n of e.subRows??[])gi(n)?i(n):(!t||t(n))&&r.push(n)};for(let t=0;t<e.length;t+=1){let n=e[t];if(n.__groupFooter||n.original?.__groupFooter)continue;if(!gi(n)){r.push(n);continue}let a=e[t+1];a&&(a.depth??0)>(n.depth??0)||(n.subRows?i(n):r.push(n))}return r}function r(e){return e.column!==void 0}return{computeSummaries:t,hasRenderedColumn:r}}function wi(e){function t(t,n){e.filterRowValues={...e.filterRowValues,[t]:n};let r=e.filterMenuValues[t]??{operator:`contains`,value:``};e.filterMenuValues={...e.filterMenuValues,[t]:{...r,value:n}}}function n(t,n){let r=e.filterMenuValues[t]??{operator:`contains`,value:``};e.filterMenuValues={...e.filterMenuValues,[t]:{...r,operator:n}}}function r(t,n){let r=e.filterMenuValues[t]??{operator:`contains`,value:``};e.filterMenuValues={...e.filterMenuValues,[t]:{...r,value:n}},e.filterRowValues={...e.filterRowValues,[t]:n}}function i(t,n){let r=e.filterMenuValues[t]??{operator:`between`,value:``};e.filterMenuValues={...e.filterMenuValues,[t]:{...r,valueTo:n}}}function a(t){return tt(e.filterRowValues[t]??``)}function o(e,n){let r=n.trim();if(!r)return;let i=a(e);i.includes(r)||i.push(r),t(e,it(i))}function s(e,n){t(e,it(a(e).filter(e=>e!==n)))}function c(e,t){a(e).includes(t)?s(e,t):o(e,t)}function l(e,n){let r=[...n].map(e=>e.trim()).filter(Boolean);t(e,it(r))}function u(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}function d(t,n){p(()=>{let r={...e.customFilterValues};if(n==null){if(!(t in r))return;delete r[t]}else r[t]=n;e.customFilterValues=r})}function f(t){if(e.valueFilters[t])return!0;if(t in e.customFilterValues){let n=e.allColumns.find(e=>e.id===t);if(rt(n?.columnDef.customFilter,e.customFilterValues[t]))return!0}let n=e.filterMenuValues[t];return!!(n&&(n.operator===`isBlank`||n.operator===`isNotBlank`||n.value.trim()))}function m(){e.columnMenuFor=null,e.filterMenuFor=null,e.operatorMenuFor=null,e.inSuggestFor=null,e.chooseColumnsPos=null}function h(t,n){let r=t.getBoundingClientRect();e.inSuggestPos={x:Je(r.left,220),y:r.bottom+4},e.inSuggestQuery=``,e.inSuggestFor=n}function g(){e.inSuggestFor=null,e.inSuggestQuery=``}function _(t,n){t.stopPropagation();let r=e.columnMenuFor===n;if(m(),r)return;let i=t.currentTarget.getBoundingClientRect();e.columnMenuPos={x:Je(i.right-240,240),y:i.bottom+4},e.columnMenuTab=`general`,e.columnMenuFor=n}function v(t,n){t.stopPropagation();let r=e.filterMenuFor===n;if(m(),r)return;if(!e.showColumnFiltersEffective&&e.showFilterRowEffective){let t=e.scrollContainer?.querySelector(`[data-svgrid-filter-col="${ze(n)}"]`),r=t&&!(t instanceof HTMLInputElement)?t.querySelector(`input, select, textarea, button, [tabindex]:not([tabindex='-1'])`):t;r&&(r.focus(),r instanceof HTMLInputElement&&r.select(),r.classList.add(`sv-grid-filter-value-pulse`),setTimeout(()=>r.classList.remove(`sv-grid-filter-value-pulse`),700));return}let i=t.currentTarget.getBoundingClientRect();e.filterMenuPos={x:Je(i.right-260,260),y:i.bottom+4},e.columnMenuSearch=``,e.filterMenuFor=n}function y(t,n){t.stopPropagation();let r=e.operatorMenuFor===n;if(m(),r)return;let i=t.currentTarget.getBoundingClientRect();e.operatorMenuPos={x:Je(i.left,184),y:i.bottom+4},e.operatorMenuFor=n}function b(t){p(()=>{if(e.valueFilters[t]){let n={...e.valueFilters};delete n[t],e.valueFilters=n}if(e.filterMenuValues[t]){let n={...e.filterMenuValues};delete n[t],e.filterMenuValues=n}if(e.filterRowValues[t]){let n={...e.filterRowValues};delete n[t],e.filterRowValues=n}if(t in e.customFilterValues){let n={...e.customFilterValues};delete n[t],e.customFilterValues=n}})}function x(t,n){return e.props.externalPagination===!0&&(e.props.onPaginationChange?.({pageIndex:Math.max(0,t),pageSize:n}),e.scrollContainer?.scrollTo?.({top:0}),!0)}function S(t){x((e.props.pageIndex??0)+t,e.props.pageSize??10)||(e.grid.setPagination(e=>({...e,pageIndex:Math.max((e?.pageIndex??0)+t,0)})),e.scrollContainer?.scrollTo?.({top:0}))}function C(t){x(t,e.props.pageSize??10)||(e.grid.setPagination(e=>({...e,pageIndex:Math.max(0,t)})),e.scrollContainer?.scrollTo?.({top:0}))}function w(t){x(0,t)||e.grid.setPagination(e=>{let n=e?.pageSize??10,r=(e?.pageIndex??0)*n;return{...e,pageSize:t,pageIndex:Math.max(0,Math.floor(r/t))}})}function T(t,n,r,i){if(!e.props.contextMenu)return;t.preventDefault(),m(),e.contextMenuFor=null;let a=e.allRows[n],o=a?.original??null,s=a?.id??String(n),c=t.clientY+280>window.innerHeight?Math.max(8,t.clientY-280):t.clientY;e.contextMenuPos={x:Je(t.clientX,220),y:c},e.contextMenuFor={rowIndex:n,colIndex:r,columnId:i,rowId:s,row:o}}return{updateFilterRow:t,updateFilterOperator:n,updateFilterMenuValue:r,updateFilterMenuValueTo:i,addFilterToken:o,removeFilterToken:s,toggleFilterToken:c,toggleCheckboxWithKeyboard:u,isColumnFiltered:f,setCustomFilter:d,closeMenus:m,openInSuggest:h,closeInSuggest:g,openColumnMenu:_,openFilterMenu:v,openOperatorMenu:y,setFilterTokens:l,clearColumnFilter:b,changePage:S,goToPage:C,setPageSize:w,openContextMenu:T}}function Ti(e){return!e||typeof e==`function`?[]:e.map(e=>typeof e==`string`||typeof e==`number`?{value:e,label:String(e)}:{value:e.value,label:e.label??String(e.value),color:e.color})}function Ei(e,t,n){let r=e.replace(/-native$/,``);if(r===`number`){let e=Number(t);return Number.isFinite(e)?e:null}if(r===`rating`){let e=Number(t);return Number.isFinite(e)?Math.max(0,Math.min(5,Math.round(e))):0}if(r===`color`)return String(t??``).trim()||`#000000`;if(r===`date`){let e=String(t??``);if(n?.dateOnly){let t=/^(\d{4}-\d{2}-\d{2})/.exec(e.trim());if(t)return t[1];let n=new Date(e);if(Number.isNaN(n.getTime()))return null;let r=e=>String(e).padStart(2,`0`);return`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())}`}let r=new Date(e);return Number.isNaN(r.getTime())?null:r.toISOString()}if(r===`datetime`){let e=new Date(String(t));return Number.isNaN(e.getTime())?null:e.toISOString()}if(r===`time`){let e=String(t??``).trim();if(!e)return null;let n=e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/);if(!n)return null;let r=Math.max(0,Math.min(23,parseInt(n[1],10))),i=Math.max(0,Math.min(59,parseInt(n[2],10))),a=n[3]?Math.max(0,Math.min(59,parseInt(n[3],10))):null,o=String(r).padStart(2,`0`),s=String(i).padStart(2,`0`);return a===null?`${o}:${s}`:`${o}:${s}:${String(a).padStart(2,`0`)}`}return r===`password`?String(t??``):r===`checkbox`?typeof t==`boolean`?t:String(t).toLowerCase()===`true`:r===`select`||r===`rich-select`?Array.isArray(t)?t[0]??null:t??null:r===`textarea`?String(t??``):ft(r)?t:r===`list`||r===`chips`?n?.multiple?Array.isArray(t)?t.slice():t==null||t===``?[]:[t]:Array.isArray(t)?t[0]??null:t??null:String(t??``)}function Di(e){let t=null,n=[];function r(e){return e!==t&&(n=e.filter(e=>e.type!==`colorScale`&&e.type!==`dataBar`),t=e),n}function i(e){let t=e.original?.__group?.kind;return t?t!==`leaf`&&t!==`detail`:gi(e)}function a(t,n,a){let o=e.props.conditionalFormats;if(!o?.length)return null;let s=e.conditionalFormatting;if(!s)return null;let c=i(t)?r(o):o;return c.length?s.resolveCellFormat(a,t.original,n.id,c,e.conditionalColumnStats.get(n.id)??null):null}function o(t,n){return e.props.rowClass?Be(e.props.rowClass({row:t.original,rowIndex:n})):``}function s(e,t){let n=t.columnDef.cellClass;return n==null?``:typeof n==`string`||Array.isArray(n)?Be(n):typeof n==`function`?Be(n({row:e,column:t,cell:void 0,table:void 0,getValue:()=>e.getCellValueByColumnId(t.id)})):``}function c(e,t){let n=t.columnDef.tooltip;if(n==null)return null;if(typeof n==`string`)return n||null;if(typeof n==`function`){let r=n({row:e,column:t,cell:void 0,table:void 0,getValue:()=>e.getCellValueByColumnId(t.id)});return r?String(r):null}return null}function l(t,n){let r=n.columnDef.validate;if(typeof r!=`function`)return{invalid:!1,message:null};let i=e.editedCellValues??{},a=He(t.id,n.id),o=e.editingCell,s=r({value:o&&o.rowId===t.id&&o.columnId===n.id?Ei(o.editorType,o.value,{multiple:n.columnDef.editorMultiple===!0,dateOnly:n.columnDef.cellDataType===`dateString`}):a in i?i[a]:t.getCellValueByColumnId(n.id),row:t.original,rowIndex:t.index,column:n});if(s==null||s===!0)return{invalid:!1,message:null};if(s===!1)return{invalid:!0,message:null};let c=String(s);return{invalid:!0,message:c.trim()?c:null}}function u(t,n){let r=e.noteOverrides?.[t.id]?.[n.id];if(r!==void 0)return r.trim()?r:null;let i=e.props.notes;if(!i)return null;let a=i[t.id];if(!a)return null;let o=a[n.id];return o&&o.trim()?o:null}let d=e=>typeof e?.then==`function`;function f(t,n,r){let i=e.asyncEditorOptions[t];if(i)return i;let a=e.asyncEditorOptionsPending;if(!a.has(t)){a.add(t);let i=n=>{let i={};for(let[n,a]of Object.entries(e.asyncEditorOptions))r&&n!==t&&n.startsWith(r)||(i[n]=a);i[t]=n,e.asyncEditorOptions=i};n.then(e=>i(Ti(e))).catch(()=>i([])).finally(()=>{a.delete(t)})}return[]}function p(e,t){let n;try{n=JSON.stringify(t.original)}catch{n=String(t.index)}return`${e.id}::${t.id}::${n}`}function m(t,n){let r=t.columnDef.editorOptions;if(typeof r==`function`){if(!n?.original)return[];if(e.asyncEditorColumns.has(t.id)){let i=p(t,n),a=e.asyncEditorOptions[i];if(a)return a;if(e.asyncEditorOptionsPending.has(i))return[];let o=r(n.original);return d(o)?f(i,o,`${t.id}::${n.id}::`):Ti(o)}let i=r(n.original);return d(i)?(e.asyncEditorColumns.add(t.id),f(p(t,n),i,`${t.id}::${n.id}::`)):Ti(i)}if(d(r))return f(t.id,r);let i=t.id;return(!e.editorOptionsCache[i]||e.editorOptionsCache[i+`__src`]!==r)&&(e.editorOptionsCache[i]=Ti(r),e.editorOptionsCache[i+`__src`]=r),e.editorOptionsCache[i]}function h(t,n){let r=t.columnDef.editorOptions;return typeof r==`function`?!n?.original||!e.asyncEditorColumns.has(t.id)?!1:!e.asyncEditorOptions[p(t,n)]:d(r)&&!e.asyncEditorOptions[t.id]}function g(e,t,n){let r=m(e,n),i=e.columnDef.editorSeparator??`, `;return Array.isArray(t)?t.map(e=>Re(r,e)).join(i):t==null||t===``?``:Re(r,t)}function _(t,n,r){let i=t.columnDef.formatter;if(typeof i==`function`){let a=i({value:n,row:r,column:t,table:e.grid});return String(a??``)}if(t.columnDef.editorType===`password`){let e=String(n??``);return e.length>0?`•`.repeat(Math.min(e.length,12)):``}let a=t.columnDef.format;if(!a)return String(n??``);if(a.type===`number`||a.type===`currency`||a.type===`percent`)return Ne(n,{type:a.type,locales:a.locales??e.props.localization?.locale,currency:a.type===`currency`?a.currency??`USD`:void 0,valueIsPercentPoints:a.type===`percent`?a.valueIsPercentPoints:void 0,options:a.options});if(a.type===`date`||a.type===`datetime`){let t=Ye(n);if(t){let n=je(a.pattern,a.type),r=n||a.options?{...n,...a.options}:a.type===`date`?{year:`numeric`,month:`2-digit`,day:`2-digit`}:{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`};return Me(a.locales??e.props.localization?.locale,r).format(t)}}return String(n??``)}function v(t,n){let r=t.columnDef,i=r.formatter;if(typeof i==`function`)return String(i({value:n,row:null,column:t,table:e.grid})??``);if(r.editorType===`password`){let e=String(n??``);return e.length>0?`•`.repeat(Math.min(e.length,12)):``}let a=r.format;if(!a)return String(n??``);if(a.type===`number`||a.type===`currency`||a.type===`percent`)return Ne(n,{type:a.type,locales:a.locales??e.props.localization?.locale,currency:a.type===`currency`?a.currency??`USD`:void 0,valueIsPercentPoints:a.type===`percent`?a.valueIsPercentPoints:void 0,options:a.options});if(a.type===`date`||a.type===`datetime`){let t=Ye(n);if(t){let n=je(a.pattern,a.type),r=n||a.options?{...n,...a.options}:a.type===`date`?{year:`numeric`,month:`2-digit`,day:`2-digit`}:{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`};return Me(a.locales??e.props.localization?.locale,r).format(t)}}return String(n??``)}function y(e,t){let n=t.columnDef.cellClass;if(n==null)return``;if(typeof n==`string`||Array.isArray(n))return Be(n);if(typeof n!=`function`)return``;let r=n,i=bi(e,t);return Be(r({getValue:()=>i,value:i,row:null,column:t}))}return{cellConditionalFormat:a,computeRowClass:o,computeCellClass:s,computeCellTooltip:c,computeCellValidity:l,computeCellNote:u,getColumnEditorOptions:m,areEditorOptionsLoading:h,formatListCellValue:g,formatCellValue:_,formatPinnedValue:v,computePinnedCellClass:y}}function Oi(e,t){if(e===t)return!0;if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}function ki(e){function t(t,n){let r=t.columnDef.editable;if(r===!1)return!1;if(n){let t=e.props.serverGroup;if(t&&n.original!==void 0&&t.isGroup(n.original)||e.placeholderStateOf?.(n))return!1}if(typeof r!=`function`||!n)return!0;let i={cell:{id:`${n.id}_${t.id}`,row:n,column:t,getValue:()=>mi(n,t),getContext:()=>i},row:n,column:t,table:e.grid,getValue:()=>mi(n,t)};try{return r(i)!==!1}catch{return!1}}function n(n,r){let i=e.allRows[n],a=e.allColumns[r];return a?t(a,i):!1}function r(t,n){let r=e.allColumns.find(e=>e.id===n);return r?mi(t,r):t.getCellValueByColumnId(n)}function i(t,n,r){let i=He(t,n);return i in e.editedCellValues?e.editedCellValues[i]:r}function a(n,r,i){if(!e.editingEnabled)return!1;let a=e.allRows[n],s=e.allColumns[r];if(!a||!s||gi(a)||!t(s,a))return!1;let c=s.columnDef.editorType??`text`;if(c===`checkbox`||c===`date`||c===`datetime`||c===`list`||c===`chips`||c===`number`&&!/[0-9.+-]/.test(i))return!1;let l=pt(c)?.typeToEdit;return l===!1||typeof l==`function`&&!l(i)?!1:(e.editorSelectAll=!1,e.editingCell={rowId:a.id,columnId:s.id,editorType:c,value:i,rowRef:a.original,typed:!0},e.setActiveCell(n,r),o(n,r),!0)}function o(t,n){e.isCellInSelectedRange(t,n)||e.setSelection(t,n)}function s(){ni(e,()=>l())}function c(t,n,r){let i=t?.columnDef;if(!i?.rejectInvalid||typeof i.validate!=`function`)return!1;let a=i.validate({value:n,row:r,rowIndex:e.internalData.indexOf(r),column:t});return a===!1||typeof a==`string`&&a.length>0}function l(){if(!e.editingCell)return;let t=e.editingCell,n=(e.allRows.find(e=>e.id===t.rowId)??e.allRowsBeforePagination.find(e=>e.id===t.rowId))?.original??t.rowRef,r=e.allColumns.find(t=>t.id===e.editingCell?.columnId),i=Ei(e.editingCell.editorType,e.editingCell.value,{multiple:r?.columnDef.editorMultiple===!0,dateOnly:r?.columnDef.cellDataType===`dateString`}),a,o=i;if(n&&r?.columnDef.field){a=n[r.columnDef.field];let t=r.columnDef.valueParser;if(t&&(o=t({newValue:i,oldValue:a,rawInput:e.editingCell.value,data:n,columnId:e.editingCell.columnId})),c(r,o,n)||Oi(a,o)){e.editingCell=null;return}n[r.columnDef.field]=o}let s=He(e.editingCell.rowId,e.editingCell.columnId);if(e.editedCellValues={...e.editedCellValues,[s]:o},e.grid.store.setState(e=>({...e})),a!==o&&n&&r?.columnDef.field&&$r(e,[{rowId:e.editingCell.rowId,columnId:e.editingCell.columnId,field:r.columnDef.field,before:a,after:o}]),n&&r&&ut()?.cellEdited?.(e,{row:n,columnId:r.id}),e.props.onCellValueChange&&n&&r){let t=e.internalData.indexOf(n);e.props.onCellValueChange({rowIndex:t,columnId:r.id,oldValue:a,newValue:o,row:n})}e.editingCell=null}function u(t,n){if(t.custom){n===`undo`?t.custom.undo():t.custom.redo();return}let r=e.allRows.find(e=>e.id===t.rowId),i=e.allColumns.find(e=>e.id===t.columnId);if(!r?.original||!i)return;let a=n===`undo`?t.before:t.after;r.original[t.field]=a;let o=He(t.rowId,t.columnId);if(e.editedCellValues={...e.editedCellValues,[o]:a},e.grid.store.setState(e=>({...e})),e.props.onCellValueChange){let i=e.internalData.indexOf(r.original);e.props.onCellValueChange({rowIndex:i,columnId:t.columnId,oldValue:n===`undo`?t.after:t.before,newValue:a,row:r.original})}}function d(t){e.editingCell=e.editingCell?{...e.editingCell,value:t}:e.editingCell}function f(t){let n=e.activeCell;if(s(),e.gridRootEl?.focus({preventScroll:!0}),!n)return;let r=si(n,t,{maxRow:e.allRows.length-1,maxCol:e.allColumns.length-1,tabOrigin:e.tabRunOrigin,range:e.activeRangeRect(),collapsed:{isRowCollapsed:t=>e.isRowCollapsed(t),isColumnCollapsed:t=>!!e.collapsedColumns[e.allColumns[t]?.id]}}),i=r.cell;e.setActiveCell(i.rowIndex,i.colIndex),e.tabRunOrigin=r.tabOrigin,r.withinRange||e.setSelection(i.rowIndex,i.colIndex),e.scrollActiveCellIntoView(i.rowIndex,i.colIndex)}function p(e){f(e?`tabPrev`:`tabNext`)}function m(e){f(e?`moveUp`:`moveDown`)}function h(){let n=e.editingCell;if(!n)return;let r=n.value,i=e.activeCell,a=e.activeRangeRect();ni(e,()=>{if(l(),!(!i||!a))for(let n=a.minRow;n<=a.maxRow;n+=1)for(let o=a.minCol;o<=a.maxCol;o+=1){if(n===i.rowIndex&&o===i.colIndex)continue;let a=e.allRows[n],s=e.allColumns[o];!a||!s||gi(a)||!t(s,a)||(e.editingCell={rowId:a.id,columnId:s.id,editorType:s.columnDef.editorType??`text`,value:r,rowRef:a.original},l())}}),e.gridRootEl?.focus({preventScroll:!0})}function g(t){if(t.stopPropagation(),!(di()&&ui(t,fi(e,!0)))){if(t.key===`Enter`&&t.altKey){let e=t.currentTarget;if(e instanceof HTMLTextAreaElement){t.preventDefault();let n=e.selectionStart??e.value.length,r=e.selectionEnd??n;e.value=e.value.slice(0,n)+`
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./export-format-BCuqcexA.js","./rolldown-runtime-Dd_uD5pT.js","./cell-formatting-JoxA0t65.js","./conditional-formatting-MDWbF8_Y.js","./chart-Bmu-KAet.js","./chart-trend-_gDVw3bP.js","./row-drag-D5c8CRVe.js","./preload-helper-HclGiUj8.js","./SvGridChartView-Bfs0bvDb.js","./disclose-version-CIm4S9xS.js","./SvGridChart-DYtGHM3F.js","./editor-contract-Bpoa7A5g.js","./chart-export-B6bkQ3X8.js","./SvGridChart-BgLuPO7I.css","./SvGridChartView-7msfnWZT.css","./GridFooter-CKBVItAU.js","./SvGrid.helpers-BF2QRcNt.js","./sv-grid-scrollbar-B9N6Wuj0.js","./PinSplitter-C5AwA1xV.js","./grid-extension.svelte-BZ7AqyJI.js","./PinSplitter-BgTpgh1d.css","./sparkline-C-NcnB2i.js","./SvDateTimePicker-r4FqmR6R.js","./date-format-B8JbEtIG.js","./date-format-DKS-z0xS.css","./popover-CUkLsvRX.js","./dismissable-ChWRPkoa.js","./SvDateTimePicker-DPv09DIT.css","./SvDateRangeInput-DbfmXqJj.js","./SvDateRangeInput-C0iCCZ8o.css","./SvGridChartPanel-Cm9_K7BV.js","./chart-panel-messages-B3y8y3kL.js","./SvGridChartPanel-4Pc8y5yO.css","./SvGridCellEditor-od4VbndV.js","./editor-registry-BjP16H0v.js","./GridMenus-Dzwu7M9r.js","./SvListBox-fn160gSB.js","./list-option-BP_dWS66.js","./SvListBox-BXfyqy4a.css","./row-resize-BInFWCpr.js","./column-resize-BYDzR1Ve.js","./jszip.min-CX2fPs3O.js","./src-fddEt37f.js"])))=>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,B as a,C as o,D as s,E as c,F as l,G as u,H as d,I as f,J as p,K as m,L as h,M as g,N as _,O as v,P as y,Q as b,R as x,T as S,U as C,V as w,W as T,X as E,Z as D,_ as O,_t as k,a as A,at as j,b as M,bt as N,c as ee,ct as P,d as te,dt as F,et as I,f as L,ft as ne,g as re,gt as ie,h as ae,ht as oe,i as se,it as R,j as ce,k as z,l as le,lt as ue,m as de,mt as fe,n as pe,nt as me,o as he,ot as ge,p as B,pt as _e,q as ve,r as V,rt as H,s as ye,st as U,t as be,tt as xe,u as Se,ut as Ce,v as we,vt as W,w as Te,x as Ee,xt as De,y as Oe,yt as ke,z as Ae}from"./disclose-version-CIm4S9xS.js";import{a as je,n as Me,t as Ne}from"./cell-formatting-JoxA0t65.js";import{C as Pe,D as Fe,E as Ie,S as Le,T as G,_ as Re,a as ze,b as Be,c as Ve,f as He,g as Ue,h as We,i as Ge,l as Ke,n as qe,r as Je,t as Ye,u as Xe,w as Ze,y as Qe}from"./SvGrid.helpers-BF2QRcNt.js";import"./sv-grid-scrollbar-B9N6Wuj0.js";import{a as $e,c as et,d as tt,f as nt,i as rt,l as it,n as K,o as at,r as ot,s as st,t as ct,u as lt}from"./SvListBox-fn160gSB.js";import{n as ut,t as dt}from"./grid-extension.svelte-BZ7AqyJI.js";import{n as ft,t as pt}from"./editor-registry-BjP16H0v.js";import{t as mt}from"./preload-helper-HclGiUj8.js";import{a as ht,i as gt,t as _t}from"./editor-contract-Bpoa7A5g.js";import{_ as vt,a as yt,c as bt,d as xt,f as St,g as Ct,h as wt,m as Tt,o as Et,p as Dt,s as Ot,u as kt,v as At}from"./date-format-B8JbEtIG.js";import{i as jt,n as Mt,r as Nt,t as Pt}from"./popover-CUkLsvRX.js";import{t as Ft}from"./SvGridDropdown-Cjz0H-fI.js";import{r as It,t as Lt}from"./SvDateTimePicker-r4FqmR6R.js";import{n as Rt,t as zt}from"./dismissable-ChWRPkoa.js";import{t as Bt}from"./SvDateRangeInput-DbfmXqJj.js";import{t as Vt}from"./focus-trap-V2-6Fy9I.js";import{n as Ht,t as Ut}from"./SvTabs-2mHC6oaz.js";import{a as Wt,i as Gt,n as Kt,o as qt,r as Jt,s as Yt,t as Xt}from"./list-option-BP_dWS66.js";import{n as Zt,r as Qt,t as $t}from"./SvMenuList-Dgq2D5VN.js";import{i as en,n as tn,r as nn}from"./SvGridChartPanel-Cm9_K7BV.js";import{t as rn}from"./sparkline-C-NcnB2i.js";import{g as an}from"./chart-Bmu-KAet.js";import{t as on}from"./SvGridChart-DYtGHM3F.js";import{t as sn}from"./server-block-cache-CXJKkJpy.js";import{a as cn,i as ln,n as un,r as dn}from"./src-fddEt37f.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 fn(e,t,n,r){return e.id??e.field??`${t??`col`}_${n}_${r}`}function pn(e,t,n){if(e===`count`)return n.length;if(e===`first`)return n.length?n[0].getCellValueByColumnId(t):void 0;if(e===`countDistinct`){let e=new Set;for(let r of n)e.add(String(r.getCellValueByColumnId(t)??``));return e.size}if(typeof e==`function`){let r=[];for(let e of n){let n=Number(e.getCellValueByColumnId(t));Number.isFinite(n)&&r.push(n)}return e(r,n.map(e=>e.original))}let r=0,i=0,a=1/0,o=-1/0;for(let e of n){let n=Number(e.getCellValueByColumnId(t));Number.isFinite(n)&&(r++,i+=n,a=Math.min(a,n),o=Math.max(o,n))}if(r)switch(e){case`sum`:return i;case`avg`:return i/r;case`min`:return a;case`max`:return o;case`extent`:return`${a} – ${o}`;default:return}}function mn(e){let t=e,n=new Set;return{get state(){return t},setState(e){t=e(t),n.forEach(e=>e())},subscribe(e){return n.add(e),()=>n.delete(e)}}}var hn={key:`rowSortingFeature`},gn={key:`columnFilteringFeature`},_n={key:`columnGroupingFeature`};function vn(e){return e}var yn={auto:(e,t)=>Cn(e,t),number:(e,t)=>Jn(xn(e),xn(t)),date:(e,t)=>Jn(Sn(e),Sn(t))};function bn(e){return e==null||e===``}function xn(e){if(bn(e))return-1/0;let t=Number(e);return Number.isNaN(t)?-1/0:t}function Sn(e){if(bn(e))return-1/0;let t=new Date(e).getTime();return Number.isNaN(t)?-1/0:t}function Cn(e,t){let n=bn(e),r=bn(t);if(n||r)return n===r?0:n?-1:1;let i=typeof e==`number`,a=typeof t==`number`;return i&&a?Jn(xn(e),xn(t)):i===a?tr(String(e),String(t)):i?-1:1}var q={includesString:(e,t)=>String(e).toLowerCase().includes(t.toLowerCase()),equals:(e,t)=>e===t},wn=Symbol(`svgrid.row.ctx`),Tn=Symbol(`svgrid.row.values`),En=Symbol(`svgrid.row.cells`),Dn=Symbol(`svgrid.row.filterGen`),On=Symbol(`svgrid.row.filterPos`),kn=Symbol(`svgrid.row.sortDropped`),An=Symbol(`svgrid.row.sortKey`),jn=0,Mn=Symbol(`svgrid.lazyRows`),Nn=Symbol(`svgrid.lazyRows.fill`);function Pn(e,t){let n=Array(e),r=t=>{if(typeof t!=`string`)return-1;let n=t.charCodeAt(0);if(n<48||n>57)return-1;let r=+t;return r<e&&(r|0)===r?r:-1},i=()=>{for(let r=0;r<e;r++)n[r]===void 0&&(n[r]=t(r));return n};return new Proxy(n,{get(e,n,a){if(n===Mn)return e;if(n===Nn)return i;let o=r(n);if(o<0)return Reflect.get(e,n,a);let s=e[o];return s===void 0&&(e[o]=s=t(o)),s},has(e,t){return t===Mn||r(t)>=0||Reflect.has(e,t)},getOwnPropertyDescriptor(e,n){let i=r(n);if(i<0)return Reflect.getOwnPropertyDescriptor(e,n);let a=e[i];return a===void 0&&(e[i]=a=t(i)),{value:a,writable:!0,enumerable:!0,configurable:!0}}})}function Fn(e){let t=e[Nn];return t?t():e}function In(e){return e?e[Mn]??null:null}var Ln={getCanExpand(){return!1},getIsExpanded(){return!!(this[wn].store.state.expanded??{})[this.id]},toggleExpanded(){let e=this.id;this[wn].grid.setExpanded(t=>({...t,[e]:!t[e]}))},getIsSelected(){return!!(this[wn].store.state.rowSelection??{})[this.id]},toggleSelected(){let e=this.id;this[wn].grid.setRowSelection(t=>({...t,[e]:!t[e]}))},getAllCells(){return this[En]??Rn(this)},getCellValueByColumnId(e){let t=this[wn].columnIndexById.get(e);if(t!==void 0)return this[Tn]||(this[Tn]=zn(this)),this[Tn][t]}};function Rn(e){let{columns:t,columnCount:n,grid:r}=e[wn],i=Array(n);for(let a=0;a<n;a++){let n=t[a],o=a,s={id:`${e.id}_${n.id}`,row:e,column:n,getValue:()=>(e[Tn]||(e[Tn]=zn(e)),e[Tn][o]),getContext:()=>({cell:s,row:e,column:n,table:r,getValue:()=>s.getValue()})};i[a]=s}return e[En]=i,i}function zn(e){let{columns:t,columnCount:n}=e[wn],r=e.original,i=Array(n);for(let e=0;e<n;e++){let n=t[e].columnDef;n.fieldFn?i[e]=n.fieldFn(r):n.field?i[e]=r[n.field]:i[e]=void 0}return i}function Bn(){return({rows:e})=>e}function Vn(){let e=null,t=0;return({table:n,rows:r})=>{let i=n.getState().columnFilters??[];if(!i.length)return e=null,r;let a=n.getAllColumns(),o=i.map(e=>({id:e.id,value:e.value,fn:e.fn?q[e.fn]:q.includesString})),s=e=>{for(let t=0;t<o.length;t++){let n=o[t];if(!n.fn(e.getCellValueByColumnId(n.id),n.value))return!1}return!0};if(e&&e.filters===i&&e.columns===a){if(e.input===r)return e.output;let t=Kn(n);if(t&&r.length===e.input.length){let n=null,i=!0;for(let a=0;a<r.length&&i;a++){let o=e.input[a],c=r[a];if(c===o)continue;if(t.get(o)!==c){i=!1;break}let l=o[Dn]===e.gen,u=s(c);if(l!==u){i=!1;break}if(!u)continue;n??=e.output.slice();let d=o[On];n[d]=c,c[Dn]=e.gen,c[On]=d}if(i){let t=n??e.output;return e={...e,input:r,output:t},t}}}let c=++t,l=[];for(let e=0;e<r.length;e++){let t=r[e];s(t)&&(t[Dn]=c,t[On]=l.length,l.push(t))}return e={input:r,output:l,filters:i,columns:a,gen:c},l}}function Hn(){return({table:e,rows:t})=>{let n=e.getState().grouping??[];if(!n.length)return t;let r=e.getAllColumns();function i(t,a,o,s,c){if(a>=n.length)return t.map(e=>({...e,depth:o}));let l=n[a];if(!l)return t;let u=new Map;for(let e of t){let t=e.getCellValueByColumnId(l),n=String(t??``),r=u.get(n);r?(r.rows.push(e),!r.mixed&&r.raw!==t&&(r.mixed=!0)):u.set(n,{rows:[e],raw:t,mixed:!1})}let d=[],f=0;return u.forEach((t,u)=>{let p=t.rows,m=`${s}_${l}_${u}`,h=t.mixed?c:new Map(c).set(l,t.raw),g=i(p,a+1,o+1,m,h),_=a+1>=n.length?g.length:g.reduce((e,t)=>e+(t.leafCount??0),0),v=e=>{if(e===l)return u;if(c.has(e))return c.get(e);let t,n=!1;for(let r of p){let i=r.getCellValueByColumnId(e);if(!n)t=i,n=!0;else if(i!==t)return}return t},y={};r.forEach(e=>{let t=e.columnDef.field;if(!t)return;let n=e.columnDef.aggregate;y[t]=n?pn(n,e.id,p):v(e.id)});let b={id:m,index:f++,original:y,depth:o,subRows:g,leafCount:_,getCanExpand:()=>!0,getIsExpanded:()=>!!(e.getState().expanded??{})[m],toggleExpanded:()=>{e.setExpanded(e=>({...e,[m]:!e[m]}))},getIsSelected:()=>!!(e.getState().rowSelection??{})[m],toggleSelected:()=>{e.setRowSelection(e=>({...e,[m]:!e[m]}))},getAllCells:()=>[],getCellValueByColumnId:e=>{let t=r.find(t=>t.id===e)?.columnDef.field;return t&&t in y?y[t]:v(e)}};d.push(b)}),d}return i(t,0,0,`group`,new Map)}}function Un(e){let{parentField:t,idField:n=`id`}=e;return({table:e,rows:r})=>{if(!r.length)return r;let i=e=>e.original?.[n],a=e=>e.original?.[t],o=new Set;for(let e of r)o.add(i(e));let s=new Map,c=[];for(let e of r){let t=a(e);if(t==null||t===i(e)||!o.has(t)){c.push(e);continue}let n=s.get(t)??[];n.push(e),s.set(t,n)}let l=new Set,u=(t,n)=>{let r=i(t),a=t.id;if(l.has(r))return{...t,depth:n,subRows:[],getCanExpand:()=>!1};l.add(r);let o=(s.get(r)??[]).map(e=>u(e,n+1));return{...t,depth:n,subRows:o,leafCount:o.reduce((e,t)=>e+1+(t.leafCount??0),0),__treeRow:!0,getCanExpand:()=>o.length>0,getIsExpanded:()=>!!(e.getState().expanded??{})[a],toggleExpanded:()=>{e.setExpanded(e=>({...e,[a]:!e[a]}))}}};return c.map(e=>u(e,0))}}function Wn(){return({table:e,rows:t})=>{let n=e.getState().expanded??{},r=!1;for(let e in n)if(n[e]){r=!0;break}if(!r)return t;let i=[],a=e=>{if(i.push(e),e.subRows?.length&&n[e.id])for(let t of e.subRows)a(t)};for(let e of t)a(e);return i}}var Gn=new WeakMap;function Kn(e){return Gn.get(e)??null}function qn(e=yn){let t=null,n=Symbol(`svgrid.sort.missing-key`);function r(t,r,i){let a=[];for(let o of r){let r=i.find(e=>e.id===o.id);if(!r)continue;let s=G(r.columnDef),c=s===`number`?e.number:Ie(s)?e.date:e.auto,l=r.id,u=t.length,d=Array(u),f,p,m,h,g=r.columnDef.sortValue;if(typeof g==`function`){p=e=>xn(g(e.getCellValueByColumnId(l)));for(let e=0;e<u;e++)d[e]=p(t[e]);f=Jn}else if(c===yn.number){p=e=>xn(e.getCellValueByColumnId(l));for(let e=0;e<u;e++)d[e]=p(t[e]);f=Jn}else if(c===yn.date){p=e=>Sn(e.getCellValueByColumnId(l));for(let e=0;e<u;e++)d[e]=p(t[e]);f=Jn}else if(c===yn.auto&&(m=Xn(t,l))===`number`){p=e=>{let t=e.getCellValueByColumnId(l);return typeof t==`number`||bn(t)?xn(t):n};for(let e=0;e<u;e++)d[e]=p(t[e]);f=Jn}else if(m===`mixed`){p=e=>e.getCellValueByColumnId(l);for(let e=0;e<u;e++)d[e]=p(t[e]);f=Cn}else if(c===yn.auto){let e=Array(u),r=u>>1,i=null;if(u>0){let e=Math.max(1,Math.floor(u/Math.min(u,2048))),n=new Set,a=0;for(let r=0;r<u;r+=e)n.add(Yn(t[r].getCellValueByColumnId(l))),a++;let o=a-n.size;(e===1?n.size<=r:o*u>=a*a)&&(i=new Map)}let a=i?new Int32Array(u):null;for(let n=0;n<u;n++){let o=Yn(t[n].getCellValueByColumnId(l));if(e[n]=o,i){let e=i.get(o);if(e===void 0&&(e=i.size,i.set(o,e),i.size>r)){i=null;continue}a[n]=e}}if(i){let e=Array.from(i.keys()),t=e.map((e,t)=>t).sort((t,n)=>tr(e[t],e[n])),r=new Int32Array(e.length);for(let e=0;e<t.length;e++)r[t[e]]=e;for(let e=0;e<u;e++)d[e]=r[a[e]];let o=i;h=e.length,f=Jn,p=e=>{let t=e.getCellValueByColumnId(l);if(typeof t==`number`)return n;let i=o.get(Yn(t));return i===void 0?n:r[i]}}else d=e,f=tr,p=e=>{let t=e.getCellValueByColumnId(l);return typeof t==`number`?n:Yn(t)}}else{p=e=>e.getCellValueByColumnId(l);for(let e=0;e<u;e++)d[e]=p(t[e]);f=c}a.push({keys:d,desc:o.desc,compare:f,keyOf:p,rankCount:h})}if(!a.length)return null;let o=Array(t.length);for(let e=0;e<o.length;e++)o[e]=e;if(a.length===1){let{keys:e,compare:n,desc:r,rankCount:i}=a[0];i!==void 0&&t.length>=Zn?o=Qn(e,i,r):n===Jn&&t.length>=Zn?o=er(e,r):n===Jn?o.sort(r?function(t,n){return e[n]-e[t]}:function(t,n){return e[t]-e[n]}):o.sort(r?function(t,r){return-n(e[t],e[r])}:function(t,r){return n(e[t],e[r])})}else o.sort(function(e,t){for(let n=0;n<a.length;n++){let r=a[n],i=r.compare(r.keys[e],r.keys[t]);if(i!==0)return r.desc?-i:i}return 0});let s=Array(t.length);for(let e=0;e<o.length;e++)s[e]=t[o[e]];if(a.length===1){let e=a[0].keys;for(let n=0;n<t.length;n++)t[n][An]=e[n]}else for(let e=0;e<t.length;e++){let n=Array(a.length);for(let t=0;t<a.length;t++)n[t]=a[t].keys[e];t[e][An]=n}return{sorted:s,clauses:a.map(({desc:e,compare:t,keyOf:n})=>({desc:e,compare:t,keyOf:n}))}}function i(e,r){let i=t;if(e.length!==i.input.length)return null;let a=++jn,o=[];for(let t=0;t<e.length;t++){let n=i.input[t],s=e[t];if(s!==n){if(r.get(n)!==s)return null;n[kn]=a,o.push(s)}}if(!o.length)return i.output;let s=i.clauses,c=s.length===1;for(let e=0;e<o.length;e++){let t=o[e];if(c){let e=s[0].keyOf(t);if(e===n)return null;t[An]=e}else{let e=Array(s.length);for(let r=0;r<s.length;r++){let i=s[r].keyOf(t);if(i===n)return null;e[r]=i}t[An]=e}}let l=i.output,u=c?(()=>{let{compare:e,desc:t}=s[0];return(n,r)=>{let i=e(n[An],r[An]);return i===0?n.index-r.index:t?-i:i}})():(e,t)=>{let n=e[An],r=t[An];for(let e=0;e<s.length;e++){let t=s[e],i=t.compare(n[e],r[e]);if(i!==0)return t.desc?-i:i}return e.index-t.index};o.sort(u);let d=l.length,f=Array(o.length),p=0;for(let e=0;e<o.length;e++){let t=o[e],n=d;for(;p<n;){let e=p+n>>>1;u(t,l[e])<0?n=e:p=e+1}f[e]=p}let m=Array(e.length),h=0,g=0,_=f[0]??-1;for(let e=0;e<d;e++){for(;_===e;)m[h++]=o[g++],_=g<o.length?f[g]:-1;let t=l[e];t[kn]!==a&&(m[h++]=t)}for(;g<o.length;)m[h++]=o[g++];return m}return function({table:e,rows:n}){let a=e.getState().sorting??[];if(!a.length)return t=null,n;let o=e.getAllColumns();if(t&&t.sorting===a&&t.columns===o){if(t.input===n)return t.output;let r=Kn(e);if(r){let e=i(n,r);if(e)return t={...t,input:n,output:e},e}}let s=r(n,a,o);return s?(t={input:n,output:s.sorted,sorting:a,columns:o,clauses:s.clauses},s.sorted):(t=null,n)}}function Jn(e,t){return e===t?0:e-t}function Yn(e){return bn(e)?``:String(e)}function Xn(e,t){let n=!1,r=!1;for(let i=0;i<e.length;i++){let a=e[i].getCellValueByColumnId(t);if(!bn(a)&&(typeof a==`number`?n=!0:r=!0,n&&r))return`mixed`}return n?`number`:`text`}var Zn=2e4;function Qn(e,t,n){let r=e.length,i=new Uint32Array(t+1);for(let a=0;a<r;a++)i[(n?t-1-e[a]:e[a])+1]++;for(let e=0;e<t;e++)i[e+1]+=i[e];let a=new Uint32Array(r);for(let o=0;o<r;o++)a[i[n?t-1-e[o]:e[o]]++]=o;return a}var $n=new Uint8Array(new Uint32Array([1]).buffer)[0]===1;function er(e,t){let n=e.length,r=new Float64Array(n);for(let t=0;t<n;t++)r[t]=e[t]+0;let i=new Uint32Array(r.buffer),a=new Uint32Array(n),o=new Uint32Array(n),s=+!$n,c=1-s;for(let e=0;e<n;e++){let n=i[2*e+c],r=i[2*e+s];n&2147483648?(n=~n>>>0,r=~r>>>0):n=(n|2147483648)>>>0,t&&(n=~n>>>0,r=~r>>>0),o[e]=n,a[e]=r}let l=new Uint32Array(n);for(let e=0;e<n;e++)l[e]=e;let u=new Uint32Array(n),d=new Uint32Array(65536);for(let e=0;e<4;e++){let t=e<2?a:o,r=e%2==0?0:16;d.fill(0);for(let e=0;e<n;e++)d[t[e]>>>r&65535]++;if(d[t[l[0]]>>>r&65535]===n)continue;let i=0;for(let e=0;e<65536;e++){let t=d[e];d[e]=i,i+=t}for(let e=0;e<n;e++){let n=l[e];u[d[t[n]>>>r&65535]++]=n}let s=l;l=u,u=s}return l}function tr(e,t){return e.localeCompare(t)}function nr(e){let t=mn({sorting:[],columnFilters:[],pagination:{pageIndex:0,pageSize:e.data.length||10},grouping:[],expanded:{},rowSelection:{},activeCell:{rowIndex:0,colIndex:0,cellId:null},...e.state??{}}),n=mn(e),r=null,i=[],a=[],o=null,s=null,c=[],l=null,u=null,d=null,f=null,p=e._rowModels,m=null,h={store:t,optionsStore:n,get state(){return t.state},getState(){return t.state},setOptions(e){n.setState(t=>typeof e==`function`?e(t):e)},setColumnFilters(n){t.setState(e=>({...e,columnFilters:typeof n==`function`?n(e.columnFilters??[]):n})),e.onColumnFiltersChange?.(n)},setPagination(n){t.setState(e=>({...e,pagination:typeof n==`function`?n(e.pagination??{pageIndex:0,pageSize:10}):n})),e.onPaginationChange?.(n)},setGrouping(n){t.setState(e=>({...e,grouping:typeof n==`function`?n(e.grouping??[]):n})),e.onGroupingChange?.(n)},setExpanded(n){t.setState(e=>({...e,expanded:typeof n==`function`?n(e.expanded??{}):n})),e.onExpandedChange?.(n)},setRowSelection(n){t.setState(e=>({...e,rowSelection:typeof n==`function`?n(e.rowSelection??{}):n})),e.onRowSelectionChange?.(n)},setActiveCell(n){t.setState(e=>{let t=e.activeCell??{rowIndex:0,colIndex:0,cellId:null},r=typeof n==`function`?n(t):n;return{...e,activeCell:r}}),e.onActiveCellChange?.(n)},moveActiveCell(e){let t=h.getRowModel().rows,n=h.getAllColumns(),r=Math.max(t.length-1,0),i=Math.max(n.length-1,0),a=h.getState().activeCell??{rowIndex:0,colIndex:0,cellId:null},o=Math.min(Math.max(a.rowIndex+(e.rowDelta??0),0),r),s=Math.min(Math.max(a.colIndex+(e.colDelta??0),0),i),c=n[s]?.id??`col_0`;h.setActiveCell({rowIndex:o,colIndex:s,cellId:`${o}_${c}`})},getAllColumns(){if(r===e.columns&&i.length)return i;if(r&&e.columns.length===r.length&&i.length===e.columns.length&&e.columns.every((e,t)=>{let n=r[t];return e.field===n.field&&e.id===n.id&&e.header===n.header&&e.editorType===n.editorType&&e.fieldType===n.fieldType&&e.fieldProps===n.fieldProps}))return r=e.columns,i;r=e.columns,a=[];let n=(r,i,a)=>{let o=[];return r.forEach((r,s)=>{let c=fn(r,a,i,s);if(r.columns?.length){o.push(...n(r.columns,i+1,c));return}o.push({id:c,depth:i,parentId:a,columnDef:r,getCanSort:()=>!!e._features.rowSortingFeature&&r.sortable!==!1,getCanFilter:()=>!!e._features.columnFilteringFeature&&r.filterable!==!1,getIsSorted:()=>{let e=t.state.sorting?.find(e=>e.id===c);return e?e.desc?`desc`:`asc`:!1},getToggleSortingHandler:()=>()=>{let n=t.state.sorting??[],r=n.find(e=>e.id===c),i=r?r.desc?n.filter(e=>e.id!==c):n.map(e=>e.id===c?{...e,desc:!0}:e):[...n,{id:c,desc:!1}];t.setState(e=>({...e,sorting:i})),e.onSortingChange?.(i)}})}),o};return i=n(e.columns,0),i},getHeaderGroups(){return a.length||(a=[{id:`header_group_0`,headers:h.getAllColumns().map(e=>{let t={id:e.id,isPlaceholder:!1,colSpan:1,column:e,getContext:()=>({header:t,column:e,table:h})};return t})}]),a},getFooterGroups(){return h.getHeaderGroups()},getRowModel(){let n=h.getAllColumns(),r=e.data;if(o!==r||s!==n){let i=s===n&&u?In(c)??c:null,a=o;l=i&&i.length===r.length?new Map:null,o=r,s=n;let d;if(i&&u)d=u;else{let e=new Map;for(let t=0;t<n.length;t++)e.set(n[t].id,t);d={grid:h,store:t,columns:n,columnCount:n.length,columnIndexById:e},u=d}let f=e.getRowId,p=Ln,m=e=>{let t=r[e];return{id:f?f(t,e):String(e),index:e,original:t,depth:0,[wn]:d,[Tn]:null,[En]:null,[Dn]:0,[On]:-1,[kn]:0,[An]:void 0,getCanExpand:p.getCanExpand,getIsExpanded:p.getIsExpanded,toggleExpanded:p.toggleExpanded,getIsSelected:p.getIsSelected,toggleSelected:p.toggleSelected,getAllCells:p.getAllCells,getCellValueByColumnId:p.getCellValueByColumnId}};c=i?Array(r.length):Pn(r.length,m);for(let e=0;i&&e<r.length;e++){let t=r[e],n=i[e];if(n&&n.original===t){n[Tn]!==null&&(n[Tn]=null),n[En]!==null&&(n[En]=null),c[e]=n;continue}l&&l.size*4>=r.length&&(l=null);let o=m(e);n===void 0&&a?.[e]===t&&(i[e]=o),c[e]=o,l&&n&&l.set(n,o)}l&&l.size===0&&(l=null)}let i={sorting:t.state.sorting,columnFilters:t.state.columnFilters,pagination:t.state.pagination,grouping:t.state.grouping,expanded:t.state.expanded};if(d&&f===c&&p===e._rowModels&&m?.sorting===i.sorting&&m?.columnFilters===i.columnFilters&&m?.pagination===i.pagination&&m?.grouping===i.grouping&&m?.expanded===i.expanded)return d;let a=(i.sorting?.length??0)>0||(i.columnFilters?.length??0)>0||(i.grouping?.length??0)>0||i.expanded===!0||Object.keys(i.expanded??{}).length>0?Fn(c):c,g=e._rowModels??{},_=[g.coreRowModel,g.filteredRowModel,g.sortedRowModel,g.groupedRowModel,g.expandedRowModel,g.paginatedRowModel];Gn.set(h,l);try{_.forEach(e=>{e&&(a=e({table:h,rows:a}))})}finally{Gn.set(h,null),l=null}return p=e._rowModels,m=i,f=c,d={rows:a},d}};return h}function rr(e,t=()=>({})){let n=nr(e),r=P(ge(t(n.store.state)));return n.store.subscribe(()=>{U(r,t(n.store.state),!0)}),Object.defineProperty(n,"state",{get(){return m(r)},configurable:!0,enumerable:!0}),n}var ir=class{constructor(e,t){this.component=e,this.props=t}},ar=class{constructor(e,t){this.snippet=e,this.params=t}},or=(e,t)=>new ir(e,t),sr=(e,t)=>new ar(e,t),cr=(e,t)=>`${e}:${t}`;function lr(e){if(!e||e.length===0)return null;let t=new Map,n=[];for(let r of e){let e=Math.max(1,Math.floor(r.rowSpan)),i=Math.max(1,Math.floor(r.colSpan));if(e===1&&i===1)continue;let a={rowIndex:r.rowIndex,colIndex:r.colIndex,rowSpan:e,colSpan:i};n.push(a);for(let n=a.rowIndex;n<a.rowIndex+e;n+=1)for(let e=a.colIndex;e<a.colIndex+i;e+=1)t.set(cr(n,e),a)}return n.length?{list:n,byCell:t}:null}function ur(e,t,n){return e?.byCell.get(cr(t,n))}function dr(e,t,n){let r=ur(e,t,n);return r?{rowIndex:r.rowIndex,colIndex:r.colIndex}:{rowIndex:t,colIndex:n}}function fr(e,t,n){let r=ur(e,t,n);return r?{rowIndex:r.rowIndex+r.rowSpan-1,colIndex:r.colIndex+r.colSpan-1}:{rowIndex:t,colIndex:n}}function pr(e,t){if(!e)return t;let{minRow:n,maxRow:r,minCol:i,maxCol:a}=t;for(let t=0;t<64;t+=1){let t=!1;for(let o of e.list){let e=o.rowIndex+o.rowSpan-1,s=o.colIndex+o.colSpan-1;o.rowIndex<=r&&e>=n&&o.colIndex<=a&&s>=i&&(o.rowIndex<n&&(n=o.rowIndex,t=!0),e>r&&(r=e,t=!0),o.colIndex<i&&(i=o.colIndex,t=!0),s>a&&(a=s,t=!0))}if(!t)break}return n===t.minRow&&r===t.maxRow&&i===t.minCol&&a===t.maxCol?t:{minRow:n,maxRow:r,minCol:i,maxCol:a}}function mr(e,t,n,r){if(!e)return n;let i=ur(e,n.rowIndex,n.colIndex);if(!i)return n;if(ur(e,t.rowIndex,t.colIndex)!==i)return{rowIndex:i.rowIndex,colIndex:i.colIndex};let a=Math.sign(n.rowIndex-t.rowIndex),o=Math.sign(n.colIndex-t.colIndex);if(a===0&&o===0)return{rowIndex:i.rowIndex,colIndex:i.colIndex};let s=n.rowIndex,c=n.colIndex;if(a>0?s=i.rowIndex+i.rowSpan:a<0&&(s=i.rowIndex-1),o>0?c=i.colIndex+i.colSpan:o<0&&(c=i.colIndex-1),s<0||s>r.maxRow||c<0||c>r.maxCol)return{rowIndex:i.rowIndex,colIndex:i.colIndex};let l=ur(e,s,c);return l?{rowIndex:l.rowIndex,colIndex:l.colIndex}:{rowIndex:s,colIndex:c}}function hr(e,t,n,r){let i=ur(e,t,n);if(!i)return null;let a=Math.max(i.rowIndex,r.firstRow),o=Math.max(i.colIndex,r.firstCol);if(t!==a||n!==o)return{kind:`skip`};let s=a===i.rowIndex&&o===i.colIndex,c=Math.max(1,Math.min(i.rowIndex+i.rowSpan-t,r.lastRow-t+1)),l=Math.max(1,Math.min(i.colIndex+i.colSpan-n,r.lastCol-n+1));return{kind:s?`origin`:`continuation`,merge:i,rowSpan:c,colSpan:l}}var gr=[`in`,`notIn`],_r=[`isBlank`,`isNotBlank`],vr=[`between`];function yr(e){return gr.includes(e)}function br(e){return _r.includes(e)}function xr(e){return vr.includes(e)}var Sr=[{value:`contains`,label:`Contains`,iconName:`op-contains`},{value:`notContains`,label:`Not contains`,iconName:`op-notContains`},{value:`equals`,label:`Equals`,iconName:`op-equals`},{value:`notEquals`,label:`Not equals`,iconName:`op-notEquals`},{value:`startsWith`,label:`Starts with`,iconName:`op-startsWith`},{value:`endsWith`,label:`Ends with`,iconName:`op-endsWith`},{value:`regex`,label:`Regex`,iconName:`op-regex`},{value:`in`,label:`In`,iconName:`op-in`},{value:`notIn`,label:`Not in`,iconName:`op-notIn`},{value:`greaterThan`,label:`Greater than`,iconName:`op-greaterThan`},{value:`lessThan`,label:`Less than`,iconName:`op-lessThan`},{value:`between`,label:`Between`,iconName:`op-between`},{value:`isBlank`,label:`Blank`,iconName:`op-isBlank`},{value:`isNotBlank`,label:`Not blank`,iconName:`op-isNotBlank`}],Cr=[`contains`,`notContains`,`equals`,`notEquals`,`startsWith`,`endsWith`,`regex`,`in`,`notIn`,`isBlank`,`isNotBlank`],wr=[`equals`,`notEquals`,`greaterThan`,`lessThan`,`between`,`in`,`notIn`,`isBlank`,`isNotBlank`],Tr=[`equals`,`notEquals`,`lessThan`,`greaterThan`,`between`,`isBlank`,`isNotBlank`],Er=[`equals`,`isBlank`,`isNotBlank`],Dr={value:`contains`,label:`Contains`,iconName:`op-contains`};function Or(e){return Sr.find(t=>t.value===e)??Dr}function kr(e){let t=G(e?.columnDef);return(t===`number`?wr:Ie(t)?Tr:t===`boolean`?Er:Cr).map(e=>Sr.find(t=>t.value===e)).filter(e=>!!e)}function Ar(e){return kr(e)[0]?.value??`contains`}function jr(e,t){if(Ie(G(t?.columnDef))){if(e.value===`lessThan`)return`Before`;if(e.value===`greaterThan`)return`After`}return e.label}var Mr={contains:`opContains`,notContains:`opNotContains`,equals:`opEquals`,notEquals:`opNotEquals`,startsWith:`opStartsWith`,endsWith:`opEndsWith`,regex:`opRegex`,in:`opIn`,notIn:`opNotIn`,greaterThan:`opGreaterThan`,lessThan:`opLessThan`,between:`opBetween`,isBlank:`opIsBlank`,isNotBlank:`opIsNotBlank`};function Nr(e,t,n){if(Ie(G(t?.columnDef))){if(e.value===`lessThan`)return n?.opBefore||`Before`;if(e.value===`greaterThan`)return n?.opAfter||`After`}let r=Mr[e.value];return r&&n?.[r]||e.label}var Pr={close:`✕`,clear:`✕`,remove:`×`,"row-number":`#`,"pinned-row-top":`↑`,"pinned-row-bottom":`↓`,"find-prev":`↑`,"find-next":`↓`,"move-up":`↑`,"move-down":`↓`,"group-add":`⊞`,"page-first":`⇤`,"page-prev":`‹`,"page-next":`›`,"page-last":`⇥`,"page-size-caret":`▾`,"drag-handle":`⠿`,"breadcrumb-separator":`›`},Fr=`sort.sort-asc.sort-desc.filter.menu.group.x.chevron-down.chevron-right.autosize.columns.reset.op-contains.op-notContains.op-equals.op-notEquals.op-startsWith.op-endsWith.op-regex.op-in.op-notIn.op-greaterThan.op-lessThan.op-between.op-isBlank.op-isNotBlank.pin-left.pin-right.unpin.search.tool-panel.chart.advanced-filter.column-group-caret.no-rows.no-rows-filtered.close.clear.remove.row-number.pinned-row-top.pinned-row-bottom.find-prev.find-next.move-up.move-down.group-add.page-first.page-prev.page-next.page-last.page-size-caret.drag-handle.breadcrumb-separator`.split(`.`);function Ir(e){return e<=0?0:e>=1?1:e}var Lr=1e5,Rr=9e8,zr=.995;function Br(e,t,n){let r=[e,t].filter(e=>Number.isFinite(e)&&e>Lr&&e<Rr);return r.length===0?n:Math.floor(Math.min(...r)*zr)}function Vr(e,t,n){let r=Math.max(t,1),i=Math.min(Math.max(e,0),r),a=e>r,o=Math.max(i-n,1),s=Math.max(e-n,0);return{active:a,domTotal:i,domToLogical(e){return a?Ir(e/o)*s:e},logicalToDom(e){return a?Ir(e/Math.max(s,1))*Math.max(i-n,0):e}}}var Hr=Symbol.for(`svgrid.windowedData`);function Ur(e){return typeof e!=`object`||!e?null:e[Hr]??null}function Wr(e){return Ur(e)!==null}function Gr(e){function t(){let t={...e.props.features??{}};return e.props.sortable===!0?t.rowSortingFeature=hn:e.props.sortable===!1&&delete t.rowSortingFeature,e.props.filterable===!0?t.columnFilteringFeature=gn:e.props.filterable===!1&&delete t.columnFilteringFeature,e.props.groupable===!0?t.columnGroupingFeature=_n:e.props.groupable===!1&&delete t.columnGroupingFeature,vn(t)}return{resolveEffectiveFeatures:t}}function Kr(e,t){let n=e[t]?.groupId;if(!n)return t;let r=t;for(;r>0&&e[r-1]?.groupId===n;)--r;return r}function qr(e,t){let n=e[t]?.groupId;if(!n)return t;let r=t;for(;r<e.length-1&&e[r+1]?.groupId===n;)r+=1;return r}function Jr(e,t){let n=e.length,r=0;for(;n>0&&r<t;)n=Kr(e,n-1),r+=1;return n===0?e:e.slice(n)}function Yr(e){let t=e.historyPtr>=0?e.history[e.historyPtr]:void 0;return t?{tag:t.tag}:null}function Xr(e){let t=e.historyPtr<e.history.length-1?e.history[e.historyPtr+1]:void 0;return t?{tag:t.tag}:null}function Zr(e){if(e.historyPtr<0)return!1;let t=e.historyPtr;if(!e.history[t])return!1;let n=Kr(e.history,t);for(let r=t;r>=n;--r){let t=e.history[r];t&&e.applyHistoryStep(t,`undo`)}return e.historyPtr=n-1,e.historyVersion+=1,!0}function Qr(e){if(e.historyPtr>=e.history.length-1)return!1;let t=e.historyPtr+1;if(!e.history[t])return!1;let n=qr(e.history,t);for(let r=t;r<=n;r+=1){let t=e.history[r];t&&e.applyHistoryStep(t,`redo`)}return e.historyPtr=n,e.historyVersion+=1,!0}function $r(e,t,n){if(!t.length)return;let r=e.historyGroupId??(n&&t.length>1?n:void 0),i=e.historyTag,a=e.history.slice(0,e.historyPtr+1);for(let e of t){let t=i===void 0?e:{...e,tag:i};a.push(r?{...t,groupId:r}:t)}a=Jr(a,e.UNDO_LIMIT),e.history=a,e.historyPtr=e.history.length-1,e.historyVersion+=1}var ei=0;function ti(){return ei+=1,`g${ei}`}function ni(e,t){let n=e.historyGroupId;e.historyGroupId=n??ti();try{return t()}finally{e.historyGroupId=n}}function ri(e){function t(t,n){n&&(e.tooltipTimer&&window.clearTimeout(e.tooltipTimer),e.tooltipTimer=window.setTimeout(()=>{let r=t.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight,o=r.bottom+64<a;e.tooltip={text:n,x:Math.min(Math.max(r.left+6,10),i-290),y:o?r.bottom+6:r.top-6,below:o}},250))}function n(){e.tooltipTimer&&=(window.clearTimeout(e.tooltipTimer),null),e.tooltip=null}function r(){e.scrollSyncRaf=null,e.scrollVersion+=1,e.rowVirtualizationEnabled&&e.virtualizer.setScrollOffset(e.domToLogicalRowOffset(e.pendingScrollTop)),e.columnVirtualizationEnabled&&e.columnVirtualizer.setHorizontalOffset(e.pendingScrollLeft)}function i(t,n){e.pendingScrollTop=t,e.pendingScrollLeft=n,e.scrollSyncRaf===null&&(e.scrollSyncRaf=requestAnimationFrame(r))}function a(t,n){e.scrollSyncRaf!==null&&(cancelAnimationFrame(e.scrollSyncRaf),e.scrollSyncRaf=null),e.pendingScrollTop=t,e.pendingScrollLeft=n,r()}function o(t){let n=t.currentTarget;if(n&&((e.columnMenuFor||e.operatorMenuFor||e.contextMenuFor)&&e.closeMenus(),i(n.scrollTop,n.scrollLeft),e.props.alignedGridGroup!=null&&e.broadcastAlignedScroll(n.scrollLeft),e.props.onScrollBottomReached)){let{scrollTop:t,scrollHeight:r,clientHeight:i}=n,a=t+i>=r-32;a&&e.scrollBottomArmed?(e.scrollBottomArmed=!1,e.props.onScrollBottomReached({scrollTop:t,scrollHeight:r,clientHeight:i})):!a&&!e.scrollBottomArmed&&(e.scrollBottomArmed=!0)}}return{showTooltipFor:t,hideTooltip:n,flushScheduledScrollSync:r,scheduleScrollSync:i,syncScrollNow:a,onBodyScroll:o}}function ii(e){return e.ctrlKey&&e.key===`Home`?`gridStart`:e.ctrlKey&&e.key===`End`?`gridEnd`:(e.ctrlKey||e.metaKey)&&!e.altKey&&(e.key===`ArrowLeft`||e.key===`ArrowRight`||e.key===`ArrowUp`||e.key===`ArrowDown`)?`noop`:e.key===`ArrowLeft`?`moveLeft`:e.key===`ArrowRight`?`moveRight`:e.key===`ArrowUp`?`moveUp`:e.key===`ArrowDown`?`moveDown`:e.key===`Home`?`rowStart`:e.key===`End`?`rowEnd`:e.key===`PageUp`?`pageUp`:e.key===`PageDown`?`pageDown`:e.key===`Enter`&&(e.ctrlKey||e.metaKey)?`activate`:e.key===`Enter`?e.shiftKey?`moveUp`:`moveDown`:e.key===`Tab`?e.shiftKey?`tabPrev`:`tabNext`:e.key===`F2`||e.key===` `?`activate`:e.key===`Delete`?`clearCells`:`noop`}function ai(e,t,n){let r=n.pageSize??10,i=e.rowIndex,a=e.colIndex;return t===`moveLeft`&&--a,t===`moveRight`&&(a+=1),t===`moveUp`&&--i,t===`moveDown`&&(i+=1),t===`tabNext`&&(a+=1,a>n.maxCol&&(a=0,i+=1)),t===`tabPrev`&&(--a,a<0&&(a=n.maxCol,--i)),t===`rowStart`&&(a=0),t===`rowEnd`&&(a=n.maxCol),t===`gridStart`&&(i=0,a=0),t===`gridEnd`&&(i=n.maxRow,a=n.maxCol),t===`pageUp`&&(i-=r),t===`pageDown`&&(i+=r),i=Math.min(Math.max(i,0),Math.max(n.maxRow,0)),a=Math.min(Math.max(a,0),Math.max(n.maxCol,0)),{rowIndex:i,colIndex:a,cellId:e.cellId}}function oi(e,t,n,r){let i=(e,t,n,r)=>{if(t===e)return t;let i=t>e?1:-1,a=t;for(;a>=0&&a<=n&&r(a);)a+=i;if(a>=0&&a<=n)return a;for(a=t-i;a!==e&&r(a);)a-=i;return a},a=i(e.rowIndex,t.rowIndex,n.maxRow,r.isRowCollapsed),o=i(e.colIndex,t.colIndex,n.maxCol,r.isColumnCollapsed);return a===t.rowIndex&&o===t.colIndex?t:{rowIndex:a,colIndex:o,cellId:t.cellId}}function si(e,t,n){let r=ci(e,t,n),i=n.collapsed;if(!i)return r;let a=e=>i.isRowCollapsed(e.rowIndex)||i.isColumnCollapsed(e.colIndex);if(!a(r.cell))return r;if(!r.withinRange)return{...r,cell:oi(e,r.cell,n,i)};let o=r.cell;for(let e=(n.range.maxRow-n.range.minRow+1)*(n.range.maxCol-n.range.minCol+1);e>0&&a(o);--e)o=ci(o,t,n).cell;return{...r,cell:a(o)?e:o}}function ci(e,t,n){let r=n.range;if(r!==null&&(r.maxRow>r.minRow||r.maxCol>r.minCol)&&e.rowIndex>=r.minRow&&e.rowIndex<=r.maxRow&&e.colIndex>=r.minCol&&e.colIndex<=r.maxCol){let{rowIndex:n,colIndex:i}=e;return t===`moveDown`?(n+=1,n>r.maxRow&&(n=r.minRow,i+=1),i>r.maxCol&&(i=r.minCol)):t===`moveUp`?(--n,n<r.minRow&&(n=r.maxRow,--i),i<r.minCol&&(i=r.maxCol)):t===`tabNext`?(i+=1,i>r.maxCol&&(i=r.minCol,n+=1),n>r.maxRow&&(n=r.minRow)):(--i,i<r.minCol&&(i=r.maxCol,--n),n<r.minRow&&(n=r.maxRow)),{cell:{rowIndex:n,colIndex:i,cellId:e.cellId},withinRange:!0,tabOrigin:null}}let i={maxRow:n.maxRow,maxCol:n.maxCol};return t===`tabNext`||t===`tabPrev`?{cell:ai(e,t,i),withinRange:!1,tabOrigin:n.tabOrigin??e.colIndex}:{cell:ai(n.tabOrigin===null?e:{...e,colIndex:n.tabOrigin},t,i),withinRange:!1,tabOrigin:null}}var li=[];function ui(e,t){for(let n of li)if(n.handler(e,t))return!0;return!1}function di(){return li.length>0}function fi(e,t){function n(t){return e.allColumns[t]?.id??null}return{get api(){return e.buildApi()},editing:t,get editor(){return(e.gridRootEl??null)?.querySelector(`.sv-grid-cell-editor`)??null},get activeCell(){let t=e.grid.getState().activeCell;return t?{rowIndex:t.rowIndex,colIndex:t.colIndex,columnId:n(t.colIndex)}:null},get selectionFocus(){let t=e.selectionRange?.focus;return t?{rowIndex:t.rowIndex,colIndex:t.colIndex}:null},get rowCount(){return e.allRows.length},get colCount(){return e.allColumns.length},get ranges(){return e.getSelectionRects().map(e=>[e.minRow,e.minCol,e.maxRow,e.maxCol])},columnIdAt:n,getCellValue(t,r){let i=n(r);return i==null?void 0:e.readCellRaw(t,i)},setCellValue(t,r,i){let a=n(r);if(a==null)return;let o=e.allColumns[r]?.columnDef?.field,s=e.allRows[t]?.id,c=e.readCellRaw(t,a);e.writeCellRaw(t,a,i),o!=null&&s!=null&&c!==i&&$r(e,[{rowId:s,columnId:a,field:o,before:c,after:i}])},setActiveCell(t,n){e.setActiveCell(t,n)},setSelection(t,n){e.setSelection(t,n)},extendSelection(t,n){e.extendSelection(t,n)},scrollIntoView(t,n){e.scrollActiveCellIntoView(t,n)},startEditing(t,n,r){return r===void 0?(e.onCellDoubleClick(t,n),!0):e.startEditingWithChar(t,n,r)===!0},batch(t){return ni(e,t)},recordUndo(t,n){$r(e,[{rowId:``,columnId:``,field:``,before:void 0,after:void 0,custom:{undo:t,redo:n}}])},focus(){e.gridRootEl?.focus({preventScroll:!0})},async paste(){await e.pasteFromClipboard?.()},copy(){e.copySelectionToClipboard?.()},async cut(){await e.cutSelectionToClipboard?.()},canEdit(t,n){return e.isCellEditableAt?.(t,n)??!0}}}function pi(e){function t(t){if(t.target!==t.currentTarget||di()&&ui(t,fi(e,!1))||e.editingCell)return;if((t.ctrlKey||t.metaKey)&&!t.altKey){let n=t.key.toLowerCase();if(n===`c`){t.preventDefault(),e.copySelectionToClipboard();return}if(n===`v`){if(e.props.onPasteClipboard){e.armPasteFallback();return}typeof navigator.clipboard?.readText==`function`&&(t.preventDefault(),e.pasteFromClipboard());return}if(n===`x`){t.preventDefault(),e.cutSelectionToClipboard();return}if(n===`z`&&!t.shiftKey){t.preventDefault(),Zr(e);return}if(n===`z`&&t.shiftKey||n===`y`){t.preventDefault(),Qr(e);return}if(n===`f`){t.preventDefault(),e.findOpen=!0;return}}if(t.key===`Escape`&&e.findOpen){t.preventDefault(),e.findOpen=!1;return}if((t.key===`Delete`||t.key===`Backspace`)&&!t.ctrlKey&&!t.metaKey&&!t.altKey&&e.clearSelectedCells()){t.preventDefault();return}let n=e.grid.getState().activeCell??{rowIndex:0,colIndex:0,cellId:null};if(t.key===`F2`){t.preventDefault(),e.onCellDoubleClick(n.rowIndex,n.colIndex);return}let r=ii(t);if(r===`noop`){t.key.length===1&&!t.ctrlKey&&!t.metaKey&&!t.altKey&&e.startEditingWithChar(n.rowIndex,n.colIndex,t.key)&&t.preventDefault();return}if(t.preventDefault(),e.props.treeData&&(r===`moveRight`||r===`moveLeft`)){let t=e.allRows[n.rowIndex];if(t?.getCanExpand?.()){let e=t.getIsExpanded?.()??!1;if(r===`moveRight`&&!e){t.toggleExpanded?.();return}if(r===`moveLeft`&&e){t.toggleExpanded?.();return}}}let i=e.props.serverGroup;if(i&&(r===`moveRight`||r===`moveLeft`)){let t=e.allRows[n.rowIndex]?.original;if(t!==void 0&&i.isGroup(t)){let e=i.expanded?.(t)??!1;if(r===`moveRight`&&!e){i.onToggle(t);return}if(r===`moveLeft`&&e){i.onToggle(t);return}}}if(r===`clearCells`){e.clearSelectedCellValues();return}if(r===`activate`){let r=e.allRows[n.rowIndex],i=e.allColumns[n.colIndex];if(t.key===` `){r?.toggleSelected?.();return}if(t.ctrlKey&&r?.getCanExpand?.()){r.toggleExpanded?.();return}let a=e.props.serverGroup;if(t.ctrlKey&&a&&r){let t=r.original;if(a.isGroup(t)){a.onToggle(t);return}if(a.toggleDetail&&e.props.renderDetailRow&&(a.hasDetail?.(t)??!0)){a.toggleDetail(t);return}}if(t.ctrlKey&&r&&e.props.onDetailToggle&&e.props.renderDetailRow){let t=r.original;if(!e.props.isDetailRow?.(t,n.rowIndex)&&(e.props.hasDetail?.(t)??!0)){e.props.onDetailToggle(t,n.rowIndex);return}}if(i?.columnDef.editorType===`checkbox`){(e.isCellEditableAt?.(n.rowIndex,n.colIndex)??!0)&&e.toggleBooleanCell(n.rowIndex,n.colIndex);return}e.onCellDoubleClick(n.rowIndex,n.colIndex);return}function a(){let t=e.grid.getState().pagination?.pageSize;if(t&&t>0)return t;let r=e.scrollContainer?.clientHeight??0,i=e.headerHeight??0,a=typeof e.props.rowHeight==`function`?e.props.rowHeight(n.rowIndex)??30:e.props.rowHeight??30,o=Math.max(0,r-i);return Math.max(1,Math.floor(o/Math.max(a,1))-1)}let o={maxRow:Math.max(e.allRows.length-1,0),maxCol:Math.max(e.allColumns.length-1,0)},s={isRowCollapsed:t=>e.isRowCollapsed(t),isColumnCollapsed:t=>!!e.collapsedColumns[e.allColumns[t]?.id]};if((t.key===`Enter`||t.key===`Tab`)&&(r===`moveDown`||r===`moveUp`||r===`tabNext`||r===`tabPrev`)){let t=si(n,r,{...o,tabOrigin:e.tabRunOrigin,range:e.activeRangeRect(),collapsed:s}),i=mr(e.mergeIndex,n,t.cell,o);e.setActiveCell(i.rowIndex,i.colIndex),e.tabRunOrigin=t.tabOrigin,e.scrollActiveCellIntoView(i.rowIndex,i.colIndex),t.withinRange||e.setSelection(i.rowIndex,i.colIndex);return}if(t.shiftKey&&e.enableCellSelectionEffective!==!1&&(r===`moveLeft`||r===`moveRight`||r===`moveUp`||r===`moveDown`||r===`rowStart`||r===`rowEnd`||r===`pageUp`||r===`pageDown`||r===`gridStart`||r===`gridEnd`)){let t=!!e.selectionRange?.anchor;t||e.setSelection(n.rowIndex,n.colIndex);let i=t?e.selectionRange.focus??n:n,c=mr(e.mergeIndex,i,oi(i,ai(i,r,{...o,pageSize:a()}),o,s),o);e.extendSelection(c.rowIndex,c.colIndex);let l=r===`moveLeft`||r===`moveRight`||r===`rowStart`||r===`rowEnd`;e.scrollActiveCellIntoView(l?n.rowIndex:c.rowIndex,l?c.colIndex:n.colIndex);return}let c=mr(e.mergeIndex,n,oi(n,ai(n,r,{...o,pageSize:a()}),o,s),o);e.setActiveCell(c.rowIndex,c.colIndex),e.scrollActiveCellIntoView(c.rowIndex,c.colIndex),e.setSelection(c.rowIndex,c.colIndex)}function n(t){t.key===`Escape`&&(e.columnMenuFor||e.operatorMenuFor||e.filterMenuFor||e.inSuggestFor||e.chooseColumnsPos)&&e.closeMenus()}function r(t,n){if(!e.allColumns.find(e=>e.id===n)?.getCanSort?.())return;let r=e.grid.getState().sorting??[],i=r.find(e=>e.id===n);if(!t.shiftKey){let t=i?i.desc?[]:[{id:n,desc:!0}]:[{id:n,desc:!1}];e.grid.store.setState(e=>({...e,sorting:t}));return}let a=i?i.desc?r.filter(e=>e.id!==n):r.map(e=>e.id===n?{...e,desc:!0}:e):[...r,{id:n,desc:!1}];e.grid.store.setState(e=>({...e,sorting:a}))}return{onGridKeyDown:t,onWindowKeydown:n,onHeaderSortClick:r}}function mi(e,t){let n=t.columnDef;return n.fieldFn?n.fieldFn(e.original):n.field?e.original[n.field]:e.getCellValueByColumnId(t.id)}function hi(e){let t=new Map;for(let n=0;n<e.length;n+=1)t.has(e[n])||t.set(e[n],n);return e=>{let n=t.get(e?.original);return n===void 0?-1:n}}function gi(e){return!e.__treeRow&&typeof e.getCanExpand==`function`&&e.getCanExpand()}function _i(e){let t=e.columnDef.header;return typeof t==`string`?t:e.id}function vi(e,t){let n=e.columnDef.format;return n&&(n.type===`number`||n.type===`currency`||n.type===`percent`)?Ne(t,{type:n.type,locales:n.locales,currency:n.type===`currency`?n.currency??`USD`:void 0,valueIsPercentPoints:n.type===`percent`?n.valueIsPercentPoints:void 0,options:n.options}):String(t)}function yi(e){let t=e.columnDef.align;if(t)return t;let n=G(e.columnDef);return n===`number`||Ie(n)?`right`:n===`boolean`?`center`:`left`}function bi(e,t){let n=t.columnDef;if(n.fieldFn)return n.fieldFn(e);let r=n.field;if(r)return e[r]}function xi(e,t){let n=t.columnDef;if(n.fieldFn)return n.fieldFn(e);if(n.field)return e[n.field]}function Si(e,t){return(e.id??e.field??null)===t}function Ci(e){function t(t,r){t=n(t,e.advancedKeep);let i={},a=t.length,o=Object.keys(e.editedCellValues).length>0;for(let n of r){let r=n.columnDef,s=r.fieldFn,c=r.field,l=n.id,u=r.summary;if(u!==void 0){if(u===!1){i[l]=``;continue}let e=pn(u,l,t);i[l]=typeof e==`number`&&Number.isFinite(e)?vi(n,e):e==null?``:String(e);continue}let d=0,f=0;for(let n=0;n<a;n+=1){let r=t[n],i,a=s?s(r.original):c?r.original[c]:r.getCellValueByColumnId(l);if(o){let t=He(r.id,l);i=t in e.editedCellValues?e.editedCellValues[t]:a}else i=a;let u=Number(i);Number.isFinite(u)&&(d+=u,f+=1)}i[l]=f>0?vi(n,d):`Count: ${a}`}return i}function n(e,t){let n=!1;for(let t of e)if(gi(t)){n=!0;break}if(!n)return e;let r=[],i=e=>{for(let n of e.subRows??[])gi(n)?i(n):(!t||t(n))&&r.push(n)};for(let t=0;t<e.length;t+=1){let n=e[t];if(n.__groupFooter||n.original?.__groupFooter)continue;if(!gi(n)){r.push(n);continue}let a=e[t+1];a&&(a.depth??0)>(n.depth??0)||(n.subRows?i(n):r.push(n))}return r}function r(e){return e.column!==void 0}return{computeSummaries:t,hasRenderedColumn:r}}function wi(e){function t(t,n){e.filterRowValues={...e.filterRowValues,[t]:n};let r=e.filterMenuValues[t]??{operator:`contains`,value:``};e.filterMenuValues={...e.filterMenuValues,[t]:{...r,value:n}}}function n(t,n){let r=e.filterMenuValues[t]??{operator:`contains`,value:``};e.filterMenuValues={...e.filterMenuValues,[t]:{...r,operator:n}}}function r(t,n){let r=e.filterMenuValues[t]??{operator:`contains`,value:``};e.filterMenuValues={...e.filterMenuValues,[t]:{...r,value:n}},e.filterRowValues={...e.filterRowValues,[t]:n}}function i(t,n){let r=e.filterMenuValues[t]??{operator:`between`,value:``};e.filterMenuValues={...e.filterMenuValues,[t]:{...r,valueTo:n}}}function a(t){return tt(e.filterRowValues[t]??``)}function o(e,n){let r=n.trim();if(!r)return;let i=a(e);i.includes(r)||i.push(r),t(e,it(i))}function s(e,n){t(e,it(a(e).filter(e=>e!==n)))}function c(e,t){a(e).includes(t)?s(e,t):o(e,t)}function l(e,n){let r=[...n].map(e=>e.trim()).filter(Boolean);t(e,it(r))}function u(e,t){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())}function d(t,n){p(()=>{let r={...e.customFilterValues};if(n==null){if(!(t in r))return;delete r[t]}else r[t]=n;e.customFilterValues=r})}function f(t){if(e.valueFilters[t])return!0;if(t in e.customFilterValues){let n=e.allColumns.find(e=>e.id===t);if(rt(n?.columnDef.customFilter,e.customFilterValues[t]))return!0}let n=e.filterMenuValues[t];return!!(n&&(n.operator===`isBlank`||n.operator===`isNotBlank`||n.value.trim()))}function m(){e.columnMenuFor=null,e.filterMenuFor=null,e.operatorMenuFor=null,e.inSuggestFor=null,e.chooseColumnsPos=null}function h(t,n){let r=t.getBoundingClientRect();e.inSuggestPos={x:Je(r.left,220),y:r.bottom+4},e.inSuggestQuery=``,e.inSuggestFor=n}function g(){e.inSuggestFor=null,e.inSuggestQuery=``}function _(t,n){t.stopPropagation();let r=e.columnMenuFor===n;if(m(),r)return;let i=t.currentTarget.getBoundingClientRect();e.columnMenuPos={x:Je(i.right-240,240),y:i.bottom+4},e.columnMenuTab=`general`,e.columnMenuFor=n}function v(t,n){t.stopPropagation();let r=e.filterMenuFor===n;if(m(),r)return;if(!e.showColumnFiltersEffective&&e.showFilterRowEffective){let t=e.scrollContainer?.querySelector(`[data-svgrid-filter-col="${ze(n)}"]`),r=t&&!(t instanceof HTMLInputElement)?t.querySelector(`input, select, textarea, button, [tabindex]:not([tabindex='-1'])`):t;r&&(r.focus(),r instanceof HTMLInputElement&&r.select(),r.classList.add(`sv-grid-filter-value-pulse`),setTimeout(()=>r.classList.remove(`sv-grid-filter-value-pulse`),700));return}let i=t.currentTarget.getBoundingClientRect();e.filterMenuPos={x:Je(i.right-260,260),y:i.bottom+4},e.columnMenuSearch=``,e.filterMenuFor=n}function y(t,n){t.stopPropagation();let r=e.operatorMenuFor===n;if(m(),r)return;let i=t.currentTarget.getBoundingClientRect();e.operatorMenuPos={x:Je(i.left,184),y:i.bottom+4},e.operatorMenuFor=n}function b(t){p(()=>{if(e.valueFilters[t]){let n={...e.valueFilters};delete n[t],e.valueFilters=n}if(e.filterMenuValues[t]){let n={...e.filterMenuValues};delete n[t],e.filterMenuValues=n}if(e.filterRowValues[t]){let n={...e.filterRowValues};delete n[t],e.filterRowValues=n}if(t in e.customFilterValues){let n={...e.customFilterValues};delete n[t],e.customFilterValues=n}})}function x(t,n){return e.props.externalPagination===!0&&(e.props.onPaginationChange?.({pageIndex:Math.max(0,t),pageSize:n}),e.scrollContainer?.scrollTo?.({top:0}),!0)}function S(t){x((e.props.pageIndex??0)+t,e.props.pageSize??10)||(e.grid.setPagination(e=>({...e,pageIndex:Math.max((e?.pageIndex??0)+t,0)})),e.scrollContainer?.scrollTo?.({top:0}))}function C(t){x(t,e.props.pageSize??10)||(e.grid.setPagination(e=>({...e,pageIndex:Math.max(0,t)})),e.scrollContainer?.scrollTo?.({top:0}))}function w(t){x(0,t)||e.grid.setPagination(e=>{let n=e?.pageSize??10,r=(e?.pageIndex??0)*n;return{...e,pageSize:t,pageIndex:Math.max(0,Math.floor(r/t))}})}function T(t,n,r,i){if(!e.props.contextMenu)return;t.preventDefault(),m(),e.contextMenuFor=null;let a=e.allRows[n],o=a?.original??null,s=a?.id??String(n),c=t.clientY+280>window.innerHeight?Math.max(8,t.clientY-280):t.clientY;e.contextMenuPos={x:Je(t.clientX,220),y:c},e.contextMenuFor={rowIndex:n,colIndex:r,columnId:i,rowId:s,row:o}}return{updateFilterRow:t,updateFilterOperator:n,updateFilterMenuValue:r,updateFilterMenuValueTo:i,addFilterToken:o,removeFilterToken:s,toggleFilterToken:c,toggleCheckboxWithKeyboard:u,isColumnFiltered:f,setCustomFilter:d,closeMenus:m,openInSuggest:h,closeInSuggest:g,openColumnMenu:_,openFilterMenu:v,openOperatorMenu:y,setFilterTokens:l,clearColumnFilter:b,changePage:S,goToPage:C,setPageSize:w,openContextMenu:T}}function Ti(e){return!e||typeof e==`function`?[]:e.map(e=>typeof e==`string`||typeof e==`number`?{value:e,label:String(e)}:{value:e.value,label:e.label??String(e.value),color:e.color})}function Ei(e,t,n){let r=e.replace(/-native$/,``);if(r===`number`){let e=Number(t);return Number.isFinite(e)?e:null}if(r===`rating`){let e=Number(t);return Number.isFinite(e)?Math.max(0,Math.min(5,Math.round(e))):0}if(r===`color`)return String(t??``).trim()||`#000000`;if(r===`date`){let e=String(t??``);if(n?.dateOnly){let t=/^(\d{4}-\d{2}-\d{2})/.exec(e.trim());if(t)return t[1];let n=new Date(e);if(Number.isNaN(n.getTime()))return null;let r=e=>String(e).padStart(2,`0`);return`${n.getFullYear()}-${r(n.getMonth()+1)}-${r(n.getDate())}`}let r=new Date(e);return Number.isNaN(r.getTime())?null:r.toISOString()}if(r===`datetime`){let e=new Date(String(t));return Number.isNaN(e.getTime())?null:e.toISOString()}if(r===`time`){let e=String(t??``).trim();if(!e)return null;let n=e.match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/);if(!n)return null;let r=Math.max(0,Math.min(23,parseInt(n[1],10))),i=Math.max(0,Math.min(59,parseInt(n[2],10))),a=n[3]?Math.max(0,Math.min(59,parseInt(n[3],10))):null,o=String(r).padStart(2,`0`),s=String(i).padStart(2,`0`);return a===null?`${o}:${s}`:`${o}:${s}:${String(a).padStart(2,`0`)}`}return r===`password`?String(t??``):r===`checkbox`?typeof t==`boolean`?t:String(t).toLowerCase()===`true`:r===`select`||r===`rich-select`?Array.isArray(t)?t[0]??null:t??null:r===`textarea`?String(t??``):ft(r)?t:r===`list`||r===`chips`?n?.multiple?Array.isArray(t)?t.slice():t==null||t===``?[]:[t]:Array.isArray(t)?t[0]??null:t??null:String(t??``)}function Di(e){let t=null,n=[];function r(e){return e!==t&&(n=e.filter(e=>e.type!==`colorScale`&&e.type!==`dataBar`),t=e),n}function i(e){let t=e.original?.__group?.kind;return t?t!==`leaf`&&t!==`detail`:gi(e)}function a(t,n,a){let o=e.props.conditionalFormats;if(!o?.length)return null;let s=e.conditionalFormatting;if(!s)return null;let c=i(t)?r(o):o;return c.length?s.resolveCellFormat(a,t.original,n.id,c,e.conditionalColumnStats.get(n.id)??null):null}function o(t,n){return e.props.rowClass?Be(e.props.rowClass({row:t.original,rowIndex:n})):``}function s(e,t){let n=t.columnDef.cellClass;return n==null?``:typeof n==`string`||Array.isArray(n)?Be(n):typeof n==`function`?Be(n({row:e,column:t,cell:void 0,table:void 0,getValue:()=>e.getCellValueByColumnId(t.id)})):``}function c(e,t){let n=t.columnDef.tooltip;if(n==null)return null;if(typeof n==`string`)return n||null;if(typeof n==`function`){let r=n({row:e,column:t,cell:void 0,table:void 0,getValue:()=>e.getCellValueByColumnId(t.id)});return r?String(r):null}return null}function l(t,n){let r=n.columnDef.validate;if(typeof r!=`function`)return{invalid:!1,message:null};let i=e.editedCellValues??{},a=He(t.id,n.id),o=e.editingCell,s=r({value:o&&o.rowId===t.id&&o.columnId===n.id?Ei(o.editorType,o.value,{multiple:n.columnDef.editorMultiple===!0,dateOnly:n.columnDef.cellDataType===`dateString`}):a in i?i[a]:t.getCellValueByColumnId(n.id),row:t.original,rowIndex:t.index,column:n});if(s==null||s===!0)return{invalid:!1,message:null};if(s===!1)return{invalid:!0,message:null};let c=String(s);return{invalid:!0,message:c.trim()?c:null}}function u(t,n){let r=e.noteOverrides?.[t.id]?.[n.id];if(r!==void 0)return r.trim()?r:null;let i=e.props.notes;if(!i)return null;let a=i[t.id];if(!a)return null;let o=a[n.id];return o&&o.trim()?o:null}let d=e=>typeof e?.then==`function`;function f(t,n,r){let i=e.asyncEditorOptions[t];if(i)return i;let a=e.asyncEditorOptionsPending;if(!a.has(t)){a.add(t);let i=n=>{let i={};for(let[n,a]of Object.entries(e.asyncEditorOptions))r&&n!==t&&n.startsWith(r)||(i[n]=a);i[t]=n,e.asyncEditorOptions=i};n.then(e=>i(Ti(e))).catch(()=>i([])).finally(()=>{a.delete(t)})}return[]}function p(e,t){let n;try{n=JSON.stringify(t.original)}catch{n=String(t.index)}return`${e.id}::${t.id}::${n}`}function m(t,n){let r=t.columnDef.editorOptions;if(typeof r==`function`){if(!n?.original)return[];if(e.asyncEditorColumns.has(t.id)){let i=p(t,n),a=e.asyncEditorOptions[i];if(a)return a;if(e.asyncEditorOptionsPending.has(i))return[];let o=r(n.original);return d(o)?f(i,o,`${t.id}::${n.id}::`):Ti(o)}let i=r(n.original);return d(i)?(e.asyncEditorColumns.add(t.id),f(p(t,n),i,`${t.id}::${n.id}::`)):Ti(i)}if(d(r))return f(t.id,r);let i=t.id;return(!e.editorOptionsCache[i]||e.editorOptionsCache[i+`__src`]!==r)&&(e.editorOptionsCache[i]=Ti(r),e.editorOptionsCache[i+`__src`]=r),e.editorOptionsCache[i]}function h(t,n){let r=t.columnDef.editorOptions;return typeof r==`function`?!n?.original||!e.asyncEditorColumns.has(t.id)?!1:!e.asyncEditorOptions[p(t,n)]:d(r)&&!e.asyncEditorOptions[t.id]}function g(e,t,n){let r=m(e,n),i=e.columnDef.editorSeparator??`, `;return Array.isArray(t)?t.map(e=>Re(r,e)).join(i):t==null||t===``?``:Re(r,t)}function _(t,n,r){let i=t.columnDef.formatter;if(typeof i==`function`){let a=i({value:n,row:r,column:t,table:e.grid});return String(a??``)}if(t.columnDef.editorType===`password`){let e=String(n??``);return e.length>0?`•`.repeat(Math.min(e.length,12)):``}let a=t.columnDef.format;if(!a)return String(n??``);if(a.type===`number`||a.type===`currency`||a.type===`percent`)return Ne(n,{type:a.type,locales:a.locales??e.props.localization?.locale,currency:a.type===`currency`?a.currency??`USD`:void 0,valueIsPercentPoints:a.type===`percent`?a.valueIsPercentPoints:void 0,options:a.options});if(a.type===`date`||a.type===`datetime`){let t=Ye(n);if(t){let n=je(a.pattern,a.type),r=n||a.options?{...n,...a.options}:a.type===`date`?{year:`numeric`,month:`2-digit`,day:`2-digit`}:{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`};return Me(a.locales??e.props.localization?.locale,r).format(t)}}return String(n??``)}function v(t,n){let r=t.columnDef,i=r.formatter;if(typeof i==`function`)return String(i({value:n,row:null,column:t,table:e.grid})??``);if(r.editorType===`password`){let e=String(n??``);return e.length>0?`•`.repeat(Math.min(e.length,12)):``}let a=r.format;if(!a)return String(n??``);if(a.type===`number`||a.type===`currency`||a.type===`percent`)return Ne(n,{type:a.type,locales:a.locales??e.props.localization?.locale,currency:a.type===`currency`?a.currency??`USD`:void 0,valueIsPercentPoints:a.type===`percent`?a.valueIsPercentPoints:void 0,options:a.options});if(a.type===`date`||a.type===`datetime`){let t=Ye(n);if(t){let n=je(a.pattern,a.type),r=n||a.options?{...n,...a.options}:a.type===`date`?{year:`numeric`,month:`2-digit`,day:`2-digit`}:{year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`};return Me(a.locales??e.props.localization?.locale,r).format(t)}}return String(n??``)}function y(e,t){let n=t.columnDef.cellClass;if(n==null)return``;if(typeof n==`string`||Array.isArray(n))return Be(n);if(typeof n!=`function`)return``;let r=n,i=bi(e,t);return Be(r({getValue:()=>i,value:i,row:null,column:t}))}return{cellConditionalFormat:a,computeRowClass:o,computeCellClass:s,computeCellTooltip:c,computeCellValidity:l,computeCellNote:u,getColumnEditorOptions:m,areEditorOptionsLoading:h,formatListCellValue:g,formatCellValue:_,formatPinnedValue:v,computePinnedCellClass:y}}function Oi(e,t){if(e===t)return!0;if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;try{return JSON.stringify(e)===JSON.stringify(t)}catch{return!1}}function ki(e){function t(t,n){let r=t.columnDef.editable;if(r===!1)return!1;if(n){let t=e.props.serverGroup;if(t&&n.original!==void 0&&t.isGroup(n.original)||e.placeholderStateOf?.(n))return!1}if(typeof r!=`function`||!n)return!0;let i={cell:{id:`${n.id}_${t.id}`,row:n,column:t,getValue:()=>mi(n,t),getContext:()=>i},row:n,column:t,table:e.grid,getValue:()=>mi(n,t)};try{return r(i)!==!1}catch{return!1}}function n(n,r){let i=e.allRows[n],a=e.allColumns[r];return a?t(a,i):!1}function r(t,n){let r=e.allColumns.find(e=>e.id===n);return r?mi(t,r):t.getCellValueByColumnId(n)}function i(t,n,r){let i=He(t,n);return i in e.editedCellValues?e.editedCellValues[i]:r}function a(n,r,i){if(!e.editingEnabled)return!1;let a=e.allRows[n],s=e.allColumns[r];if(!a||!s||gi(a)||!t(s,a))return!1;let c=s.columnDef.editorType??`text`;if(c===`checkbox`||c===`date`||c===`datetime`||c===`list`||c===`chips`||c===`number`&&!/[0-9.+-]/.test(i))return!1;let l=pt(c)?.typeToEdit;return l===!1||typeof l==`function`&&!l(i)?!1:(e.editorSelectAll=!1,e.editingCell={rowId:a.id,columnId:s.id,editorType:c,value:i,rowRef:a.original,typed:!0},e.setActiveCell(n,r),o(n,r),!0)}function o(t,n){e.isCellInSelectedRange(t,n)||e.setSelection(t,n)}function s(){ni(e,()=>l())}function c(t,n,r){let i=t?.columnDef;if(!i?.rejectInvalid||typeof i.validate!=`function`)return!1;let a=i.validate({value:n,row:r,rowIndex:e.internalData.indexOf(r),column:t});return a===!1||typeof a==`string`&&a.length>0}function l(){if(!e.editingCell)return;let t=e.editingCell,n=(e.allRows.find(e=>e.id===t.rowId)??e.allRowsBeforePagination.find(e=>e.id===t.rowId))?.original??t.rowRef,r=e.allColumns.find(t=>t.id===e.editingCell?.columnId),i=Ei(e.editingCell.editorType,e.editingCell.value,{multiple:r?.columnDef.editorMultiple===!0,dateOnly:r?.columnDef.cellDataType===`dateString`}),a,o=i;if(n&&r?.columnDef.field){a=n[r.columnDef.field];let t=r.columnDef.valueParser;if(t&&(o=t({newValue:i,oldValue:a,rawInput:e.editingCell.value,data:n,columnId:e.editingCell.columnId})),c(r,o,n)||Oi(a,o)){e.editingCell=null;return}n[r.columnDef.field]=o}let s=He(e.editingCell.rowId,e.editingCell.columnId);if(e.editedCellValues={...e.editedCellValues,[s]:o},e.grid.store.setState(e=>({...e})),a!==o&&n&&r?.columnDef.field&&$r(e,[{rowId:e.editingCell.rowId,columnId:e.editingCell.columnId,field:r.columnDef.field,before:a,after:o}]),n&&r&&ut()?.cellEdited?.(e,{row:n,columnId:r.id}),e.props.onCellValueChange&&n&&r){let t=e.internalData.indexOf(n);e.props.onCellValueChange({rowIndex:t,columnId:r.id,oldValue:a,newValue:o,row:n})}e.editingCell=null}function u(t,n){if(t.custom){n===`undo`?t.custom.undo():t.custom.redo();return}let r=e.allRows.find(e=>e.id===t.rowId),i=e.allColumns.find(e=>e.id===t.columnId);if(!r?.original||!i)return;let a=n===`undo`?t.before:t.after;r.original[t.field]=a;let o=He(t.rowId,t.columnId);if(e.editedCellValues={...e.editedCellValues,[o]:a},e.grid.store.setState(e=>({...e})),e.props.onCellValueChange){let i=e.internalData.indexOf(r.original);e.props.onCellValueChange({rowIndex:i,columnId:t.columnId,oldValue:n===`undo`?t.after:t.before,newValue:a,row:r.original})}}function d(t){e.editingCell=e.editingCell?{...e.editingCell,value:t}:e.editingCell}function f(t){let n=e.activeCell;if(s(),e.gridRootEl?.focus({preventScroll:!0}),!n)return;let r=si(n,t,{maxRow:e.allRows.length-1,maxCol:e.allColumns.length-1,tabOrigin:e.tabRunOrigin,range:e.activeRangeRect(),collapsed:{isRowCollapsed:t=>e.isRowCollapsed(t),isColumnCollapsed:t=>!!e.collapsedColumns[e.allColumns[t]?.id]}}),i=r.cell;e.setActiveCell(i.rowIndex,i.colIndex),e.tabRunOrigin=r.tabOrigin,r.withinRange||e.setSelection(i.rowIndex,i.colIndex),e.scrollActiveCellIntoView(i.rowIndex,i.colIndex)}function p(e){f(e?`tabPrev`:`tabNext`)}function m(e){f(e?`moveUp`:`moveDown`)}function h(){let n=e.editingCell;if(!n)return;let r=n.value,i=e.activeCell,a=e.activeRangeRect();ni(e,()=>{if(l(),!(!i||!a))for(let n=a.minRow;n<=a.maxRow;n+=1)for(let o=a.minCol;o<=a.maxCol;o+=1){if(n===i.rowIndex&&o===i.colIndex)continue;let a=e.allRows[n],s=e.allColumns[o];!a||!s||gi(a)||!t(s,a)||(e.editingCell={rowId:a.id,columnId:s.id,editorType:s.columnDef.editorType??`text`,value:r,rowRef:a.original},l())}}),e.gridRootEl?.focus({preventScroll:!0})}function g(t){if(t.stopPropagation(),!(di()&&ui(t,fi(e,!0)))){if(t.key===`Enter`&&t.altKey){let e=t.currentTarget;if(e instanceof HTMLTextAreaElement){t.preventDefault();let n=e.selectionStart??e.value.length,r=e.selectionEnd??n;e.value=e.value.slice(0,n)+`
3
3
  `+e.value.slice(r),e.selectionStart=e.selectionEnd=n+1,d(e.value),e.dispatchEvent(new Event(`input`,{bubbles:!0}));return}}t.key===`Enter`&&(t.ctrlKey||t.metaKey)?(t.preventDefault(),h()):t.key===`Enter`?(t.preventDefault(),f(t.shiftKey?`moveUp`:`moveDown`)):t.key===`Tab`?(t.preventDefault(),p(t.shiftKey)):t.key===`Escape`&&(t.preventDefault(),e.editingCell=null,e.gridRootEl?.focus({preventScroll:!0}))}}function _(t){let n=e.editorSelectAll;t.focus({preventScroll:!0});try{if(n)t.select();else{let e=t.value.length;t.setSelectionRange(e,e)}}catch{}}function v(n,r){if(!e.editingEnabled)return;let a=e.allRows[n],s=e.allColumns[r];if(!a||!s||gi(a))return;if(e.props.fullRowEditing){if(e.fullRowEdit?.rowId===a.id)return;k(n);return}if(!t(s,a)||e.editingCell?.rowId===a.id&&e.editingCell?.columnId===s.id)return;let c=s.columnDef.editorType??`text`;e.editorSelectAll=!0;let l=i(a.id,s.id,a.getCellValueByColumnId(s.id));(c===`list`||c===`chips`)&&(s.columnDef.editorMultiple?l=Pe(l):Array.isArray(l)&&(l=l[0]??``)),e.editingCell={rowId:a.id,columnId:s.id,editorType:c,value:l,rowRef:a.original},e.setActiveCell(n,r),o(n,r)}async function y(){if(e.props.onPasteClipboard&&navigator.clipboard?.read){try{let e=await navigator.clipboard.read(),t=``,n=null;for(let r of e)r.types.includes(`text/html`)&&(n=await(await r.getType(`text/html`)).text()),r.types.includes(`text/plain`)&&(t=await(await r.getType(`text/plain`)).text());(t||n)&&T({text:t,html:n,source:`async`})}catch{if(!navigator.clipboard.readText)return;try{T({text:await navigator.clipboard.readText(),html:null,source:`async`})}catch{return}}return}if(!navigator.clipboard?.readText)return;let t;try{t=await navigator.clipboard.readText()}catch{return}w(t)}let b=null;function x(){b&&clearTimeout(b),b=setTimeout(()=>{b=null,y()},80)}function S(){b&&clearTimeout(b),b=null}function C(t){if(e.editingCell)return;if(e.props.onPasteClipboard){S();let e=t.clipboardData?.getData(`text/plain`)??``,n=t.clipboardData?.getData(`text/html`)||null;if(!e&&!n)return;t.preventDefault(),T({text:e,html:n,source:`event`});return}if(typeof navigator.clipboard?.readText==`function`)return;let n=t.clipboardData?.getData(`text/plain`)??``;n&&(t.preventDefault(),w(n))}function w(t){ni(e,()=>E(t))}function T(t){ni(e,()=>{e.props.onPasteClipboard?.(t)!==!0&&t.text&&E(t.text)})}function E(t){let r=e.selectionRange.anchor??e.grid.getState().activeCell;if(!r)return;let i=e.selectionRange.focus??r,a=Math.min(r.rowIndex,i.rowIndex),o=Math.min(r.colIndex,i.colIndex),s=Math.max(r.rowIndex,i.rowIndex),c=Math.max(r.colIndex,i.colIndex),l=t.replace(/\r\n/g,`
4
4
  `).split(`
5
5
  `);if(l.length>0&&l[l.length-1]===``&&l.pop(),!l.length)return;let u=l.length===1&&(l[0]?.split(` `).length??0)===1&&(a!==s||o!==c),d=u?s-a+1:l.length,f=u?c-o+1:Math.max(...l.map(e=>e.split(` `).length)),p=e.internalData.slice(),m=hi(p),h=[];for(let t=0;t<d;t+=1){let r=a+t,i=e.allRows[r];if(!i||gi(i))continue;let s=m(i);if(s<0)continue;let c=p[s];if(!c)continue;let d=u?null:l[t]?.split(` `)??[],g={...c},_=[],v=(e,t,n)=>{t!==n&&_.push({row:g,rowId:i.id,rowIndex:s,columnId:e.id,field:e.columnDef.field,before:t,after:n})};for(let t=0;t<f;t+=1){let i=e.allColumns[o+t];if(!i?.columnDef.field||!n(r,o+t))continue;let a=g[i.columnDef.field],s=i.columnDef.editorType??`text`,f=u?l[0]:d?.[t]??``,p=Ei(s,f,{dateOnly:i.columnDef.cellDataType===`dateString`}),m=i.columnDef.valueParser,h=m?m({newValue:p,oldValue:a,rawInput:f,data:c,columnId:i.id}):p,_=e.props.processCellFromClipboard;if(_){let e=_({text:f,parsedValue:h,row:c,rowIndex:r,columnId:i.id});if(e===void 0)continue;g[i.columnDef.field]=e,v(i,a,e);continue}g[i.columnDef.field]=h,v(i,a,h)}_.length&&(p[s]=g,h.push(..._))}if(h.length&&(e.internalData=p,e.grid.store.setState(e=>({...e})),$r(e,h.map(e=>({rowId:e.rowId,columnId:e.columnId,field:e.field,before:e.before,after:e.after})),ti()),e.props.onCellValueChange))for(let t of h)e.props.onCellValueChange({rowIndex:t.rowIndex,columnId:t.columnId,oldValue:t.before,newValue:t.after,row:t.row})}function D(n,r){if(!e.editingEnabled)return!1;let i=e.allRows[n];if(!i||gi(i))return!1;let a=e.allColumns.findIndex(e=>e.id===r);if(a<0)return!1;let o=e.allColumns[a];return t(o,i)?e.editingCell?.rowId===i.id&&e.editingCell?.columnId===r||(v(n,a),e.editingCell?.rowId===i.id&&e.editingCell?.columnId===r):!1}function O(t=!1){return e.editingCell?(t?e.editingCell=null:s(),!0):!1}function k(n){if(!e.editingEnabled||!e.props.fullRowEditing)return!1;let r=e.allRows[n];if(!r||gi(r))return!1;e.fullRowEdit&&e.fullRowEdit.rowId!==r.id&&j(),e.editingCell=null;let a={};for(let n of e.allColumns)n.columnDef.field&&t(n,r)&&(a[n.id]=i(r.id,n.id,r.getCellValueByColumnId(n.id)));return e.fullRowEdit={rowId:r.id,draft:a},e.setActiveCell(n,Math.max(0,e.allColumns.findIndex(e=>e.id in a))),!0}function A(t,n){let r=e.fullRowEdit;r&&(e.fullRowEdit={rowId:r.rowId,draft:{...r.draft,[t]:n}})}function j(){let t=e.fullRowEdit;if(!t)return;let n=e.allRows.find(e=>e.id===t.rowId);if(!n?.original){e.fullRowEdit=null;return}let r=[];for(let i of e.allColumns){if(!(i.id in t.draft))continue;let a=i.columnDef.field;if(!a)continue;let o=Ei(i.columnDef.editorType??`text`,t.draft[i.id],{multiple:i.columnDef.editorMultiple===!0,dateOnly:i.columnDef.cellDataType===`dateString`}),s=n.original[a],l=i.columnDef.valueParser,u=l?l({newValue:o,oldValue:s,rawInput:String(t.draft[i.id]??``),data:n.original,columnId:i.id}):o;if(!c(i,u,n.original)&&s!==u){n.original[a]=u;let o=He(t.rowId,i.id);e.editedCellValues={...e.editedCellValues,[o]:u},r.push({columnId:i.id,field:a,before:s,after:u})}}if(r.length&&$r(e,r.map(e=>({rowId:t.rowId,columnId:e.columnId,field:e.field,before:e.before,after:e.after})),ti()),e.grid.store.setState(e=>({...e})),e.props.onCellValueChange&&r.length){let t=e.internalData.indexOf(n.original);for(let i of r)e.props.onCellValueChange({rowIndex:t,columnId:i.columnId,oldValue:i.before,newValue:i.after,row:n.original})}e.fullRowEdit=null}function M(){e.fullRowEdit=null}return{isCellEditable:t,isCellEditableAt:n,getRowColumnValue:r,getCellDisplayValue:i,startEditingWithChar:a,startEditing:D,stopEditing:O,startFullRowEdit:k,setFullRowDraft:A,commitFullRowEdit:j,cancelFullRowEdit:M,saveEditingCell:s,applyHistoryStep:u,updateEditingCellValue:d,onEditorKeyDown:g,commitAndMoveByTab:p,commitAndMoveByEnter:m,focusOnMount:_,onCellDoubleClick:v,pasteFromClipboard:y,onGridPaste:C,armPasteFallback:x}}function Ai(e){function t(t){let n=e.allRows.find(e=>e.id===t);return n?{found:!0,original:n.original}:{found:!1}}function n(n,r){let i=e.props.rowSelectionModel;if(i){if(r!==void 0)return i.isSelected(n,r);let e=t(n);return e.found?i.isSelected(n,e.original):!1}return!!e.rowSelectionState[n]}function r(n,r){let i=e.props.rowSelectionModel;if(i){let e=r===void 0?t(n):{found:!0,original:r};if(!e.found)return;i.toggle(n,e.original,!i.isSelected(n,e.original));return}e.grid.setRowSelection(e=>({...e,[n]:!e[n]}))}function i(){a(e.headerSelectionState!==`all`)}function a(t){if(e.props.rowSelectionModel){e.props.rowSelectionModel.toggleAll(t);return}let n=e.allRows.filter(t=>!gi(t)&&!e.placeholderStateOf(t));e.grid.setRowSelection(e=>{let r={...e};for(let e of n)t?r[e.id]=!0:delete r[e.id];return r})}function o(t,n){({rowIndex:t,colIndex:n}=dr(e.mergeIndex,t,n)),e.userHasActivatedCell=!0;let r=e.grid.getState().activeCell;if((!r||r.rowIndex!==t||r.colIndex!==n)&&(e.tabRunOrigin=null),e.grid.setActiveCell({rowIndex:t,colIndex:n,cellId:jb(e.gridDomId,t,n)}),e.props.onActiveCellChange){let r=e.allColumns[n];e.props.onActiveCellChange({rowIndex:t,colIndex:n,columnId:r?.id??``})}}function s(t,n){if(!e.scrollContainer||t<0||t>=e.allRows.length||n<0||n>=e.allColumns.length)return;let r=e.scrollContainer,i=r.scrollTop,a=r.scrollLeft,o=e.frozenRowCount??0,s=e.frozenBandHeight??0;if(!(t<o)){if(e.rowVirtualizationEnabled){let n=e.scrollContainer,r=n.querySelector(`tr.sv-grid-row [data-svgrid-row="${t}"]`)?.closest(`tr.sv-grid-row`);if(r)r.scrollIntoView({block:`nearest`,inline:`nearest`,behavior:`instant`});else if(e.rowScrollScalingActive){let r=e.theadEl?.offsetHeight??e.headerHeight??0,i=e.virtualizer.getOffsetForIndex(t),a=Math.max(e.logicalToDomRowOffset(i)-r,0);Math.abs(a-n.scrollTop)>.5&&(n.scrollTop=a)}else{let r=n.scrollTop,i=n.clientHeight,a=e.theadEl?.offsetHeight??e.headerHeight??0,o=a+e.virtualizer.getOffsetForIndex(t),c=o+e.virtualizer.getSizeForIndex(t),l=r;o<r+a+s?l=o-a-s:c>r+i&&(l=c-i),l=Math.max(l,0),l!==r&&(n.scrollTop=l)}}else{let r=e.scrollContainer.querySelector(`td[data-svgrid-row="${t}"][data-svgrid-col="${n}"]`);if(r){let t=e.scrollContainer.getBoundingClientRect(),n=r.getBoundingClientRect(),i=n.top-t.top,a=n.bottom-t.top,o=e.scrollContainer.clientHeight,s=e.scrollContainer.scrollTop;i<e.headerHeight?s=e.scrollContainer.scrollTop+i-e.headerHeight:a>o&&(s=e.scrollContainer.scrollTop+a-o),s=Math.max(s,0),s!==e.scrollContainer.scrollTop&&(e.scrollContainer.scrollTop=s)}}}let c=e.renderedColumnItems.find(e=>e.index===n),l=e.props.columnWidth??140,u=c?.start??e.columnVirtualizer?.getOffsetForIndex?.(n)??n*l,d=u+(c?.size??e.columnVirtualizer?.getSizeForIndex?.(n)??l),f=e.scrollContainer.scrollLeft,p=f+e.scrollContainer.clientWidth;u<f?e.scrollContainer.scrollLeft=u:d>p&&(e.scrollContainer.scrollLeft=d-e.scrollContainer.clientWidth);let m=r.scrollTop,h=r.scrollLeft;(m!==i||h!==a)&&e.syncScrollNow(m,h)}function c(t){let n=t?.anchor,r=t?.focus;return!n||!r?null:pr(e.mergeIndex,{minRow:Math.min(n.rowIndex,r.rowIndex),maxRow:Math.max(n.rowIndex,r.rowIndex),minCol:Math.min(n.colIndex,r.colIndex),maxCol:Math.max(n.colIndex,r.colIndex)})}function l(){return c(e.selectionRange)}let u=null,d=null,f=[];function p(){let t=e.selectionRange,n=e.selectionRanges??[];if(t===u&&n===d)return f;let r=[];for(let e of n){let t=c(e);t&&r.push(t)}let i=c(t);return i&&r.push(i),u=t,d=n,f=r,r}function m(t,n,r=!1){if(!e.enableCellSelectionEffective)return;if(r){let t=e.selectionRange;t.anchor&&t.focus&&(e.selectionRanges=[...e.selectionRanges,t])}else e.selectionRanges=[];let i={rowIndex:t,colIndex:n};e.selectionRange={anchor:i,focus:i}}function h(t,n){e.enableCellSelectionEffective&&(e.selectionRange={anchor:e.selectionRange.anchor??{rowIndex:t,colIndex:n},focus:{rowIndex:t,colIndex:n}})}function g(e,t){for(let n of p())if(e>=n.minRow&&e<=n.maxRow&&t>=n.minCol&&t<=n.maxCol)return!0;return!1}function _(){let t=e.selectionRange;return!!e.selectionRanges?.length||!!(t?.anchor&&t?.focus)}function v(t,n){if(!_())return null;let r=fr(e.mergeIndex,t,n);for(let e of p())if(!(t<e.minRow||t>e.maxRow||n<e.minCol||n>e.maxCol))return{top:t===e.minRow,bottom:r.rowIndex===e.maxRow,left:n===e.minCol,right:r.colIndex===e.maxCol};return null}function y(t,n){let r=e.activeCell,i=!!r&&r.rowIndex===t&&r.colIndex===n,a=v(t,n),o=e.fillHandleCell,s=o?fr(e.mergeIndex,t,n):null,c=!!o&&!!s&&o.rowIndex===s.rowIndex&&o.colIndex===s.colIndex;return!i&&!a&&!c?null:{active:i,edges:a,fillHandle:c}}function b(){let t=e.moveDrag;if(t)return e.moveDestRect(t);let n=e.fillDrag;return n?{minRow:Math.min(n.sourceMinRow,n.targetRow),maxRow:Math.max(n.sourceMaxRow,n.targetRow),minCol:Math.min(n.sourceMinCol,n.targetCol),maxCol:Math.max(n.sourceMaxCol,n.targetCol)}:null}function x(t,n){if(e.moveDrag){let e=b();return e?t>=e.minRow&&t<=e.maxRow&&n>=e.minCol&&n<=e.maxCol:!1}let r=e.fillDrag;if(!r)return!1;let i=Math.min(r.sourceMinRow,r.targetRow),a=Math.max(r.sourceMaxRow,r.targetRow),o=Math.min(r.sourceMinCol,r.targetCol),s=Math.max(r.sourceMaxCol,r.targetCol);return t<i||t>a||n<o||n>s?!1:!(t>=r.sourceMinRow&&t<=r.sourceMaxRow&&n>=r.sourceMinCol&&n<=r.sourceMaxCol)}function S(t,n){if(!e.fillDrag&&!e.moveDrag)return null;let r=b();if(!r)return null;let{minRow:i,maxRow:a,minCol:o,maxCol:s}=r;if(t<i||t>a||n<o||n>s)return null;let c=t===i,l=t===a,u=n===o,d=n===s;return!c&&!l&&!u&&!d?null:{top:c,bottom:l,left:u,right:d}}let C=new Map,w=null;function T(t){let n=e.allColumns;if(n!==w){C=new Map;for(let e of n)C.set(e.id,e);w=n}return C.get(t)}function E(t,n,r){if(r.button!==0)return;let i=e.allRows[t],a=e.allColumns[n];if(!i||!a||gi(i))return;if(e.startMoveDrag(r,t,n)){j=!0;return}let s=e.grid.getState().activeCell;e.activeAtPointerDown=s?{rowIndex:s.rowIndex,colIndex:s.colIndex}:null,r.shiftKey?(h(t,n),s||o(t,n)):(o(t,n),m(t,n,r.ctrlKey||r.metaKey),r.pointerType!==`touch`&&(e.isDraggingSelection=!0))}function D(t,n){if(!e.isDraggingSelection)return;let r=e.allRows[t];!r||gi(r)||h(t,n)}function O(t){e.isDraggingSelection=!1,e.stopEdgeScroll(),e.fillDrag&&e.onFillPointerUp(t),e.moveDrag&&e.onMovePointerUp(t)}function k(t){if(e.moveDrag){e.onMovePointerMove(t);return}if(e.fillDrag){e.onFillPointerMove(t);return}if(!e.isDraggingSelection){A(t);return}if(t.buttons===0){O();return}e.trackEdgeScroll(t)}function A(t){let n=e.moveGrabHover;if(!e.moveCellsEffective||!_()){n&&(e.moveGrabHover=!1);return}let r=t.target?.closest?.(`td[data-svgrid-row][data-svgrid-col]`),i=!1;if(r){let n=Number(r.dataset.svgridRow),a=Number(r.dataset.svgridCol);Number.isFinite(n)&&Number.isFinite(a)&&(i=e.isOnMoveGrabStrip(r,n,a,t.clientX,t.clientY))}i!==n&&(e.moveGrabHover=i)}let j=!1;function M(t,n){if(j){j=!1,e.gridRootEl?.focus({preventScroll:!0});return}let r=e.allRows[t],i=e.allColumns[n];if(!r||!i)return;if(e.gridRootEl?.focus({preventScroll:!0}),gi(r)){o(t,n),r.toggleExpanded?.();return}let a=mi(r,i),s=e.getCellDisplayValue(r.id,i.id,a);e.props.onCellClick?.({rowIndex:t,colIndex:n,columnId:i.id,value:s,row:r.original}),e.props.onRowClick?.({rowIndex:t,columnId:i.id,row:r.original});let c=i.columnDef.editorType===`checkbox`,l=!c&&typeof s==`boolean`&&i.columnDef.cell==null;if(c||l){(e.isCellEditableAt?.(t,n)??!0)&&(c||e.editingEnabled)&&e.toggleBooleanCell(t,n),o(t,n),m(t,n),e.editingCell=null;return}if(e.activeAtPointerDown!==null&&e.activeAtPointerDown.rowIndex===t&&e.activeAtPointerDown.colIndex===n&&e.editingEnabled&&e.props.editOnSecondClick!==!1){e.onCellDoubleClick(t,n);return}e.editingCell=null}function N(t,n){let r=e.allRows[t],i=e.allColumns[n];if(r&&i&&!gi(r)){let a=e.getCellDisplayValue(r.id,i.id,mi(r,i));e.props.onCellDoubleClick?.({rowIndex:t,colIndex:n,columnId:i.id,value:a,row:r.original}),e.props.onRowDoubleClick?.({rowIndex:t,columnId:i.id,row:r.original})}e.onCellDoubleClick(t,n)}return{isRowSelected:n,toggleRowSelectionById:r,toggleSelectAllRows:i,setSelectAllRows:a,setActiveCell:o,scrollActiveCellIntoView:s,setSelection:m,extendSelection:h,isCellInSelectedRange:g,getCellRangeEdges:v,activeRangeRect:l,cellSelectionState:y,fillMarqueeEdges:S,getSelectionRects:p,isInFillPreview:x,dragPreviewRect:b,findColumnById:T,onCellPointerDown:E,onCellPointerEnter:D,endDragSelection:O,onWindowPointerMove:k,onCellClick:M,emitCellDoubleClick:N}}function ji(e){function t(t){let n=e.pinnedOffsets.left[t];if(n!==void 0)return`position: sticky; inset-inline-start: ${n}px; z-index: 30;`;let r=e.pinnedOffsets.right[t];return r===void 0?``:`position: sticky; inset-inline-end: ${r}px; z-index: 30;`}function n(t){let n=e.effectivePinning??e.columnPinning;return n.left.includes(t)?`left`:n.right.includes(t)?`right`:null}function r(){return e.allColumns.map(e=>e.id)}function i(){e.props.onColumnOrderChange?.(r())}function a(t){e.userColumnOrder=[...t],i()}function o(e,t,n){if(e===t)return;let i=r().filter(t=>t!==e),o=i.indexOf(t);o<0||(n===`after`&&o++,i.splice(o,0,e),a(i))}function s(t,n){(e.props.enableColumnReorder??!1)&&(e.colDragId=n,t.dataTransfer?.setData(`text/plain`,n),t.dataTransfer&&(t.dataTransfer.effectAllowed=`move`))}function c(t,n){if(!e.colDragId||e.colDragId===n)return;t.preventDefault(),t.dataTransfer&&(t.dataTransfer.dropEffect=`move`);let r=t.currentTarget.getBoundingClientRect();e.colDropSide=t.clientX<r.left+r.width/2?`before`:`after`,e.colDropOnId=n}function l(t){e.colDropOnId===t&&(e.colDropOnId=null,e.colDropSide=null)}function u(t,n){t.preventDefault(),e.colDragId&&e.colDropSide&&o(e.colDragId,n,e.colDropSide),e.colDragId=null,e.colDropOnId=null,e.colDropSide=null}function d(){e.colDragId=null,e.colDropOnId=null,e.colDropSide=null}function f(t){let n=e.columnPinning.left.filter(e=>e!==t),r=e.columnPinning.right.filter(e=>e!==t);e.columnPinning={left:[...n,t],right:r},e.closeMenus()}function p(t){e.columnPinning={left:e.columnPinning.left.filter(e=>e!==t),right:[t,...e.columnPinning.right.filter(e=>e!==t)]},e.closeMenus()}function m(t){e.columnPinning={left:e.columnPinning.left.filter(e=>e!==t),right:e.columnPinning.right.filter(e=>e!==t)},e.closeMenus()}function h(t){if(e.hiddenColumns[t]){let n={...e.hiddenColumns};delete n[t],e.hiddenColumns=n}else e.hiddenColumns={...e.hiddenColumns,[t]:!0}}function g(t,n){let r=e.toolPanelColumns.map(e=>e.id),i=r.indexOf(t),a=i+n;i<0||a<0||a>=r.length||([r[i],r[a]]=[r[a],r[i]],e.userColumnOrder=r)}function _(t){let n=e.grid.getState().grouping??[];e.grid.setGrouping(n.includes(t)?n.filter(e=>e!==t):[...n,t])}let v=new Map,y=null;function b(t){let n=e.grid.getAllColumns();if(n!==y){v=new Map;for(let e of n)v.set(e.id,e);y=n}return v.get(t)}function x(t){if(e.columnWidths[t]!==void 0)return e.columnWidths[t];let n=b(t);return n?.columnDef.width===void 0?e.props.columnWidth??140:n.columnDef.width}function S(t){if(e.collapsedColumns?.[t])return 0;let n=e.fittedColumnWidths?.[t];return n!==void 0&&e.columnWidths[t]===void 0?n:x(t)}function C(t,n){if(!t)return 0;e.measureCanvas||=document.createElement(`canvas`);let r=e.measureCanvas.getContext(`2d`);return r?(r.font=n,r.measureText(t).width):0}function w(t){if(!e.gridRootEl)return;let n=e.gridRootEl.querySelector(`[data-col-id="${CSS.escape(t)}"]`);if(!n)return;let r=getComputedStyle(n).font,i=e.MIN_COLUMN_WIDTH,a=e.gridRootEl.querySelector(`[data-svgrid-header-col="${CSS.escape(t)}"]`);if(a){let e=a.querySelector(`.sv-grid-header-label`)??a,t=e.textContent??``;i=Math.max(i,C(t,getComputedStyle(e).font)+70)}e.gridRootEl.querySelectorAll(`[data-col-id="${CSS.escape(t)}"]`).forEach(e=>{let t=C(e.textContent??``,r);t>i&&(i=t)}),e.columnWidths={...e.columnWidths,[t]:Math.max(e.MIN_COLUMN_WIDTH,Math.ceil(i)+24)}}function T(){for(let t of e.allColumns)w(t.id)}function E(){e.columnWidths={},e.hiddenColumns={},e.columnPinning={left:[],right:[]}}return{cellPinStyle:t,isColumnPinned:n,getCurrentColumnOrder:r,emitColumnOrder:i,setColumnOrderInternal:a,applyColumnDrop:o,onColumnHeaderDragStart:s,onColumnHeaderDragOver:c,onColumnHeaderDragLeave:l,onColumnHeaderDrop:u,onColumnHeaderDragEnd:d,pinColumnLeft:f,pinColumnRight:p,unpinColumn:m,toggleColumnVisibleInPanel:h,moveColumnInPanel:g,toggleGroupInPanel:_,getColumnBaseWidth:x,getColumnWidth:S,measureText:C,autosizeColumn:w,autosizeAllColumns:T,resetColumns:E}}var Mi=new Map,Ni=0;function Pi(e){let t=++Ni,n=``,r=()=>e.props.alignedGridGroup??null;function i(){let e=r();if(!e)return[];let n=Mi.get(e);if(!n)return[];let i=[];for(let e of n.values())e.id!==t&&i.push(e);return i}let a={id:t,applyScroll(t){let n=e.scrollContainer;n&&n.scrollLeft!==t&&(n.scrollLeft=t)},applyWidths(t){let r={...e.columnWidths,...t};n=JSON.stringify(r),e.columnWidths=r}};function o(){let e=r();if(!e)return()=>{};let n=Mi.get(e);return n||(n=new Map,Mi.set(e,n)),n.set(t,a),()=>{let n=Mi.get(e);n&&(n.delete(t),n.size||Mi.delete(e))}}function s(e){let t=i();for(let n of t)n.applyScroll(e)}function c(){if(!r())return;let t=JSON.stringify(e.columnWidths??{});if(t===n)return;n=t;let a=e.columnWidths;for(let e of i())e.applyWidths(a)}return{register:o,broadcastScroll:s,broadcastWidths:c,alignedGridId:t}}function Fi(e){let t=new Set,n=new Map,r=new Map;function i(e,a,o,s){e.forEach((e,c)=>{let l=fn(e,a,s,c);if(e.columns?.length){let r=e.columns.some(e=>e.columnGroupShow===`open`||e.columnGroupShow===`closed`);r&&(t.add(l),n.set(l,e.openByDefault===!0)),i(e.columns,l,r?l:o,s+1)}else{let t=e.columnGroupShow;(t===`open`||t===`closed`)&&o&&r.set(l,{groupId:o,show:t})}})}return i(e,void 0,void 0,0),{collapsibleGroupIds:t,defaultOpen:n,leafControl:r}}function Ii(e,t){let n={};for(let[r,i]of e.leafControl){let e=t.has(i.groupId);(i.show===`open`?e:!e)&&(n[r]=!0)}return n}function Li(e,t){let{getDepth:n,isGroup:r,makeFooter:i,includeGroupFooter:a,includeGrandTotalFooter:o,makeGrandTotal:s}=t;if(!a&&!o)return[...e];let c=[],l=[],u=e=>{for(;l.length>0;){let t=l[l.length-1];if(n(t)<e)break;l.pop(),a&&c.push(i(t))}};for(let t of e)u(n(t)),c.push(t),r(t)&&l.push(t);if(u(-1/0),o&&s){let e=s();e!=null&&c.push(e)}return c}function Ri(e,t){let{getDepth:n,isGroup:r,isExpanded:i,pageIndex:a,pageSize:o}=t,s=i??(()=>!0),c=a*o,l=c+o,u=[],d=[],f=0;for(let t of e){let e=n(t);for(;d.length>0&&n(d[d.length-1].row)>=e;)d.pop();if(r(t)&&s(t)){d.push({row:t,printed:!1});continue}let i=f;if(f+=1,!(i<c||i>=l)){for(let e of d)e.printed||(e.printed=!0,u.push(e.row));u.push(t)}}return{rows:u,dataRowCount:f}}function zi(e,t){if(t===`groupRows`||e.length===0)return{autoColumns:[],hiddenSourceIds:new Set};let n=new Set(e);return t===`singleColumn`?{autoColumns:[{id:`__autoGroup`,field:null,level:0}],hiddenSourceIds:n}:{autoColumns:e.map((e,t)=>({id:`__group_${e}`,field:e,level:t})),hiddenSourceIds:n}}var Bi=P(null);function Vi(){return m(Bi)}function Hi(){return m(Bi)!=null}var Ui=new WeakMap;function Wi(e,t){let n=Ui.get(e);if(!n){n=new Map;for(let r=0;r<e.length;r++)n.set(t(e[r],r),r);Ui.set(e,n)}return n}function Gi(e){let t=e.selectionRanges??[],n=e.selectionRange??{anchor:null,focus:null},r=e.grid.getState().activeCell,i=e=>{if(!e.anchor||!e.focus)return null;let t={row:e.anchor.rowIndex,col:e.anchor.colIndex},n={row:e.focus.rowIndex,col:e.focus.colIndex};return{from:t,to:n,highlight:r&&r.rowIndex>=Math.min(t.row,n.row)&&r.rowIndex<=Math.max(t.row,n.row)&&r.colIndex>=Math.min(t.col,n.col)&&r.colIndex<=Math.max(t.col,n.col)?{row:r.rowIndex,col:r.colIndex}:t}},a=[];for(let e of t){let t=i(e);t&&a.push(t)}let o=i(n);return o&&a.push(o),a}function Ki(e){function t(){let t=t=>e.grid.getAllColumns().find(e=>e.id===t),n=()=>e.allColumns.map(e=>({field:e.columnDef.field,header:typeof e.columnDef.header==`string`?e.columnDef.header:e.id,format:e.columnDef.format,align:yi(e)})).filter(e=>!!e.field),r=t=>{if(t===`all`)return e.internalData;let n=[];for(let r of e.allRows)gi(r)||t===`selected`&&!e.rowSelectionState[r.id]||n.push(r.original);return n},i=async(e,t,i)=>{let{projectGridRows:a}=await mt(async()=>{let{projectGridRows:e}=await import(`./export-format-BCuqcexA.js`).then(e=>e.r);return{projectGridRows:e}},__vite__mapDeps([0,1,2]),import.meta.url);return a(r(e),n(),{columns:t,rawValues:i})};return{getElement(){return e.scrollContainer?.closest(`.sv-grid-root`)??null},getCellValue(n,r){let i=e.internalData[n],a=t(r);if(!(!i||!a)){if(a.columnDef.fieldFn)return a.columnDef.fieldFn(i);if(a.columnDef.field)return i[a.columnDef.field]}},setCellValue(n,r,i){let a=e.internalData[n],o=t(r);if(!a||!o?.columnDef.field)return;let s=e.internalData.slice();s[n]={...a,[o.columnDef.field]:i},e.internalData=s},startEditing(t,n){return e.startEditing(t,n)},stopEditing(t){return e.stopEditing(t??!1)},selectCells(t){if(!t||t.length===0){e.selectionRange={anchor:null,focus:null},e.selectionRanges=[];return}let n=e.internalData.length,r=e.allColumns.length;if(n===0||r===0)return;let i=t.map(([e,t,i,a])=>({anchor:{rowIndex:Math.max(0,Math.min(n-1,Math.min(e,i))),colIndex:Math.max(0,Math.min(r-1,Math.min(t,a)))},focus:{rowIndex:Math.max(0,Math.min(n-1,Math.max(e,i))),colIndex:Math.max(0,Math.min(r-1,Math.max(t,a)))}}));e.selectionRanges=i.slice(0,-1);let a=i[i.length-1];e.selectionRange=a,e.setActiveCell(a.anchor.rowIndex,a.anchor.colIndex)},getSelected(){return e.getSelectionRects().map(e=>[e.minRow,e.minCol,e.maxRow,e.maxCol])},getSelectedLast(){let t=Gi(e),n=t[t.length-1];return n?[n.from.row,n.from.col,n.to.row,n.to.col]:void 0},getSelectedRange(){let t=Gi(e);return t.length?t:void 0},getSelectedRangeLast(){let t=Gi(e);return t[t.length-1]},openChart(){e.chartPanelOpen=!0},closeChart(){e.chartPanelOpen=!1},getChartSpec(){return e.chartSpec},chartRange(t){t&&t.length&&this.selectCells(t),e.chartPanelOpen=!0},configureChart(t){e.chartingEnabled&&e.applyChartConfig(t)},saveChart(t){e.chartingEnabled&&e.saveChart(t)},applySavedChart(t){return e.chartingEnabled?e.applySavedChart(t):!1},removeSavedChart(t){e.chartingEnabled&&e.removeSavedChart(t)},getSavedCharts(){return e.chartingEnabled?e.getSavedCharts():[]},setChartExplainHandler(t){e.chartExplainHandler=t??null},setChartAiHandler(t){e.chartAiHandler=t??null},addRow(e,t=`bottom`){this.addRows([e],t)},addRows(t,n=`bottom`){let r=e.internalData.slice();n===`top`?r.unshift(...t):n===`bottom`?r.push(...t):typeof n==`number`&&r.splice(Math.max(0,Math.min(n,r.length)),0,...t),e.internalData=r},removeRow(e){this.removeRows([e])},removeRows(t){let n=new Set(t);e.internalData=e.internalData.filter((e,t)=>!n.has(t))},applyTransaction(t){let n=e.props.getRowId,r=e.internalData,i=r.slice(),a=0,o=0,s=0,c=new Set;if(t.remove?.length){let e=n?Wi(r,n):null;for(let n of t.remove){let t=typeof n==`string`?e?.get(n):r.indexOf(n);t!==void 0&&t>=0&&c.add(t)}}if(t.update?.length&&n){let e=Wi(r,n);for(let r of t.update){let t=e.get(n(r,0));t!==void 0&&(i[t]=r,o+=1)}!c.size&&!t.add?.length&&Ui.set(i,e)}return c.size&&(i=i.filter((e,t)=>!c.has(t)),s=c.size),t.add?.length&&(i.push(...t.add),a+=t.add.length),e.internalData=i,{added:a,updated:o,removed:s}},addColumn(e,t=`right`){this.addColumns([e],t)},addColumns(t,n=`right`){t=dt(t,[...e.internalColumns,...t]);let r=e.internalColumns.slice();n===`left`?r.unshift(...t):n===`right`?r.push(...t):typeof n==`number`&&r.splice(Math.max(0,Math.min(n,r.length)),0,...t),e.internalColumns=r},removeColumn(t){e.internalColumns=e.internalColumns.filter(e=>!Si(e,t))},setColumnVisible(t,n){if(n){let n={...e.hiddenColumns};delete n[t],e.hiddenColumns=n}else e.hiddenColumns={...e.hiddenColumns,[t]:!0}},isColumnVisible(t){return!e.hiddenColumns[t]},setSort(t,n){p(()=>{let r=e.allColumns.find(e=>e.id===t);if(r&&!r.getCanSort?.())return;let i=n?[{id:t,desc:n===`desc`}]:(e.grid.getState().sorting??[]).filter(e=>e.id!==t);e.grid.store.setState(e=>({...e,sorting:i}))})},clearSort(){p(()=>e.grid.store.setState(e=>({...e,sorting:[]})))},setGroupBy(t){p(()=>e.grid.setGrouping([...t]))},setOption(t,n){p(()=>{let r={...e.optionOverrides};n===void 0?delete r[t]:r[t]=n,e.optionOverrides=r})},getOption(t){return e.props[t]},resetOptions(){p(()=>{e.optionOverrides={}})},setFilter(t,n){p(()=>{let r=e.allColumns.find(e=>e.id===t);if(!(r&&!r.getCanFilter?.())){if(!n){this.clearFilter(t);return}e.filterMenuValues={...e.filterMenuValues,[t]:{operator:n.operator,value:n.value??``,...n.operator===`between`?{valueTo:n.valueTo??``}:{},...n.operator2?{operator2:n.operator2,value2:n.value2??``,join:n.join??`AND`,...n.operator2===`between`?{valueTo2:n.valueTo2??``}:{}}:{}}}}})},setFacetFilter(t,n){p(()=>{if(!n||n.length===0){if(e.valueFilters[t]){let n={...e.valueFilters};delete n[t],e.valueFilters=n}return}e.valueFilters={...e.valueFilters,[t]:new Set(n)}})},clearFilter(t){e.clearColumnFilter(t)},setCustomFilter(t,n){let r=p(()=>e.allColumns.find(e=>e.id===t));r&&!r.getCanFilter?.()||e.setCustomFilter(t,n)},getCustomFilter(t){return e.customFilterValues[t]},openContextMenu(t,n,r){let i=e.allColumns[r]?.id;i!=null&&e.openContextMenu(t,n,r,i)},refreshEditorOptions(t){if(t==null){e.asyncEditorOptions={};return}let n={...e.asyncEditorOptions};for(let e of Object.keys(n))(e===t||e.startsWith(`${t}::`))&&delete n[e];e.asyncEditorOptions=n},clearAllFilters(){p(()=>{e.filterMenuValues={},e.filterRowValues={},e.customFilterValues={},e.valueFilters={},e.globalFilter!==``&&(e.globalFilter=``),e.advancedFilter!==null&&(e.advancedFilter=null)})},setAdvancedFilter(t){p(()=>{e.advancedFilter=t??null})},getAdvancedFilter(){return e.advancedFilter??null},clearAdvancedFilter(){p(()=>{e.advancedFilter=null})},isAdvancedFilterActive(){return e.advancedFilter!=null&&Hi()},getFilters(){let t={};for(let[n,r]of Object.entries(e.filterMenuValues))t[n]={operator:r.operator,value:r.value,...r.operator===`between`&&r.valueTo?{valueTo:r.valueTo}:{}};return t},getDisplayedRows(){let t=[];for(let n of e.allRows)gi(n)||t.push(n.original);return t},getData(){return e.internalData},getRowId(t){if(typeof t==`number`){let n=e.allRows[t];return n&&!gi(n)?n.id:null}let n=e.allRows.find(e=>e.original===t);if(n)return n.id;let r=e.props.getRowId,i=e.internalData.indexOf(t);return i<0?null:r?r(t,i):String(i)},getColumns(){let t=(e,t)=>({id:e.id,field:e.columnDef.field,header:typeof e.columnDef.header==`string`?e.columnDef.header:e.id,visible:t,format:e.columnDef.format,align:yi(e),cellDataType:G(e.columnDef),editorType:e.columnDef.editorType}),n=e.allColumns.map(e=>t(e,!0)),r=new Set(n.map(e=>e.id));for(let i of e.grid.getAllColumns())r.has(i.id)||n.push(t(i,!1));return n},async exportCsv(e={}){let{serializeDelimited:t,downloadTextFile:n}=await mt(async()=>{let{serializeDelimited:e,downloadTextFile:t}=await import(`./export-format-BCuqcexA.js`).then(e=>e.r);return{serializeDelimited:e,downloadTextFile:t}},__vite__mapDeps([0,1,2]),import.meta.url),{records:r,fields:a}=await i(e.rows??`displayed`,e.columns,e.rawValues),o=await t(r,a,{csv:{delimiter:`,`,bom:e.bom??!0},signal:e.signal,onProgress:e.onProgress});return e.download!==!1&&n(o,`${e.filename??`grid`}.csv`,`text/csv;charset=utf-8`),o},async exportTsv(e={}){let{serializeDelimited:t,downloadTextFile:n}=await mt(async()=>{let{serializeDelimited:e,downloadTextFile:t}=await import(`./export-format-BCuqcexA.js`).then(e=>e.r);return{serializeDelimited:e,downloadTextFile:t}},__vite__mapDeps([0,1,2]),import.meta.url),{records:r,fields:a}=await i(e.rows??`displayed`,e.columns,e.rawValues),o=await t(r,a,{csv:{delimiter:` `,bom:e.bom??!0},signal:e.signal,onProgress:e.onProgress});return e.download!==!1&&n(o,`${e.filename??`grid`}.tsv`,`text/tab-separated-values;charset=utf-8`),o},async exportJson(e={}){let{serializeJson:t,downloadTextFile:n}=await mt(async()=>{let{serializeJson:e,downloadTextFile:t}=await import(`./export-format-BCuqcexA.js`).then(e=>e.r);return{serializeJson:e,downloadTextFile:t}},__vite__mapDeps([0,1,2]),import.meta.url),{records:r,fields:a}=await i(e.rows??`displayed`,e.columns,e.rawValues),o=await t(r,a,{signal:e.signal,onProgress:e.onProgress});return e.download!==!1&&n(o,`${e.filename??`grid`}.json`,`application/json`),o},async copyToClipboard(e={}){let{serializeDelimited:t,serializeMarkdown:n,copyTextToClipboard:r}=await mt(async()=>{let{serializeDelimited:e,serializeMarkdown:t,copyTextToClipboard:n}=await import(`./export-format-BCuqcexA.js`).then(e=>e.r);return{serializeDelimited:e,serializeMarkdown:t,copyTextToClipboard:n}},__vite__mapDeps([0,1,2]),import.meta.url),{records:a,fields:o,align:s}=await i(e.rows??`displayed`,e.columns,e.rawValues),c=e.format??`tsv`,l=c===`markdown`?await n(a,o,{align:s}):await t(a,o,{csv:{delimiter:c===`csv`?`,`:` `,bom:!1}});return await r(l),l},clearRowSelection(){e.grid.setRowSelection(()=>({})),e.props.onRowSelectionChange?.({},[])},setColumnWidth(t,n){let r=Math.max(e.MIN_COLUMN_WIDTH,Math.floor(n));e.columnWidths={...e.columnWidths,[t]:r}},getColumnWidths(){let t={};for(let n of e.allColumns)t[n.id]=e.getColumnWidth(n.id);return t},autosizeColumn(t){e.autosizeColumn(t)},getRowHeight(t){return e.rowSizePxOf(t)},setRowHeight(t,n){e.setRowResizeHeight(t,n)},setColumnCollapsed(t,n){e.setColumnCollapsed(t,n)},isColumnCollapsed(t){return!!e.collapsedColumns[t]},setRowCollapsed(t,n){e.setRowCollapsed(t,n)},getMergedCells(){return(e.props.mergedCells??[]).map(e=>({...e}))},isRowCollapsed(t){return e.isRowCollapsed(t)},autosizeAllColumns(){e.autosizeAllColumns()},setColumnPinning(t){e.columnPinning={left:Array.from(new Set(t.left??[])),right:Array.from(new Set(t.right??[]))}},getColumnPinning(){return{left:e.columnPinning.left.slice(),right:e.columnPinning.right.slice()}},setColumnOrder(t){e.setColumnOrderInternal(t)},getColumnOrder(){return e.getCurrentColumnOrder()},setRowExpanded(t,n){e.grid.setExpanded(e=>({...e,[t]:!!n}))},expandAllGroups(){let t={},n=e=>{for(let r of e){r.getCanExpand?.()&&(t[r.id]=!0);let e=r.subRows;e&&e.length>0&&n(e)}};n(e.grid.getRowModel().rows),e.grid.setExpanded(()=>t)},collapseAllGroups(){e.grid.setExpanded(()=>({}))},undo(){return Zr(e)},redo(){return Qr(e)},getCommandContext(){return fi(e,!1)},canUndo(){return e.historyVersion,e.historyPtr>=0},canRedo(){return e.historyVersion,e.historyPtr<e.history.length-1},clearHistory(){e.history=[],e.historyPtr=-1,e.historyVersion+=1},setHistoryTag(t){e.historyTag=t},peekUndo(){return e.historyVersion,Yr(e)},peekRedo(){return e.historyVersion,Xr(e)},openFind(){e.findOpen=!0},closeFind(){e.findOpen=!1,e.findQuery=``},setFindQuery(t){e.findQuery=t,e.findHitIndex=0},getFindHits(){return e.findHits.slice()},getSelectedRows(){let t=[];for(let n of e.allRows)gi(n)||e.rowSelectionState[n.id]&&t.push(n.original);return t},getSelectedRowIds(){let t=[];for(let n of e.allRows)!gi(n)&&e.rowSelectionState[n.id]&&t.push(n.id);return t},selectRows(t,n=!1){let r=new Set(t);e.grid.setRowSelection(e=>{let t=n?{...e}:{};for(let e of r)t[e]=!0;return t})},selectAllRows(){e.setSelectAllRows(!0)},toggleRowSelected(t){e.toggleRowSelectionById(t)},getPageInfo(){let{pageIndex:t,pageSize:n}=e.paginationState,r=e.externalPaginationEnabled?e.props.rowCount??e.allRowsBeforePagination.length:e.allRowsBeforePagination.length;return{pageIndex:t,pageSize:n,pageCount:Math.max(1,Math.ceil(r/Math.max(1,n))),total:r}},setPage(t){let n=e.allRowsBeforePagination.length,r=Math.max(1,Math.ceil(n/Math.max(1,e.paginationState.pageSize)));e.goToPage(Math.max(0,Math.min(t,r-1)))},nextPage(){this.setPage(e.paginationState.pageIndex+1)},prevPage(){this.setPage(e.paginationState.pageIndex-1)},firstPage(){this.setPage(0)},lastPage(){let t=e.allRowsBeforePagination.length,n=Math.max(1,Math.ceil(t/Math.max(1,e.paginationState.pageSize)));this.setPage(n-1)},setPageSize(t){e.setPageSize(Math.max(1,Math.floor(t)))},scrollToRow(t){if(!e.scrollContainer)return;let n=Math.max(0,e.allRows.length-1),r=Math.max(0,Math.min(t,n)),i=e.virtualizer.getOffsetForIndex(r);e.scrollContainer.scrollTop=e.logicalToDomRowOffset(i),e.scheduleScrollSync(e.scrollContainer.scrollTop,e.scrollContainer.scrollLeft)},getActiveCell(){let t=e.activeCell;if(!t||t.rowIndex<0||t.colIndex<0)return null;let n=e.allColumns[t.colIndex];return{rowIndex:t.rowIndex,colIndex:t.colIndex,columnId:n?.id??``}},setActiveCell(t,n){let r=Math.max(0,Math.min(t,Math.max(0,e.allRows.length-1))),i=Math.max(0,Math.min(n,Math.max(0,e.allColumns.length-1)));e.setActiveCell(r,i)},getState(){return{sorting:(e.grid.getState().sorting??[]).map(e=>({id:e.id,desc:e.desc})),grouping:[...e.grid.getState().grouping??[]],pagination:{pageIndex:e.paginationState.pageIndex,pageSize:e.paginationState.pageSize},columnWidths:this.getColumnWidths(),columnPinning:this.getColumnPinning(),columnOrder:e.getCurrentColumnOrder(),hiddenColumns:Object.keys(e.hiddenColumns).filter(t=>e.hiddenColumns[t]),globalFilter:e.globalFilter,columnFilters:this.getFilters(),facetFilters:Object.fromEntries(Object.entries(e.valueFilters).map(([e,t])=>[e,Array.from(t)])),...e.advancedFilter?{advancedFilter:e.advancedFilter}:{},...Object.keys(e.customFilterValues).length?{customFilters:{...e.customFilterValues}}:{},...e.chartingEnabled?{chart:{open:e.chartPanelOpen,type:e.chartType,dimension:e.chartDimensionId,series:e.chartSeriesId,measure:e.chartMeasureId,reduce:e.chartReduce,stacked:e.chartStacked},charts:e.getChartsState(),chartActive:e.activeChartIndex,...e.savedCharts.length?{savedCharts:e.getSavedCharts()}:{}}:{}}},setState(t){if(t.sorting){let n=t.sorting.map(e=>({id:e.id,desc:e.desc}));e.grid.store.setState(e=>({...e,sorting:n}))}if(t.grouping){let n=new Set(e.grid.getAllColumns().map(e=>e.id));e.grid.setGrouping(t.grouping.filter(e=>n.has(e)))}if(t.pagination){let n=t.pagination;e.grid.setPagination(e=>({...e,...n}))}if(t.columnWidths&&(e.columnWidths={...t.columnWidths}),t.columnPinning&&(e.columnPinning={left:[...t.columnPinning.left??[]],right:[...t.columnPinning.right??[]]}),t.columnOrder&&e.setColumnOrderInternal(t.columnOrder),t.hiddenColumns){let n={...e.declaredHiddenColumns};for(let e of t.hiddenColumns)n[e]=!0;e.hiddenColumns=n}if(t.globalFilter!==void 0&&(e.globalFilter=t.globalFilter),t.columnFilters&&(e.filterMenuValues={...t.columnFilters}),t.facetFilters){let n={};for(let[e,r]of Object.entries(t.facetFilters))n[e]=new Set(r);e.valueFilters=n}if(`advancedFilter`in t&&(e.advancedFilter=t.advancedFilter??null),`customFilters`in t&&(e.customFilterValues={...t.customFilters??{}}),Array.isArray(t.savedCharts)&&e.chartingEnabled&&e.applySavedCharts(t.savedCharts),(t.chart||t.charts)&&e.chartingEnabled&&(Array.isArray(t.charts)&&t.charts.length&&e.applyChartsState(t.charts,t.chartActive),t.chart)){let n=t.chart;e.chartPanelOpen=n.open,e.chartType=n.type,e.chartDimensionId=n.dimension,e.chartSeriesId=n.series,e.chartMeasureId=n.measure,e.chartReduce=n.reduce,e.chartStacked=n.stacked}},refresh(){e.grid.store.setState(e=>({...e}))}}}return{buildApi:t}}var qi=[[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],[`Q1`,`Q2`,`Q3`,`Q4`]];function Ji(e,t){if(!t)return e;if(t===t.toUpperCase()&&t!==t.toLowerCase())return e.toUpperCase();if(t===t.toLowerCase()&&t!==t.toUpperCase())return e.toLowerCase();let n=t[0];return n&&n===n.toUpperCase()&&t.slice(1)===t.slice(1).toLowerCase()?e[0].toUpperCase()+e.slice(1).toLowerCase():e}function Yi(e){let t=e.map(e=>e.toLowerCase());outer:for(let e of qi){let n=e.map(e=>e.toLowerCase()),r=[];for(let e of t){let t=n.indexOf(e);if(t<0)continue outer;r.push(t)}return{sequence:e,indices:r}}return null}function Xi(e,t,n,r){let i=e.sequence.length,a=e.indices[e.indices.length-1],o=t[t.length-1],s=[];for(let t=0;t<r;t+=1){let r=((a+n*(t+1))%i+i)%i;s.push(Ji(e.sequence[r],o))}return s}function Zi(e){let t=[],n=/^(.*?)(\d+)(.*)$/;for(let r of e){let e=r.match(n);if(!e)return null;t.push({prefix:e[1]??``,numStr:e[2]??``,suffix:e[3]??``})}let r=t[0].prefix,i=t[0].suffix;for(let e of t)if(e.prefix!==r||e.suffix!==i)return null;let a=t[0].numStr,o=a.length,s=a.length>1&&a[0]===`0`&&a!==`0`?`0`:``;return{prefix:r,suffix:i,numbers:t.map(e=>Number(e.numStr)),numberFormat:{width:o,padChar:s}}}function Qi(e,t){let n=String(e);return!t.padChar||n.length>=t.width?n:n.padStart(t.width,t.padChar)}function $i(e){if(e.length<2)return null;let t=e[1]-e[0];for(let n=2;n<e.length;n+=1)if(e[n]-e[n-1]!==t)return null;return t}var ea=/^\d{4}-\d{2}-\d{2}$/;function ta(e){if(e.every(e=>e instanceof Date&&Number.isFinite(e.getTime())))return{stamps:e.map(e=>e.getTime()),iso:!1};if(e.every(e=>typeof e==`string`&&ea.test(e))){let t=e.map(e=>Date.parse(`${e}T00:00:00Z`));return t.every(e=>Number.isFinite(e))?{stamps:t,iso:!0}:null}return null}function na(e,t){if(e.length===0||t<=0)return[];let n=ta(e);if(n){let e=864e5,r=n.stamps.map(t=>Math.round(t/e)),i=r.length>=2?$i(r):1;if(i!==null){let a=r[r.length-1];return Array.from({length:t},(t,r)=>{let o=(a+i*(r+1))*e;return n.iso?new Date(o).toISOString().slice(0,10):new Date(o)})}}let r=e.map(e=>Number(e));if(e.every(e=>e!==null&&e!==``&&e!==void 0)&&r.every(e=>Number.isFinite(e))&&e.length>=2){let e=$i(r);if(e!==null){let n=r[r.length-1];return Array.from({length:t},(t,r)=>n+e*(r+1))}let n=r.length,i=(n-1)/2,a=r.reduce((e,t)=>e+t,0)/n,o=0,s=0;for(let e=0;e<n;e+=1)o+=(e-i)*(r[e]-a),s+=(e-i)**2;let c=s===0?0:o/s,l=a-c*i;return Array.from({length:t},(e,t)=>Number((l+c*(n+t)).toPrecision(15)))}let i=e.every(e=>typeof e==`string`);if(i&&e.length>=1){let n=e,r=Yi(n);if(r)return Xi(r,n,n.length>=2?$i(r.indices)??1:1,t)}if(i&&e.length>=1){let n=Zi(e);if(n&&(n.prefix!==``||n.suffix!==``)){let e=n.numbers.length>=2?$i(n.numbers)??1:1,r=n.numbers[n.numbers.length-1];return Array.from({length:t},(t,i)=>{let a=r+e*(i+1);return n.prefix+Qi(a,n.numberFormat)+n.suffix})}}return Array.from({length:t},(t,n)=>ra(e[n%e.length]))}function ra(e){return Array.isArray(e)?e.slice():e&&typeof e==`object`&&e.constructor===Object?{...e}:e}function ia(e){function t(t){return e.allRows[t]?.original}function n(n,r){let i=t(n),a=e.findColumnById(r);if(!(!i||!a?.columnDef.field))return i[a.columnDef.field]}function r(n,r,i){let a=t(n),o=e.findColumnById(r);if(!a||!o?.columnDef.field)return;let s=o.columnDef.field,c=a[s];if(c===i)return;let l=e.internalData.indexOf(a);if(l<0)return;let u=e.allRows[n]?.id,d=e.internalData.slice();if(d[l]={...a,[s]:i},ut()?.cellEdited?.(e,{row:d[l],columnId:r}),e.internalData=d,u){let t=He(u,r);e.editedCellValues={...e.editedCellValues,[t]:i}}e.props.onCellValueChange?.({rowIndex:l,columnId:r,oldValue:c,newValue:i,row:d[l]})}function i(t,i,a,o){let s=e.allRows[i],c=e.findColumnById(a)?.columnDef.field;if(!s||c==null)return;let l=n(i,a);r(i,a,o),l!==o&&t.push({rowId:s.id,columnId:a,field:c,before:l,after:o})}function a(t=!1){let n=[];ni(e,()=>l(n,t)),n.length&&$r(e,n,ti())}function o(t,n,r,i,a,o,s,c,l){let u=e.props.processCellForFill;if(u&&t.length){let e=r%t.length,n=a-(i+o*e),d=s===`rows`?{rows:n,cols:0}:{rows:0,cols:n},f=u({value:t[e],delta:d,rowIndex:c,columnId:l});if(f!==void 0)return f}return n[r]}function s(){let t=e.selectionRange.anchor??e.grid.getState().activeCell;if(!t)return;let r=e.selectionRange.focus??t,i=Math.min(t.rowIndex,r.rowIndex),o=Math.max(t.rowIndex,r.rowIndex),s=Math.min(t.colIndex,r.colIndex),c=Math.max(t.colIndex,r.colIndex),l=(t,r)=>{let i=e.allColumns[r];if(!i)return!1;let a=n(t,i.id);return a!=null&&a!==``},u=t=>{let n=o;for(;n+1<e.allRows.length&&l(n+1,t);)n+=1;return n},d=s>0?u(s-1):o;d===o&&(d=u(c+1)),!(d<=o)&&(e.fillDrag={sourceMinRow:i,sourceMaxRow:o,sourceMinCol:s,sourceMaxCol:c,targetRow:d,targetCol:c},a())}function c(e,t){return e.length===1&&typeof e[0]==`number`&&Number.isFinite(e[0])?Array.from({length:t},(t,n)=>e[0]+n+1):Array.from({length:t},(t,n)=>e[n%e.length])}function l(t,r=!1){let a=(e,t)=>r?c(e,t):na(e,t),s=e.props.includeCollapsedRows,l=t=>e.isRowCollapsed?.(t)===!0&&!(s?.(t)??!1),u=e.fillDrag;if(!u)return;e.fillDrag=null,h();let d=Math.min(u.sourceMinRow,u.targetRow),f=Math.max(u.sourceMaxRow,u.targetRow),p=Math.min(u.sourceMinCol,u.targetCol),m=Math.max(u.sourceMaxCol,u.targetCol),g=f>u.sourceMaxRow||d<u.sourceMinRow,_=m>u.sourceMaxCol||p<u.sourceMinCol;if(g)for(let r=u.sourceMinCol;r<=u.sourceMaxCol;r+=1){let s=e.allColumns[r];if(!s?.columnDef.field||s.columnDef.editable===!1)continue;let c=[];for(let e=u.sourceMinRow;e<=u.sourceMaxRow;e+=1)c.push(n(e,s.id));if(f>u.sourceMaxRow){let n=[];for(let e=u.sourceMaxRow+1;e<=f;e+=1)l(e)||n.push(e);let d=a(c,n.length);n.forEach((n,a)=>{e.isCellEditableAt(n,r)&&i(t,n,s.id,o(c,d,a,u.sourceMinRow,n,1,`rows`,n,s.id))})}if(d<u.sourceMinRow){let n=c.slice().reverse(),f=[];for(let e=u.sourceMinRow-1;e>=d;--e)l(e)||f.push(e);let p=a(n,f.length);f.forEach((a,c)=>{e.isCellEditableAt(a,r)&&i(t,a,s.id,o(n,p,c,u.sourceMaxRow,a,-1,`rows`,a,s.id))})}}else if(_)for(let r=u.sourceMinRow;r<=u.sourceMaxRow;r+=1){let s=[];for(let t=u.sourceMinCol;t<=u.sourceMaxCol;t+=1){let i=e.allColumns[t];i&&s.push(n(r,i.id))}if(m>u.sourceMaxCol){let n=m-u.sourceMaxCol,c=a(s,n);for(let a=0;a<n;a+=1){let n=u.sourceMaxCol+1+a,l=e.allColumns[n];l&&e.isCellEditableAt(r,n)&&i(t,r,l.id,o(s,c,a,u.sourceMinCol,n,1,`cols`,r,l.id))}}if(p<u.sourceMinCol){let n=s.slice().reverse(),c=u.sourceMinCol-p,l=a(n,c);for(let a=0;a<c;a+=1){let s=u.sourceMinCol-1-a,c=e.allColumns[s];c&&e.isCellEditableAt(r,s)&&i(t,r,c.id,o(n,l,a,u.sourceMaxCol,s,-1,`cols`,r,c.id))}}}e.selectionRange={anchor:{rowIndex:d,colIndex:p},focus:{rowIndex:f,colIndex:m}}}function u(){let t=e.selectionRange.anchor,n=e.selectionRange.focus;if(t&&n){let i=Math.min(t.rowIndex,n.rowIndex),a=Math.max(t.rowIndex,n.rowIndex),o=Math.min(t.colIndex,n.colIndex),s=Math.max(t.colIndex,n.colIndex);for(let t=i;t<=a;t+=1)if(!e.isRowCollapsed?.(t))for(let n=o;n<=s;n+=1){let i=e.allColumns[n];i&&e.collapsedColumns?.[i.id]||i?.columnDef.field&&e.isCellEditableAt(t,n)&&r(t,i.id,null)}return}let i=e.grid.getState().activeCell;if(i&&e.userHasActivatedCell){let t=e.allColumns[i.colIndex];t?.columnDef.field&&e.isCellEditableAt(i.rowIndex,i.colIndex)&&r(i.rowIndex,t.id,null)}}function d(t,n,r){t.stopPropagation(),t.preventDefault();let i=e.selectionRange.anchor,a=e.selectionRange.focus;e.fillDrag=i&&a?{sourceMinRow:Math.min(i.rowIndex,a.rowIndex),sourceMaxRow:Math.max(i.rowIndex,a.rowIndex),sourceMinCol:Math.min(i.colIndex,a.colIndex),sourceMaxCol:Math.max(i.colIndex,a.colIndex),targetRow:n,targetCol:r}:{sourceMinRow:n,sourceMaxRow:n,sourceMinCol:r,sourceMaxCol:r,targetRow:n,targetCol:r}}function f(e,t){let n=document.elementFromPoint(e,t)?.closest(`td[data-svgrid-row][data-svgrid-col]`);if(!n)return null;let r=Number(n.dataset.svgridRow),i=Number(n.dataset.svgridCol);return!Number.isFinite(r)||!Number.isFinite(i)?null:{row:r,col:i}}let p=null,m=null;function h(){p!=null&&cancelAnimationFrame(p),p=null,m=null}function g(e,t,n){if(e<t+40){let n=Math.min(40,t+40-e);return-Math.ceil(n/40*20)}if(e>n-40){let t=Math.min(40,e-(n-40));return Math.ceil(t/40*20)}return 0}function _(t,n){let r=f(t,n);if(r){if(e.moveDrag){if(r.row===e.moveDrag.targetRow&&r.col===e.moveDrag.targetCol)return;e.moveDrag={...e.moveDrag,targetRow:r.row,targetCol:r.col}}else if(e.fillDrag){if(r.row===e.fillDrag.targetRow&&r.col===e.fillDrag.targetCol)return;e.fillDrag={...e.fillDrag,targetRow:r.row,targetCol:r.col}}else e.isDraggingSelection&&(e.extendSelection(r.row,r.col),e.setActiveCell(r.row,r.col))}}function v(){p=null;let t=e.scrollContainer,n=m,r=e.moveDrag||e.fillDrag||e.isDraggingSelection;if(!t||!n||!r){h();return}let i=t.getBoundingClientRect(),a=g(n.x,i.left,i.right),o=g(n.y,i.top,i.bottom);if(a||o){let e=t.scrollLeft,r=t.scrollTop;t.scrollLeft+=a,t.scrollTop+=o,(t.scrollLeft!==e||t.scrollTop!==r)&&_(n.x,n.y)}p=requestAnimationFrame(v)}function y(e){m={x:e.clientX,y:e.clientY},p??=requestAnimationFrame(v)}function b(t){if(!e.fillDrag)return;y(t);let n=f(t.clientX,t.clientY);n&&(n.row!==e.fillDrag.targetRow||n.col!==e.fillDrag.targetCol)&&(e.fillDrag={...e.fillDrag,targetRow:n.row,targetCol:n.col})}function x(t){e.fillDrag&&a(!!(t&&(t.ctrlKey||t.metaKey)))}function S(t,n,r,i,a){if(!e.moveCellsEffective)return!1;let o=e.getCellRangeEdges(n,r);if(!o)return!1;let s=t.getBoundingClientRect(),c=i-s.left,l=a-s.top;return o.top&&l>=0&&l<=4||o.bottom&&s.height-l>=0&&s.height-l<=4||o.left&&c>=0&&c<=4||o.right&&s.width-c>=0&&s.width-c<=4}function C(t,n,r){if(t.button!==0||t.pointerType===`touch`)return!1;let i=t.target?.closest?.(`td[data-svgrid-row][data-svgrid-col]`);if(!i||!S(i,n,r,t.clientX,t.clientY))return!1;let a=w(n,r);return a?(t.stopPropagation(),t.preventDefault(),e.gridRootEl?.focus({preventScroll:!0}),e.moveDrag={...a,grabRow:n,grabCol:r,targetRow:n,targetCol:r,copy:t.ctrlKey||t.metaKey},!0):!1}function w(t,n){for(let r of e.getSelectionRects())if(t>=r.minRow&&t<=r.maxRow&&n>=r.minCol&&n<=r.maxCol)return{sourceMinRow:r.minRow,sourceMaxRow:r.maxRow,sourceMinCol:r.minCol,sourceMaxCol:r.maxCol};return null}function T(t){let n=e.moveDrag;if(!n)return;y(t);let r=f(t.clientX,t.clientY),i=t.ctrlKey||t.metaKey;if(!r){i!==n.copy&&(e.moveDrag={...n,copy:i});return}(r.row!==n.targetRow||r.col!==n.targetCol||i!==n.copy)&&(e.moveDrag={...n,targetRow:r.row,targetCol:r.col,copy:i})}function E(t){if(e.moveDrag){if(t){let n=t.ctrlKey||t.metaKey;n!==e.moveDrag.copy&&(e.moveDrag={...e.moveDrag,copy:n})}O()}}function D(t){let n=t.targetRow-t.grabRow,r=t.targetCol-t.grabCol;if(n===0&&r===0)return null;let i=t.sourceMinRow+n,a=t.sourceMaxRow+n,o=t.sourceMinCol+r,s=t.sourceMaxCol+r;return i<0||o<0||a>=e.allRows.length||s>=e.allColumns.length?null:{minRow:i,maxRow:a,minCol:o,maxCol:s}}function O(){let t=e.moveDrag;if(!t)return;e.moveDrag=null,h();let i=D(t);if(!i)return;let a=t.sourceMaxRow-t.sourceMinRow+1,o=t.sourceMaxCol-t.sourceMinCol+1;for(let n=0;n<o;n+=1)if(!e.allColumns[t.sourceMinCol+n]?.columnDef.field||!e.allColumns[i.minCol+n]?.columnDef.field)return;for(let n=0;n<a;n+=1)for(let r=0;r<o;r+=1)if(!e.isCellEditableAt(i.minRow+n,i.minCol+r)||!t.copy&&!e.isCellEditableAt(t.sourceMinRow+n,t.sourceMinCol+r))return;let s=[];for(let r=0;r<a;r+=1){let i=[];for(let a=0;a<o;a+=1){let o=e.allColumns[t.sourceMinCol+a];i.push(n(t.sourceMinRow+r,o.id))}s.push(i)}let c=[],l=(t,i,a)=>{let o=e.allColumns[i];if(!o?.columnDef.field)return;let s=n(t,o.id);if(s===a)return;let l=e.allRows[t]?.id;r(t,o.id,a),l&&c.push({rowId:l,columnId:o.id,field:o.columnDef.field,before:s,after:a})};if(!t.copy)for(let e=0;e<a;e+=1)for(let n=0;n<o;n+=1)l(t.sourceMinRow+e,t.sourceMinCol+n,null);for(let e=0;e<a;e+=1)for(let t=0;t<o;t+=1)l(i.minRow+e,i.minCol+t,s[e][t]);$r(e,c,ti()),e.selectionRanges=[],e.selectionRange={anchor:{rowIndex:i.minRow,colIndex:i.minCol},focus:{rowIndex:i.maxRow,colIndex:i.maxCol}},e.setActiveCell(i.minRow,i.minCol)}function k(t,n){let r=e.allRows[t],i=e.allColumns[n];if(!r||!i||!i.columnDef.field)return;let a=mi(r,i),o=!e.getCellDisplayValue(r.id,i.id,a);r.original[i.columnDef.field]=o,ut()?.cellEdited?.(e,{row:r.original,columnId:i.id});let s=He(r.id,i.id);e.editedCellValues={...e.editedCellValues,[s]:o},e.grid.store.setState(e=>({...e}))}function A(e){if(navigator.clipboard?.writeText){navigator.clipboard.writeText(e).catch(()=>M(e));return}M(e)}function j(e,t){if(typeof document<`u`){let n=!0,r=r=>{!n||!r.clipboardData||(n=!1,r.clipboardData.setData(`text/plain`,e),r.clipboardData.setData(`text/html`,t),r.preventDefault())};document.addEventListener(`copy`,r,{once:!0,capture:!0});let i=M(e);if(document.removeEventListener(`copy`,r,{capture:!0}),i&&!n)return}if(navigator.clipboard?.write&&typeof ClipboardItem<`u`){let n=new ClipboardItem({"text/plain":new Blob([e],{type:`text/plain`}),"text/html":new Blob([t],{type:`text/html`})});navigator.clipboard.write([n]).catch(()=>A(e));return}A(e)}function M(t){if(typeof document>`u`)return!1;let n=document.activeElement,r=document.createElement(`textarea`);r.value=t,r.setAttribute(`readonly`,``),r.style.cssText=`position:fixed;top:0;left:-9999px;width:1px;height:1px;padding:0;border:0;`,document.body.appendChild(r);let i=!1;try{r.select(),r.setSelectionRange(0,t.length),i=document.execCommand(`copy`)}catch{i=!1}return document.body.removeChild(r),(n??e.gridRootEl)?.focus?.({preventScroll:!0}),i}function N(){let t=e.getSelectionRects();if(!t.length)return;let n=e.props.copyHeadersToClipboard===!0,r=e.props.processCellForClipboard,i=e.props.includeCollapsedRows,a=[];for(let o of t){let t=[];if(n){let n=[];for(let t=o.minCol;t<=o.maxCol;t+=1){let r=e.allColumns[t];r&&e.collapsedColumns?.[r.id]||n.push(r?_i(r):``)}t.push(n.join(` `))}for(let n=o.minRow;n<=o.maxRow;n+=1){let a=e.allRows[n];if(!a||gi(a)||e.isRowCollapsed?.(n)&&!i?.(n))continue;let s=[];for(let t=o.minCol;t<=o.maxCol;t+=1){let i=e.allColumns[t];if(!i){s.push(``);continue}if(e.collapsedColumns?.[i.id])continue;let o=mi(a,i),c=e.getCellDisplayValue(a.id,i.id,o);r&&(c=r({value:c,column:i,row:a.original,rowIndex:n,columnId:i.id})),s.push(String(c??``))}t.push(s.join(` `))}a.push(t.join(`
@@ -76257,7 +76257,7 @@ ${k}
76257
76257
  .st-home a { color: var(--sg-accent, #6366f1); font-weight: 600; }
76258
76258
  @keyframes st-home-spin { to { transform: rotate(360deg); } }
76259
76259
  </style>
76260
- `}}function h1(e){for(let t of e)SG(t);let t=new Map(e.map(e=>[e.name,e])),n=e.map(e=>{let n=K$(e,t);return{schema:q$(e,n),infos:n}});return{entries:n,seed:J$(n)}}function Pre(e,t={}){let{entries:n,seed:r}=h1(e),{file:i,needs:a}=jre(n,r,t.sources,t.supabaseConn,t.serverMemory),o=[Z$(n),i];(a.supabase||t.supabaseAuth)&&!a.supabaseUrl&&(t.supabaseConn?.url||t.supabaseConn?.key)&&(a.supabaseUrl=t.supabaseConn.url,a.supabaseKey=t.supabaseConn.key),(a.supabase||t.supabaseAuth)&&o.push(Mre(a));for(let e of a.sqlRoutes)o.push(kre(e.schema,e.table,e.dialect,{access:t.accessEnabled,audit:t.auditEnabled,screenIds:t.screensByEntity?.get(e.schema.name)??[],triggers:t.triggers?.[e.schema.name],dbSchema:e.dbSchema,tenantField:t.tenantField&&t.tenantScoped?.(e.schema.name)!==!1?t.tenantField:void 0}));if(a.memoryRoutes.length){o.push(a1(a.memoryRoutes));for(let e of a.memoryRoutes)o.push(Are(e.schema,{access:t.accessEnabled,audit:t.auditEnabled,screenIds:t.screensByEntity?.get(e.schema.name)??[],triggers:t.triggers?.[e.schema.name],tenantField:t.tenantField&&t.tenantScoped?.(e.schema.name)!==!1?t.tenantField:void 0}))}return{files:o,prepared:n.map(e=>e.schema)}}var g1=`3.1.18`,_1=`3.0.19`,v1=(e,t)=>e.some(e=>e.config.kind===t),y1=e=>`activeTab_${e.replace(/[^a-zA-Z0-9_$]/g,`_`)}`,b1=(e,t)=>`${e}-${t}`,x1=e=>`accOpen_${e.replace(/[^a-zA-Z0-9_$]/g,`_`)}`,S1=(e,t)=>`${e}-s${t}`,C1=e=>`md_${e.replace(/[^a-zA-Z0-9]/g,`_`)}_rows`;function w1(e){switch(e.type){case`number`:{let t=e.decimals;return t==null?`{ type: 'number' }`:`{ type: 'number', options: { minimumFractionDigits: ${t}, maximumFractionDigits: ${t} } }`}case`currency`:return`{ type: 'currency', currency: ${M1(e.currency||`USD`)} }`;case`percent`:{let t=[`type: 'percent'`];return e.valueIsPercentPoints&&t.push(`valueIsPercentPoints: true`),e.decimals!=null&&t.push(`options: { minimumFractionDigits: ${e.decimals}, maximumFractionDigits: ${e.decimals} }`),`{ ${t.join(`, `)} }`}case`date`:case`datetime`:return e.pattern?`{ type: '${e.type}', pattern: ${M1(e.pattern)} }`:`{ type: '${e.type}' }`}}function T1(e,t,n,r){if(t.config.kind!==`grid`)return`schemaToColumns(${e})`;let i=t.config,a=t.id.replace(/-/g,`_`),o=i.columns.filter(e=>e.show),s=new Set(o.map(e=>e.field)),c=new Set,l=o.map(e=>{let t=r?.get(e.field);return{c:e,col:t&&!s.has(t)?t:e.field}}).filter(e=>!c.has(e.col)&&!!c.add(e.col)),u=i.editing===`inline`?``:`, editable: false`;if(l.length===0)return u?`schemaToColumns(${e}).map((c) => ({ ...c${u} }))`:`schemaToColumns(${e})`;let d=l.map(e=>`'${e.col}'`),f=l.map(({c:e,col:t})=>{let r=[];return e.header&&r.push(`header: ${JSON.stringify(e.header)}`),e.width!=null&&r.push(`width: ${e.width}`),e.align&&r.push(`align: '${e.align}'`),e.aggregate&&r.push(`aggregate: '${e.aggregate}'`),i.treeData&&e.field===i.treeData.labelField&&n?r.push(`cell: (ctx: CellContext<${n}>) => renderSnippet(treeCell_${a}, { value: ctx.getValue(), row: ctx.row.original })`):e.cellType&&n?r.push(`cell: (ctx: CellContext<${n}>) => renderSnippet(${W1(a,e.field)}, { value: ctx.getValue() })`):e.format&&r.push(`format: ${w1(e.format)}`),r.length?`'${t}': { ${r.join(`, `)} }`:null}).filter(e=>!!e),p=f.length?` const ov: Record<string, Partial<(typeof all)[number]>> = { ${f.join(`, `)} };`:``,m=f.length?`, ...(ov[String(c.field)] ?? {})`:``,h=`[${d.join(`, `)}].map((f) => all.find((c) => c.field === f)).filter((c): c is (typeof all)[number] => !!c)`;return`(() => { const all = schemaToColumns(${e});${p} return ${u||m?`${h}.map((c) => ({ ...c${u}${m} }))`:h} })()`}function E1(e,t){let n=[`grid-column: span ${YX(e)}`,`min-width: 0`];t&&n.push(t);let r=ZX(e.style);return r&&n.push(r),`style="${n.join(`; `)}"`}var Fre=e=>e&&e.replace(/[^#a-zA-Z0-9(),.%\s_-]/g,``).slice(0,40)||`var(--sg-accent)`;function D1(e,t){let n=[t,JX(e)].filter(Boolean).join(` `);return n?` class="${n}"`:``}function O1(e){let t=qX(e.className);return t?` ${t}`:``}function k1(e){let t=HQ(e);if(t===`grid`){let t=SZ(e),n=t.maxWidth?` max-width: ${t.maxWidth}px; margin-inline: auto;`:``;return` .st-screen { grid-template-columns: repeat(12, 1fr); gap: ${t.rowGap}px ${t.colGap}px; align-items: ${t.align};${n} }\n @media (max-width: ${t.mobileBreakpoint}px) { .st-screen { grid-template-columns: 1fr; gap: 12px; } }\n`}if(t===`stack`){let t=CZ(e),n=t.maxWidth?` max-width: ${t.maxWidth}px;${t.align===`center`?` margin-inline: auto;`:``}`:``,r=t.minHeight?`\n .st-stack > * { min-height: ${t.minHeight}px; }`:``,i=t.dividers?`\n .st-stack > * + * { border-top: 1px solid var(--sg-border, #e2e8f0); padding-top: ${t.gap}px; }`:``;return` .st-stack { gap: ${t.gap}px;${n} }${r}${i}\n`}if(t===`canvas`){let t=EZ(e),n=t.showGrid?`\n .st-canvas { background-image: linear-gradient(var(--sg-border, #e6e8ec) 1px, transparent 1px), linear-gradient(90deg, var(--sg-border, #e6e8ec) 1px, transparent 1px); background-size: calc((100% - ${t.cols-1} * ${t.gap}px) / ${t.cols} + ${t.gap}px) calc(${t.rowHeight}px + ${t.gap}px); }`:``;return` .st-canvas { grid-template-columns: repeat(${t.cols}, 1fr); grid-auto-rows: ${t.rowHeight}px; gap: ${t.gap}px; }${n}\n`}return``}function A1(e,t,n,r,i,a={hasRecord:!1}){let o=(e,t)=>a.i18n?`{$t('block.${t}', ${JSON.stringify(e)})}`:e,s=a.pane?`style="height: 100%; min-width: 0; min-height: 0; display: flex; flex-direction: column;"`:E1(r),c=D1(r),l=r.config,u=a.handleNames?.get(r.id),d=u?`${u}.rows`:`allRows`;switch(l.kind){case`grid`:{let t=r.id.replace(/-/g,`_`),o=`columns_${t}`,u=`No ${(e.label??e.name).toLowerCase()} yet.`,d=F1(l,t);if(l.scheduler){let t=G$(a.rawEntity??e,i);return` <div ${s}${c}>
76260
+ `}}function h1(e){for(let t of e)SG(t);let t=new Map(e.map(e=>[e.name,e])),n=e.map(e=>{let n=K$(e,t);return{schema:q$(e,n),infos:n}});return{entries:n,seed:J$(n)}}function Pre(e,t={}){let{entries:n,seed:r}=h1(e),{file:i,needs:a}=jre(n,r,t.sources,t.supabaseConn,t.serverMemory),o=[Z$(n),i];(a.supabase||t.supabaseAuth)&&!a.supabaseUrl&&(t.supabaseConn?.url||t.supabaseConn?.key)&&(a.supabaseUrl=t.supabaseConn.url,a.supabaseKey=t.supabaseConn.key),(a.supabase||t.supabaseAuth)&&o.push(Mre(a));for(let e of a.sqlRoutes)o.push(kre(e.schema,e.table,e.dialect,{access:t.accessEnabled,audit:t.auditEnabled,screenIds:t.screensByEntity?.get(e.schema.name)??[],triggers:t.triggers?.[e.schema.name],dbSchema:e.dbSchema,tenantField:t.tenantField&&t.tenantScoped?.(e.schema.name)!==!1?t.tenantField:void 0}));if(a.memoryRoutes.length){o.push(a1(a.memoryRoutes));for(let e of a.memoryRoutes)o.push(Are(e.schema,{access:t.accessEnabled,audit:t.auditEnabled,screenIds:t.screensByEntity?.get(e.schema.name)??[],triggers:t.triggers?.[e.schema.name],tenantField:t.tenantField&&t.tenantScoped?.(e.schema.name)!==!1?t.tenantField:void 0}))}return{files:o,prepared:n.map(e=>e.schema)}}var g1=`3.1.19`,_1=`3.0.19`,v1=(e,t)=>e.some(e=>e.config.kind===t),y1=e=>`activeTab_${e.replace(/[^a-zA-Z0-9_$]/g,`_`)}`,b1=(e,t)=>`${e}-${t}`,x1=e=>`accOpen_${e.replace(/[^a-zA-Z0-9_$]/g,`_`)}`,S1=(e,t)=>`${e}-s${t}`,C1=e=>`md_${e.replace(/[^a-zA-Z0-9]/g,`_`)}_rows`;function w1(e){switch(e.type){case`number`:{let t=e.decimals;return t==null?`{ type: 'number' }`:`{ type: 'number', options: { minimumFractionDigits: ${t}, maximumFractionDigits: ${t} } }`}case`currency`:return`{ type: 'currency', currency: ${M1(e.currency||`USD`)} }`;case`percent`:{let t=[`type: 'percent'`];return e.valueIsPercentPoints&&t.push(`valueIsPercentPoints: true`),e.decimals!=null&&t.push(`options: { minimumFractionDigits: ${e.decimals}, maximumFractionDigits: ${e.decimals} }`),`{ ${t.join(`, `)} }`}case`date`:case`datetime`:return e.pattern?`{ type: '${e.type}', pattern: ${M1(e.pattern)} }`:`{ type: '${e.type}' }`}}function T1(e,t,n,r){if(t.config.kind!==`grid`)return`schemaToColumns(${e})`;let i=t.config,a=t.id.replace(/-/g,`_`),o=i.columns.filter(e=>e.show),s=new Set(o.map(e=>e.field)),c=new Set,l=o.map(e=>{let t=r?.get(e.field);return{c:e,col:t&&!s.has(t)?t:e.field}}).filter(e=>!c.has(e.col)&&!!c.add(e.col)),u=i.editing===`inline`?``:`, editable: false`;if(l.length===0)return u?`schemaToColumns(${e}).map((c) => ({ ...c${u} }))`:`schemaToColumns(${e})`;let d=l.map(e=>`'${e.col}'`),f=l.map(({c:e,col:t})=>{let r=[];return e.header&&r.push(`header: ${JSON.stringify(e.header)}`),e.width!=null&&r.push(`width: ${e.width}`),e.align&&r.push(`align: '${e.align}'`),e.aggregate&&r.push(`aggregate: '${e.aggregate}'`),i.treeData&&e.field===i.treeData.labelField&&n?r.push(`cell: (ctx: CellContext<${n}>) => renderSnippet(treeCell_${a}, { value: ctx.getValue(), row: ctx.row.original })`):e.cellType&&n?r.push(`cell: (ctx: CellContext<${n}>) => renderSnippet(${W1(a,e.field)}, { value: ctx.getValue() })`):e.format&&r.push(`format: ${w1(e.format)}`),r.length?`'${t}': { ${r.join(`, `)} }`:null}).filter(e=>!!e),p=f.length?` const ov: Record<string, Partial<(typeof all)[number]>> = { ${f.join(`, `)} };`:``,m=f.length?`, ...(ov[String(c.field)] ?? {})`:``,h=`[${d.join(`, `)}].map((f) => all.find((c) => c.field === f)).filter((c): c is (typeof all)[number] => !!c)`;return`(() => { const all = schemaToColumns(${e});${p} return ${u||m?`${h}.map((c) => ({ ...c${u}${m} }))`:h} })()`}function E1(e,t){let n=[`grid-column: span ${YX(e)}`,`min-width: 0`];t&&n.push(t);let r=ZX(e.style);return r&&n.push(r),`style="${n.join(`; `)}"`}var Fre=e=>e&&e.replace(/[^#a-zA-Z0-9(),.%\s_-]/g,``).slice(0,40)||`var(--sg-accent)`;function D1(e,t){let n=[t,JX(e)].filter(Boolean).join(` `);return n?` class="${n}"`:``}function O1(e){let t=qX(e.className);return t?` ${t}`:``}function k1(e){let t=HQ(e);if(t===`grid`){let t=SZ(e),n=t.maxWidth?` max-width: ${t.maxWidth}px; margin-inline: auto;`:``;return` .st-screen { grid-template-columns: repeat(12, 1fr); gap: ${t.rowGap}px ${t.colGap}px; align-items: ${t.align};${n} }\n @media (max-width: ${t.mobileBreakpoint}px) { .st-screen { grid-template-columns: 1fr; gap: 12px; } }\n`}if(t===`stack`){let t=CZ(e),n=t.maxWidth?` max-width: ${t.maxWidth}px;${t.align===`center`?` margin-inline: auto;`:``}`:``,r=t.minHeight?`\n .st-stack > * { min-height: ${t.minHeight}px; }`:``,i=t.dividers?`\n .st-stack > * + * { border-top: 1px solid var(--sg-border, #e2e8f0); padding-top: ${t.gap}px; }`:``;return` .st-stack { gap: ${t.gap}px;${n} }${r}${i}\n`}if(t===`canvas`){let t=EZ(e),n=t.showGrid?`\n .st-canvas { background-image: linear-gradient(var(--sg-border, #e6e8ec) 1px, transparent 1px), linear-gradient(90deg, var(--sg-border, #e6e8ec) 1px, transparent 1px); background-size: calc((100% - ${t.cols-1} * ${t.gap}px) / ${t.cols} + ${t.gap}px) calc(${t.rowHeight}px + ${t.gap}px); }`:``;return` .st-canvas { grid-template-columns: repeat(${t.cols}, 1fr); grid-auto-rows: ${t.rowHeight}px; gap: ${t.gap}px; }${n}\n`}return``}function A1(e,t,n,r,i,a={hasRecord:!1}){let o=(e,t)=>a.i18n?`{$t('block.${t}', ${JSON.stringify(e)})}`:e,s=a.pane?`style="height: 100%; min-width: 0; min-height: 0; display: flex; flex-direction: column;"`:E1(r),c=D1(r),l=r.config,u=a.handleNames?.get(r.id),d=u?`${u}.rows`:`allRows`;switch(l.kind){case`grid`:{let t=r.id.replace(/-/g,`_`),o=`columns_${t}`,u=`No ${(e.label??e.name).toLowerCase()} yet.`,d=F1(l,t);if(l.scheduler){let t=G$(a.rawEntity??e,i);return` <div ${s}${c}>
76261
76261
  ${d.decls} <SvGrid
76262
76262
  data={allRows}
76263
76263
  columns={${o}}
@@ -78709,7 +78709,7 @@ ${s.join(`
78709
78709
  drawn shapes with no preview here.</p> <div class="sv-studio__icons-scroll svelte-psjrav"></div> <div class="sv-studio__seed-actions svelte-psjrav"><button type="button" class="sv-studio__tb-btn svelte-psjrav">Reset all</button> <span class="sv-studio__spacer svelte-psjrav"></span> <button type="button" class="sv-studio__tb-btn sv-studio__tb-btn--primary svelte-psjrav">Done</button></div></div></div></div>`),Bme=x(`<th class="svelte-psjrav"> </th>`),Vme=x(`<input type="checkbox"/>`),Hme=x(`<option class="svelte-psjrav"> </option>`),Ume=x(`<select class="svelte-psjrav"><option class="svelte-psjrav"></option><!></select>`),W5=x(`<option class="svelte-psjrav"> </option>`),Wme=x(`<select class="svelte-psjrav"><option class="svelte-psjrav"></option><!></select>`),Gme=x(`<input class="svelte-psjrav"/>`),Kme=x(`<td class="svelte-psjrav"><!></td>`),G5=x(`<tr><!><td class="svelte-psjrav"><button type="button" class="sv-studio__mini svelte-psjrav" aria-label="Remove row">&times;</button></td></tr>`),qme=x(`<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>`),Jme=Ae(`<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>`),Yme=Ae(`<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>`),K5=x(`<small class="svelte-psjrav">· default</small>`),Xme=x(`<button type="button" class="sv-studio__dm-configure svelte-psjrav"><!> </button>`),Zme=x(`<span class="sv-studio__dm-key svelte-psjrav" title="Primary key">🔑</span>`),Qme=x(`<button type="button" class="sv-studio__dm-rel svelte-psjrav"> </button>`),$me=x(`<span class="sv-studio__dm-ftype svelte-psjrav"> </span>`),q5=x(`<li><span class="sv-studio__dm-fname svelte-psjrav"> <!></span> <!></li>`),J5=x(`<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>`),ehe=x(`<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>`),the=x(`<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>`),nhe=x(`<ul class="svelte-psjrav"></ul>`),rhe=x(`<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 role="presentation"><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>`),Y5=x(`<div class="sv-studio__key-row svelte-psjrav"><dt class="svelte-psjrav"><kbd class="svelte-psjrav"> </kbd></dt><dd class="svelte-psjrav"> </dd></div>`),ihe=x(`<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>`),ahe=x(`<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>`),ohe=x(`<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),she=x(`<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),che=x(`<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>`),X5=Ae(`<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>`),lhe=Ae(`<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>`),uhe=x(`<option class="svelte-psjrav"> </option>`),dhe=x(`· host <code> </code>`,1),Z5=x(`· db <code> </code>`,1),Q5=x(`<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>`),$5=x(`<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>`),e7=x(`<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),t7=x(`<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>`),fhe=x(`<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),phe=x(`<option class="svelte-psjrav"> </option>`),n7=x(`<select aria-label="Table" class="svelte-psjrav"></select>`),mhe=x(`<input type="text" aria-label="Table" class="svelte-psjrav"/>`),r7=x(`<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>`),hhe=x(`, plus a <code class="svelte-psjrav">createSupabaseRealtime</code> subscription that refreshes the grid live`,1),ghe=x(`<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),_he=x(`<option class="svelte-psjrav"> </option>`),vhe=x(`<span class="sv-studio__req-url-param svelte-psjrav"> </span>`),yhe=x(`<span> </span>`),bhe=x(`<span class="sv-studio__param-count svelte-psjrav"> </span>`),xhe=x(`<button type="button" role="tab"> <!></button>`),i7=x(`<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>`),She=x(`<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>`),Che=x(`<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>`),whe=x(`<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>`),The=x(`<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),Ehe=x(`<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>`),Dhe=x(`<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>`),Ohe=x(`<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),khe=x(`<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>`),a7=x(`<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>`),Ahe=x(`<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),jhe=x(`<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),Mhe=x(`<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 role="presentation"><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>`),Nhe=x(`<button type="button"><!><span class="sv-studio__pv-devlabel svelte-psjrav"> </span></button>`),Phe=x(`<img class="sv-studio__pv-logo svelte-psjrav"/>`),Fhe=x(`<!><span class="sv-studio__pv-brand-txt svelte-psjrav"> </span>`,1),Ihe=x(`<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>`),Lhe=x(`<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>`),Rhe=x(`<div class="sv-studio__runbar has-error svelte-psjrav"><span class="sv-studio__run-err svelte-psjrav" role="alert"> </span></div>`),zhe=x(`<div class="sv-studio__dock svelte-psjrav"><!></div>`),Bhe=x(`<section><div class="sv-studio__cvs-body svelte-psjrav"><!></div></section>`),Vhe=x(`<p class="sv-studio__empty svelte-psjrav">This screen has no blocks yet - add some in the designer.</p>`),Hhe=x(`<div><!> <!></div>`),Uhe=x(`<section><!></section>`),Whe=x(`<p class="sv-studio__empty svelte-psjrav">This screen has no blocks yet - add some in the designer.</p>`),Ghe=x(`<!> <!>`,1),Khe=x(`<header class="sv-studio__pv-screenhead svelte-psjrav"><h2 class="svelte-psjrav"> </h2></header> <!> <div><!></div>`,1),qhe=x(`<p class="sv-studio__empty svelte-psjrav">No screens to preview yet.</p>`),Jhe=x(`<footer class="sv-studio__pv-foot svelte-psjrav"> </footer>`),Yhe=x(`<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>`),Xhe=x(`<button type="button" class="svelte-psjrav"> </button>`),Zhe=x(`<p class="sv-studio__copilot-err svelte-psjrav"> </p>`),Qhe=x(`<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>`),$he=x(`<p class="sv-studio__hint sv-studio__gallery-warn svelte-psjrav">Loading a sample replaces the current design (undo with Ctrl+Z).</p>`),ege=x(`<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>`),o7=x(`<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>`),tge=x(`<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>`),nge=x(`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),rge=x(`<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>`),ige=x(`<span class="svelte-psjrav"> </span>`),age=x(`<div class="sv-studio__conn-skip svelte-psjrav"><strong> </strong> <!></div>`),oge=x(`<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),sge=x(`<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>`),cge=x(`<option class="svelte-psjrav"> </option>`),lge=x(`<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>`),uge=x(`<label class="sv-studio__req-field svelte-psjrav">Database file <input placeholder="./data.db" aria-label="SQLite database file" class="svelte-psjrav"/></label>`),dge=x(`<code class="sv-studio__conn-preview svelte-psjrav" title="Assembled connection string"> </code>`),fge=x(`<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),pge=x(`<label class="sv-studio__req-field svelte-psjrav">Connection string <input aria-label="Connection string" class="svelte-psjrav"/></label>`),mge=x(`<span class="svelte-psjrav"> <b class="svelte-psjrav"> </b></span>`),hge=x(`<span class="sv-studio__hint svelte-psjrav"> </span>`),gge=x(`<div class="sv-studio__conn-tested svelte-psjrav"><strong class="svelte-psjrav"><!> </strong> <div class="sv-studio__conn-counts svelte-psjrav"><!> <!></div></div>`),_ge=x(`<button type="button" class="sv-studio__mini-link svelte-psjrav"> </button>`),vge=x(`<div class="sv-studio__conn-driver svelte-psjrav"><span>Driver <code class="svelte-psjrav"> </code> isn't installed in this project.</span> <!></div>`),yge=x(`<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),s7=x(`<option class="svelte-psjrav"> </option>`),bge=x(`<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>`),xge=x(`<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),Sge=x(`<span class="svelte-psjrav"> </span>`),c7=x(`<div class="sv-studio__conn-skip svelte-psjrav"><strong>Check these (a chart/detail references a field your table may not have):</strong> <!></div>`),Cge=x(`<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),wge=x(`<span class="sv-studio__issue sv-studio__issue--error svelte-psjrav"> </span>`),Tge=x(`<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>`),Ege=x(`<div class="sv-studio__ctx-sep svelte-psjrav"></div>`),Dge=x(`<button type="button" role="menuitem"> </button>`),Oge=x(`<div class="sv-studio__ctx svelte-psjrav" role="menu" tabindex="-1"></div>`),kge=x(`<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 Age(t,n){fe(n,!0);let a=(e,t=N)=>{var n=f6(),r=H(n);W(n),E(e=>B(r,`d`,e),[()=>dl(t())]),f(e,n)},s=(e,t=N)=>{let n=F(()=>SQ(t())),r=F(()=>t().fields.filter(e=>e.when?.visible||e.when?.disabled||e.when?.required));var i=p6(),o=R(i),s=H(o);a(s,()=>`form`),k(),W(o);var c=j(o,2),l=H(c),u=e=>{var r=Tse(),i=R(r),a=j(i),o=e=>{var t=w();E(()=>y(t,`, ${m(n).unassigned.length??``} unsectioned`)),f(e,t)};g(a,e=>{m(n).unassigned.length&&e(o)});var s=j(a);E(()=>{y(i,`${m(n).sections.length??``} section${m(n).sections.length===1?``:`s`}`),y(s,` · ${t().form?.columns??2??``} columns`)}),f(e,r)},d=e=>{var t=w(`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.`);f(e,t)};g(l,e=>{m(n).sections.length?e(u):e(d,-1)}),W(c);var p=j(c,2),h=e=>{var t=Ese(),n=H(t);W(t),E(e=>y(n,`Value-driven: ${e??``}`),[()=>m(r).map(e=>e.label??e.field).join(`, `)]),f(e,t)};g(p,e=>{m(r).length&&e(h)}),C(`click`,o,()=>na(t().name)),f(e,i)},l=(e,t=N)=>{var n=h(),r=R(n);ce(r,()=>`${t().name}:${m(Oi)}:${JSON.stringify(t().form??null)}`,e=>{{let n=F(()=>m(Oi)===`create`?null:xi(t())[0]??null);tJ(e,{get schema(){return t()},get row(){return m(n)},presentation:`inline`,onSubmit:()=>{}})}}),f(e,n)},u=(e,t=N,n=N,r=N)=>{let i=F(()=>Hi(t())),a=F(()=>ia(t())),o=F(()=>m(i)?Ca(m(i)):`box`),s=F(()=>m(wi)&&!m(Yi).includes(t())&&m(Ti)?.section===n().section?m(Ti).index:null),c=F(()=>ea(t())),l=F(()=>m(qi).has(t())||m(Ci)===t());var u=Nse();let d;var p=H(u),h=H(p),_=H(h,!0),v=j(_),b=e=>{var t=Dse();E(()=>B(t,`title`,m(c)&&m(c).required!==!!m(i)?.required?`Required by a rule for this record`:`Always required`)),f(e,t)};g(v,e=>{(m(c)?m(c).required:m(i)?.required)&&e(b)}),W(h);var x=j(h,2),S=e=>{var t=m6();f(e,t)};g(x,e=>{m(c)&&m(c).disabled&&!m(i)?.readonly&&e(S)});var w=j(x,2),D=e=>{var t=Ose();f(e,t)};g(w,e=>{m(c)&&!m(c).visible&&e(D)});var O=j(w,2),A=e=>{var t=kse(),n=H(t,!0);W(t),E(()=>{B(t,`title`,`${m(a)??``} condition${m(a)===1?``:`s`} on this field`),y(n,m(a))}),f(e,t)};g(O,e=>{m(a)&&e(A)}),W(p);var ee=j(p,2),P=H(ee),te=e=>{var t=h6();f(e,t)},I=e=>{var t=Ase();k(),f(e,t)},L=e=>{var t=jse();k(),f(e,t)};g(P,e=>{m(o)===`select`?e(te):m(o)===`chips`?e(I,1):m(o)===`slider`&&e(L,2)}),W(ee);var ne=j(ee,2),re=e=>{var t=Mse(),n=H(t,!0);W(t),E(()=>y(n,m(i).input.help)),f(e,t)};g(ne,e=>{m(i)?.input?.help&&e(re)}),W(u),E((e,t,n)=>{d=Ee(u,1,`sv-studio__fb-fld svelte-psjrav`,null,d,e),M(u,`grid-column: span ${t??``}`),B(u,`aria-pressed`,m(l)),y(_,n),Ee(ee,1,`sv-studio__fb-ctl sv-studio__fb-ctl--${m(o)??``}`,`svelte-psjrav`)},[()=>({"is-selected":m(l),"is-primary":m(Ci)===t()&&m(ji).length>1,"is-dragging":m(Yi).includes(t()),"is-drop-before":m(s)===n().index,"is-drop-after":m(s)!==null&&m(s)===n().index+1,"is-sim-off":m(c)&&!m(c).visible}),()=>Ta(m(i),r()),()=>m(i)?.label??Sa(t())]),C(`click`,u,e=>ca(t(),n().section,e)),C(`keydown`,u,e=>{(e.key===`ArrowUp`||e.key===`ArrowDown`)&&(e.preventDefault(),Oa(t(),e.key===`ArrowDown`?1:-1))}),T(`dragstart`,u,e=>{m(qi).has(t())||(U(ji,[t()],!0),U(Ci,t(),!0)),U(wi,t(),!0),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t()))}),T(`dragend`,u,()=>{U(wi,null),U(Ti,null)}),T(`dragover`,u,e=>{if(!m(wi)||m(Yi).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;U(Ti,{section:n().section,index:a?n().index+1:n().index},!0)}),T(`drop`,u,e=>{e.preventDefault(),e.stopPropagation(),Da(n().section,m(Ti)?.index??n().index)}),f(e,u)},d=(e,t=N,n=N,r=N,i=N)=>{var a=g6();let o;var s=H(a),c=e=>{var t=w();E(()=>y(t,i())),f(e,t)};g(s,e=>{n()||e(c)}),W(a),E(()=>{o=Ee(a,1,`sv-studio__fb-tail svelte-psjrav`,null,o,{"is-empty":!n(),"is-over":m(wi)!=null&&m(Ti)?.section===t()&&m(Ti).index>=n()}),M(a,`grid-column: span ${r()??``}`),B(a,`aria-label`,i())}),T(`dragover`,a,e=>{m(wi)&&(e.preventDefault(),U(Ti,{section:t(),index:n()},!0))}),T(`drop`,a,e=>{e.preventDefault(),Da(t(),n())}),f(e,a)},_=e=>{var t=Bse(),n=R(t),r=e=>{var t=Pse(),n=H(t,!0);W(t),E(()=>{Ee(t,1,`sv-studio__req-result sv-studio__issue sv-studio__issue--${m(ef).ok?`ok`:`error`}`,`svelte-psjrav`),y(n,m(ef).message)}),f(e,t)};g(n,e=>{m(ef)&&e(r)});var o=j(n,2),s=e=>{let t=F(()=>m(vi)[m(Dd).name]??[]),n=F(()=>Object.keys(m(t)[0]??{})),r=F(()=>m(n).slice(0,6));var o=zse(),s=H(o),c=H(s),l=j(H(c)),u=H(l);W(l),W(c);var d=j(c,2),p=H(d);a(p,()=>`import`);var h=j(p);W(d),W(s);var _=j(s,2),v=H(_),b=H(v),x=H(b);z(x,20,()=>m(r),e=>e,(e,t)=>{var n=Fse(),r=H(n,!0);W(n),E(()=>y(r,t)),f(e,n)}),W(x),W(b);var S=j(b);z(S,21,()=>m(t).slice(0,6),i,(e,t)=>{var n=Lse();z(n,20,()=>m(r),e=>e,(e,n)=>{var r=Ise(),i=H(r,!0);W(r),E(e=>y(i,e),[()=>xf(m(t)[n])]),f(e,r)}),W(n),f(e,n)}),W(S),W(v),W(_);var w=j(_,2),T=e=>{var t=Rse();f(e,t)},D=F(()=>!m(r).some(e=>(m(Dd)?.fields??[]).some(t=>t.field===e)));g(w,e=>{m(D)&&e(T)}),W(o),E(e=>{y(u,`· showing ${e??``} of ${m(t).length??``}${m(t).length>=25?`+`:``}`),y(h,` Import ${m(n).length??``} fields`)},[()=>Math.min(m(t).length,6)]),C(`click`,d,Cf),f(e,o)};g(o,e=>{m(Dd)&&(m(vi)[m(Dd).name]??[]).length&&e(s)}),f(e,t)},b=(e,t)=>{let n=()=>t?.().value,r=()=>t?.().type;var i=h(),a=R(i),o=e=>{{let t=F(()=>Hu(n()));I_(e,{get variant(){return m(t)},size:`sm`,pill:!0,children:(e,t)=>{k();var r=w();E(e=>y(r,e),[()=>String(n()??``)]),f(e,r)},$$slots:{default:!0}})}},s=e=>{var t=Vse(),i=H(t);{let e=F(()=>Number(n()??0)),t=F(()=>r().max??100);Ny(i,{get value(){return m(e)},get max(){return m(t)},size:`sm`,color:`accent`})}W(t),f(e,t)},c=e=>{var t=Hse(),i=H(t,!0);W(t),E((e,n)=>{B(t,`href`,e),y(i,n)},[()=>(r().as===`email`?`mailto:`:r().as===`tel`?`tel:`:``)+String(n()??``),()=>String(n()??``)]),f(e,t)};g(a,e=>{r().kind===`badge`?e(o):r().kind===`progress`?e(s,1):e(c,-1)}),f(e,i)},x=(e,t)=>{let n=()=>t?.().row,r=()=>t?.().ent,a=()=>t?.().actions;var o=qse();z(o,21,a,i,(e,t)=>{var i=h(),a=R(i),o=e=>{var i=Use(),a=H(i,!0);W(i),E(()=>y(a,m(t).label??`Edit`)),C(`click`,i,e=>{e.stopPropagation(),U(Ua,{ent:r(),row:n()},!0)}),f(e,i)},s=e=>{var i=Wse(),a=H(i,!0);W(i),E(()=>y(a,m(t).label??`Delete`)),C(`click`,i,e=>{e.stopPropagation(),Ga(r(),String(n()[Wa(r())]??``))}),f(e,i)},c=e=>{var n=Gse(),r=H(n,!0);W(n),E(()=>y(r,m(t).label??`Open`)),C(`click`,n,e=>{e.stopPropagation(),U(pt,m(t).screen,!0)}),f(e,n)},l=e=>{var n=Kse(),r=H(n,!0);W(n),E(()=>y(r,m(t).label??`Action`)),C(`click`,n,e=>e.stopPropagation()),f(e,n)};g(a,e=>{m(t).kind===`edit`?e(o):m(t).kind===`delete`?e(s,1):m(t).kind===`navigate`&&m(t).screen?e(c,2):e(l,-1)}),f(e,i)}),W(o),f(e,o)},S=(e,t=N)=>{let n=F(()=>m(Ro)?.blocks.find(e=>e.id===t().id));var r=h(),i=R(r),a=e=>{let r=F(()=>m(zo)??ai),i=F(()=>m(zo)?J(m(zo),bi(m(zo))):[]);var a=Jse(),o=H(a);{let e=F(()=>ns(m(r),m(i))),a=F(()=>Math.max((Ar[t().id]??360)-22,160));ne(o,()=>m(n),()=>m(r),()=>m(e),()=>m(a),()=>!0)}W(a),ye(a,`clientHeight`,e=>Ar[t().id]=e),f(e,a)};g(i,e=>{m(n)&&e(a)}),f(e,r)},te=(e,t=N)=>{let n=F(()=>m(ht)?.blocks.find(e=>e.id===t().id));var r=h(),i=R(r),a=e=>{let r=F(()=>m(Ur)??ai),i=F(()=>m(Ur)?J(m(Ur),m(Ya)):[]);var a=Yse();let o;var s=H(a),c=j(s,2);{let e=F(()=>Math.max((Ar[t().id]??320)-22,160));ne(c,()=>m(n),()=>m(r),()=>m(i),()=>m(e),()=>!1)}W(a),E(()=>o=Ee(a,1,`sv-studio__dockpane svelte-psjrav`,null,o,{"is-selected":m(n).id===m(Gn),"has-issue":!!m(li)[m(n).id]})),C(`click`,a,()=>U(Gn,m(n).id,!0)),C(`contextmenu`,a,e=>kn(e,jn(m(n)))),C(`keydown`,a,e=>e.key===`Enter`&&U(Gn,m(n).id,!0)),C(`click`,s,e=>{e.stopPropagation(),Dn(m(n).id)}),ye(a,`clientHeight`,e=>Ar[t().id]=e),f(e,a)};g(i,e=>{m(n)&&e(a)}),f(e,r)},ne=(e,t=N,n=N,r=N,o=N,s=N)=>{var l=h(),u=R(l),d=e=>{let i=F(()=>t().config),a=F(()=>m(i).scheduler);{let t=F(()=>Ja(m(i),n())),s=F(()=>({startField:m(a).startField,endField:m(a).endField,titleField:m(a).titleField,colorField:m(a).colorField,resourceField:m(a).resourceField,recurrenceField:m(a).recurrenceField,allDayField:m(a).allDayField,initialView:m(a).initialView,drawer:m(a).drawer!==!1}));Pl(e,{get data(){return r()},get columns(){return m(t)},getRowId:e=>String(e[n().idField??`id`]),get containerHeight(){return o()},get scheduler(){return m(s)}})}},p=e=>{let i=F(()=>t().config),a=F(()=>m(i).editing===`form`||m(i).editing===`inline`),s=F(()=>m(i).filterUi??{global:!0});var c=b6(),l=R(c),u=e=>{var r=y6(),o=H(r),s=e=>{var t=Xse(),r=H(t);W(t),E(()=>y(r,`+ New ${n().label??n().name??``}`)),C(`click`,t,()=>U(Ua,{ent:n(),row:null},!0)),f(e,t)};g(o,e=>{m(a)&&e(s)});var c=j(o,4),l=e=>{var r=_6();C(`click`,r,()=>void Lo[t().id]?.exportCsv({filename:n().name})),f(e,r)};g(c,e=>{m(i).export?.csv&&e(l)});var u=j(c,2),d=e=>{var r=v6();C(`click`,r,()=>void Lo[t().id]?.exportJson({filename:n().name})),f(e,r)};g(u,e=>{m(i).export?.json&&e(d)});var p=j(u,2),h=e=>{var r=Zse();C(`click`,r,()=>void nd(t().id,`xlsx`,n().name)),f(e,r)};g(p,e=>{m(i).export?.xlsx&&e(h)});var _=j(p,2),v=e=>{var r=Qse();C(`click`,r,()=>void nd(t().id,`pdf`,n().name)),f(e,r)};g(_,e=>{m(i).export?.pdf&&e(v)});var b=j(_,2),x=e=>{var r=$se();C(`click`,r,()=>void id(t().id,n().name)),f(e,r)};g(b,e=>{m(i).export?.print&&e(x)});var S=j(b,2),w=e=>{var n=ece();C(`click`,n,()=>void Lo[t().id]?.copyToClipboard()),f(e,n)};g(S,e=>{m(i).export?.copy&&e(w)}),W(r),f(e,r)};g(l,e=>{(m(a)||m(i).export&&(m(i).export.csv||m(i).export.json||m(i).export.copy||m(i).export.xlsx||m(i).export.pdf||m(i).export.print))&&e(u)});var d=j(l,2);{let e=F(()=>Ja(m(i),n())),c=F(()=>m(i).filterable&&!!m(s).global),l=F(()=>m(i).filterable&&!!m(s).row),u=F(()=>m(i).filterable&&!!m(s).menu),f=F(()=>!!m(i).grouping?.length),p=F(()=>ol(m(i))),h=F(()=>m(i).density===`compact`?28:m(i).density===`comfortable`?46:30),g=F(()=>Number(m(i).props?.headerHeight)||(m(i).density===`comfortable`?48:m(i).density===`compact`?34:42)),_=F(()=>m(a)?e=>U(Ua,{ent:n(),row:e.row},!0):void 0);Pl(d,{get data(){return r()},get columns(){return m(e)},get containerHeight(){return o()},fitColumns:!0,get sortable(){return m(i).sortable},get filterable(){return m(i).filterable},get showGlobalFilter(){return m(c)},get showFilterRow(){return m(l)},get showFilterMenu(){return m(u)},get enableCellSelection(){return m(i).cellSelection},get enableRowSummaries(){return m(i).rowSummaries},get zebraRows(){return m(i).striped},get showRowSelection(){return m(i).selectable},get groupable(){return m(f)},get conditionalFormats(){return m(p)},get rowHeight(){return m(h)},get headerHeight(){return m(g)},onApiReady:e=>{Lo[t().id]=e,m(i).grouping?.length&&e.setGroupBy([...m(i).grouping])},onRowClick:e=>Io[n().name]=e.row,get onRowDoubleClick(){return m(_)}})}f(e,c)},_=e=>{var r=h(),i=R(r);ce(i,()=>JSON.stringify(n().form??null),e=>{{let r=F(()=>t().config.width??`md`),i=F(()=>t().config.title??`New ${n().label??n().name}`);tJ(e,{get schema(){return n()},row:null,presentation:`inline`,get formSize(){return m(r)},get title(){return m(i)},get submitLabel(){return t().config.submitLabel},onSubmit:()=>{}})}}),f(e,r)},v=e=>{{let i=F(()=>t().config.color||`var(--sg-accent)`),a=F(()=>t().config.dataLabels!==!1),s=F(()=>vc(n(),t().config.measure)&&t().config.reduce!==`count`?e=>`$${e.toLocaleString()}`:void 0);sJ(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 o()},width:340,get accent(){return m(i)},get dataLabels(){return m(a)},get formatValue(){return m(s)}})}},b=e=>{pJ(e,{get schema(){return n()},get rows(){return r()}})},x=e=>{let i=F(()=>t().config),a=F(()=>Cc(m(i),r())),o=F(()=>Sc(m(i),r()));var s=C6(),c=H(s),l=H(c,!0);W(c);var u=j(c,2),d=H(u,!0);W(u);var p=j(u,2),h=e=>{var t=tce();let n;var r=H(t,!0);W(t),E(()=>{n=Ee(t,1,`sv-studio__kpi-delta svelte-psjrav`,null,n,{"is-up":m(a).up,"is-down":!m(a).up}),y(r,m(a).text)}),f(e,t)};g(p,e=>{m(a)&&e(h)});var _=j(p,2),v=e=>{var t=x6(),n=H(t);W(t),E(e=>B(n,`points`,e),[()=>WK(m(o))]),f(e,t)},b=e=>{var t=S6(),n=H(t);W(t),E(()=>y(n,`${m(i).reduce??``}${m(i).measure?` · ${m(i).measure}`:``}`)),f(e,t)};g(_,e=>{m(o).length>1?e(v):e(b,-1)}),W(s),E(e=>{y(l,m(i).label),y(d,e)},[()=>yc(m(i),n(),r())]),f(e,s)},S=e=>{let n=F(()=>t().config);var i=nce(),a=H(i),o=H(a,!0);W(a);var s=j(a,2);{let e=F(()=>UK(r(),{measure:m(n).measure,reduce:m(n).reduce})),t=F(()=>bc(m(n).unit)?``:m(n).unit??``),i=F(()=>xc(m(n).unit));hh(s,{get value(){return m(e)},get min(){return m(n).min},get max(){return m(n).max},get unit(){return m(t)},get formatValue(){return m(i)},size:150})}W(i),E(()=>y(o,m(n).label)),f(e,i)},T=e=>{let i=F(()=>t().config);var a=h(),o=R(a),s=e=>{var t=w6(),a=H(t);{let e=F(()=>wc(r(),n(),m(i)));Dh(a,{get nodes(){return m(e)}})}W(t),f(e,t)},c=e=>{var t=T6();f(e,t)};g(o,e=>{m(i).labelField&&m(i).parentField?e(s):e(c,-1)}),f(e,a)},D=e=>{let a=F(()=>t().config),o=F(()=>Po[t().id]??`${t().id}-0`);{let c=(e,o=N)=>{var c=h(),l=R(c);z(l,17,()=>m(a).tabs,i,(e,i,a)=>{var c=h(),l=R(c),u=e=>{var t=h(),a=R(t),o=e=>{var t=rce();z(t,21,()=>m(i).blocks,e=>e.id,(e,t)=>{var i=E6();let a;var o=H(i);ne(o,()=>m(t),n,r,()=>180,s),W(i),E((e,n)=>{B(i,`data-block-id`,m(t).id),a=Ee(i,1,`sv-studio__tabchild svelte-psjrav`,null,a,{"is-selected":m(t).id===m(Gn),"has-issue":!!m(li)[m(t).id]}),M(i,`grid-column: span ${e??``}`),B(i,`title`,`Select ${n??``} to edit it`)},[()=>Math.min(12,YX(m(t))),()=>hc(m(t).config.kind)]),C(`click`,i,e=>{e.stopPropagation(),U(Gn,m(t).id,!0)}),C(`keydown`,i,e=>{e.key===`Enter`&&(e.stopPropagation(),U(Gn,m(t).id,!0))}),f(e,i)}),W(t),f(e,t)},c=e=>{var t=ice();f(e,t)};g(a,e=>{m(i).blocks.length?e(o):e(c,-1)}),f(e,t)};g(l,e=>{o()===`${t().id}-${a}`&&e(u)}),f(e,c)}),f(e,c)},l=F(()=>m(a).tabs.map((e,n)=>({id:`${t().id}-${n}`,label:e.label})));Ut(e,{get tabs(){return m(l)},get value(){return m(o)},onChange:e=>Po[t().id]=e,panel:c,$$slots:{panel:!0}})}},O=e=>{let a=F(()=>t().config),o=F(()=>Fo[t().id]??[`${t().id}-s0`]);{let c=(e,o=N)=>{var c=h(),l=R(c);z(l,17,()=>m(a).sections,i,(e,i,a)=>{var c=h(),l=R(c),u=e=>{var t=h(),a=R(t),o=e=>{var t=oce();z(t,21,()=>m(i).blocks,e=>e.id,(e,t)=>{var i=ace();let a;var o=H(i);ne(o,()=>m(t),n,r,()=>180,s),W(i),E((e,n)=>{B(i,`data-block-id`,m(t).id),a=Ee(i,1,`sv-studio__tabchild svelte-psjrav`,null,a,{"is-selected":m(t).id===m(Gn),"has-issue":!!m(li)[m(t).id]}),M(i,`grid-column: span ${e??``}`),B(i,`title`,`Select ${n??``} to edit it`)},[()=>Math.min(12,YX(m(t))),()=>hc(m(t).config.kind)]),C(`click`,i,e=>{e.stopPropagation(),U(Gn,m(t).id,!0)}),C(`keydown`,i,e=>{e.key===`Enter`&&(e.stopPropagation(),U(Gn,m(t).id,!0))}),f(e,i)}),W(t),f(e,t)},c=e=>{var t=sce();f(e,t)};g(a,e=>{m(i).blocks.length?e(o):e(c,-1)}),f(e,t)};g(l,e=>{o().id===`${t().id}-s${a}`&&e(u)}),f(e,c)}),f(e,c)},l=F(()=>m(a).sections.map((e,n)=>({id:`${t().id}-s${n}`,label:e.label}))),u=F(()=>m(a).multiple?`multiple`:`single`);oee(e,{get items(){return m(l)},get expandMode(){return m(u)},get expanded(){return m(o)},onChange:e=>Fo[t().id]=e,panel:c,$$slots:{panel:!0}})}},ee=e=>{let i=F(()=>UZ(m(G),t().config.childEntity)),a=F(()=>t().config.linkScreen);{let t=F(()=>m(a)&&m(G).screens.some(e=>e.id===m(a))?()=>U(pt,m(a),!0):void 0);kae(e,{get schema(){return n()},get data(){return r()},get detailSchema(){return m(i)},getChildren:()=>vY(m(i),3),get containerHeight(){return o()},detailHeight:130,rowHeight:30,get onParentClick(){return m(t)}})}},P=F(()=>t().config.kind===`master-detail`&&t().config.childEntity&&UZ(m(G),t().config.childEntity)),te=e=>{{let i=F(()=>Ac(n())),a=F(()=>jc(t().config)),s=F(()=>Math.max(o()-64,120));Hoe(e,{get data(){return r()},get fields(){return m(i)},get layout(){return m(a)},showFieldList:!1,showToolbar:!1,get gridHeight(){return m(s)}})}},I=e=>{let i=F(()=>t().config);{let t=F(()=>Math.max(o()-8,260)),a=F(()=>m(i).openScreen&&m(G).screens.some(e=>e.id===m(i).openScreen)?()=>U(pt,m(i).openScreen,!0):void 0);CJ(e,{get schema(){return n()},get rows(){return r()},get groupBy(){return m(i).groupBy},get titleField(){return m(i).titleField},get badgeField(){return m(i).badgeField},get subtitleField(){return m(i).subtitleField},get height(){return m(t)},onMove:(e,t)=>Ha(n(),e,{[m(i).groupBy]:t}),get onOpen(){return m(a)}})}},ie=e=>{let i=F(()=>t().config);{let t=F(()=>qa(n())),a=F(()=>Math.max(o()-8,420)),s=F(()=>({startField:m(i).dateField,titleField:m(i).titleField,colorField:m(i).colorField,drawer:!0}));Pl(e,{get data(){return r()},get columns(){return m(t)},getRowId:e=>String(e[n().idField??`id`]),get containerHeight(){return m(a)},get scheduler(){return m(s)}})}},ae=e=>{let i=F(()=>t().config);{let t=F(()=>m(i).metricFields??[]),a=F(()=>m(i).sections??[]),s=F(()=>Ra(m(i))),c=F(()=>Math.max(o()-8,320));Fne(e,{get schema(){return n()},get rows(){return r()},get titleField(){return m(i).titleField},get subtitleField(){return m(i).subtitleField},get statusField(){return m(i).statusField},get metricFields(){return m(t)},get sections(){return m(a)},get related(){return m(s)},get height(){return m(c)}})}},oe=e=>{let r=F(()=>t().config);var i=pce(),o=H(i),s=H(o);a(s,()=>`filter`);var c=j(s),l=H(c,!0);W(c),W(o);var u=j(o,2);z(u,17,()=>Mc(n(),m(r)),e=>e.field,(e,t)=>{let r=F(()=>m(Xa)[n().name]?.[m(t).field]??``);var i=D6(),a=H(i),o=H(a,!0);W(a);var s=j(a,2),c=e=>{var i=cce();L(i),E(e=>{B(i,`placeholder`,`Search ${e??``}…`),re(i,m(r))},[()=>(m(t).label??m(t).field).toLowerCase()]),C(`input`,i,e=>Za(n().name,m(t).field,e.currentTarget.value)),f(e,i)},l=e=>{let i=F(()=>m(t).type===`boolean`?[{value:`true`,label:`Yes`,color:`#10b981`},{value:`false`,label:`No`,color:`#94a3b8`}]:m(t).type===`relation`?Qa(m(t)).map(e=>({value:e.value,label:e.label,color:void 0})):(m(t).options??[]).map(e=>({value:String(e.value),label:e.label??String(e.value),color:e.color})));var a=dce(),o=H(a);let s;var c=j(o,2);z(c,17,()=>m(i),e=>e.value,(e,i)=>{var a=uce();let o;var s=H(a),c=e=>{var t=lce();E(()=>M(t,`background: ${m(i).color??``};`)),f(e,t)};g(s,e=>{m(i).color&&e(c)});var l=j(s,1,!0);W(a),E(e=>{o=Ee(a,1,`sv-studio__facet-chip svelte-psjrav`,null,o,e),M(a,m(i).color?`--chip: ${m(i).color};`:``),y(l,m(i).label)},[()=>({"is-active":m(r)===String(m(i).value)})]),C(`click`,a,()=>Za(n().name,m(t).field,m(r)===String(m(i).value)?``:String(m(i).value))),f(e,a)}),W(a),E(()=>s=Ee(o,1,`sv-studio__facet-chip svelte-psjrav`,null,s,{"is-active":m(r)===``})),C(`click`,o,()=>Za(n().name,m(t).field,``)),f(e,a)};g(s,e=>{m(t).type===`text`&&!m(t).options?.length?e(c):e(l,-1)}),W(i),E(()=>y(o,m(t).label??m(t).field)),f(e,i)});var d=j(u,2),p=e=>{var t=fce();f(e,t)},h=F(()=>!Mc(n(),m(r)).length);g(d,e=>{m(h)&&e(p)}),W(i),E(()=>y(l,m(r).title??`Filters`)),f(e,i)},se=e=>{let r=F(()=>Io[n().name]),i=F(()=>t().config.presentation??`inline`);var o=h(),c=R(o),l=e=>{var n=mce(),r=H(n);a(r,()=>`record`);var o=j(r),s=H(o);W(o),W(n),E(()=>y(s,`Select a row in the grid above to ${t().config.editable?m(i)===`inline`?`edit`:`open its ${m(i)===`drawer`?`editor drawer`:`edit dialog`}`:`view`} it here.`)),f(e,n)},u=e=>{tJ(e,{get schema(){return n()},get row(){return m(r)},get presentation(){return m(i)},onSubmit:({id:e,values:t})=>Ha(n(),e,t),onCancel:()=>Io[n().name]=void 0})},d=e=>{var t=gce(),o=R(t),s=e=>{var t=hce(),n=H(t);a(n,()=>m(i)===`drawer`?`screen`:`file`);var r=j(n);W(t),E(()=>y(r,` Opens as ${m(i)===`drawer`?`sidebar`:`modal`} at runtime`)),f(e,t)};g(o,e=>{m(i)!==`inline`&&e(s)}),tJ(j(o,2),{get schema(){return n()},get row(){return m(r)},presentation:`inline`,onSubmit:({id:e,values:t})=>Ha(n(),e,t),onCancel:()=>Io[n().name]=void 0}),f(e,t)},p=e=>{var i=vce();z(i,21,()=>Nc(n(),t().config),e=>e.field,(e,t)=>{var n=_ce(),i=H(n),a=H(i,!0);W(i);var o=j(i),s=H(o,!0);W(o),W(n),E(e=>{y(a,m(t).label??m(t).field),y(s,e)},[()=>String(m(r)[m(t).field]??``)]),f(e,n)}),W(i),f(e,i)};g(c,e=>{m(r)?t().config.editable&&s()&&m(i)!==`inline`?e(u,1):t().config.editable?e(d,2):e(p,-1):e(l)}),f(e,o)},le=e=>{let n=F(()=>t().config),r=F(()=>rt[m(n).component]),i=F(()=>m(es)?m(Zo)[t().id]:void 0);var a=h(),o=R(a),s=e=>{var t=bce(),a=H(t),o=e=>{var t=yce(),a=H(t),o=e=>{var t=h(),n=R(t);c(n,()=>m(r),(e,t)=>{t(e,A(()=>m(i).props,{children:(e,t)=>{k();var n=w();E(()=>y(n,m(i).text)),f(e,n)},$$slots:{default:!0}}))}),f(e,t)},s=F(()=>BX(m(n).component)?.hasContent),l=e=>{var t=h(),n=R(t);c(n,()=>m(r),(e,t)=>{t(e,A(()=>m(i).props))}),f(e,t)};g(a,e=>{m(s)?e(o):e(l,-1)}),W(t),C(`click`,t,e=>m(i).on?.click?.(e)),f(e,t)},s=e=>{var t=h(),i=R(t);{let e=F(()=>dt(m(n)));c(i,()=>m(r),(t,r)=>{r(t,A(()=>m(e),{children:(e,t)=>{k();var r=w();E(e=>y(r,e),[()=>ft(m(n))]),f(e,r)},$$slots:{default:!0}}))})}f(e,t)},l=F(()=>BX(m(n).component)?.hasContent),u=e=>{var t=h(),i=R(t);{let e=F(()=>dt(m(n)));c(i,()=>m(r),(t,n)=>{n(t,A(()=>m(e)))})}f(e,t)};g(a,e=>{m(i)?e(o):m(l)?e(s,1):e(u,-1)}),W(t),f(e,t)},l=e=>{var t=xce(),r=H(t);W(t),E(()=>y(r,`Unknown component "${m(n).component??``}"`)),f(e,t)};g(o,e=>{m(r)?e(s):e(l,-1)}),f(e,a)},ue=e=>{var n=Sce(),r=H(n);W(n),E(e=>y(r,`${e??``} - configure in the inspector`),[()=>hc(t().config.kind)]),f(e,n)};g(u,e=>{t().config.kind===`grid`&&t().config.scheduler?e(d):t().config.kind===`grid`?e(p,1):t().config.kind===`form`?e(_,2):t().config.kind===`chart`?e(v,3):t().config.kind===`dashboard`?e(b,4):t().config.kind===`kpi`?e(x,5):t().config.kind===`gauge`?e(S,6):t().config.kind===`tree`?e(T,7):t().config.kind===`tabs`?e(D,8):t().config.kind===`accordion`?e(O,9):m(P)?e(ee,10):t().config.kind===`pivot`?e(te,11):t().config.kind===`board`?e(I,12):t().config.kind===`calendar`?e(ie,13):t().config.kind===`detail`?e(ae,14):t().config.kind===`filter`?e(oe,15):t().config.kind===`record`?e(se,16):t().config.kind===`component`?e(le,17):e(ue,-1)}),f(e,l)},ae=(e,t=N,n=N)=>{var r=Cce(),i=H(r);a(i,()=>t().config.kind===`component`?`file`:t().config.kind);var o=j(i,1,!0),s=j(o);W(r),E(e=>y(o,e),[()=>t().config.kind===`component`?BX(t().config.component)?.label??t().config.component:hc(t().config.kind)]),C(`click`,s,function(...e){n()?.apply(this,e)}),f(e,r)},oe=(e,t=N,n=N)=>{var r=h(),i=R(r),a=e=>{var r=wce();z(r,20,()=>m(vt),e=>e,(e,t)=>{var n=O6(),r=H(n,!0);W(n);var i={};E(()=>{y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),f(e,n)}),W(r);var i;we(r),E(()=>{i!==(i=t())&&(r.value=(r.__value=t())??``,Oe(r,t()))}),C(`change`,r,e=>n()(e.currentTarget.value)),f(e,r)},o=e=>{var r=k6();L(r),E(()=>re(r,t())),C(`change`,r,e=>n()(e.currentTarget.value)),f(e,r)};g(i,e=>{m(vt).length?e(a):e(o,-1)}),f(e,r)},se=(e,t=N,n=N)=>{var r=A6();z(r,20,()=>m(_t),e=>e,(e,t)=>{var n=Tce(),r=H(n,!0);W(n);var i={};E(()=>{y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),f(e,n)}),W(r);var i;we(r),E(()=>{i!==(i=t())&&(r.value=(r.__value=t())??``,Oe(r,t()))}),C(`change`,r,e=>n()(e.currentTarget.value)),f(e,r)},le=(e,t=N,n=N)=>{var r=h(),i=R(r),a=e=>{var n=Oce(),r=H(n);d6(H(r),t),W(r);var i=j(r,2),a=H(i);W(i),W(n),E(()=>{B(i,`title`,t().description),y(a,`set in code: ctx.grid.${t().key??``} = …`)}),f(e,n)},o=e=>{var r=Ace(),i=H(r);L(i);var a=j(i),o=j(a),s=e=>{var n=kce();E(()=>{B(n,`aria-label`,`${t().label}: ${t().description}`),B(n,`title`,t().description)}),f(e,n)};g(o,e=>{t().description&&e(s)}),W(r),E(()=>{de(i,!!n()),y(a,` ${t().label??``}`)}),C(`change`,i,e=>rn(t().key,e.currentTarget.checked)),f(e,r)},s=e=>{var r=Mce(),i=H(r);d6(i,t);var a=j(i,2),o=H(a);o.value=o.__value=``;var s=j(o);z(s,16,()=>t().options??[],e=>e,(e,t)=>{var n=jce(),r=H(n,!0);W(n);var i={};E(()=>{y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),f(e,n)}),W(a);var c;we(a),W(r),E(e=>{B(a,`title`,t().description),c!==(c=e)&&(a.value=(a.__value=e)??``,Oe(a,e))},[()=>String(n()??``)]),C(`change`,a,e=>rn(t().key,e.currentTarget.value||void 0)),f(e,r)},c=e=>{var r=j6(),i=H(r);d6(i,t);var a=j(i,2);L(a),W(r),E(e=>{B(a,`title`,t().description),re(a,e)},[()=>n()==null?``:Number(n())]),C(`change`,a,e=>rn(t().key,e.currentTarget.value===``?void 0:Number(e.currentTarget.value))),f(e,r)},l=e=>{var r=Nce(),i=H(r);d6(H(i),t),W(i);var a=j(i,2);I(a);let o;var s=j(a,2),c=e=>{var t=M6();f(e,t)};g(s,e=>{m(lt)[`grid:${t().key}`]&&e(c)}),W(r),E(e=>{o=Ee(a,1,`sv-studio__prop-json svelte-psjrav`,null,o,{"is-invalid":m(lt)[`grid:${t().key}`]}),B(a,`title`,t().description??`JSON value`),re(a,e)},[()=>n()==null?``:JSON.stringify(n(),null,1)]),C(`change`,a,e=>an(t().key,e.currentTarget.value)),f(e,r)},u=e=>{var r=Pce(),i=H(r);d6(i,t);var a=j(i,2);L(a),W(r),E(e=>{B(a,`title`,t().description),re(a,e)},[()=>String(n()??``)]),C(`change`,a,e=>rn(t().key,e.currentTarget.value||void 0)),f(e,r)};g(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)}),f(e,r)},ue=e=>{var t=Fce(),n=H(t);let r;var i=H(n);a(i,()=>`dashboard`),k(),W(n);var o=j(n,2);let s;var c=H(o);a(c,()=>`navigate`),k(),W(o),W(t),E(()=>{r=Ee(n,1,`sv-studio__insp-tab svelte-psjrav`,null,r,{"is-active":m(Jn)===`properties`}),B(n,`aria-selected`,m(Jn)===`properties`),s=Ee(o,1,`sv-studio__insp-tab svelte-psjrav`,null,s,{"is-active":m(Jn)===`events`}),B(o,`aria-selected`,m(Jn)===`events`)}),C(`click`,n,()=>U(Jn,`properties`)),C(`click`,o,()=>U(Jn,`events`)),f(e,t)},pe=(e,t=N)=>{var n=h(),r=R(n),i=e=>{var n=F6(),r=R(n),i=H(r);z(i,21,t,e=>e.slot,(e,t)=>{var n=P6();let r;var i=H(n),a=H(i,!0);W(i);var o=j(i),s=H(o),c=e=>{var n=N6(),r=R(n),i=H(r,!0);W(r);var a=j(r),o=e=>{var t=Ice();f(e,t)};g(a,e=>{m(t).count>0&&e(o)}),E(()=>y(i,m(t).handler)),f(e,n)},l=e=>{var t=Lce();f(e,t)};g(s,e=>{m(t).handler?e(c):e(l,-1)}),W(o),W(n),E(e=>{r=Ee(n,1,`sv-studio__evgrid-row svelte-psjrav`,null,r,{"is-wired":m(t).count>0}),B(n,`title`,e),y(a,m(t).label)},[()=>`Runs when the ${m(t).label.toLowerCase()} event fires. Double-click to add its handler in handlers.ts.`]),C(`dblclick`,n,()=>Wt(m(t).blockId,m(t).slot,m(t).label)),f(e,n)}),W(i),W(r),k(2),f(e,n)},a=e=>{var t=I6();f(e,t)};g(r,e=>{t().length?e(i):e(a,-1)}),f(e,n)},ve=(e,t=N,n=N)=>{var r=Rce();C(`click`,r,()=>En(t(),n(),`aggregate`)),f(e,r)},be=(e,t=N,n=N,r=N)=>{var i=Vce(),a=H(i),o=j(H(a),2),s=H(o);s.value=s.__value=`aggregate`;var c=j(s);c.value=c.__value=`field`;var l=j(c);l.value=l.__value=`expr`,W(o);var u;we(o);var d=j(o,2);W(a);var p=j(a,2),m=e=>{var i=L6(),a=R(i),o=H(a);z(o,20,()=>di,e=>e,(e,t)=>{var n=zce(),r=H(n,!0);W(n);var i={};E(()=>{y(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),f(e,n)}),W(o);var s;we(o);var c=j(o,2),l=e=>{oe(e,()=>r().field??``,()=>e=>Tn(t(),n(),r(),{field:e}))};g(c,e=>{r().reduce!==`count`&&e(l)}),W(a);var u=j(a,2),d=H(u,!0);W(u),E(()=>{s!==(s=r().reduce)&&(o.value=(o.__value=r().reduce)??``,Oe(o,r().reduce)),y(d,r().reduce===`count`?`Count of all rows.`:`${r().reduce} of ${r().field||`…`} across all rows`)}),C(`change`,o,e=>Tn(t(),n(),r(),{reduce:e.currentTarget.value})),f(e,i)},h=e=>{var i=R6(),a=R(i);oe(a,()=>r().field,()=>e=>Tn(t(),n(),r(),{field:e}));var o=j(a,2),s=j(H(o)),c=H(s,!0);W(s),k(),W(o),E(()=>y(c,r().field||`…`)),f(e,i)},_=e=>{var i=Bce(),a=R(i);I(a),k(2),E(()=>re(a,r().code)),C(`change`,a,e=>Tn(t(),n(),r(),{code:e.currentTarget.value})),f(e,i)};g(p,e=>{r().kind===`aggregate`?e(m):r().kind===`field`?e(h,1):e(_,-1)}),W(i),E(()=>{u!==(u=r().kind)&&(o.value=(o.__value=r().kind)??``,Oe(o,r().kind))}),C(`change`,o,e=>En(t(),n(),e.currentTarget.value)),C(`click`,d,()=>sn(t(),n(),null)),f(e,i)},xe=(e,t=N,n=N,r)=>{let i=Ce(()=>ke(r?.(),!1));var a=H6(),o=H(a),s=H(o);s.value=s.__value=`literal`;var c=j(s),l=e=>{var t=z6();t.value=t.__value=`state`,f(e,t)};g(c,e=>{!m(i)&&(m(ht)?.state?.length??0)&&e(l)});var u=j(c),d=e=>{var t=Hce(),n=H(t,!0);W(t),t.value=t.__value=`field`,E(()=>y(n,m(i)?`Field`:`Row field`)),f(e,t)};g(u,e=>{(m(i)||m(ht)?.entity)&&e(d)});var p=j(u),h=e=>{var t=Uce();t.value=t.__value=`param`,f(e,t)};g(p,e=>{m(i)||e(h)}),W(o);var _;we(o);var v=j(o,2),b=e=>{var r=B6();L(r),E(()=>re(r,t().value)),C(`change`,r,e=>n()({kind:`literal`,value:e.currentTarget.value})),f(e,r)},x=e=>{var r=Wce();z(r,21,()=>m(ht)?.state??[],e=>e.name,(e,t)=>{var n=V6(),r=H(n,!0);W(n);var i={};E(()=>{y(r,m(t).name),i!==(i=m(t).name)&&(n.value=(n.__value=m(t).name)??``)}),f(e,n)}),W(r);var i;we(r),E(()=>{i!==(i=t().name)&&(r.value=(r.__value=t().name)??``,Oe(r,t().name))}),C(`change`,r,e=>n()({kind:`state`,name:e.currentTarget.value})),f(e,r)},S=e=>{oe(e,()=>t().name,()=>e=>n()({kind:`field`,name:e}))},w=e=>{var r=Gce();L(r),E(()=>re(r,t().name)),C(`change`,r,e=>n()({kind:`param`,name:e.currentTarget.value})),f(e,r)};g(v,e=>{t().kind===`literal`?e(b):t().kind===`state`?e(x,1):t().kind===`field`?e(S,2):e(w,-1)}),W(a),E(()=>{_!==(_=t().kind)&&(o.value=(o.__value=t().kind)??``,Oe(o,t().kind))}),C(`change`,o,e=>n()(wt(e.currentTarget.value,t()))),f(e,a)},Se=(e,t=N,n=N)=>{var r=qce(),a=R(r);z(a,17,t,i,(e,r,i)=>{var a=Kce(),o=H(a);oe(o,()=>m(r).field,()=>e=>n()(t().map((t,n)=>n===i?{...t,field:e}:t)));var s=j(o,2);xe(s,()=>m(r).value,()=>e=>n()(t().map((t,n)=>n===i?{...t,value:e}:t)));var c=j(s,2);W(a),C(`click`,c,()=>n()(t().filter((e,t)=>t!==i))),f(e,a)});var o=j(a,2);C(`click`,o,()=>n()([...t(),{field:m(vt)[0]??``,value:{kind:`literal`,value:``}}])),f(e,r)},Te=(e,t=N,n=N,r)=>{let i=Ce(()=>ke(r?.(),!1));var a=U6(),o=H(a);xe(o,()=>t().left,()=>e=>n()({...t(),left:e}),()=>m(i));var s=j(o,2),c=H(s);c.value=c.__value=`eq`;var l=j(c);l.value=l.__value=`neq`;var u=j(l);u.value=u.__value=`gt`;var d=j(u);d.value=d.__value=`lt`;var p=j(d);p.value=p.__value=`gte`;var h=j(p);h.value=h.__value=`lte`;var _=j(h);_.value=_.__value=`contains`;var v=j(_);v.value=v.__value=`truthy`;var y=j(v);y.value=y.__value=`falsy`,W(s);var b;we(s);var x=j(s,2),S=e=>{xe(e,()=>t().right??{kind:`literal`,value:``},()=>e=>n()({...t(),right:e}),()=>m(i))};g(x,e=>{t().op!==`truthy`&&t().op!==`falsy`&&e(S)}),W(a),E(()=>{b!==(b=t().op)&&(s.value=(s.__value=t().op)??``,Oe(s,t().op))}),C(`change`,s,e=>n()({...t(),op:e.currentTarget.value})),f(e,a)},Ae=(e,t=N,n=N,r=N)=>{var o=G6(),s=R(o);z(s,21,t,i,(e,i,a)=>{var o=Jce(),s=H(o),c=H(s),l=H(c);l.textContent=a+1;var u=j(l,1,!0);W(c);var d=j(c,2),p=H(d);p.disabled=a===0;var h=j(p,2),g=j(h,2);W(d),W(s);var _=j(s,2);je(_,()=>m(i),()=>e=>n()(t().map((t,n)=>n===a?{...t,...e}:t)),r),W(o),E(e=>{y(u,e),h.disabled=a===t().length-1},[()=>Mt(m(i))]),C(`click`,p,()=>n()(Et(t(),a,-1))),C(`click`,h,()=>n()(Et(t(),a,1))),C(`click`,g,()=>n()(t().filter((e,t)=>t!==a))),f(e,o)},e=>{var t=W6();f(e,t)}),W(s);var c=j(s,2);z(c,21,()=>jt,e=>e.type,(e,i)=>{var o=Yce(),s=H(o);a(s,()=>`plus`);var c=j(s),l=H(c,!0);W(c),W(o),E(()=>y(l,m(i).label)),C(`click`,o,()=>n()([...t(),At(m(i).type,r())])),f(e,o)}),W(c),f(e,o)},je=(e,t=N,n=N,r=N)=>{var i=ele(),a=H(i),o=e=>{var r=Xce(),i=R(r),a=j(H(i));oe(a,()=>t().field,()=>e=>n()({field:e})),W(i);var o=j(i,2),s=j(H(o));L(s),W(o),E(()=>{re(s,t().message??``),B(s,`placeholder`,`${t().field??``} is required`)}),C(`change`,s,e=>n()({message:e.currentTarget.value||void 0})),f(e,r)},s=e=>{var r=K6(),i=R(r),a=j(H(i));oe(a,()=>t().field,()=>e=>n()({field:e})),W(i);var o=j(i,2),s=j(H(o));xe(s,()=>t().value,()=>e=>n()({value:e}),()=>!0),W(o),f(e,r)},c=e=>{var r=Zce(),i=j(R(r),2);Te(i,()=>t().condition,()=>e=>n()({condition:e}),()=>!0);var a=j(i,2),o=j(H(a));L(o),W(a),E(()=>re(o,t().message)),C(`change`,o,e=>n()({message:e.currentTarget.value})),f(e,r)},l=e=>{var i=$ce(),a=j(R(i),2);Te(a,()=>t().condition,()=>e=>n()({condition:e}),()=>!0);var o=j(a,2),s=j(H(o));Ae(s,()=>t().then,()=>e=>n()({then:e}),r),W(o);var c=j(o,2),l=e=>{var i=Qce(),a=R(i),o=j(H(a));Ae(o,()=>t().else,()=>e=>n()({else:e.length?e:void 0}),r),W(a);var s=j(a,2);C(`click`,s,()=>n()({else:void 0})),f(e,i)},u=e=>{var t=q6();C(`click`,t,()=>n()({else:[]})),f(e,t)};g(c,e=>{t().else?e(l):e(u,-1)}),f(e,i)},u=e=>{var r=J6();I(r),E(()=>re(r,t().code)),C(`change`,r,e=>n()({code:e.currentTarget.value})),f(e,r)};g(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)}),W(i),f(e,i)},Me=(e,t=N,n=N)=>{var r=rle(),a=R(r);z(a,21,t,i,(e,r,i)=>{var a=tle(),o=H(a),s=H(o),c=H(s);c.textContent=i+1;var l=j(c,1,!0);W(s);var u=j(s,2),d=H(u);d.disabled=i===0;var p=j(d,2),h=j(p,2);W(u),W(o);var g=j(o,2);Ne(g,()=>m(r),()=>e=>n()(t().map((t,n)=>n===i?{...t,...e}:t))),W(a),E(e=>{y(l,e),p.disabled=i===t().length-1},[()=>Ct(m(r))]),C(`click`,d,()=>n()(Et(t(),i,-1))),C(`click`,p,()=>n()(Et(t(),i,1))),C(`click`,h,()=>n()(t().filter((e,t)=>t!==i))),f(e,a)},e=>{var t=nle();f(e,t)}),W(a);var o=j(a,2);Pe(o,()=>e=>n()([...t(),St(e)])),f(e,r)},Ne=(e,t=N,n=N)=>{var r=xle(),i=H(r),a=e=>{var r=ale(),i=j(H(r));z(i,21,()=>m(G).screens,e=>e.id,(e,t)=>{var n=ile(),r=H(n,!0);W(n);var i={};E(()=>{y(r,m(t).title),i!==(i=`/`+m(t).route)&&(n.value=n.__value=`/`+m(t).route)}),f(e,n)}),W(i);var a;we(i),W(r),E(()=>{a!==(a=t().to)&&(i.value=(i.__value=t().to)??``,Oe(i,t().to))}),C(`change`,i,e=>n()({to:e.currentTarget.value})),f(e,r)},o=e=>{var r=ole(),i=j(H(r)),a=H(i);a.value=a.__value=`csv`;var o=j(a);o.value=o.__value=`tsv`;var s=j(o);s.value=s.__value=`json`,W(i);var c;we(i),W(r),E(()=>{c!==(c=t().format??`csv`)&&(i.value=(i.__value=t().format??`csv`)??``,Oe(i,t().format??`csv`))}),C(`change`,i,e=>n()({format:e.currentTarget.value})),f(e,r)},s=e=>{var r=Y6(),i=j(H(r)),a=H(i);a.value=a.__value=`filters`;var o=j(a);o.value=o.__value=`sort`;var s=j(o);s.value=s.__value=`selection`,W(i);var c;we(i),W(r),E(()=>{c!==(c=t().what)&&(i.value=(i.__value=t().what)??``,Oe(i,t().what))}),C(`change`,i,e=>n()({what:e.currentTarget.value})),f(e,r)},c=e=>{var r=sle(),i=R(r),a=j(H(i));oe(a,()=>t().field,()=>e=>n()({field:e})),W(i);var o=j(i,2),s=j(H(o)),c=H(s);c.value=c.__value=`asc`;var l=j(c);l.value=l.__value=`desc`,W(s);var u;we(s),W(o),E(()=>{u!==(u=t().dir??`asc`)&&(s.value=(s.__value=t().dir??`asc`)??``,Oe(s,t().dir??`asc`))}),C(`change`,s,e=>n()({dir:e.currentTarget.value})),f(e,r)},l=e=>{var r=X6(),i=R(r),a=j(H(i));oe(a,()=>t().field,()=>e=>n()({field:e})),W(i);var o=j(i,2),s=j(H(o));L(s),W(o),E(()=>re(s,t().value)),C(`change`,s,e=>n()({value:e.currentTarget.value})),f(e,r)},u=e=>{var r=cle(),i=R(r),a=j(H(i));se(a,()=>t().target,()=>e=>n()({target:e})),W(i);var o=j(i,2),s=j(H(o));L(s),W(o);var c=j(o,2),l=j(H(c));L(l),W(c),E(()=>{re(s,t().prop),re(l,t().value)}),C(`change`,s,e=>n()({prop:e.currentTarget.value})),C(`change`,l,e=>n()({value:e.currentTarget.value})),f(e,r)},d=e=>{var r=lle(),i=R(r),a=j(H(i));se(a,()=>t().target,()=>e=>n()({target:e})),W(i);var o=j(i,2),s=j(H(o));L(s),W(o),E(()=>re(s,t().value)),C(`change`,s,e=>n()({value:e.currentTarget.value})),f(e,r)},p=e=>{var r=ule(),i=j(H(r));L(i),W(r),E(()=>re(i,t().message)),C(`change`,i,e=>n()({message:e.currentTarget.value})),f(e,r)},h=e=>{var r=dle(),i=j(H(r));L(i),W(r),E(()=>re(i,t().actionId)),C(`change`,i,e=>n()({actionId:e.currentTarget.value})),f(e,r)},_=e=>{var r=ple(),i=R(r),a=j(H(i));z(a,21,()=>m(ht)?.state??[],e=>e.name,(e,t)=>{var n=fle(),r=H(n,!0);W(n);var i={};E(()=>{y(r,m(t).name),i!==(i=m(t).name)&&(n.value=(n.__value=m(t).name)??``)}),f(e,n)}),W(a);var o;we(a),W(i);var s=j(i,2),c=j(H(s));xe(c,()=>t().value,()=>e=>n()({value:e})),W(s),E(()=>{o!==(o=t().name)&&(a.value=(a.__value=t().name)??``,Oe(a,t().name))}),C(`change`,a,e=>n()({name:e.currentTarget.value})),f(e,r)},v=e=>{var r=mle(),i=j(R(r),2);Se(i,()=>t().values,()=>e=>n()({values:e})),f(e,r)},b=e=>{var r=hle(),i=R(r),a=j(H(i));xe(a,()=>t().id,()=>e=>n()({id:e})),W(i);var o=j(i,4);Se(o,()=>t().values,()=>e=>n()({values:e})),f(e,r)},x=e=>{var r=gle(),i=j(H(r));xe(i,()=>t().id,()=>e=>n()({id:e})),W(r),f(e,r)},S=e=>{var r=yle(),i=j(R(r),2);Te(i,()=>t().condition,()=>e=>n()({condition:e}));var a=j(i,2),o=j(H(a),2);Me(o,()=>t().then,()=>e=>n()({then:e})),W(a);var s=j(a,2),c=e=>{var r=_le(),i=R(r),a=j(H(i),2);Me(a,()=>t().else,()=>e=>n()({else:e.length?e:void 0})),W(i);var o=j(i,2);C(`click`,o,()=>n()({else:void 0})),f(e,r)},l=e=>{var t=vle();C(`click`,t,()=>n()({else:[]})),f(e,t)};g(s,e=>{t().else?e(c):e(l,-1)}),f(e,r)},w=e=>{var r=ble();I(r),E(()=>re(r,t().code)),C(`change`,r,e=>n()({code:e.currentTarget.value})),f(e,r)};g(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(d,6):t().type===`alert`?e(p,7):t().type===`apiAction`?e(h,8):t().type===`setVar`?e(_,9):t().type===`createRecord`?e(v,10):t().type===`updateRecord`?e(b,11):t().type===`deleteRecord`?e(x,12):t().type===`branch`?e(S,13):t().type===`code`&&e(w,14)}),W(r),f(e,r)},Pe=(e,t=N)=>{var n=Cle();z(n,21,()=>m(xt),e=>e.type,(e,n)=>{var r=Sle(),i=H(r);a(i,()=>`plus`);var o=j(i),s=H(o,!0);W(o),W(r),E(()=>y(s,m(n).label)),C(`click`,r,()=>t()(m(n).type)),f(e,r)}),W(n),f(e,n)};gne();let Fe=V(n,`showPreview`,7,!0),Ie=V(n,`startWizard`,3,!1),Le=P(null),G=F(()=>m(Le)??n.project),Re=P(ge([])),ze=P(ge([])),Be=F(()=>m(Re).length>0),Ve=F(()=>m(ze).length>0);function He(e){e!==m(G)&&(U(Re,[...m(Re).slice(-59),m(G)],!0),U(ze,[],!0),U(Le,e,!0),n.onChange?.(e))}function Ue(){let e=m(Re).at(-1);e&&(U(ze,[m(G),...m(ze)],!0),U(Re,m(Re).slice(0,-1),!0),U(Le,e,!0),n.onChange?.(e))}function We(){let e=m(ze)[0];e&&(U(Re,[...m(Re),m(G)],!0),U(ze,m(ze).slice(1),!0),U(Le,e,!0),n.onChange?.(e))}let Ge=P(null),Ke=P(null),qe,Je=F(()=>n.persistKey?m(Ge)?`Saved`:m(Le)?`Saving…`:`Saved`:``),Ye=!1;D(()=>{if(!(Ye||!n.persistKey||Ie())){Ye=!0;try{let e=localStorage.getItem(n.persistKey);if(e&&e.trim()){let t=P$(e);N$(t)!==N$(n.project)&&U(Ke,t,!0)}}catch{}}}),D(()=>{if(!n.persistKey||m(Le)===null)return;let e=N$(m(G));clearTimeout(qe),qe=setTimeout(()=>{try{localStorage.setItem(n.persistKey,e),U(Ge,Date.now(),!0)}catch{}},600)});function Xe(){m(Ke)&&(U(Re,[],!0),U(ze,[],!0),U(Le,m(Ke),!0),m(Ke).screens[0]&&(U(pt,m(Ke).screens[0].id,!0),U(Gn,null)),n.onChange?.(m(Ke)),U(Ge,Date.now(),!0),U(Ke,null))}function Ze(){U(Ke,null);try{n.persistKey&&localStorage.removeItem(n.persistKey)}catch{}}function Qe(e,t){if(!m(ht))return;let n=t==null?mre(m(G),m(ht).id,e):hre(m(G),m(ht).id,e,t),r=n.screens.find(e=>e.id===m(ht).id);He(n),U(Gn,(t==null?r?.blocks.at(-1):r?.blocks[t])?.id??null,!0)}function $e(){m(ht)&&m(Gn)&&(He(hQ(m(G),m(ht).id,m(Gn))),U(Gn,null))}let et=P(null);function tt(e,t){if(m(ht)){if(m(Ur)){Qe(e,t);return}U(et,{kind:e,at:t},!0)}}function nt(e){if(!m(ht)||!m(et))return;let{kind:t,at:n}=m(et),r=VQ(m(G),m(ht).id,{entity:e});r=n==null?mre(r,m(ht).id,t):hre(r,m(ht).id,t,n),He(r);let i=r.screens.find(e=>e.id===m(ht).id);U(Gn,(n==null?i?.blocks.at(-1):i?.blocks[n])?.id??null,!0),U(et,null)}let rt={button:Tf,badge:I_,alert:Q_,progress:Ny,card:G_,divider:cv,avatar:Hv,stat:xv,"toggle-button":eee,switch:Mf,"text-input":Yf,textarea:$f,"number-input":sp,"password-input":gp,"color-input":Ap,checkbox:Rf,rating:Kf,slider:uh,"otp-input":vd,"circular-progress":Ly,skeleton:dee,chip:mv,"empty-state":iv,timeline:Ov,sparkline:Pv,"avatar-group":fee,pagination:ly,breadcrumb:Cy,stepper:ky,"masked-input":yp,"phone-input":wp,"tags-input":bm,"duration-input":Cd,"radio-group":Hf,"button-group":lu,"list-box":ct,"dropdown-list":Jp,"combo-box":lm,"auto-complete":tee,"multi-select":Fm,"repeat-button":Df,"rich-text":Od,tree:Dh,"country-input":th,title:qu,text:Ku,anchor:Xu,blockquote:$u,code:dd,kbd:cd,mark:td,list:rd,spinner:ku,"loading-overlay":Nu,result:Uu,collapsible:Gu,carousel:Zv,"date-time-picker":Lt,"time-picker":It,"date-range-input":Bt,segmented:Du,"tree-select":Gm,"file-upload":D_},it=(()=>{let e=[],t=new Map;for(let n of zX)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 K(e){let t=BX(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 at=[`common`,`appearance`,`behavior`,`advanced`],ot={common:`Common`,appearance:`Appearance`,behavior:`Behavior`,advanced:`Advanced`};function st(e){return e?m(Yn)===`az`?[{name:``,props:[...e.props].sort((e,t)=>e.label.localeCompare(t.label))}]:at.map(t=>({name:ot[t],props:e.props.filter(e=>(e.group??`common`)===t)})).filter(e=>e.props.length>0):[]}let lt=P(ge({}));function ut(e,t,n){let r=`${e}:${t}`;try{let i=n.trim()===``?void 0:JSON.parse(n);U(lt,{...m(lt),[r]:!1},!0),Jt(e,t,i)}catch{U(lt,{...m(lt),[r]:!0},!0)}}function dt(e){let t=BX(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 ft(e){let t=BX(e.component);return String(e.props._content??t?.contentDefault??t?.label??``)}let pt=P(``),ht=F(()=>m(G).screens.find(e=>e.id===m(pt))??m(G).screens[0]),gt=F(()=>!!m(ht)?.entity),_t=F(()=>(m(ht)?KX(m(ht).blocks):[]).filter(e=>e.config.kind===`component`).map(e=>dQ(e.config))),vt=F(()=>m(ht)?.entity?UZ(m(G),m(ht).entity)?.fields.map(e=>e.field)??[]:[]),yt=F(()=>m(vt).length>0),bt=[{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`}],xt=F(()=>bt.filter(e=>(!e.grid||m(qr)&&m(Wr)?.config.kind!==`component`)&&(!e.reload||m(gt))&&(!e.target||m(_t).length>0)&&(!e.data||!!m(ht)?.entity)&&(!e.state||(m(ht)?.state?.length??0)>0)));function St(e){switch(e){case`navigate`:return{type:e,to:m(G).screens[0]?`/`+m(G).screens[0].route:`/`};case`gridExport`:return{type:e,format:`csv`};case`gridClear`:return{type:e,what:`filters`};case`gridSort`:return{type:e,field:m(vt)[0]??``,dir:`asc`};case`gridFilter`:return{type:e,field:m(vt)[0]??``,value:``};case`setProp`:return{type:e,target:m(_t)[0]??``,prop:`disabled`,value:`true`};case`setText`:return{type:e,target:m(_t)[0]??``,value:``};case`alert`:return{type:e,message:``};case`apiAction`:return{type:e,actionId:``};case`setVar`:return{type:e,name:m(ht)?.state?.[0]?.name??``,value:{kind:`literal`,value:``}};case`createRecord`:return{type:e,values:[]};case`updateRecord`:return{type:e,id:{kind:`field`,name:m(Tt)},values:[]};case`deleteRecord`:return{type:e,id:{kind:`field`,name:m(Tt)}};case`branch`:return{type:e,condition:{left:{kind:`state`,name:m(ht)?.state?.[0]?.name??``},op:`truthy`},then:[]};case`code`:return{type:e,code:``};default:return{type:`gridCopy`}}}let Ct=e=>bt.find(t=>t.type===e.type)?.label??e.type;function wt(e,t){return e===`literal`?{kind:`literal`,value:t.kind===`literal`?t.value:``}:e===`state`?{kind:`state`,name:m(ht)?.state?.[0]?.name??``}:e===`field`?{kind:`field`,name:m(vt)[0]??`id`}:{kind:`param`,name:``}}let Tt=F(()=>m(vt)[0]??`id`);function Et(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 Dt={beforeCreate:`Before create`,afterCreate:`After create`,beforeUpdate:`Before update`,afterUpdate:`After update`,beforeDelete:`Before delete`,afterDelete:`After delete`};function Ot(e){return m(Ur)?LZ(m(G),m(Ur).name)[e]??[]:[]}function kt(e,t){m(Ur)&&He(RZ(m(G),m(Ur).name,e,t.length?t:null))}function At(e,t){let n=t.startsWith(`before`);switch(e){case`setField`:return{type:e,field:m(vt)[0]??``,value:{kind:`literal`,value:``}};case`requireField`:return{type:e,field:m(vt)[0]??``};case`reject`:return{type:e,condition:{left:{kind:`field`,name:m(vt)[0]??``},op:`falsy`},message:`Not allowed`};case`branch`:return{type:e,condition:{left:{kind:`field`,name:m(vt)[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 jt=[{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`}],Mt=e=>jt.find(t=>t.type===e.type)?.label??e.type;function Nt(e){if(!e)return[];if(e.config.kind===`grid`)return iZ.map(t=>({slot:nZ(t.key,e.id),label:Rt(t.key)}));if(e.config.kind===`record`&&e.config.editable)return[{slot:rZ,label:`Record saved`}];if(e.config.kind===`component`){let t=BX(e.config.component)?.events??[],n=new Set(t.map(e=>e.key));return[...t,...FX.filter(e=>!n.has(e.key))].map(t=>({slot:nZ(t.key,e.id),label:t.label}))}return[]}let Pt={keydown:`onKeyDown`,keyup:`onKeyUp`,dblclick:`onDblClick`,contextmenu:`onContextMenu`,mouseenter:`onMouseEnter`,mouseleave:`onMouseLeave`},Ft=e=>Pt[e]??`on`+e.charAt(0).toUpperCase()+e.slice(1),Rt=e=>e.replace(/([A-Z])/g,` $1`).toLowerCase().replace(/^./,e=>e.toUpperCase()),zt=e=>m(Xr).find(t=>t.blockId===e);function Vt(e,t){let n=zt(e);if(!n)return;let r=t.split(`:`)[0];if(n.tier===`grid`){let e=iZ.find(e=>e.key===r);return e?`ctx.${n.name}.${e.method}`:void 0}if(n.tier===`component`)return`ctx.${n.name}.${Ft(r)}`}function Ht(e,t){let n=Vt(e,t);return!!n&&(m(ht)?.handlerBodies?.onLoad??``).includes(n)}function Wt(e,t,n){if(t===`onLoad`||t===`onDestroy`){U(qn,t,!0),U(Kn,`code`);return}let r=Vt(e,t);if(m(ht)&&r){let e=m(ht).handlerBodies?.onLoad??``;if(!e.includes(r)){let t=`${r} = (e) => {\n \n}`,n=e.trim()?`${e.replace(/\s*$/,``)}\n\n${t}\n`:`${t}\n`;He(m$(m(G),m(ht).id,`onLoad`,n))}}U(qn,`onLoad`),U(Kn,`code`)}function Gt(e,t){if(!m(ht))return;let n=pZ(St(t)),r=m(ht).handlerBodies?.[e]??``,i=r.trim()?r.replace(/\s*$/,``)+`
78710
78710
  `+n:n;He(m$(m(G),m(ht).id,e,i))}let Kt=[{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 qt(e,t){if(!m(ht))return;let n=gre(m(G),m(ht).id,e,K(e),t),r=n.screens.find(e=>e.id===m(ht).id);He(n),U(Gn,(t==null?r?.blocks.at(-1):r?.blocks[t])?.id??null,!0)}function Jt(e,t,n){if(!m(ht))return;let r=KX(m(ht).blocks).find(t=>t.id===e);if(!r||r.config.kind!==`component`)return;let i={...r.config.props,[t]:n};He(vQ(m(G),m(ht).id,e,{config:{props:i}}))}let Yt=rre(),Xt=VX(Fr),Zt=P(!1),Qt=P(``),$t=F(()=>Xt.map(e=>({...e,names:e.names.filter(e=>!m(Qt).trim()||e.includes(m(Qt).trim().toLowerCase()))})).filter(e=>e.names.length));function en(e,t){if(!m(ht)||!m(Wr)||m(Wr).config.kind!==`grid`)return;let n={...m(Wr).config.icons??{}};t.trim()===``?delete n[e]:n[e]=t,He(vQ(m(G),m(ht).id,m(Wr).id,{config:{icons:Object.keys(n).length?n:void 0}}))}function tn(){!m(ht)||!m(Wr)||m(Wr).config.kind!==`grid`||He(vQ(m(G),m(ht).id,m(Wr).id,{config:{icons:void 0}}))}let nn=e=>/^<[a-zA-Z][\s\S]*>$/.test(e.trim());function rn(e,t){if(!m(ht)||!m(Wr)||m(Wr).config.kind!==`grid`)return;let n={...m(Wr).config.props??{}};t===void 0||t===``||t===null?delete n[e]:n[e]=t,He(vQ(m(G),m(ht).id,m(Wr).id,{config:{props:Object.keys(n).length?n:void 0}}))}function an(e,t){let n=`grid:${e}`;try{let r=t.trim()===``?void 0:JSON.parse(t);U(lt,{...m(lt),[n]:!1},!0),rn(e,r)}catch{U(lt,{...m(lt),[n]:!0},!0)}}function on(e,t){return e.bindings?.[t]}function sn(e,t,n){m(ht)&&He(yre(m(G),m(ht).id,e,t,n))}let cn=`sv-studio:onboarded`,ln=P(!1),un=`var(--sg-accent,#6366f1)`,fn=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="${un}" opacity="0.1"/>${e}</svg>`,pn={welcome:fn(`<g transform="translate(160,52)" fill="${un}"><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:fn(`<g transform="translate(100,22)"><rect width="120" height="16" rx="4" fill="${un}"/><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:fn(`<g transform="translate(112,28)" fill="${un}"><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:fn(`<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="${un}"><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:fn(`<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="${un}" opacity="0.85"/><rect x="98" width="30" height="52" rx="4" fill="currentColor" opacity="0.15"/></g>`),inspector:fn(`<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="${un}"><circle cx="84" cy="0" r="7"/><circle cx="40" cy="22" r="7"/><circle cx="98" cy="44" r="7"/></g></g>`),logic:fn(`<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="${un}"><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:fn(`<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="${un}"/><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:fn(`<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="${un}" stroke-width="5"/><path d="M28,-13 L44,4 L28,21" stroke="${un}" stroke-width="5"/><path d="M9,-17 L-9,25" stroke="currentColor" stroke-width="4" opacity="0.45"/></g>`),data:fn(`<g transform="translate(160,50)" fill="${un}"><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:fn(`<g transform="translate(112,25)"><rect width="44" height="24" rx="4" fill="${un}"/><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="${un}" opacity="0.7"/></g>`),copilot:fn(`<g transform="translate(120,26)"><rect width="80" height="42" rx="10" fill="currentColor" opacity="0.12"/><g transform="translate(40,21)" fill="${un}"><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="${un}" opacity="0.6"/><circle cx="64" cy="21" r="3" fill="${un}" opacity="0.6"/></g>`),preview:fn(`<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="${un}" 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="${un}" opacity="0.6"/></g>`),generate:fn(`<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="${un}"/><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="${un}" opacity="0.65"/><path d="M-4,16 L0,30 L4,16 Z" fill="#f59e0b"/></g>`)},mn=[{image:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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:pn.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! 🚀`}],hn=F(()=>n.onCopilot?mn:mn.filter(e=>e.target!==`[data-tour="copilot"]`));function gn(){U(ln,!0)}function _n(){U(ln,!1);try{localStorage.setItem(cn,`1`)}catch{}}let vn=`sv-studio:welcomed`;function yn(){try{localStorage.setItem(vn,`1`)}catch{}}D(()=>{let e=!0,t=!0;try{e=!!localStorage.getItem(vn),t=!!localStorage.getItem(cn)}catch{}m(Ke)||Ie()||(!e&&!t?queueMicrotask(()=>{U(xn,`welcome`),U(bn,!0)}):t||queueMicrotask(()=>U(ln,!0)))});let bn=P(!1),xn=P(`new`);function Sn(){U(xn,`new`),U(bn,!0)}function Cn(){U(bn,!1),yn()}function q(){U(bn,!1),yn(),gn()}function wn(e,t,n){He(e),U(pt,t??e.screens[0]?.id??``,!0),U(Gn,null),U(bn,!1),yn(),n&&gn()}D(()=>{Ie()&&queueMicrotask(()=>{U(xn,`new`),U(bn,!0)})});function Tn(e,t,n,r){sn(e,t,{...n,...r})}function En(e,t,n){let r=m(vt)[0]??``;sn(e,t,n===`aggregate`?{kind:`aggregate`,reduce:`sum`,field:r||void 0}:n===`field`?{kind:`field`,field:r}:{kind:`expr`,code:`rows.length`})}function Dn(e){if(!m(ht))return;let t=gQ(m(G),m(ht).id,e),n=m(ht).blocks.findIndex(t=>t.id===e),r=t.screens.find(e=>e.id===m(ht).id)?.blocks[n+1];He(t),r&&U(Gn,r.id,!0)}let On=P(null);function kn(e,t){if(!t.length)return;e.preventDefault(),e.stopPropagation();let n=Math.min(t.length,12)*32+12;U(On,{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 An(e){e.disabled||(U(On,null),e.onSelect?.())}function jn(e){if(!m(ht))return[];let t=m(ht).blocks.findIndex(t=>t.id===e.id),n=m(ht).blocks.length-1;return[{label:`Select`,onSelect:()=>U(Gn,e.id,!0)},{label:`Duplicate`,onSelect:()=>Dn(e.id)},{label:`Move up`,disabled:t<=0,onSelect:()=>He(_Q(m(G),m(ht).id,e.id,t-1))},{label:`Move down`,disabled:t<0||t>=n,onSelect:()=>He(_Q(m(G),m(ht).id,e.id,t+1))},{separator:!0},{label:`Delete`,danger:!0,onSelect:()=>{He(hQ(m(G),m(ht).id,e.id)),m(Gn)===e.id&&U(Gn,null)}}]}function Mn(e){let t=m(G).screens.findIndex(t=>t.id===e.id);return[{label:`Open`,onSelect:()=>{U(pt,e.id,!0),U(Gn,null)}},{label:`Duplicate`,onSelect:()=>{U(pt,e.id,!0),Hn()}},{label:`Move up`,disabled:t<=0,onSelect:()=>He(v$(m(G),e.id,t-1))},{label:`Move down`,disabled:t<0||t>=m(G).screens.length-1,onSelect:()=>He(v$(m(G),e.id,t+1))},{separator:!0},{label:`Delete`,danger:!0,onSelect:()=>He(BQ(m(G),e.id))}]}D(()=>{if(!m(On))return;let e=e=>{e.key===`Escape`&&U(On,null)},t=e=>{e.target?.closest?.(`.sv-studio__ctx`)||U(On,null)};return window.addEventListener(`keydown`,e),window.addEventListener(`pointerdown`,t,!0),window.addEventListener(`scroll`,()=>U(On,null),!0),()=>{window.removeEventListener(`keydown`,e),window.removeEventListener(`pointerdown`,t,!0)}});let Nn=P(null),Pn=P(!1),Fn=P(!1),In=P(null),Ln=F(()=>m(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:!UZ(m(G),t.relation.entity)}))));function Rn(e){U(In,e,!0),queueMicrotask(()=>document.querySelector(`[data-entity-card="${CSS.escape(e)}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`})),setTimeout(()=>{m(In)===e&&U(In,null)},1400)}function zn(e){U(Fn,!0),requestAnimationFrame(()=>Rn(e))}function Bn(){m(Wr)&&U(Nn,JSON.parse(JSON.stringify(m(Wr))),!0)}function Vn(){if(!m(Nn)||!m(ht))return;let e=g$(m(G),m(ht).id,m(Nn));He(e),U(Gn,e.screens.find(e=>e.id===m(ht).id)?.blocks.at(-1)?.id??null,!0)}function Hn(){if(!m(ht))return;let e=_$(m(G),m(ht).id),t=m(G).screens.findIndex(e=>e.id===m(ht).id);He(e);let n=e.screens[t+1];n&&(U(pt,n.id,!0),U(Gn,null))}function Un(){let e=new Set(m(G).screens.map(e=>e.id)),t=m(ht)?.entity??m(G).entities[0]?.name,n=m(ho)!==`empty`&&t?wre(m(G),t,m(ho)):f$(m(G),{title:`New Page`});He(n);let r=n.screens.find(t=>!e.has(t.id));r&&(U(pt,r.id,!0),U(Gn,null))}function Wn(e,t){if(!m(Ur))return;let n=t.trim();!n||n!==e&&m(Ur).fields.some(e=>e.field===n)||Tu(_Y(m(Ur),e,{field:n}))}let Gn=P(null),Kn=P(`design`),qn=P(`onLoad`),Jn=P(`properties`),Yn=P(`az`),Xn=P(void 0),Zn=F(()=>!!m(ht)&&HQ(m(ht))===`dock`),Qn=F(()=>!!m(ht)&&HQ(m(ht))===`stack`),$n=F(()=>!!m(ht)&&HQ(m(ht))===`split`),er=F(()=>!!m(ht)&&HQ(m(ht))===`canvas`),tr=F(()=>m(Zn)||m($n)),nr=F(()=>m(ht)?SZ(m(ht)):null),rr=F(()=>m(ht)?CZ(m(ht)):null),ir=F(()=>m(ht)?wZ(m(ht)):null),ar=F(()=>m(ht)?TZ(m(ht)):null),or=F(()=>m(ht)?EZ(m(ht)):null);function cr(e,t,n=!1){if(!m(ht))return;let r=DZ(m(G),m(ht).id,e,t);n&&(r=l$(r,m(ht).id)),He(r)}let lr=F(()=>({minSize:m($n)?m(ir)?.minPaneSize??80:80,allowPopout:m(Zn)?!!m(ar)?.allowPopout:!1,hideSingleTab:m(Zn)?!!m(ar)?.hideSingleTab:!1,headerPosition:(m(Zn)?m(ar)?.headerPosition:`top`)??`top`})),ur=F(()=>m(Qn)&&m(rr)?`gap: ${m(rr).gap}px; --stack-minh: ${m(rr).minHeight}px;`+(m(rr).maxWidth?` max-width: ${m(rr).maxWidth}px;${m(rr).align===`center`?` margin-inline: auto;`:``}`:``):!m(tr)&&!m(er)&&m(nr)?`gap: ${m(nr).rowGap}px ${m(nr).colGap}px; align-items: ${m(nr).align};`+(m(nr).maxWidth?` max-width: ${m(nr).maxWidth}px; margin-inline: auto;`:``):``),dr=P(null),fr=ge({}),pr=ge({}),mr=P(null),hr=null;function gr(e){return m(mr)&&m(mr).id===e?m(mr).rect:m(ht)?$Q(m(ht),e):{col:0,row:0,colSpan:6,rowSpan:8}}let _r=()=>m(or)?.cols??12,vr=()=>m(or)?.gap??8,yr=()=>m(or)?.rowHeight??40;function br(){let e=((m(dr)?.clientWidth??1)-(_r()-1)*vr())/_r();return{cw:e>0?e:1,ch:yr()+vr()}}function xr(e,t,n){!m(ht)||e.button!==0||(e.preventDefault(),e.stopPropagation(),U(Gn,t,!0),hr={id:t,mode:n,sx:e.clientX,sy:e.clientY,start:$Q(m(ht),t)},U(mr,{id:t,rect:hr.start},!0),e.currentTarget.setPointerCapture?.(e.pointerId),window.addEventListener(`pointermove`,Sr),window.addEventListener(`pointerup`,Cr))}function Sr(e){if(!hr)return;let{cw:t,ch:n}=br(),r=Math.round((e.clientX-hr.sx)/t),i=Math.round((e.clientY-hr.sy)/n),a=hr.start,o;if(hr.mode===`move`){let e=a.colSpan;o={col:Math.max(0,Math.min(_r()-e,a.col+r)),row:Math.max(0,a.row+i),colSpan:e,rowSpan:a.rowSpan}}else{let e=Math.max(1,Math.min(_r()-a.col,a.colSpan+r)),t=Math.max(1,a.rowSpan+i);o={col:a.col,row:a.row,colSpan:e,rowSpan:t}}U(mr,{id:hr.id,rect:o},!0)}function Cr(){window.removeEventListener(`pointermove`,Sr),window.removeEventListener(`pointerup`,Cr),hr&&m(mr)&&m(ht)&&He(e$(m(G),m(ht).id,hr.id,m(mr).rect)),hr=null,U(mr,null)}function wr(e,t){let n=vr(),r=e.col*(t+n),i=(e.col+e.colSpan)*(t+n)-n;return[r,i,(r+i)/2]}function Tr(e){let t=yr()+vr(),n=e.row*t,r=(e.row+e.rowSpan)*t-vr();return[n,r,(n+r)/2]}let Er=F(()=>{if(!m(mr)||!m(ht)||!m(dr))return{x:[],y:[]};let e=(m(dr).clientWidth-(_r()-1)*vr())/_r();if(!(e>0))return{x:[],y:[]};let t=m(ht).blocks.filter(e=>e.id!==m(mr).id).map(e=>$Q(m(ht),e.id)),n=t.flatMap(t=>wr(t,e)),r=t.flatMap(e=>Tr(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(wr(m(mr).rect,e).filter(e=>i(e,n))),y:a(Tr(m(mr).rect).filter(e=>i(e,r)))}}),Dr=F(()=>m(ht)&&m(tr)?m(ht).id+`|`+m(ht).blocks.map(e=>e.id).join(`,`):``),Or=P(void 0),kr=P(``),Ar=ge({}),jr=()=>({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:[]}),Mr=P(ge(jr())),Nr=P(null);D(()=>{try{let e=localStorage.getItem(`sv-studio:chrome-ws`);e&&U(Nr,Yg(JSON.parse(e)),!0)}catch{}});function Ir(e){U(Mr,e,!0);try{localStorage.setItem(`sv-studio:chrome-ws`,JSON.stringify(e))}catch{}}function Lr(){m(Nr)&&U(Mr,Yg(m(Nr)),!0)}function Rr(){U(Mr,jr(),!0)}function zr(e){let t=structuredClone(ie(m(Mr))),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))&&U(Mr,t,!0)}D(()=>{if(m(Dr)&&m(Dr)!==m(kr)){U(kr,m(Dr),!0);let e=m(ht)?YQ(m(ht)).dock:null;U(Or,e?Yg(e):void 0,!0)}});function Br(e){m(ht)&&He(Sre(m(G),m(ht).id,e))}function Vr(e){if(!m(ht))return;let t=WQ(e),n=m(ht).blocks.filter(e=>!t.has(e.id)),r=o$(m(G),m(ht).id,e);for(let e of n)r=hQ(r,m(ht).id,e.id);He(r)}function Hr(e,t){if(!m(ht))return;let n=d$(m(G),m(ht).id,e,t);He(n);let r=n.screens.find(e=>e.id===m(ht).id);r?.dock&&U(Or,r.dock,!0)}let Ur=F(()=>m(ht)?UZ(m(G),m(ht).entity):void 0),Wr=F(()=>KX(m(ht)?.blocks??[]).find(e=>e.id===m(Gn))),Gr=F(()=>m(Wr)&&m(Wr).config.kind===`grid`?m(Wr).config.icons??{}:{});D(()=>{if(m(Gn),!(m(Yn)!==`az`||!m(Wr)||m(Jn)!==`properties`||!m(Xn)))for(let e of m(Xn).querySelectorAll(`details.sv-studio__section`))e.open=!0});let Kr=F(()=>!!m(ht)?.renderGrid),qr=F(()=>!!m(ht)?.renderGrid||KX(m(ht)?.blocks??[]).some(e=>e.config.kind===`grid`)),Jr=F(()=>m(ht)?.handlerBodies?.onLoad??``),Yr=F(()=>m(ht)?.handlerBodies?.onDestroy??``),Xr=F(()=>m(ht)?u0(m(ht)):[]),Zr=F(()=>m(ht)?m0(m(ht)):`none`),Qr=F(()=>m(ht)?b0(m(ht),m(Ur)):``),$r=F(()=>{if(m(Kn)!==`code`||m(qn)===`onLoad`||m(qn)===`onDestroy`||m(qn)===`css`||!m(ht))return null;try{let e=Z0(m(G)),t=t=>e.find(e=>e.path===t)?.contents??``;return{page:t(`src/routes/${m(ht).route}/+page.svelte`),ctx:t(`src/routes/${m(ht).route}/page-context.ts`),error:``}}catch(e){return{page:``,ctx:``,error:e instanceof Error?e.message:String(e)}}});function ei(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 ti=F(()=>m(ht)?[...v0(m(ht)),`await fetch('/api/')`,`console.log()`]:[]),ni=F(()=>m(Xr).find(e=>e.tier===`data`)),ri=F(()=>m(Xr).find(e=>e.tier===`component`)),ii=F(()=>[...m(Zr)===`settable`?[{label:`Fetch → Grid`,code:`const res = await fetch('/api/data')
78711
78711
  ctx.data.setRows(await res.json())`}]:[],...m(qr)?[{label:`Export CSV`,code:`const csv = ctx.grid.exportCsv()
78712
- console.log(csv)`}]:[],...m(ni)?[{label:`Feed ${m(ni).name}`,code:`const res = await fetch('/api/data')\nctx.${m(ni).name}.setData(await res.json())`}]:[],...m(ri)?[{label:`Wire ${m(ri).name}`,code:`ctx.${m(ri).name}.onclick = () => {\n ctx.${m(ri).name}.setLabel('Clicked')\n}`}]:[],{label:`Log on mount`,code:`console.log('page mounted', ctx)`}]),ai={name:`__free__`,label:``,idField:`id`,fields:[]},oi=F(()=>F$(m(G))),si=F(()=>I$(m(G))),ci=F(()=>m(oi).filter(e=>e.level===`error`).length),li=F(()=>{let e={};for(let t of m(oi))t.block&&(e[t.block]??=[]).push(t);return e});function ui(e){e.screen&&U(pt,e.screen,!0),U(Gn,e.block??null,!0),e.block&&queueMicrotask(()=>document.querySelector(`[data-block-id="${CSS.escape(e.block)}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`}))}D(()=>{!m(G).screens.some(e=>e.id===m(pt))&&m(G).screens[0]&&U(pt,m(G).screens[0].id,!0)}),D(()=>dn(`Studio`));let di=[`count`,`sum`,`avg`,`min`,`max`],fi=[{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"/>`}],pi=e=>`<svg viewBox="0 0 38 28" width="26" height="19" fill="currentColor" aria-hidden="true">${fi.find(t=>t.type===e)?.glyph??``}</svg>`,mi={memory:`In-memory`,pglite:`Local database`,sql:`SQL`,supabase:`Supabase`,rest:`REST`},hi={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.`},gi={memory:`#94a3b8`,pglite:`#14b8a6`,sql:`#3b82f6`,supabase:`#10b981`,rest:`#a855f7`};function _i(e){let t=E$(m(G),e).kind;return{kind:t,label:mi[t],color:gi[t],explicit:!!m(G).dataSources?.[e]}}let vi=P(ge({}));function yi(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=UZ(m(G),e.relation.entity),n=E$(m(G),e.relation.entity),r=n.kind===`memory`&&n.seed?.length?n.seed:t?vY(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 bi(e){return yi(xi(e),e)}function xi(e){let t=E$(m(G),e.name);return m(vi)[e.name]??(t.kind===`memory`&&t.seed?.length?t.seed:vY(e,6))}let Si=P(null),Ci=P(null),wi=P(null),Ti=P(null),Ei=P(`design`),Di=P(`field`),Oi=P(`edit`),ki=P(``),Ai=P(!1),ji=P(ge([])),Mi=P(`full`),Ni={sm:`400px`,md:`560px`,lg:`760px`,full:`none`},Pi=P(!0),Fi=P(!1),Ii=P(``),Li=P(`text`),Ri=P(``),zi=P(null),Bi=F(()=>m(Si)?UZ(m(G),m(Si)):void 0),Vi=F(()=>m(Bi)?SQ(m(Bi)):{sections:[],unassigned:[]}),Hi=e=>m(Bi)?.fields.find(t=>t.field===e),Ui=F(()=>(m(Bi)?.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`}))),Wi=[{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 Gi(e){let t=m(Ui).find(t=>t.id!==e)?.id??m(Ui)[0]?.id;return t?{kind:`cmp`,column:t,op:`equals`,value:``}:{kind:`const`,value:!0}}let Ki=F(()=>(m(Bi)?.fields??[]).filter(e=>EG(e,`form`))),qi=F(()=>new Set(m(ji))),Ji=F(()=>[...m(Vi).sections.flatMap(e=>e.fields),...m(Vi).unassigned]),Yi=F(()=>m(wi)&&m(qi).has(m(wi))?m(Ji).filter(e=>m(qi).has(e)):m(wi)?[m(wi)]:[]);D(()=>{let e=m(ji).filter(e=>m(Ji).includes(e));e.length!==m(ji).length&&U(ji,e,!0)});let Xi=F(()=>new Map((m(Bi)?OG(m(Bi)):[]).map(e=>[e.field,e]))),Zi=F(()=>!!m(Bi)&&($G(m(Bi))||(m(Bi).form?.sections??[]).some(e=>e.visibleWhen))),Qi=F(()=>m(Pi)&&m(Zi)&&m(Ei)===`design`),$i=F(()=>m(Bi)?tK(m(Bi),m(Oi)===`create`?null:xi(m(Bi))[0]??null):{});function ea(e){if(!m(Qi))return null;let t=m(Xi).get(e);return t?ZG(t,m($i)):null}let ta=e=>!m(Qi)||!e.visibleWhen||QG(e.visibleWhen,m($i));function na(e){U(Si,e,!0),U(Ci,null),U(ji,[],!0),U(Fi,!1),U(Ri,``),U(zi,null)}function ra(e){if(e.key===`Escape`){if(m(Fi)){U(Fi,!1),U(Ri,``),e.stopPropagation();return}if(m(ji).length>1){U(ji,m(Ci)?[m(Ci)]:[],!0),e.stopPropagation();return}U(Si,null)}}function ia(e){let t=Hi(e)?.when;return t?[t.visible,t.disabled,t.required].filter(Boolean).length:0}function aa(e,t,n){m(Si)&&He(AQ(m(G),m(Si),e,{...Hi(e)?.when,[t]:n}))}function oa(e,t){m(Si)&&He(jQ(m(G),m(Si),e,t))}function sa(e,t){m(Si)&&He(MQ(m(G),m(Si),e,t))}function ca(e,t,n){if(n.ctrlKey||n.metaKey){m(qi).has(e)?(U(ji,m(ji).filter(t=>t!==e),!0),m(Ci)===e&&U(Ci,m(ji).at(-1)??null,!0)):(U(ji,[...m(ji),e],!0),U(Ci,e,!0)),U(ki,`${m(ji).length} field${m(ji).length===1?``:`s`} selected.`),U(Di,`field`);return}let r=t===null?m(Vi).unassigned:m(Vi).sections[t]?.fields??[];if(n.shiftKey&&m(Ci)&&r.includes(m(Ci))&&m(Ci)!==e){let t=r.indexOf(m(Ci)),n=r.indexOf(e);U(ji,r.slice(Math.min(t,n),Math.max(t,n)+1),!0),U(Ci,e,!0),U(ki,`${m(ji).length} fields selected.`),U(Di,`field`);return}let i=m(Ci)===e&&m(ji).length<=1;U(Ci,i?null:e,!0),U(ji,i?[]:[e],!0),U(Di,`field`)}function la(e){m(Si)&&(He(NQ(m(G),m(Si),e,`form`,!1)),U(ki,`${Hi(e)?.label??e} restored to the form.`))}function ua(e){let t=m(Ii).trim();if(!t){U(Ri,`Give the field a name.`);return}if(e.fields.some(e=>e.field===t)){U(Ri,`"${t}" already exists on ${e.label??e.name}.`);return}let n=yQ(m(G),e.name,hY(e,{field:t,type:m(Li)}));m(zi)!=null&&(n=OQ(n,e.name,t,m(zi))),He(n),U(Ci,t,!0),U(ji,[t],!0),U(Di,`field`),U(Fi,!1),U(Ii,``),U(Ri,``),U(ki,`${t} added to the form.`)}function da(e,t){oa(e,{options:t.length?t:void 0})}function fa(e){let t=(e.options?.length??0)+1;da(e.field,[...e.options??[],{value:`option-${t}`,label:`Option ${t}`}])}function pa(e,t,n){da(e.field,(e.options??[]).map((e,r)=>r===t?{...e,...n}:e))}function ma(e,t){da(e.field,(e.options??[]).filter((e,n)=>n!==t))}function ha(e){m(Si)&&(He(NQ(m(G),m(Si),e,`form`,!0)),m(Ci)===e&&U(Ci,null),U(ki,`${Hi(e)?.label??e} removed from the form.`))}function ga(){if(!m(Bi)||!m(Si))return;let e=LQ(m(Bi));e.length&&(He(CQ(m(G),m(Si),{...m(Bi).form,sections:e})),U(ki,`Suggested ${e.length} sections.`))}let _a=e=>(m(Bi)?.validations??[]).map((e,t)=>({...e,i:t})).filter(t=>t.field===e);function va(e){!m(Bi)||!m(Si)||He(yQ(m(G),m(Si),{...m(Bi),validations:e.length?e:void 0}))}function ya(){!m(Bi)||!m(Ci)||va([...m(Bi).validations??[],{field:m(Ci),op:`required`,message:`This field is required`}])}function ba(e,t){m(Bi)&&va((m(Bi).validations??[]).map((n,r)=>r===e?{...n,...t}:n))}function xa(e){m(Bi)&&va((m(Bi).validations??[]).filter((t,n)=>n!==e))}let Sa=e=>e.replace(/[_-]+/g,` `).replace(/([a-z\d])([A-Z])/g,`$1 $2`).replace(/^./,e=>e.toUpperCase());function Ca(e){let t=e.input?.editorType??PQ(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 wa=e=>e?.columns??m(Bi)?.form?.columns??2,Ta=(e,t)=>e?.input?.span===2?t:1,Ea=e=>e===null?`Unsectioned`:m(Vi).sections[e]?.title||`section ${e+1}`;function Da(e,t){if(!m(Si)||!m(wi))return;let n=m(Yi);He(kQ(m(G),m(Si),n,e,t)),U(ki,n.length>1?`${n.length} fields moved to ${Ea(e)}.`:`${Hi(n[0]??``)?.label??n[0]} moved to ${Ea(e)}.`,!0),U(Ci,m(wi),!0),U(wi,null),U(Ti,null)}function Oa(e,t){if(!m(Si))return;let n=m(qi).has(e)&&m(ji).length>1?m(Ji).filter(e=>m(qi).has(e)):[e],r=new Set(n.filter(t=>t!==e)),i=[{section:null,fields:m(Vi).unassigned.filter(e=>!r.has(e))},...m(Vi).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`:Hi(e)?.label??e;if(o.section!==null&&s>=0&&s<o.fields.length){He(kQ(m(G),m(Si),n,o.section,s)),U(ki,`${c} moved to position ${s+1} in ${Ea(o.section)}.`);return}let l=i[a+t];l&&(He(kQ(m(G),m(Si),n,l.section,t===1?0:l.fields.length)),U(ki,`${c} moved to ${Ea(l.section)}.`))}let ka=P(!1),Aa=P(ge([])),ja=F(()=>{if(!m(Ur))return null;let e=E$(m(G),m(Ur).name).kind;return e===`memory`||e===`pglite`?e:null}),Ma=F(()=>m(Ur)?m(Ur).fields.filter(e=>!e.formula&&!e.computed):[]);function Na(){m(Ur)&&(U(Aa,xi(m(Ur)).map(e=>({...e})),!0),U(ka,!0))}function Pa(){if(!m(Ur))return;let e=m(Ur).idField??m(Ur).fields.find(e=>e.primaryKey)?.field??`id`,t={};for(let e of m(Ma))t[e.field]=e.type===`boolean`?!1:e.type===`number`?0:``;t[e]=`${m(Ur).name.charAt(0).toLowerCase()||`r`}${m(Aa).length+1}`,U(Aa,[...m(Aa),t],!0)}function Fa(e,t,n){U(Aa,m(Aa).map((r,i)=>i===e?{...r,[t]:n}:r),!0)}function Ia(e){let t=e.relation&&m(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 xi(t).map(t=>({value:String(t[n]??``),label:String(t[e.relation.labelField??n]??t[n]??``)}))}function La(){if(!m(Ur))return;let e=E$(m(G),m(Ur).name),t=m(Aa).map(e=>({...e}));He(T$(m(G),m(Ur).name,e.kind===`pglite`?{kind:`pglite`,table:e.table,seed:t}:{kind:`memory`,seed:t}));let{[m(Ur).name]:n,...r}=m(vi);U(vi,r,!0),U(ka,!1)}function Ra(e){return(e.related??[]).map(e=>{let t=UZ(m(G),e.entity);return t?{label:e.label??t.label??t.name,schema:t,rows:bi(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 za=F(()=>m(G).screens.filter(e=>e.blocks.some(e=>e.config.kind===`detail`)));function Ba(e){let t=[];for(let n of m(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 Va(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 Ha(e,t,n){let r=e.idField??e.fields.find(e=>e.primaryKey)?.field??`id`,i=String(t??Io[e.name]?.[r]??``),a=(m(vi)[e.name]??bi(e)).map(e=>String(e[r])===i?{...e,...n}:{...e});U(vi,{...m(vi),[e.name]:a},!0),Io[e.name]=void 0}let Ua=P(null);function Wa(e){return e.idField??e.fields.find(e=>e.primaryKey)?.field??`id`}function Ga(e,t){let n=Wa(e),r=m(vi)[e.name]??bi(e);U(vi,{...m(vi),[e.name]:r.filter(e=>String(e[n])!==t)},!0)}function Ka(e,t,n){let r=Wa(e),i=m(vi)[e.name]??bi(e);if(t==null){let t=i.reduce((e,t)=>Math.max(e,Number(t[r])||0),0)+1;U(vi,{...m(vi),[e.name]:[{[r]:t,...n},...i]},!0)}else U(vi,{...m(vi),[e.name]:i.map(e=>String(e[r])===t?{...e,...n}:e)},!0);U(Ua,null)}function qa(e){let t=e.idField??e.fields.find(e=>e.primaryKey)?.field;return DG(e).filter(e=>e.field!==t)}function Ja(e,t){let n=new Map(e.columns.filter(e=>e.aggregate||e.format||e.cellType).map(e=>[e.field,e])),r=qa(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=>sr(b,{value:e.getValue(),type:t.cellType})}:{}}:e});return e.rowActions?.length&&r.push({id:`__actions`,header:`Actions`,sortable:!1,cell:n=>sr(x,{row:n.row.original,ent:t,actions:e.rowActions})}),r}let Ya=F(()=>m(Ur)?bi(m(Ur)):[]);F(()=>m(Ur)?qa(m(Ur)):[]);let Xa=P(ge({}));function Za(e,t,n){U(Xa,{...m(Xa),[e]:{...m(Xa)[e]??{},[t]:n}},!0)}function Qa(e){let t=e.relation;if(!t)return[];let n=m(G).entities.find(e=>e.name===t.entity);if(!n)return[];let r=n.idField??n.fields.find(e=>e.primaryKey)?.field??`id`;return bi(n).map(e=>({value:String(e[r]??``),label:String(e[t.labelField]??e[r]??``)}))}function J(e,t){let n=Object.entries(m(Xa)[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 $a=F(()=>n.appearance??(m(G).theme?.mode===`dark`?`dark`:`light`)),eo=F(()=>n.appearance?{...m(G).theme,mode:n.appearance}:m(G).theme),to=F(()=>tre(m(eo))),no=F(()=>_X(m(G).theme?.preset)??gX),ro=F(()=>m(no)[m($a)].accent),io=F(()=>m(G).theme?.shell?.style??`sidebar`),ao=F(()=>m(G).theme?.shell?.brand||m(G).title),oo=F(()=>m(G).theme?.shell?.navPosition??`left`),so=F(()=>m(G).theme?.shell?.footer),co=F(()=>m(G).theme?.shell?.logo),lo=P(!1),uo=F(()=>m(io)===`sidebar`&&m(lo));function fo(e){let t=e.currentTarget.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>He(k$(m(G),{logo:String(n.result)})),n.readAsDataURL(t)}let po=F(()=>m(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)),mo=P(null),ho=P(`crud`),go=P(`none`),_o=P(``),vo=P(``),yo=P(null),bo=F(()=>N$(m(G)));function xo(e){try{He(P$(e)),U(_o,``),U(yo,null),U(go,`none`)}catch(e){U(yo,e instanceof Error?e.message:String(e),!0)}}let So=()=>xo(m(_o)),Co=P(!1);async function wo(e){if(e)try{xo(await e.text())}catch(e){U(yo,e instanceof Error?e.message:String(e),!0)}}function To(e){e.preventDefault(),U(Co,!1),wo(e.dataTransfer?.files?.[0])}let Eo=P(null);function Do(){try{U(Eo,null);let e=m(vo).trim();if(e.startsWith(`{`)&&/"(openapi|swagger|paths)"\s*:/.test(e)){let{entities:t,sources:n,warnings:r}=nX(e),i=m(G);for(let e of t){i=bQ(i,e);let t=n[e.name];t&&(i=T$(i,e.name,t))}He(i),U(vo,``),U(yo,null),U(Eo,`Imported ${t.length} REST resource${t.length===1?``:`s`}.${r.length?` `+r.join(` `):``}`),U(go,`none`);return}let t=/\bmodel\s+\w+\s*\{/.test(m(vo))?Yne(m(vo)):DY(m(vo)),n=m(G);for(let e of t)n=bQ(n,e);He(n),U(vo,``),U(yo,null),U(go,`none`)}catch(e){U(yo,e instanceof Error?e.message:String(e),!0)}}let Oo=P(!1),ko=P(`desktop`),Ao={desktop:`100%`,tablet:`834px`,mobile:`390px`},jo=P(``),Mo=P(!1);D(()=>{U(Mo,m(ko)!==`desktop`)});let No=F(()=>m(io)===`sidebar`&&m(Mo)),Y=P(!1),X=P(!1),Po=ge({}),Fo=ge({}),Io=ge({}),Lo=ge({}),Ro=F(()=>m(G).screens.find(e=>e.id===m(jo))??m(G).screens[0]),zo=F(()=>m(Ro)?UZ(m(G),m(Ro).entity):void 0),Bo=F(()=>!!m(Ro)&&HQ(m(Ro))===`dock`),Vo=F(()=>!!m(Ro)&&HQ(m(Ro))===`stack`),Ho=F(()=>!!m(Ro)&&HQ(m(Ro))===`split`),Uo=F(()=>!!m(Ro)&&HQ(m(Ro))===`canvas`),Wo=F(()=>m(Bo)||m(Ho)),Go=F(()=>({minSize:m(Ho)&&m(Ro)?wZ(m(Ro)).minPaneSize:80,allowPopout:m(Bo)&&m(Ro)?TZ(m(Ro)).allowPopout:!1,hideSingleTab:m(Bo)&&m(Ro)?TZ(m(Ro)).hideSingleTab:!1,headerPosition:m(Bo)&&m(Ro)?TZ(m(Ro)).headerPosition:`top`})),Ko=F(()=>{if(!m(Ro))return``;if(m(Vo)){let e=CZ(m(Ro));return`gap: ${e.gap}px; --stack-minh: ${e.minHeight}px;`+(e.maxWidth?` max-width: ${e.maxWidth}px;${e.align===`center`?` margin-inline: auto;`:``}`:``)}if(!m(Wo)&&!m(Uo)){let e=SZ(m(Ro));return`gap: ${e.rowGap}px ${e.colGap}px; align-items: ${e.align};`+(e.maxWidth?` max-width: ${e.maxWidth}px; margin-inline: auto;`:``)}return``}),qo=F(()=>m(Ro)&&m(Wo)?m(Ro).id+`|`+m(Ro).blocks.map(e=>e.id).join(`,`):``),Jo=P(void 0),Yo=P(``);D(()=>{m(qo)&&m(qo)!==m(Yo)&&(U(Yo,m(qo),!0),U(Jo,m(Ro)?YQ(m(Ro)).dock??void 0:void 0,!0))});function Xo(){U(jo,m(ht)?.id??m(G).screens[0]?.id??``,!0),U(Oo,!0)}let Zo=P(ge({})),Qo=P(null),$o=P(null),es=F(()=>m(Oo));function ts(){try{U(Zo,{},!0),U(Qo,null),U($o,null);let e=m(G).screens.find(e=>e.id===m(jo))??m(G).screens[0];if(!m(Oo)||!e)return;let t=UZ(m(G),e.entity),n=t?J(t,bi(t)):[],r={},i=[],a=null,o=null,s=[];for(let t of u0(e))if(t.tier===`component`){let n=KX(e.blocks).find(e=>e.id===t.blockId);n&&n.config.kind===`component`&&(r[n.id]={props:dt(n.config),text:ft(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);U(Zo,r,!0);let c=()=>m(Qo)??n,l=e=>{U(Qo,Array.isArray(e)?e:[],!0)},u={};for(let e of i)u[e.name]=Ute(()=>m(Zo)[e.id],t=>{U(Zo,{...m(Zo),[e.id]:t},!0)});let d=()=>o?Lo[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:()=>{U(Qo,null)}};u.data={get rows(){return c()},setRows:l,reload:async()=>{}},u.goto=()=>{},u.params={};let f=e.handlerBodies?.onLoad??``,h=()=>{p(()=>hV(f,u)).then(e=>{U($o,e,!0)})};if(o){let e=0,t=()=>{d()||e++>30?h():requestAnimationFrame(t)};queueMicrotask(t)}else queueMicrotask(h)}catch(e){U($o,e instanceof Error?e.message:String(e),!0)}}function ns(e,t){return m(es)&&m(Qo)&&e===m(zo)?m(Qo):t}D(()=>{if(!m(Oo)){U(Zo,{},!0),U(Qo,null),U($o,null);return}m(jo),m(G).screens.find(e=>e.id===m(jo))?.handlerBodies?.onLoad,ts()}),D(()=>{let e=m(Oo)?m(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 rs=P(!1),is=P(``),as=P(!1),os=P(null),ss=[`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 cs(){U(rs,!0),U(os,null)}async function ls(){let e=m(is).trim();if(!(!n.onCopilot||!e||m(as))){U(as,!0),U(os,null);try{let t=P$(N$(await n.onCopilot({prompt:e,project:m(G)})));He(t),!t.screens.some(e=>e.id===m(pt))&&t.screens[0]&&U(pt,t.screens[0].id,!0),U(is,``),U(rs,!1)}catch(e){U(os,e instanceof Error?e.message:String(e),!0)}finally{U(as,!1)}}}let us=P(!1);function ds(e){let t=e.build();He(t),t.screens[0]&&(U(pt,t.screens[0].id,!0),U(Gn,null)),U(us,!1)}function fs(){let e=wae({project:m(G),action:m(ht)?`editing screen "${m(ht).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 ps=P(!1),ms=P(``);function hs(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``)}let gs=F(()=>!!hs(m(ms))&&!UZ(m(G),hs(m(ms))));function _s(){let e=hs(m(ms));if(!e||UZ(m(G),e))return;let t={name:e,idField:`id`,fields:[{field:`id`,type:`number`,primaryKey:!0,readonly:!0},{field:`name`,type:`text`,required:!0}]};He(bQ(m(G),t)),U(pt,e,!0),U(Gn,null),U(ms,``),U(ps,!1)}let vs=P(null);async function ys(e){if(e){U(vs,null),U(yo,null);try{let t=await e.text(),n=hs(e.name.replace(/\.[^.]+$/,``))||`imported`,r=n,i=2;for(;UZ(m(G),r);)r=`${n}_${i++}`;let{schema:a,rows:o,renamed:s}=LY(r,t);if(a.fields.length===0||o.length===0){U(yo,`That file had no rows to import.`);return}let c=bQ(m(G),a);c=T$(c,r,{kind:`memory`,seed:o}),He(c),U(pt,r,!0),U(Gn,null);let l=s.length?` Renamed ${s.length} column${s.length>1?`s`:``} to safe keys.`:``;U(vs,`Imported ${o.length} row${o.length>1?`s`:``} into "${r}" (${a.fields.length} fields).${l}`)}catch(e){U(yo,e instanceof Error?e.message:String(e),!0)}}}let bs=P(!1),xs=P(!1),Ss=F(()=>G0(m(G))),Cs=[{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 ws(e){He(b$(m(G),e))}let Ts=P(!1),Es=[{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`]}],Ds=P(null);function Os(e){let t=y$(m(G),`sql`);for(let n of m(G).entities)t=T$(t,n.name,{kind:`sql`,table:n.name,dialect:e.dialect});He(t),U(Ds,e,!0);try{window.open(e.url,`_blank`,`noopener,noreferrer`)}catch{}}async function ks(){try{await navigator.clipboard.writeText(m(Ss).cli),U(xs,!0),setTimeout(()=>U(xs,!1),1600)}catch{}}let As=P(!1),js=new Uoe({introspect:e=>n.onIntrospectDatabase(e),installDriver:e=>n.onInstallDriver(e),canInstall:()=>!!n.onInstallDriver});function Ms(){U(As,!0),js.reset()}function Ns(e){let t=m(G);for(let n of e.schemas)t=bQ(t,n),t=T$(t,n.name,e.sources[n.name]??{kind:`sql`,table:n.name,dialect:e.dialect});He(t),e.schemas[0]&&(U(pt,e.schemas[0].name,!0),U(Gn,null))}let Ps=P(!1),Fs=P(`connect`),Is=P(`postgres`),Ls=P(``),Rs=P(!1),zs=P(null),Bs=P(ge([])),Vs=P(ge({})),Hs=P(0),Us=P(ge([])),Ws=F(()=>Y3.find(e=>e.value===m(Is))?.placeholder??``),Gs=F(()=>Object.values(m(Vs)).filter(Boolean).length),Ks=P(`form`),qs=P(ge({})),Js=P(null),Ys=P(null),Xs=P(!1),Zs=F(()=>m(Is)!==`turso`),Qs=F(()=>m(Ks)===`form`&&m(Zs));function $s(){try{return oX(m(Is),m(qs))}catch{return``}}let ec=F(()=>m(Qs)?$s():m(Ls).trim()),tc=F(()=>iX(m(Is))?``:String(rX[m(Is)]??``));function nc(e,t){U(qs,{...m(qs),[e]:t},!0),U(Js,null)}function rc(e){U(zs,e instanceof Error?e.message:String(e),!0);let t=e;U(Ys,t?.missingDriver?t.driver??null:null,!0)}async function ic(){if(!(!n.onIntrospectDatabase||!m(ec))){U(Rs,!0),U(zs,null),U(Js,null),U(Ys,null);try{let e=await n.onIntrospectDatabase({dialect:m(Is),url:m(ec),action:`test`});U(Js,e.tables??[],!0),m(Js).length===0&&U(zs,`Connected, but no tables were found.`)}catch(e){rc(e)}finally{U(Rs,!1)}}}async function ac(){if(n.onInstallDriver){U(Xs,!0),U(zs,null);try{let e=await n.onInstallDriver(m(Is));e.ok?U(Ys,null):U(zs,`Install failed: ${(e.output||e.package||``).slice(-300)}`)}catch(e){U(zs,e instanceof Error?e.message:String(e),!0)}finally{U(Xs,!1)}}}function oc(){U(Ps,!0),U(Fs,`connect`),U(zs,null),U(Bs,[],!0),U(Vs,{},!0),U(Hs,0),U(Us,[],!0),U(Js,null),U(Ys,null),U(qs,{},!0)}function sc(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 cc(){if(!(!n.onIntrospectDatabase||!m(ec))){U(Rs,!0),U(zs,null),U(Ys,null);try{let e=await n.onIntrospectDatabase({dialect:m(Is),url:m(ec),action:`tables`});U(Bs,e.tables??[],!0);let t={};for(let e of m(G).entities)t[e.name]=sc(e.name,m(Bs));U(Vs,t,!0),U(Fs,`map`),m(Bs).length===0&&U(zs,`No tables found in this database.`)}catch(e){rc(e)}finally{U(Rs,!1)}}}function lc(e){let t=[],n=t=>new Set((UZ(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 uc=[[`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`]],dc=e=>e.toLowerCase().replace(/[^a-z0-9]/g,``);function fc(e,t,n){let r=t.filter(e=>!n.has(dc(e))),i=dc(e),a=r.find(e=>dc(e)===i);if(a)return a;let o=uc.find(e=>e.includes(i));return o&&(a=r.find(e=>o.includes(dc(e))),a)?a:(a=r.find(e=>dc(e).includes(i)||i.includes(dc(e))),a??``)}function pc(e,t,n){let r=t.fields.map(e=>e.field),i=new Set,a=[],o=[];for(let t of e.fields){let e=fc(t.field,r,i);if(!e){o.push(t.field);continue}i.add(dc(e)),a.push(e===t.field?{...t}:{...t,dbColumn:e})}for(let e of t.fields)i.has(dc(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 mc(){if(!n.onIntrospectDatabase)return;let e=Object.entries(m(Vs)).filter(([,e])=>e);if(e.length!==0){U(Rs,!0),U(zs,null);try{let t=await n.onIntrospectDatabase({dialect:m(Is),url:m(ec),action:`introspect`,tables:e.map(([,e])=>e)}),r=new Map((t.schemas??[]).map(e=>[e.name,e])),i=m(G),a=0;for(let[t,n]of e){let e=r.get(n),o=UZ(i,t);if(!e||!o)continue;let{schema:s}=pc(o,e,t);i=yQ(i,t,s),i=T$(i,t,{kind:`sql`,table:n,dialect:m(Is)}),a++}He(i),U(Hs,a,!0),U(Us,lc(i),!0),U(Fs,`done`)}catch(e){U(zs,e instanceof Error?e.message:String(e),!0)}finally{U(Rs,!1)}}}let hc=e=>VZ.find(t=>t.kind===e)?.label??e;function gc(e){return e.config.kind===`component`?BX(e.config.component)?.label??e.config.component:hc(e.config.kind)}function _c(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 vc=(e,t)=>!!t&&/\$/.test(e?.fields.find(e=>e.field===t)?.label??``),yc=(e,t,n)=>{let r=UK(n,{measure:e.measure,reduce:e.reduce});if(typeof r!=`number`)return String(r??``);let i=e.format??`auto`;if(i!==`auto`)return GK(r,i);let a=r.toLocaleString(void 0,{maximumFractionDigits:1});return vc(t,e.measure)?`$${a}`:a},bc=e=>!!e&&/^[$€£¥₹₩₽]$/.test(e),xc=e=>t=>`${bc(e)?e:``}${Math.round(t).toLocaleString()}`,Sc=(e,t)=>e.trendField?wne(t,{trendField:e.trendField,measure:e.measure,reduce:e.trendReduce??e.reduce}):[],Cc=(e,t)=>{if(e.target!=null&&e.target!==0){let n=UK(t,{measure:e.measure,reduce:e.reduce});return{text:`${Math.round(n/e.target*100)}% of target`,up:n>=e.target}}let n=Tne(Sc(e,t));return n==null?null:{text:`${n>=0?`▲`:`▼`} ${Math.abs(n).toFixed(0)}%`,up:n>=0}};function wc(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 Tc=[`sum`,`avg`,`count`,`min`,`max`],Ec=e=>{let t=e.idField??e.fields.find(e=>e.primaryKey)?.field;return e.fields.filter(e=>e.field!==t)},Dc=e=>Ec(e).filter(e=>e.type!==`number`&&e.type!==`json`&&e.type!==`relation`),Oc=e=>e.fields.filter(e=>e.type===`number`&&!e.primaryKey),kc=e=>Ec(e).filter(e=>e.type===`enum`||e.type===`boolean`||e.type===`text`),Ac=e=>Ec(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`}:{}})),jc=e=>({rows:[...e.rows],cols:[...e.cols],values:e.measure?[{field:e.measure,agg:e.aggregate}]:[],filters:[]}),Mc=(e,t)=>t.fields.map(t=>e.fields.find(e=>e.field===t)).filter(e=>!!e),Nc=(e,t)=>t.fields&&t.fields.length?e.fields.filter(e=>t.fields.includes(e.field)):Ec(e);function Pc(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}let Fc=F(()=>m(G).access??{enabled:!1,roles:[]}),Ic=e=>He({...m(G),access:e});function Lc(e){e&&(!m(G).access||m(G).access.roles.length===0)?Ic({enabled:!0,defaultRole:`viewer`,roles:[{role:`admin`,screens:`*`,actions:`*`},{role:`editor`,screens:`*`,actions:[`create`,`update`,`delete`]},{role:`viewer`,screens:`*`,actions:[]}]}):Ic({...m(Fc),enabled:e})}let Rc=e=>Ic({...m(Fc),roles:m(Fc).roles.map(e)});function zc(){let e=new Set(m(Fc).roles.map(e=>e.role)),t=`role`,n=1;for(;e.has(t);)t=`role${++n}`;Ic({...m(Fc),roles:[...m(Fc).roles,{role:t,screens:`*`,actions:[]}]})}function Bc(e){let t=m(Fc).roles.filter(t=>t.role!==e);Ic({...m(Fc),roles:t,defaultRole:m(Fc).defaultRole===e?t[0]?.role:m(Fc).defaultRole})}function Vc(e,t){let n=t.trim();!n||n!==e&&m(Fc).roles.some(e=>e.role===n)||Ic({...m(Fc),roles:m(Fc).roles.map(t=>t.role===e?{...t,role:n}:t),defaultRole:m(Fc).defaultRole===e?n:m(Fc).defaultRole})}let Hc=(e,t)=>e.actions===`*`||e.actions.includes(t);function Uc(e,t){Rc(n=>{if(n.role!==e)return n;let r=n.actions===`*`?[...OZ]:n.actions,i=r.includes(t)?r.filter(e=>e!==t):[...r,t];return{...n,actions:i.length===OZ.length?`*`:i}})}let Wc=(e,t)=>e.screens===`*`||e.screens.includes(t);function Gc(e,t){Rc(n=>{if(n.role!==e)return n;let r=n.screens===`*`?m(G).screens.map(e=>e.id):n.screens,i=r.includes(t)?r.filter(e=>e!==t):[...r,t];return{...n,screens:i.length===m(G).screens.length?`*`:i}})}let Kc=(e,t)=>Rc(n=>n.role===e?{...n,screens:t?`*`:[]}:n),qc=[`edit`,`delete`,`navigate`];function Jc(e){let t=m(G).screens.find(t=>t.id===e),n=t?UZ(m(G),t.entity):void 0;return n?[...n.fields]:[]}function Yc(e){m(ht)&&m(Wr)&&He(vQ(m(G),m(ht).id,m(Wr).id,{config:e}))}function Xc(e){let t=m(Wr).config;Yc({rowActions:[...t.rowActions??[],{kind:e}]})}function Zc(e,t){let n=m(Wr).config;Yc({rowActions:(n.rowActions??[]).map((n,r)=>r===e?{...n,...t}:n)})}function Qc(e){let t=m(Wr).config;Yc({rowActions:(t.rowActions??[]).filter((t,n)=>n!==e)})}let $c=[{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`}],el=e=>e!==`empty`&&e!==`notEmpty`;function tl(){let e=m(Wr).config,t=e.columns.find(e=>e.show)?.field??m(Ur)?.fields[0]?.field??``;Yc({formatRules:[...e.formatRules??[],{field:t,op:`gt`,value:0,color:`#dc2626`,bold:!0}]})}function nl(e,t){let n=m(Wr).config;Yc({formatRules:(n.formatRules??[]).map((n,r)=>r===e?{...n,...t}:n)})}function rl(e){let t=m(Wr).config;Yc({formatRules:(t.formatRules??[]).filter((t,n)=>n!==e)})}function il(e,t,n){Yc({formFields:t?n.includes(e)?n:[...n,e]:n.filter(t=>t!==e)})}function al(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 ol(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=al(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 sl=F(()=>m(G).i18n??{enabled:!1,locales:[`en`]});function cl(e){e&&(!m(G).i18n||m(G).i18n.locales.length===0)?He({...m(G),i18n:{enabled:!0,locales:[`en`],defaultLocale:`en`}}):He({...m(G),i18n:{...m(sl),enabled:e}})}function ll(e){let t=[...new Set(e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean))];if(!t.length)return;let n=t.includes(m(sl).defaultLocale??``)?m(sl).defaultLocale:t[0];He({...m(G),i18n:{...m(sl),locales:t,defaultLocale:n}})}let ul={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`},dl=e=>ul[e]??ul.file,fl=P(!1),pl=P(null),ml=P(!1),hl=F(()=>m(mo)?.find(e=>e.path===m(pl))??m(mo)?.[0]),gl=P(`app`);function _l(){U(mo,m(gl)===`fragment`?Q0(m(G)):Z0(m(G)),!0),m(mo).some(e=>e.path===m(pl))||U(pl,(m(mo).find(e=>e.path.endsWith(`+page.svelte`))??m(mo)[0])?.path??null,!0)}function vl(){_l();let e=m(mo)??[];U(pl,(e.find(e=>e.path.endsWith(`+page.svelte`))??e[0])?.path??null,!0),U(fl,!0)}let yl=e=>e.replace(/^src\//,``);async function bl(){if(m(hl))try{await navigator.clipboard.writeText(m(hl).contents),U(ml,!0),setTimeout(()=>U(ml,!1),1200)}catch{}}let xl=P(!1);async function Sl(){if(m(mo)){U(xl,!0);try{let t=(await mt(async()=>{let{default:t}=await import(`./jszip.min-CX2fPs3O.js`).then(t=>e(t.default));return{default:t}},__vite__mapDeps([41,1]),import.meta.url)).default,n=new t;for(let e of m(mo))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=`${(m(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{U(xl,!1)}}}function Cl(){if(!m(mo))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 m(mo))t(`project[files][${e.path}]`,e.contents);t(`project[title]`,m(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 wl=P(`idle`);async function Tl(){if(!(!m(mo)||!n.onWriteToDisk)){U(wl,`busy`);try{await n.onWriteToDisk(m(mo)),U(wl,`done`),setTimeout(()=>U(wl,`idle`),1600)}catch{U(wl,`idle`)}}}let El=P(200),Dl=P(290),Ol=P(null),kl=(e,t,n)=>Math.max(t,Math.min(e,n)),Al=P(!1),jl=P(`none`),Ml=P(!1);D(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(`(max-width: 900px)`),t=()=>{U(Ml,e.matches,!0),e.matches||U(jl,`none`)};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)});let Nl=F(()=>m(Al)?`0px 0px minmax(0, 1fr) 6px ${m(Dl)}px`:`${m(El)}px 6px minmax(0, 1fr) 6px ${m(Dl)}px`);function Fl(){U(jl,m(jl)===`insp`?`none`:`insp`,!0)}D(()=>{m(Ml)&&m(Gn)&&U(jl,`insp`)});let Il=e=>e.config.kind===`grid`?e.config.scheduler?640:440:200,Ll=new Set([`grid`,`chart`,`master-detail`,`pivot`]),Rl=e=>Ll.has(e.config.kind),zl=new Set([`grid`,`master-detail`]),Bl=e=>zl.has(e.config.kind);function Vl(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 Hl=e=>typeof e.style?.padding==`number`?`padding:${e.style.padding}px;`:``,Ul=P(null),Wl=P(0),Gl=0,Kl=0,ql=e=>m(Ul)===e.id?m(Wl):e.height??Il(e);function Jl(e,t){t.preventDefault(),t.stopPropagation(),U(Ul,e.id,!0),Gl=t.clientY,Kl=e.height??Il(e),U(Wl,Kl,!0),t.currentTarget.setPointerCapture(t.pointerId)}function Yl(e){m(Ul)&&U(Wl,kl(Kl+(e.clientY-Gl),120,900),!0)}function Xl(){let e=m(Ul);if(U(Ul,null),!e||!m(ht))return;let t=m(ht).blocks.find(t=>t.id===e);t&&m(Wl)!==(t.height??Il(t))&&He(vQ(m(G),m(ht).id,e,{height:m(Wl)}))}let Zl=P(null),Ql=P(4),$l=0,eu=0,tu=60,nu=e=>m(Zl)===e.id?m(Ql):YX(e);function ru(e,t){t.preventDefault(),t.stopPropagation(),U(Zl,e.id,!0),$l=t.clientX,eu=YX(e);let n=t.currentTarget.closest(`.sv-studio__block`)?.closest(`.sv-studio__canvas`);n&&(tu=(n.clientWidth-132)/12),U(Ql,eu,!0),t.currentTarget.setPointerCapture(t.pointerId)}function iu(e){if(!m(Zl))return;let t=Math.round((e.clientX-$l)/Math.max(tu,1));U(Ql,kl(eu+t,1,12),!0)}function au(){let e=m(Zl);if(U(Zl,null),!e||!m(ht))return;let t=m(ht).blocks.find(t=>t.id===e);t&&m(Ql)!==YX(t)&&He(vQ(m(G),m(ht).id,e,{colSpan:m(Ql)}))}let ou=(e,t)=>He(vQ(m(G),m(ht).id,e.id,{colSpan:t})),su=e=>{m(ht)&&m(Wr)&&He(vQ(m(G),m(ht).id,m(Wr).id,{style:e}))},cu=e=>e===!0?`on`:e===!1?`off`:``,uu=e=>e===`on`||e!==`off`&&void 0,du=e=>e===``?void 0:Number(e);function fu(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?We():Ue();return}if(r&&(e.key===`y`||e.key===`Y`)){e.preventDefault(),We();return}if(r&&(e.key===`d`||e.key===`D`)&&m(Gn)&&!n){e.preventDefault(),Dn(m(Gn));return}if(r&&(e.key===`c`||e.key===`C`)&&m(Gn)&&!n&&!window.getSelection()?.toString()){e.preventDefault(),Bn();return}if(r&&(e.key===`v`||e.key===`V`)&&m(Nn)&&!n){e.preventDefault(),Vn();return}if(e.key===`?`&&!n){e.preventDefault(),U(Pn,!m(Pn));return}if(e.key===`Escape`){m(Pn)?U(Pn,!1):m(Ua)?U(Ua,null):m(et)?U(et,null):m(Fn)?U(Fn,!1):m(X)?U(X,!1):m(Y)?U(Y,!1):m(bs)?U(bs,!1):m(Ts)?U(Ts,!1):m(rs)?U(rs,!1):m(Oo)?U(Oo,!1):m(Td)?U(Td,!1):m(fl)?U(fl,!1):m(go)===`none`?U(Gn,null):U(go,`none`);return}!n&&!m(fl)&&!m(Td)&&(e.key===`Delete`||e.key===`Backspace`)&&m(Gn)&&(e.preventDefault(),$e())}let pu=P(null),mu=P(null),hu=P(null),gu=P(null),_u=P(null);function vu(e,t){U(pu,t,!0),U(mu,null),U(hu,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`,e.dataTransfer.setData(`text/plain`,t))}function yu(e,t){U(mu,t,!0),U(pu,null),U(hu,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`,e.dataTransfer.setData(`text/plain`,`component:${t}`))}function bu(e,t){if(m(Ul)||m(Zl)){e.preventDefault();return}U(hu,t,!0),U(pu,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t))}function xu(e,t){if(!m(pu)&&!m(mu)&&!m(hu))return;e.preventDefault();let n=e.currentTarget.getBoundingClientRect();U(_u,e.clientX>n.left+n.width/2?t+1:t,!0),e.dataTransfer&&(e.dataTransfer.dropEffect=m(hu)?`move`:`copy`)}function Su(e){(m(pu)||m(mu)||m(hu))&&e.preventDefault()}function Cu(e){if(!m(ht))return;e.preventDefault();let t=m(_u)??m(ht).blocks.length;if(m(mu))qt(m(mu),t);else if(m(pu))tt(m(pu),t);else if(m(hu)){let e=m(ht).blocks.findIndex(e=>e.id===m(hu));He(_Q(m(G),m(ht).id,m(hu),e<t?t-1:t))}wu()}function wu(){U(pu,null),U(mu,null),U(hu,null),U(_u,null)}function Tu(e){m(Ur)&&He(yQ(m(G),m(Ur).name,e))}let Eu=[{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`}],Ou=e=>e!==`required`;function Au(){if(!m(Ur))return;let e=m(Ur).fields.find(e=>!e.primaryKey)?.field??m(Ur).fields[0]?.field??``;Tu({...m(Ur),validations:[...m(Ur).validations??[],{field:e,op:`required`,message:`This field is required`}]})}function ju(e,t){m(Ur)&&Tu({...m(Ur),validations:(m(Ur).validations??[]).map((n,r)=>r===e?{...n,...t}:n)})}function Mu(e){m(Ur)&&Tu({...m(Ur),validations:(m(Ur).validations??[]).filter((t,n)=>n!==e)})}let Pu=P(null),Fu=P(null);function Iu(e,t){if(!m(Pu))return;e.preventDefault();let n=e.currentTarget.getBoundingClientRect();U(Fu,e.clientY>n.top+n.height/2?t+1:t,!0)}function Lu(){if(!m(Ur)||!m(Pu)||m(Fu)==null){U(Pu,null),U(Fu,null);return}let e=m(Ur).fields.findIndex(e=>e.field===m(Pu)),t=[...m(Ur).fields],[n]=t.splice(e,1);t.splice(Math.max(0,Math.min(e<m(Fu)?m(Fu)-1:m(Fu),t.length)),0,n),Tu({...m(Ur),fields:t}),U(Pu,null),U(Fu,null)}function Ru(e,t){m(ht)&&m(Wr)&&He(vQ(m(G),m(ht).id,m(Wr).id,{config:{columns:t}}))}function zu(e,t,n){Ru(e,e.columns.map(e=>e.field===t?{...e,show:n}:e))}function Bu(e,t,n){Ru(e,e.columns.map(e=>e.field===t?{...e,...n}:e))}function Vu(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]],Ru(e,i)}function Hu(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 Wu(e){return e.cellType?`cell:${e.cellType.kind}`:e.format?e.format.type:``}function Ju(e,t,n){if(n.startsWith(`cell:`)){let r=n.slice(5);Bu(e,t.field,{cellType:{kind:r},format:void 0})}else n?Bu(e,t.field,{format:{type:n},cellType:void 0}):Bu(e,t.field,{format:void 0,cellType:void 0})}function Yu(e,t,n){t.format&&Bu(e,t.field,{format:{...t.format,...n}})}function Zu(e,t,n){t.cellType&&Bu(e,t.field,{cellType:{...t.cellType,...n}})}function Qu(e,t,n){let r={...e.filterUi??{global:!0},[t]:n||void 0};Yc({filterUi:r.global||r.row||r.menu?r:{global:!0}})}function ed(e,t,n){let r={...e.export??{},[t]:n||void 0};Yc({export:r.csv||r.json||r.copy||r.xlsx||r.pdf||r.print?r:void 0})}async function nd(e,t,n){let r=Lo[e];if(r)try{let{exportGrid:e}=await mt(async()=>{let{exportGrid:e}=await import(`./src-hO8VnnI5.js`).then(e=>e.t);return{exportGrid:e}},__vite__mapDeps([42,1,3,0,2,7]),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 id(e,t){let n=Lo[e];if(n)try{let{printGrid:e}=await mt(async()=>{let{printGrid:e}=await import(`./src-hO8VnnI5.js`).then(e=>e.t);return{printGrid:e}},__vite__mapDeps([42,1,3,0,2,7]),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 ad(e,t,n){let r=e.grouping??[],i=n?[...r.filter(e=>e!==t),t]:r.filter(e=>e!==t);Yc({grouping:i.length?i:void 0,...i.length?{treeData:void 0,scheduler:void 0}:{}})}function od(e,t){if(!t){Yc({treeData:void 0});return}Yc({treeData:{parentField:m(vt).find(e=>/parent|manager|reports_to/i.test(e))??m(vt)[0]??``,labelField:e.columns.find(e=>e.show)?.field??m(vt)[0]??``},grouping:void 0,scheduler:void 0})}function sd(e,t){e.treeData&&Yc({treeData:{...e.treeData,...t}})}function ld(e,t){if(!t){Yc({scheduler:void 0});return}Yc({scheduler:{startField:(m(Ur)?.fields??[]).filter(e=>e.type===`date`||/date|start|when|time|due|created/i.test(e.field))[0]?.field??m(vt)[0]??``,titleField:e.columns.find(e=>e.show)?.field??m(vt)[0]??``,initialView:`month`,drawer:!0},grouping:void 0,treeData:void 0})}function ud(e,t){e.scheduler&&Yc({scheduler:{...e.scheduler,...t}})}let fd=e=>(UZ(m(G),e)?.fields??[]).filter(e=>e.type===`text`||e.type===`enum`);function pd(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 md=e=>pd(e).length>1;function hd(e){if(!m(Ur))return;let t=(e.options?.length??0)+1,n=[...e.options??[],{value:`option-${t}`,label:`Option ${t}`}];Tu(_Y(m(Ur),e.field,{options:n}))}function gd(e,t,n){if(!m(Ur))return;let r=(e.options??[]).map((e,r)=>r===t?{...e,...n}:e);Tu(_Y(m(Ur),e.field,{options:r}))}function _d(e,t){if(!m(Ur))return;let n=(e.options??[]).filter((e,n)=>n!==t);Tu(_Y(m(Ur),e.field,{options:n.length?n:void 0}))}function yd(e,t){if(!m(Ur))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;Tu(_Y(m(Ur),e.field,{input:r}))}let bd=[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`],xd=[`postgres`,`mysql`,`sqlite`,`mssql`,`supabase`,`turso`],Sd=[`query`,`path`,`header`,`body`],wd=P(`query`),Td=P(!1),Ed=P(null),Dd=F(()=>m(Ed)?UZ(m(G),m(Ed)):m(Ur)),kd=P(``),Ad=P(null),jd=P(null),Md=P(!1),Nd=P(!1);function Pd(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)}}}D(()=>{m(Td)||(U(Ed,null),U(kd,``),U(Ad,null),U(jd,null),U(Md,!1))}),D(()=>{m(Fn)||U(Nd,!1)});function Fd(e){E$(m(G),e).kind!==`memory`&&E$(m(G),e).kind!==`pglite`&&(U(Ed,e,!0),U(kd,``),U(Ad,null),U(jd,null),U(ef,null),U(Md,!1),U(Fn,!1),U(Td,!0))}let Id=F(()=>m(Dd)?E$(m(G),m(Dd).name):{kind:`memory`});function Ld(e){m(Dd)&&He(T$(m(G),m(Dd).name,e))}function Rd(e,t){let n=E$(m(G),e);if(n.kind===t)return;let r=w$(t,e),i=n.kind===`memory`||n.kind===`pglite`?n.seed:void 0;i&&(r.kind===`memory`||r.kind===`pglite`)&&(r.seed=i),He(T$(m(G),e,r))}function zd(e){m(Ur)&&Rd(m(Ur).name,e)}function Bd(e){m(Id).kind===`rest`&&Ld({...m(Id),...e})}function Vd(e){Bd({adapter:e===`none`?void 0:e===`offsetLimit`?{kind:`offsetLimit`}:e===`dummyjson`?{kind:`dummyjson`}:{kind:`jsonServer`}})}function Hd(e){let t=m(Id).kind===`rest`?m(Id).adapter:void 0;t?.kind===`offsetLimit`&&Bd({adapter:{...t,...e}})}function Ud(e){if(e.kind===`dummyjson`)return PK(e.rowsKey);if(e.kind===`jsonServer`)return FK();let{kind:t,...n}=e;return NK(n)}let Wd=F(()=>{if(!m(G).entities.length)return null;let e=new Set(m(G).entities.map(e=>E$(m(G),e.name).kind));return e.size===1&&e.has(`memory`)?`memory`:e.size===1&&e.has(`pglite`)?`pglite`:null}),Gd=F(()=>{let e=new Map;for(let t of m(G).entities){let n=E$(m(G),t.name).kind;e.set(n,(e.get(n)??0)+1)}return[...e].map(([e,t])=>`${mi[e]} ×${t}`).join(` · `)||mi[m(G).dataSource]});function Kd(e){if(m(Wd)===e)return;let t=y$(m(G),e);for(let n of m(G).entities){let r=E$(m(G),n.name),i=r.kind===`memory`||r.kind===`pglite`?r.seed:void 0;t=T$(t,n.name,e===`pglite`?{kind:`pglite`,table:n.name,...i?{seed:i}:{}}:{kind:`memory`,...i?{seed:i}:{}})}He(t)}let qd=e=>[...e.matchAll(/\{([^}]+)\}/g)].map(e=>e[1]);function Jd(e){if(m(Id).kind!==`rest`)return;let t=qd(e),n=m(Id).params.filter(e=>e.location!==`path`),r=new Set,i=t.filter(e=>!r.has(e)&&r.add(e)).map(e=>m(Id).kind===`rest`?m(Id).params.find(t=>t.location===`path`&&t.name===e)??{name:e,location:`path`,type:`string`,value:``}:{name:e,location:`path`,type:`string`,value:``});Bd({path:e,params:[...n,...i]})}function Yd(e){return m(Id).kind===`rest`?m(Id).params.filter(t=>t.location===e):[]}function Xd(e){m(Id).kind===`rest`&&Bd({params:[...m(Id).params,{name:``,location:e,type:`string`,value:``}]})}function Zd(e,t){m(Id).kind===`rest`&&Bd({params:m(Id).params.map(n=>n===e?{...n,...t}:n)})}function Qd(e){m(Id).kind===`rest`&&Bd({params:m(Id).params.filter(t=>t!==e)})}let $d=P(!1),ef=P(null),tf=P(ge([])),nf=P(!1);function rf(e){return{url:e.url??m(G).supabase?.url,key:e.key??m(G).supabase?.key}}function af(e){let t={...m(G),supabase:{...m(G).supabase,...e}},n=m(Id);if(n.kind===`supabase`&&(n.url||n.key)&&m(Dd)){let{url:e,key:r,...i}=n;t=T$(t,m(Dd).name,i)}He(t)}let of={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 sf(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 cf(e){return{placeholder:of[e.dialect??`postgres`],parsed:m(Ad)}}function lf(e){let t=m(kd).trim();if(!t)return;let n=sf(t),r=sX(n===`turso`||n===`supabase`?`postgres`:n,t);Ld({...e,dialect:n}),U(Ad,{dialect:n,host:typeof r.host==`string`?r.host:void 0,database:r.database},!0)}let uf=P(!1),df=P(!1),ff=P(!1);async function pf(){try{await navigator.clipboard.writeText(`npx @svgrid/studio designer`),U(ff,!0),setTimeout(()=>U(ff,!1),1600)}catch{}}async function mf(e){let t=m(Dd);if(!t||!n.onIntrospectDatabase)return;let r=m(kd).trim();if(!r){U(ef,{ok:!1,message:`Paste your connection string above first, then Preview data.`},!0);return}U(uf,!0),U(ef,null),U(jd,null);try{let i=e.dialect??sf(r),a=(await n.onIntrospectDatabase({dialect:i,url:r,action:`preview`,tables:[e.table||t.name],schema:e.schema})).rows??[];U(vi,{...m(vi),[t.name]:a},!0),U(ef,{ok:!0,message:`OK - ${a.length} row${a.length===1?``:`s`} from ${e.table||t.name}.`},!0)}catch(e){let t=e;U(jd,t?.missingDriver?t.driver??null:null,!0),U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U(uf,!1)}}async function hf(e){if(n.onInstallDriver){U(df,!0),U(ef,null);try{let t=e.dialect??sf(m(kd).trim()),r=await n.onInstallDriver(t);r.ok?(U(jd,null),await mf(e)):U(ef,{ok:!1,message:`Install failed: ${(r.output||r.package||``).slice(-300)}`},!0)}catch(e){U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U(df,!1)}}}async function gf(){if(m(Id).kind!==`supabase`)return;let e=rf(m(Id));if(!e.url||!e.key){U(ef,{ok:!1,message:`Set the project URL and the anon key first.`},!0);return}U(nf,!0),U(ef,null);try{U(tf,await BK(e.url,e.key),!0),U(ef,m(tf).length?{ok:!0,message:`Found ${m(tf).length} table${m(tf).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){U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U(nf,!1)}}async function _f(){let e=m(Dd);if(!e||m(Id).kind!==`supabase`)return;let t=m(Id),n=rf(t);if(!n.url||!n.key){U(ef,{ok:!1,message:`Set the project URL and the anon key first.`},!0);return}U(nf,!0),U(ef,null);try{let r=await VK({url:n.url,key:n.key,table:t.table||e.name});r&&r.fields.length?(He(yQ(m(G),e.name,{...e,idField:r.idField,fields:r.fields})),U(ef,{ok:!0,message:`Imported ${r.fields.length} fields from "${t.table||e.name}".`},!0),await bf()):(await bf(),Cf())}catch(e){U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U(nf,!1)}}let vf=(e,t)=>{let n=(e??``).replace(/\/+$/,``),r=(t??``).replace(/^\/+/,``);return n?r?`${n}/${r}`:n:r},yf=(e,t)=>t?t.split(`.`).filter(Boolean).reduce((e,t)=>e==null?e:e[t],e):e;async function bf(){let e=m(Dd);if(!e)return;let t=m(Id);U($d,!0),U(ef,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?Ud(t.adapter):{parse:t.rowsPath||t.totalPath?e=>{let n=yf(e,t.rowsPath)??[];return{rows:n,rowCount:Number(yf(e,t.totalPath)??n.length)}}:void 0};n=Sne({url:vf(t.baseUrl,r),schema:e,headers:i,query:a,...o})}else if(t.kind===`supabase`){let r=rf(t);if(!r.url||!r.key)throw Error(`Set the project URL and the anon key first.`);n=Sne({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];U(vi,{...m(vi),[e.name]:i},!0),U(ef,{ok:!0,message:`OK - ${r.rowCount} rows returned.`},!0)}catch(e){U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U($d,!1)}}let xf=e=>{let t=e==null?``:typeof e==`object`?JSON.stringify(e):String(e);return t.length>48?t.slice(0,47)+`…`:t},Sf=e=>typeof e==`number`?`number`:typeof e==`boolean`?`boolean`:e&&typeof e==`object`?`json`:`text`;function Cf(){let e=m(Dd);if(!e)return;let t=m(vi)[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:Sf(n),...e===r?{primaryKey:!0}:{}}});He(yQ(m(G),e.name,{...e,idField:r,fields:i})),U(ef,{ok:!0,message:`Imported ${i.length} fields from the response.`},!0)}var wf=kge();T(`keydown`,me,fu);let Ef;var Of=H(wf),kf=H(Of),Af=H(kf);a(H(Af),()=>`dashboard`),W(Af),k(2),W(kf);var jf=j(kf,4);L(jf);var Nf=j(jf,2),Pf=e=>{var t=Z6();let n;E(()=>n=Ee(t,1,`sv-studio__tb-btn svelte-psjrav`,null,n,{"is-active":m(jl)===`insp`})),C(`click`,t,Fl),f(e,t)};g(Nf,e=>{m(Ml)&&e(Pf)});var Ff=j(Nf,2),If=H(Ff);let Lf;var zf=H(If),Bf=j(zf,2),Vf=H(Bf,!0);W(Bf),a(j(Bf,2),()=>`chevron`),W(If);var Uf=j(If,2),Wf=e=>{var t=e8(),r=R(t),i=j(r,2),a=H(i),o=e=>{var t=wle(),n=H(t);let r;var i=j(n,2);let a;W(t),E(()=>{r=Ee(n,1,`svelte-psjrav`,null,r,{"is-active":m($a)===`light`}),a=Ee(i,1,`svelte-psjrav`,null,a,{"is-active":m($a)===`dark`})}),C(`click`,n,()=>He(D$(m(G),{mode:`light`}))),C(`click`,i,()=>He(D$(m(G),{mode:`dark`}))),f(e,t)};g(a,e=>{n.appearance||e(o)});var s=j(a,2);z(s,21,()=>hX,e=>e.id,(e,t)=>{let n=F(()=>(m(G).theme?.preset??`tailwind`)===m(t).id),r=F(()=>m(t)[m($a)]);var i=Q6();let a;var o=j(H(i),2),s=H(o,!0);W(o),W(i),E(()=>{a=Ee(i,1,`sv-studio__theme svelte-psjrav`,null,a,{"is-active":m(n)}),B(i,`aria-checked`,m(n)),B(i,`title`,m(t).name),M(i,`--pv-bg: ${m(r).bg??``}; --pv-header: ${m(r).headerBg??``}; --pv-border: ${m(r).border??``}; --pv-accent: ${m(r).accent??``}; --pv-fg: ${m(r).fg??``}`),y(s,m(t).name)}),C(`click`,i,()=>He(O$(m(G),m(t).id))),f(e,i)}),W(s);var c=j(s,2),l=j(H(c)),u=H(l);L(u);var d=j(u,2),p=e=>{var t=$6();C(`click`,t,()=>He(D$(m(G),{accent:void 0}))),f(e,t)};g(d,e=>{m(G).theme?.accent&&e(p)}),W(l),W(c);var h=j(c,2),_=j(H(h));L(_);var v=j(_,2),b=j(H(v));b.textContent=`.brand-app { … }`,k(),W(v),W(h),k(2),W(i),E(()=>{re(u,m(G).theme?.accent??m(ro)),re(_,m(G).theme?.appClass??``)}),C(`click`,r,()=>U(Y,!1)),C(`change`,u,e=>He(D$(m(G),{accent:e.currentTarget.value}))),C(`change`,_,e=>He(D$(m(G),{appClass:e.currentTarget.value.trim()||void 0}))),f(e,t)};g(Uf,e=>{m(Y)&&e(Wf)}),W(Ff);var Gf=j(Ff,4),qf=e=>{var t=t8();let n;var r=H(t);W(t),E(()=>{n=Ee(t,1,`sv-studio__saved svelte-psjrav`,null,n,{"is-saving":m(Je)===`Saving…`}),y(r,`${m(Je)===`Saving…`?``:`✓ `}${m(Je)??``}`)}),f(e,t)};g(Gf,e=>{m(Je)&&e(qf)});var Jf=j(Gf,2);a(H(Jf),()=>`undo`),W(Jf);var Xf=j(Jf,2);a(H(Xf),()=>`redo`),W(Xf);var Zf=j(Xf,2),Qf=j(Zf,4),ep=e=>{var t=n8();let n;E(()=>n=Ee(t,1,`sv-studio__tb-btn sv-studio__tb-btn--ai svelte-psjrav`,null,n,{"is-active":m(rs)})),C(`click`,t,cs),f(e,t)};g(Qf,e=>{n.onCopilot&&e(ep)});var tp=j(Qf,2);a(H(tp),()=>`plus`),k(),W(tp);var np=j(tp,2);a(H(np),()=>`dashboard`),k(),W(np);var rp=j(np,2),ip=e=>{var t=r8();let n;var r=H(t);a(r,()=>`entity`),k(),W(t),E(()=>n=Ee(t,1,`sv-studio__tb-btn svelte-psjrav`,null,n,{"is-active":m(Fn)})),C(`click`,t,()=>U(Fn,!0)),f(e,t)};g(rp,e=>{m(G).entities.length>0&&e(ip)});var ap=j(rp,2),op=H(ap);let cp;var lp=H(op);a(lp,()=>`plus`),a(j(lp,2),()=>`chevron`),W(op);var up=j(op,2),dp=e=>{var t=Tle(),r=R(t),i=j(r,2),o=H(i),s=H(o);a(s,()=>`plus`),k(),W(o);var c=j(o,2),l=H(c);a(l,()=>`import`);var u=j(l,3);W(c);var d=j(c,2),p=H(d);a(p,()=>`database`),k(),W(d);var h=j(d,2),_=e=>{var t=a8(),n=R(t),r=H(n);a(r,()=>`database`),k(),W(n);var i=j(n,2),o=e=>{var t=i8(),n=H(t);a(n,()=>`database`),k(),W(t),C(`click`,t,()=>{U(X,!1),oc()}),f(e,t)};g(i,e=>{m(G).entities.length>0&&e(o)}),C(`click`,n,()=>{U(X,!1),Ms()}),f(e,t)};g(h,e=>{n.onIntrospectDatabase&&e(_)});var v=j(h,2),y=H(v);a(y,()=>`import`),k(),W(v),W(i),C(`click`,r,()=>U(X,!1)),C(`click`,o,()=>{U(X,!1),U(ms,``),U(ps,!0)}),C(`change`,u,e=>{U(X,!1),ys(e.currentTarget.files?.[0]),e.currentTarget.value=``}),C(`click`,d,()=>{U(X,!1),U(Ds,null),U(Ts,!0)}),C(`click`,v,()=>{U(X,!1),U(go,`import`)}),f(e,t)};g(up,e=>{m(X)&&e(dp)}),W(ap);var fp=j(ap,2);let pp;var mp=j(fp,2);let hp;a(H(mp),()=>`save`),k(),W(mp);var _p=j(mp,4),vp=e=>{var t=Ele();C(`click`,t,Lr),f(e,t)};g(_p,e=>{m(Nr)&&e(vp)});var bp=j(_p,2),xp=j(bp,4);let Sp;var Cp=j(xp,2),Tp=j(Cp,2);a(H(Tp),()=>`screen`),k(),W(Tp);var Ep=j(Tp,2);let Dp;a(H(Ep),()=>`deploy`),k(),W(Ep);var Op=j(Ep,2),kp=j(Op,2);a(H(kp),()=>`generate`),k(),W(kp),W(Of);var jp=j(Of,2),Mp=e=>{var t=Dle(),n=H(t),r=H(n);a(r,()=>`save`),k(),W(n);var i=j(n,2),o=j(i,2);W(t),C(`click`,i,Xe),C(`click`,o,Ze),f(e,t)};g(jp,e=>{m(Ke)&&e(Mp)});var Np=j(jp,2),Pp=e=>{var t=Ole(),n=H(t),r=H(n,!0);W(n);var i=j(n,2);W(t),E(()=>y(r,m(vs))),C(`click`,i,()=>U(vs,null)),f(e,t)};g(Np,e=>{m(vs)&&e(Pp)});var Fp=j(Np,2),Ip=e=>{var t=kle(),n=H(t),r=H(n,!0);W(n);var i=j(n,2);W(t),E(()=>y(r,m(yo))),C(`click`,i,()=>U(yo,null)),f(e,t)};g(Fp,e=>{m(yo)&&m(go)===`none`&&e(Ip)});var Lp=j(Fp,2),Rp=e=>{var t=l8(),n=H(t),r=e=>{var t=o8(),n=j(R(t),2);I(n),E(()=>re(n,m(bo))),f(e,t)},i=e=>{var t=Ale(),n=j(R(t),2);let r;var i=H(n);a(i,()=>`import`);var o=j(i,4);W(n);var s=j(n,2);I(s),B(s,`placeholder`,`…or paste { "entities": [...], "screens": [...] }`);var c=j(s,2);E(e=>{r=Ee(n,1,`sv-studio__dropzone svelte-psjrav`,null,r,{"is-dragover":m(Co)}),c.disabled=e},[()=>!m(_o).trim()]),T(`dragover`,n,e=>{e.preventDefault(),U(Co,!0)}),T(`dragleave`,n,()=>U(Co,!1)),T(`drop`,n,To),C(`change`,o,e=>wo(e.currentTarget.files?.[0])),ee(s,()=>m(_o),e=>U(_o,e)),C(`click`,c,So),f(e,t)},o=e=>{var t=s8(),n=j(R(t),2);I(n),B(n,`placeholder`,`model User { id Int @id ... } · or an OpenAPI 3 JSON document`);var r=j(n,2);ee(n,()=>m(vo),e=>U(vo,e)),C(`click`,r,Do),f(e,t)};g(n,e=>{m(go)===`save`?e(r):m(go)===`load`?e(i,1):e(o,-1)});var s=j(n,2),c=e=>{var t=c8(),n=H(t,!0);W(t),E(()=>y(n,m(Eo))),f(e,t)};g(s,e=>{m(Eo)&&e(c)});var l=j(s,2),u=e=>{var t=jle(),n=H(t,!0);W(t),E(()=>y(n,m(yo))),f(e,t)};g(l,e=>{m(yo)&&e(u)}),W(t),f(e,t)};g(Lp,e=>{m(go)!==`none`&&e(Rp)});var zp=j(Lp,2);let Bp;{let e=e=>{var t=Lle(),n=H(t),r=H(n),i=H(r),o=H(i);a(o,()=>`chevron`),k(),W(i);var s=j(i,2),c=H(s);z(c,17,()=>m(G).screens,e=>e.id,(e,t)=>{var n=Mle();let r;var i=H(n),o=H(i);a(o,()=>`screen`);var s=j(o),c=H(s,!0);W(s);var l=j(s),u=H(l);W(l),W(i);var d=j(i,2),p=j(d,2),h=H(p);a(h,()=>`close`),W(p),W(n),E(()=>{r=Ee(n,1,`sv-studio__tree-row svelte-psjrav`,null,r,{"is-active":m(t).id===m(ht)?.id,"is-dragging":m(gu)===m(t).id}),y(c,m(t).title),y(u,`/${m(t).route??``}`)}),T(`dragstart`,n,()=>U(gu,m(t).id,!0)),T(`dragover`,n,e=>e.preventDefault()),T(`drop`,n,e=>{e.preventDefault(),m(gu)&&m(gu)!==m(t).id&&He(v$(m(G),m(gu),m(G).screens.findIndex(e=>e.id===m(t).id))),U(gu,null)}),T(`dragend`,n,()=>U(gu,null)),C(`contextmenu`,n,e=>kn(e,Mn(m(t)))),C(`click`,i,()=>{U(pt,m(t).id,!0),U(Gn,null)}),C(`click`,d,()=>{U(pt,m(t).id,!0),Hn()}),C(`click`,p,()=>He(BQ(m(G),m(t).id))),f(e,n)});var l=j(c,2),u=e=>{var t=Nle();f(e,t)};g(l,e=>{m(G).screens.length===0&&e(u)}),W(s),W(r);var d=j(r,2),p=H(d),h=H(p);a(h,()=>`chevron`),k(),W(p);var _=j(p,2);z(_,21,()=>m(G).entities,e=>e.name,(e,t)=>{let n=F(()=>_i(m(t).name));var r=Ple(),i=H(r),o=H(i);a(o,()=>`entity`);var s=j(o),c=H(s,!0);W(s),W(i);var l=j(i,2);let u;var d=H(l,!0);W(l);var p=j(l,2),h=H(p);a(h,()=>`plus`),W(p),W(r),E(()=>{y(c,m(t).label??m(t).name),u=Ee(l,1,`sv-studio__srcchip svelte-psjrav`,null,u,{"is-inherited":!m(n).explicit}),M(l,`--src: ${m(n).color??``}`),B(l,`title`,`${m(t).label??m(t).name??``} data: ${m(n).label??``}${m(n).explicit?``:` (project default)`} - click to manage in Data model`),y(d,m(n).label),B(p,`aria-label`,`Add screen for ${m(t).name??``}`),B(p,`title`,`Add ${m(ho)??``} screen`)}),C(`click`,l,()=>zn(m(t).name)),C(`click`,p,()=>He(wre(m(G),m(t).name,m(ho)))),f(e,r)}),W(_),W(d);var v=j(d,2),b=H(v),x=j(H(b)),S=H(x),w=H(S);w.value=w.__value=`crud`;var D=j(w);D.value=D.__value=`dashboard`;var A=j(D);A.value=A.__value=`master-detail`;var N=j(A);N.value=N.__value=`empty`,W(S);var ee=j(S,2),P=H(ee);a(P,()=>`plus`),W(ee),W(x),W(b);var te=j(b,2),I=j(H(te)),ne=H(I);ne.value=ne.__value=`memory`;var ie=j(ne);ie.value=ie.__value=`pglite`;var ae=j(ie);ae.value=ae.__value=`sql`;var oe=j(ae);oe.value=oe.__value=`supabase`;var se=j(oe);se.value=se.__value=`rest`,W(I);var ce;we(I),W(te);var le=j(te,4),ue=H(le),de=H(ue);a(de,()=>`chevron`),k(),W(ue);var fe=j(ue,2),pe=H(fe),me=j(H(pe)),he=H(me);he.value=he.__value=`sidebar`;var ge=j(he);ge.value=ge.__value=`top-nav`;var _e=j(ge);_e.value=_e.__value=`bottom-nav`,W(me);var ve;we(me),W(pe);var V=j(pe,2),ye=e=>{var t=u8(),n=j(H(t)),r=H(n);r.value=r.__value=`left`;var i=j(r);i.value=i.__value=`right`,W(n);var a;we(n),W(t),E(()=>{a!==(a=m(G).theme?.shell?.navPosition??`left`)&&(n.value=(n.__value=m(G).theme?.shell?.navPosition??`left`)??``,Oe(n,m(G).theme?.shell?.navPosition??`left`))}),C(`change`,n,e=>He(k$(m(G),{navPosition:e.currentTarget.value}))),f(e,t)};g(V,e=>{(m(G).theme?.shell?.style??`sidebar`)===`sidebar`&&e(ye)});var be=j(V,2),xe=j(H(be));L(xe),W(be);var Se=j(be,4),Ce=H(Se),Te=e=>{var t=Fle(),n=R(t),r=j(n,2);E(()=>B(n,`src`,m(co))),C(`click`,r,()=>He(k$(m(G),{logo:void 0}))),f(e,t)},De=e=>{var t=Ile();C(`change`,t,fo),f(e,t)};g(Ce,e=>{m(co)?e(Te):e(De,-1)}),W(Se);var ke=j(Se,4),Ae=j(H(ke));L(Ae),W(ke),W(fe),W(le),W(v),W(n),W(t),E(()=>{ce!==(ce=m(G).dataSource)&&(I.value=(I.__value=m(G).dataSource)??``,Oe(I,m(G).dataSource)),ve!==(ve=m(G).theme?.shell?.style??`sidebar`)&&(me.value=(me.__value=m(G).theme?.shell?.style??`sidebar`)??``,Oe(me,m(G).theme?.shell?.style??`sidebar`)),re(xe,m(G).theme?.shell?.brand??``),B(xe,`placeholder`,m(G).title),re(Ae,m(G).theme?.shell?.footer??``)}),O(S,()=>m(ho),e=>U(ho,e)),C(`click`,ee,()=>Un()),C(`change`,I,e=>He(y$(m(G),e.currentTarget.value))),C(`change`,me,e=>He(k$(m(G),{style:e.currentTarget.value}))),C(`change`,xe,e=>He(k$(m(G),{brand:e.currentTarget.value}))),C(`change`,Ae,e=>He(k$(m(G),{footer:e.currentTarget.value}))),f(e,t)},t=e=>{var t=Ble(),n=H(t),r=H(n),i=H(r),o=H(i,!0);W(i);var s=j(i,2);z(s,21,()=>VZ,e=>e.kind,(e,t)=>{var n=Rle();let r;var i=H(n);a(i,()=>m(t).kind);var o=j(i,1,!0);W(n),E(()=>{r=Ee(n,1,`sv-studio__palette-item svelte-psjrav`,null,r,{"is-dragging":m(pu)===m(t).kind}),n.disabled=!m(ht),B(n,`draggable`,!!m(ht)),B(n,`title`,m(Ur)?m(t).needs?`Needs a ${m(t).needs}`:`Drag onto the canvas, or click to add`:`Drop it and pick an entity to bind this page to`),y(o,m(t).label)}),T(`dragstart`,n,e=>m(ht)&&vu(e,m(t).kind)),T(`dragend`,n,wu),C(`click`,n,()=>tt(m(t).kind)),f(e,n)}),W(s);var c=j(s,4);z(c,17,()=>it,e=>e.category,(e,t)=>{var n=d8(),r=R(n),i=H(r,!0);W(r);var o=j(r,2);z(o,21,()=>m(t).items,e=>e.key,(e,t)=>{var n=zle();let r;var i=H(n);a(i,()=>`file`);var o=j(i,1,!0);W(n),E(()=>{r=Ee(n,1,`sv-studio__palette-item svelte-psjrav`,null,r,{"is-dragging":m(mu)===m(t).key}),n.disabled=!m(ht),B(n,`draggable`,!!m(ht)),y(o,m(t).label)}),T(`dragstart`,n,e=>m(ht)&&yu(e,m(t).key)),T(`dragend`,n,wu),C(`click`,n,()=>qt(m(t).key)),f(e,n)}),W(o),E(()=>y(i,m(t).category)),f(e,n)}),W(r),W(n),W(t),E(()=>y(o,m(ht)?m(Ur)?`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.`)),f(e,t)},r=e=>{var t=Oue(),r=H(t),i=e=>{var t=f8(),n=H(t);let r;var i=H(n);a(i,()=>`dashboard`),k(),W(n);var o=j(n,2);let s;var c=H(o);a(c,()=>`file`);var l=j(c,2),u=e=>{var t=Vle();f(e,t)};g(l,e=>{m(ht).code&&e(u)}),W(o),W(t),E(()=>{r=Ee(n,1,`sv-studio__viewtab svelte-psjrav`,null,r,{"is-active":m(Kn)===`design`}),B(n,`aria-selected`,m(Kn)===`design`),s=Ee(o,1,`sv-studio__viewtab svelte-psjrav`,null,s,{"is-active":m(Kn)===`code`}),B(o,`aria-selected`,m(Kn)===`code`)}),C(`click`,n,()=>U(Kn,`design`)),C(`click`,o,()=>U(Kn,`code`)),f(e,t)};g(r,e=>{m(ht)&&e(i)});var o=j(r,2),s=e=>{var t=h8(),n=H(t),r=H(n),i=H(r);let o;var s=H(i);a(s,()=>`file`),k(),W(i);var c=j(i,2);let l;var u=j(c,2);let d;var p=j(u,2);let h;W(r);var _=j(r,2),v=e=>{var t=Hle(),n=H(t);L(n),k(),W(t),E(()=>de(n,m(Kr))),C(`change`,n,e=>He(p$(m(G),m(ht).id,e.currentTarget.checked))),f(e,t)};g(_,e=>{(m(qn)===`onLoad`||m(qn)===`onDestroy`)&&!m(Ur)&&e(v)}),W(n);var b=j(n,2),x=e=>{var t=p8(),n=R(t),r=H(n),i=H(r),o=H(i);let s;var c=j(H(o)),l=e=>{var t=Ule();f(e,t)};g(c,e=>{(m(Jr)||m(ht).handlerSteps?.onLoad?.length)&&e(l)}),W(o);var u=j(o,2);let d;var p=j(H(u)),h=e=>{var t=Wle();f(e,t)};g(p,e=>{(m(Yr)||m(ht).handlerSteps?.onDestroy?.length)&&e(h)}),W(u),W(i);var _=j(i,2),v=H(_),b=H(v),x=H(b);a(x,()=>`screen`);var S=j(x,1,!0);W(b);var w=j(b,2),T=H(w,!0);W(w),W(v);var D=j(v,2),O=e=>{var t=Gle();mV(R(t),{get value(){return m(Jr)},get completions(){return m(ti)},get snippets(){return m(ii)},placeholder:`// Runs when the page mounts. Reach the grid via ctx.grid, feed a chart via ctx.chart1.setData(rows).
78712
+ console.log(csv)`}]:[],...m(ni)?[{label:`Feed ${m(ni).name}`,code:`const res = await fetch('/api/data')\nctx.${m(ni).name}.setData(await res.json())`}]:[],...m(ri)?[{label:`Wire ${m(ri).name}`,code:`ctx.${m(ri).name}.onclick = () => {\n ctx.${m(ri).name}.setLabel('Clicked')\n}`}]:[],{label:`Log on mount`,code:`console.log('page mounted', ctx)`}]),ai={name:`__free__`,label:``,idField:`id`,fields:[]},oi=F(()=>F$(m(G))),si=F(()=>I$(m(G))),ci=F(()=>m(oi).filter(e=>e.level===`error`).length),li=F(()=>{let e={};for(let t of m(oi))t.block&&(e[t.block]??=[]).push(t);return e});function ui(e){e.screen&&U(pt,e.screen,!0),U(Gn,e.block??null,!0),e.block&&queueMicrotask(()=>document.querySelector(`[data-block-id="${CSS.escape(e.block)}"]`)?.scrollIntoView({behavior:`smooth`,block:`center`}))}D(()=>{!m(G).screens.some(e=>e.id===m(pt))&&m(G).screens[0]&&U(pt,m(G).screens[0].id,!0)}),D(()=>dn(`Studio`));let di=[`count`,`sum`,`avg`,`min`,`max`],fi=[{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"/>`}],pi=e=>`<svg viewBox="0 0 38 28" width="26" height="19" fill="currentColor" aria-hidden="true">${fi.find(t=>t.type===e)?.glyph??``}</svg>`,mi={memory:`In-memory`,pglite:`Local database`,sql:`SQL`,supabase:`Supabase`,rest:`REST`},hi={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.`},gi={memory:`#94a3b8`,pglite:`#14b8a6`,sql:`#3b82f6`,supabase:`#10b981`,rest:`#a855f7`};function _i(e){let t=E$(m(G),e).kind;return{kind:t,label:mi[t],color:gi[t],explicit:!!m(G).dataSources?.[e]}}let vi=P(ge({}));function yi(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=UZ(m(G),e.relation.entity),n=E$(m(G),e.relation.entity),r=n.kind===`memory`&&n.seed?.length?n.seed:t?vY(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 bi(e){return yi(xi(e),e)}function xi(e){let t=E$(m(G),e.name);return m(vi)[e.name]??(t.kind===`memory`&&t.seed?.length?t.seed:vY(e,6))}let Si=P(null),Ci=P(null),wi=P(null),Ti=P(null),Ei=P(`design`),Di=P(`field`),Oi=P(`edit`),ki=P(``),Ai=P(!1),ji=P(ge([])),Mi=P(`full`),Ni={sm:`400px`,md:`560px`,lg:`760px`,full:`none`},Pi=P(!0),Fi=P(!1),Ii=P(``),Li=P(`text`),Ri=P(``),zi=P(null),Bi=F(()=>m(Si)?UZ(m(G),m(Si)):void 0),Vi=F(()=>m(Bi)?SQ(m(Bi)):{sections:[],unassigned:[]}),Hi=e=>m(Bi)?.fields.find(t=>t.field===e),Ui=F(()=>(m(Bi)?.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`}))),Wi=[{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 Gi(e){let t=m(Ui).find(t=>t.id!==e)?.id??m(Ui)[0]?.id;return t?{kind:`cmp`,column:t,op:`equals`,value:``}:{kind:`const`,value:!0}}let Ki=F(()=>(m(Bi)?.fields??[]).filter(e=>EG(e,`form`))),qi=F(()=>new Set(m(ji))),Ji=F(()=>[...m(Vi).sections.flatMap(e=>e.fields),...m(Vi).unassigned]),Yi=F(()=>m(wi)&&m(qi).has(m(wi))?m(Ji).filter(e=>m(qi).has(e)):m(wi)?[m(wi)]:[]);D(()=>{let e=m(ji).filter(e=>m(Ji).includes(e));e.length!==m(ji).length&&U(ji,e,!0)});let Xi=F(()=>new Map((m(Bi)?OG(m(Bi)):[]).map(e=>[e.field,e]))),Zi=F(()=>!!m(Bi)&&($G(m(Bi))||(m(Bi).form?.sections??[]).some(e=>e.visibleWhen))),Qi=F(()=>m(Pi)&&m(Zi)&&m(Ei)===`design`),$i=F(()=>m(Bi)?tK(m(Bi),m(Oi)===`create`?null:xi(m(Bi))[0]??null):{});function ea(e){if(!m(Qi))return null;let t=m(Xi).get(e);return t?ZG(t,m($i)):null}let ta=e=>!m(Qi)||!e.visibleWhen||QG(e.visibleWhen,m($i));function na(e){U(Si,e,!0),U(Ci,null),U(ji,[],!0),U(Fi,!1),U(Ri,``),U(zi,null)}function ra(e){if(e.key===`Escape`){if(m(Fi)){U(Fi,!1),U(Ri,``),e.stopPropagation();return}if(m(ji).length>1){U(ji,m(Ci)?[m(Ci)]:[],!0),e.stopPropagation();return}U(Si,null)}}function ia(e){let t=Hi(e)?.when;return t?[t.visible,t.disabled,t.required].filter(Boolean).length:0}function aa(e,t,n){m(Si)&&He(AQ(m(G),m(Si),e,{...Hi(e)?.when,[t]:n}))}function oa(e,t){m(Si)&&He(jQ(m(G),m(Si),e,t))}function sa(e,t){m(Si)&&He(MQ(m(G),m(Si),e,t))}function ca(e,t,n){if(n.ctrlKey||n.metaKey){m(qi).has(e)?(U(ji,m(ji).filter(t=>t!==e),!0),m(Ci)===e&&U(Ci,m(ji).at(-1)??null,!0)):(U(ji,[...m(ji),e],!0),U(Ci,e,!0)),U(ki,`${m(ji).length} field${m(ji).length===1?``:`s`} selected.`),U(Di,`field`);return}let r=t===null?m(Vi).unassigned:m(Vi).sections[t]?.fields??[];if(n.shiftKey&&m(Ci)&&r.includes(m(Ci))&&m(Ci)!==e){let t=r.indexOf(m(Ci)),n=r.indexOf(e);U(ji,r.slice(Math.min(t,n),Math.max(t,n)+1),!0),U(Ci,e,!0),U(ki,`${m(ji).length} fields selected.`),U(Di,`field`);return}let i=m(Ci)===e&&m(ji).length<=1;U(Ci,i?null:e,!0),U(ji,i?[]:[e],!0),U(Di,`field`)}function la(e){m(Si)&&(He(NQ(m(G),m(Si),e,`form`,!1)),U(ki,`${Hi(e)?.label??e} restored to the form.`))}function ua(e){let t=m(Ii).trim();if(!t){U(Ri,`Give the field a name.`);return}if(e.fields.some(e=>e.field===t)){U(Ri,`"${t}" already exists on ${e.label??e.name}.`);return}let n=yQ(m(G),e.name,hY(e,{field:t,type:m(Li)}));m(zi)!=null&&(n=OQ(n,e.name,t,m(zi))),He(n),U(Ci,t,!0),U(ji,[t],!0),U(Di,`field`),U(Fi,!1),U(Ii,``),U(Ri,``),U(ki,`${t} added to the form.`)}function da(e,t){oa(e,{options:t.length?t:void 0})}function fa(e){let t=(e.options?.length??0)+1;da(e.field,[...e.options??[],{value:`option-${t}`,label:`Option ${t}`}])}function pa(e,t,n){da(e.field,(e.options??[]).map((e,r)=>r===t?{...e,...n}:e))}function ma(e,t){da(e.field,(e.options??[]).filter((e,n)=>n!==t))}function ha(e){m(Si)&&(He(NQ(m(G),m(Si),e,`form`,!0)),m(Ci)===e&&U(Ci,null),U(ki,`${Hi(e)?.label??e} removed from the form.`))}function ga(){if(!m(Bi)||!m(Si))return;let e=LQ(m(Bi));e.length&&(He(CQ(m(G),m(Si),{...m(Bi).form,sections:e})),U(ki,`Suggested ${e.length} sections.`))}let _a=e=>(m(Bi)?.validations??[]).map((e,t)=>({...e,i:t})).filter(t=>t.field===e);function va(e){!m(Bi)||!m(Si)||He(yQ(m(G),m(Si),{...m(Bi),validations:e.length?e:void 0}))}function ya(){!m(Bi)||!m(Ci)||va([...m(Bi).validations??[],{field:m(Ci),op:`required`,message:`This field is required`}])}function ba(e,t){m(Bi)&&va((m(Bi).validations??[]).map((n,r)=>r===e?{...n,...t}:n))}function xa(e){m(Bi)&&va((m(Bi).validations??[]).filter((t,n)=>n!==e))}let Sa=e=>e.replace(/[_-]+/g,` `).replace(/([a-z\d])([A-Z])/g,`$1 $2`).replace(/^./,e=>e.toUpperCase());function Ca(e){let t=e.input?.editorType??PQ(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 wa=e=>e?.columns??m(Bi)?.form?.columns??2,Ta=(e,t)=>e?.input?.span===2?t:1,Ea=e=>e===null?`Unsectioned`:m(Vi).sections[e]?.title||`section ${e+1}`;function Da(e,t){if(!m(Si)||!m(wi))return;let n=m(Yi);He(kQ(m(G),m(Si),n,e,t)),U(ki,n.length>1?`${n.length} fields moved to ${Ea(e)}.`:`${Hi(n[0]??``)?.label??n[0]} moved to ${Ea(e)}.`,!0),U(Ci,m(wi),!0),U(wi,null),U(Ti,null)}function Oa(e,t){if(!m(Si))return;let n=m(qi).has(e)&&m(ji).length>1?m(Ji).filter(e=>m(qi).has(e)):[e],r=new Set(n.filter(t=>t!==e)),i=[{section:null,fields:m(Vi).unassigned.filter(e=>!r.has(e))},...m(Vi).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`:Hi(e)?.label??e;if(o.section!==null&&s>=0&&s<o.fields.length){He(kQ(m(G),m(Si),n,o.section,s)),U(ki,`${c} moved to position ${s+1} in ${Ea(o.section)}.`);return}let l=i[a+t];l&&(He(kQ(m(G),m(Si),n,l.section,t===1?0:l.fields.length)),U(ki,`${c} moved to ${Ea(l.section)}.`))}let ka=P(!1),Aa=P(ge([])),ja=F(()=>{if(!m(Ur))return null;let e=E$(m(G),m(Ur).name).kind;return e===`memory`||e===`pglite`?e:null}),Ma=F(()=>m(Ur)?m(Ur).fields.filter(e=>!e.formula&&!e.computed):[]);function Na(){m(Ur)&&(U(Aa,xi(m(Ur)).map(e=>({...e})),!0),U(ka,!0))}function Pa(){if(!m(Ur))return;let e=m(Ur).idField??m(Ur).fields.find(e=>e.primaryKey)?.field??`id`,t={};for(let e of m(Ma))t[e.field]=e.type===`boolean`?!1:e.type===`number`?0:``;t[e]=`${m(Ur).name.charAt(0).toLowerCase()||`r`}${m(Aa).length+1}`,U(Aa,[...m(Aa),t],!0)}function Fa(e,t,n){U(Aa,m(Aa).map((r,i)=>i===e?{...r,[t]:n}:r),!0)}function Ia(e){let t=e.relation&&m(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 xi(t).map(t=>({value:String(t[n]??``),label:String(t[e.relation.labelField??n]??t[n]??``)}))}function La(){if(!m(Ur))return;let e=E$(m(G),m(Ur).name),t=m(Aa).map(e=>({...e}));He(T$(m(G),m(Ur).name,e.kind===`pglite`?{kind:`pglite`,table:e.table,seed:t}:{kind:`memory`,seed:t}));let{[m(Ur).name]:n,...r}=m(vi);U(vi,r,!0),U(ka,!1)}function Ra(e){return(e.related??[]).map(e=>{let t=UZ(m(G),e.entity);return t?{label:e.label??t.label??t.name,schema:t,rows:bi(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 za=F(()=>m(G).screens.filter(e=>e.blocks.some(e=>e.config.kind===`detail`)));function Ba(e){let t=[];for(let n of m(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 Va(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 Ha(e,t,n){let r=e.idField??e.fields.find(e=>e.primaryKey)?.field??`id`,i=String(t??Io[e.name]?.[r]??``),a=(m(vi)[e.name]??bi(e)).map(e=>String(e[r])===i?{...e,...n}:{...e});U(vi,{...m(vi),[e.name]:a},!0),Io[e.name]=void 0}let Ua=P(null);function Wa(e){return e.idField??e.fields.find(e=>e.primaryKey)?.field??`id`}function Ga(e,t){let n=Wa(e),r=m(vi)[e.name]??bi(e);U(vi,{...m(vi),[e.name]:r.filter(e=>String(e[n])!==t)},!0)}function Ka(e,t,n){let r=Wa(e),i=m(vi)[e.name]??bi(e);if(t==null){let t=i.reduce((e,t)=>Math.max(e,Number(t[r])||0),0)+1;U(vi,{...m(vi),[e.name]:[{[r]:t,...n},...i]},!0)}else U(vi,{...m(vi),[e.name]:i.map(e=>String(e[r])===t?{...e,...n}:e)},!0);U(Ua,null)}function qa(e){let t=e.idField??e.fields.find(e=>e.primaryKey)?.field;return DG(e).filter(e=>e.field!==t)}function Ja(e,t){let n=new Map(e.columns.filter(e=>e.aggregate||e.format||e.cellType).map(e=>[e.field,e])),r=qa(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=>sr(b,{value:e.getValue(),type:t.cellType})}:{}}:e});return e.rowActions?.length&&r.push({id:`__actions`,header:`Actions`,sortable:!1,cell:n=>sr(x,{row:n.row.original,ent:t,actions:e.rowActions})}),r}let Ya=F(()=>m(Ur)?bi(m(Ur)):[]);F(()=>m(Ur)?qa(m(Ur)):[]);let Xa=P(ge({}));function Za(e,t,n){U(Xa,{...m(Xa),[e]:{...m(Xa)[e]??{},[t]:n}},!0)}function Qa(e){let t=e.relation;if(!t)return[];let n=m(G).entities.find(e=>e.name===t.entity);if(!n)return[];let r=n.idField??n.fields.find(e=>e.primaryKey)?.field??`id`;return bi(n).map(e=>({value:String(e[r]??``),label:String(e[t.labelField]??e[r]??``)}))}function J(e,t){let n=Object.entries(m(Xa)[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 $a=F(()=>n.appearance??(m(G).theme?.mode===`dark`?`dark`:`light`)),eo=F(()=>n.appearance?{...m(G).theme,mode:n.appearance}:m(G).theme),to=F(()=>tre(m(eo))),no=F(()=>_X(m(G).theme?.preset)??gX),ro=F(()=>m(no)[m($a)].accent),io=F(()=>m(G).theme?.shell?.style??`sidebar`),ao=F(()=>m(G).theme?.shell?.brand||m(G).title),oo=F(()=>m(G).theme?.shell?.navPosition??`left`),so=F(()=>m(G).theme?.shell?.footer),co=F(()=>m(G).theme?.shell?.logo),lo=P(!1),uo=F(()=>m(io)===`sidebar`&&m(lo));function fo(e){let t=e.currentTarget.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>He(k$(m(G),{logo:String(n.result)})),n.readAsDataURL(t)}let po=F(()=>m(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)),mo=P(null),ho=P(`crud`),go=P(`none`),_o=P(``),vo=P(``),yo=P(null),bo=F(()=>N$(m(G)));function xo(e){try{He(P$(e)),U(_o,``),U(yo,null),U(go,`none`)}catch(e){U(yo,e instanceof Error?e.message:String(e),!0)}}let So=()=>xo(m(_o)),Co=P(!1);async function wo(e){if(e)try{xo(await e.text())}catch(e){U(yo,e instanceof Error?e.message:String(e),!0)}}function To(e){e.preventDefault(),U(Co,!1),wo(e.dataTransfer?.files?.[0])}let Eo=P(null);function Do(){try{U(Eo,null);let e=m(vo).trim();if(e.startsWith(`{`)&&/"(openapi|swagger|paths)"\s*:/.test(e)){let{entities:t,sources:n,warnings:r}=nX(e),i=m(G);for(let e of t){i=bQ(i,e);let t=n[e.name];t&&(i=T$(i,e.name,t))}He(i),U(vo,``),U(yo,null),U(Eo,`Imported ${t.length} REST resource${t.length===1?``:`s`}.${r.length?` `+r.join(` `):``}`),U(go,`none`);return}let t=/\bmodel\s+\w+\s*\{/.test(m(vo))?Yne(m(vo)):DY(m(vo)),n=m(G);for(let e of t)n=bQ(n,e);He(n),U(vo,``),U(yo,null),U(go,`none`)}catch(e){U(yo,e instanceof Error?e.message:String(e),!0)}}let Oo=P(!1),ko=P(`desktop`),Ao={desktop:`100%`,tablet:`834px`,mobile:`390px`},jo=P(``),Mo=P(!1);D(()=>{U(Mo,m(ko)!==`desktop`)});let No=F(()=>m(io)===`sidebar`&&m(Mo)),Y=P(!1),X=P(!1),Po=ge({}),Fo=ge({}),Io=ge({}),Lo=ge({}),Ro=F(()=>m(G).screens.find(e=>e.id===m(jo))??m(G).screens[0]),zo=F(()=>m(Ro)?UZ(m(G),m(Ro).entity):void 0),Bo=F(()=>!!m(Ro)&&HQ(m(Ro))===`dock`),Vo=F(()=>!!m(Ro)&&HQ(m(Ro))===`stack`),Ho=F(()=>!!m(Ro)&&HQ(m(Ro))===`split`),Uo=F(()=>!!m(Ro)&&HQ(m(Ro))===`canvas`),Wo=F(()=>m(Bo)||m(Ho)),Go=F(()=>({minSize:m(Ho)&&m(Ro)?wZ(m(Ro)).minPaneSize:80,allowPopout:m(Bo)&&m(Ro)?TZ(m(Ro)).allowPopout:!1,hideSingleTab:m(Bo)&&m(Ro)?TZ(m(Ro)).hideSingleTab:!1,headerPosition:m(Bo)&&m(Ro)?TZ(m(Ro)).headerPosition:`top`})),Ko=F(()=>{if(!m(Ro))return``;if(m(Vo)){let e=CZ(m(Ro));return`gap: ${e.gap}px; --stack-minh: ${e.minHeight}px;`+(e.maxWidth?` max-width: ${e.maxWidth}px;${e.align===`center`?` margin-inline: auto;`:``}`:``)}if(!m(Wo)&&!m(Uo)){let e=SZ(m(Ro));return`gap: ${e.rowGap}px ${e.colGap}px; align-items: ${e.align};`+(e.maxWidth?` max-width: ${e.maxWidth}px; margin-inline: auto;`:``)}return``}),qo=F(()=>m(Ro)&&m(Wo)?m(Ro).id+`|`+m(Ro).blocks.map(e=>e.id).join(`,`):``),Jo=P(void 0),Yo=P(``);D(()=>{m(qo)&&m(qo)!==m(Yo)&&(U(Yo,m(qo),!0),U(Jo,m(Ro)?YQ(m(Ro)).dock??void 0:void 0,!0))});function Xo(){U(jo,m(ht)?.id??m(G).screens[0]?.id??``,!0),U(Oo,!0)}let Zo=P(ge({})),Qo=P(null),$o=P(null),es=F(()=>m(Oo));function ts(){try{U(Zo,{},!0),U(Qo,null),U($o,null);let e=m(G).screens.find(e=>e.id===m(jo))??m(G).screens[0];if(!m(Oo)||!e)return;let t=UZ(m(G),e.entity),n=t?J(t,bi(t)):[],r={},i=[],a=null,o=null,s=[];for(let t of u0(e))if(t.tier===`component`){let n=KX(e.blocks).find(e=>e.id===t.blockId);n&&n.config.kind===`component`&&(r[n.id]={props:dt(n.config),text:ft(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);U(Zo,r,!0);let c=()=>m(Qo)??n,l=e=>{U(Qo,Array.isArray(e)?e:[],!0)},u={};for(let e of i)u[e.name]=Ute(()=>m(Zo)[e.id],t=>{U(Zo,{...m(Zo),[e.id]:t},!0)});let d=()=>o?Lo[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:()=>{U(Qo,null)}};u.data={get rows(){return c()},setRows:l,reload:async()=>{}},u.goto=()=>{},u.params={};let f=e.handlerBodies?.onLoad??``,h=()=>{p(()=>hV(f,u)).then(e=>{U($o,e,!0)})};if(o){let e=0,t=()=>{d()||e++>30?h():requestAnimationFrame(t)};queueMicrotask(t)}else queueMicrotask(h)}catch(e){U($o,e instanceof Error?e.message:String(e),!0)}}function ns(e,t){return m(es)&&m(Qo)&&e===m(zo)?m(Qo):t}D(()=>{if(!m(Oo)){U(Zo,{},!0),U(Qo,null),U($o,null);return}m(jo),m(G).screens.find(e=>e.id===m(jo))?.handlerBodies?.onLoad,ts()}),D(()=>{let e=m(Oo)?m(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 rs=P(!1),is=P(``),as=P(!1),os=P(null),ss=[`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 cs(){U(rs,!0),U(os,null)}async function ls(){let e=m(is).trim();if(!(!n.onCopilot||!e||m(as))){U(as,!0),U(os,null);try{let t=P$(N$(await n.onCopilot({prompt:e,project:m(G)})));He(t),!t.screens.some(e=>e.id===m(pt))&&t.screens[0]&&U(pt,t.screens[0].id,!0),U(is,``),U(rs,!1)}catch(e){U(os,e instanceof Error?e.message:String(e),!0)}finally{U(as,!1)}}}let us=P(!1);function ds(e){let t=e.build();He(t),t.screens[0]&&(U(pt,t.screens[0].id,!0),U(Gn,null)),U(us,!1)}function fs(){let e=wae({project:m(G),action:m(ht)?`editing screen "${m(ht).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 ps=P(!1),ms=P(``);function hs(e){return e.trim().toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``)}let gs=F(()=>!!hs(m(ms))&&!UZ(m(G),hs(m(ms))));function _s(){let e=hs(m(ms));if(!e||UZ(m(G),e))return;let t={name:e,idField:`id`,fields:[{field:`id`,type:`number`,primaryKey:!0,readonly:!0},{field:`name`,type:`text`,required:!0}]};He(bQ(m(G),t)),U(pt,e,!0),U(Gn,null),U(ms,``),U(ps,!1)}let vs=P(null);async function ys(e){if(e){U(vs,null),U(yo,null);try{let t=await e.text(),n=hs(e.name.replace(/\.[^.]+$/,``))||`imported`,r=n,i=2;for(;UZ(m(G),r);)r=`${n}_${i++}`;let{schema:a,rows:o,renamed:s}=LY(r,t);if(a.fields.length===0||o.length===0){U(yo,`That file had no rows to import.`);return}let c=bQ(m(G),a);c=T$(c,r,{kind:`memory`,seed:o}),He(c),U(pt,r,!0),U(Gn,null);let l=s.length?` Renamed ${s.length} column${s.length>1?`s`:``} to safe keys.`:``;U(vs,`Imported ${o.length} row${o.length>1?`s`:``} into "${r}" (${a.fields.length} fields).${l}`)}catch(e){U(yo,e instanceof Error?e.message:String(e),!0)}}}let bs=P(!1),xs=P(!1),Ss=F(()=>G0(m(G))),Cs=[{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 ws(e){He(b$(m(G),e))}let Ts=P(!1),Es=[{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`]}],Ds=P(null);function Os(e){let t=y$(m(G),`sql`);for(let n of m(G).entities)t=T$(t,n.name,{kind:`sql`,table:n.name,dialect:e.dialect});He(t),U(Ds,e,!0);try{window.open(e.url,`_blank`,`noopener,noreferrer`)}catch{}}async function ks(){try{await navigator.clipboard.writeText(m(Ss).cli),U(xs,!0),setTimeout(()=>U(xs,!1),1600)}catch{}}let As=P(!1),js=new Uoe({introspect:e=>n.onIntrospectDatabase(e),installDriver:e=>n.onInstallDriver(e),canInstall:()=>!!n.onInstallDriver});function Ms(){U(As,!0),js.reset()}function Ns(e){let t=m(G);for(let n of e.schemas)t=bQ(t,n),t=T$(t,n.name,e.sources[n.name]??{kind:`sql`,table:n.name,dialect:e.dialect});He(t),e.schemas[0]&&(U(pt,e.schemas[0].name,!0),U(Gn,null))}let Ps=P(!1),Fs=P(`connect`),Is=P(`postgres`),Ls=P(``),Rs=P(!1),zs=P(null),Bs=P(ge([])),Vs=P(ge({})),Hs=P(0),Us=P(ge([])),Ws=F(()=>Y3.find(e=>e.value===m(Is))?.placeholder??``),Gs=F(()=>Object.values(m(Vs)).filter(Boolean).length),Ks=P(`form`),qs=P(ge({})),Js=P(null),Ys=P(null),Xs=P(!1),Zs=F(()=>m(Is)!==`turso`),Qs=F(()=>m(Ks)===`form`&&m(Zs));function $s(){try{return oX(m(Is),m(qs))}catch{return``}}let ec=F(()=>m(Qs)?$s():m(Ls).trim()),tc=F(()=>iX(m(Is))?``:String(rX[m(Is)]??``));function nc(e,t){U(qs,{...m(qs),[e]:t},!0),U(Js,null)}function rc(e){U(zs,e instanceof Error?e.message:String(e),!0);let t=e;U(Ys,t?.missingDriver?t.driver??null:null,!0)}async function ic(){if(!(!n.onIntrospectDatabase||!m(ec))){U(Rs,!0),U(zs,null),U(Js,null),U(Ys,null);try{let e=await n.onIntrospectDatabase({dialect:m(Is),url:m(ec),action:`test`});U(Js,e.tables??[],!0),m(Js).length===0&&U(zs,`Connected, but no tables were found.`)}catch(e){rc(e)}finally{U(Rs,!1)}}}async function ac(){if(n.onInstallDriver){U(Xs,!0),U(zs,null);try{let e=await n.onInstallDriver(m(Is));e.ok?U(Ys,null):U(zs,`Install failed: ${(e.output||e.package||``).slice(-300)}`)}catch(e){U(zs,e instanceof Error?e.message:String(e),!0)}finally{U(Xs,!1)}}}function oc(){U(Ps,!0),U(Fs,`connect`),U(zs,null),U(Bs,[],!0),U(Vs,{},!0),U(Hs,0),U(Us,[],!0),U(Js,null),U(Ys,null),U(qs,{},!0)}function sc(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 cc(){if(!(!n.onIntrospectDatabase||!m(ec))){U(Rs,!0),U(zs,null),U(Ys,null);try{let e=await n.onIntrospectDatabase({dialect:m(Is),url:m(ec),action:`tables`});U(Bs,e.tables??[],!0);let t={};for(let e of m(G).entities)t[e.name]=sc(e.name,m(Bs));U(Vs,t,!0),U(Fs,`map`),m(Bs).length===0&&U(zs,`No tables found in this database.`)}catch(e){rc(e)}finally{U(Rs,!1)}}}function lc(e){let t=[],n=t=>new Set((UZ(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 uc=[[`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`]],dc=e=>e.toLowerCase().replace(/[^a-z0-9]/g,``);function fc(e,t,n){let r=t.filter(e=>!n.has(dc(e))),i=dc(e),a=r.find(e=>dc(e)===i);if(a)return a;let o=uc.find(e=>e.includes(i));return o&&(a=r.find(e=>o.includes(dc(e))),a)?a:(a=r.find(e=>dc(e).includes(i)||i.includes(dc(e))),a??``)}function pc(e,t,n){let r=t.fields.map(e=>e.field),i=new Set,a=[],o=[];for(let t of e.fields){let e=fc(t.field,r,i);if(!e){o.push(t.field);continue}i.add(dc(e)),a.push(e===t.field?{...t}:{...t,dbColumn:e})}for(let e of t.fields)i.has(dc(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 mc(){if(!n.onIntrospectDatabase)return;let e=Object.entries(m(Vs)).filter(([,e])=>e);if(e.length!==0){U(Rs,!0),U(zs,null);try{let t=await n.onIntrospectDatabase({dialect:m(Is),url:m(ec),action:`introspect`,tables:e.map(([,e])=>e)}),r=new Map((t.schemas??[]).map(e=>[e.name,e])),i=m(G),a=0;for(let[t,n]of e){let e=r.get(n),o=UZ(i,t);if(!e||!o)continue;let{schema:s}=pc(o,e,t);i=yQ(i,t,s),i=T$(i,t,{kind:`sql`,table:n,dialect:m(Is)}),a++}He(i),U(Hs,a,!0),U(Us,lc(i),!0),U(Fs,`done`)}catch(e){U(zs,e instanceof Error?e.message:String(e),!0)}finally{U(Rs,!1)}}}let hc=e=>VZ.find(t=>t.kind===e)?.label??e;function gc(e){return e.config.kind===`component`?BX(e.config.component)?.label??e.config.component:hc(e.config.kind)}function _c(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 vc=(e,t)=>!!t&&/\$/.test(e?.fields.find(e=>e.field===t)?.label??``),yc=(e,t,n)=>{let r=UK(n,{measure:e.measure,reduce:e.reduce});if(typeof r!=`number`)return String(r??``);let i=e.format??`auto`;if(i!==`auto`)return GK(r,i);let a=r.toLocaleString(void 0,{maximumFractionDigits:1});return vc(t,e.measure)?`$${a}`:a},bc=e=>!!e&&/^[$€£¥₹₩₽]$/.test(e),xc=e=>t=>`${bc(e)?e:``}${Math.round(t).toLocaleString()}`,Sc=(e,t)=>e.trendField?wne(t,{trendField:e.trendField,measure:e.measure,reduce:e.trendReduce??e.reduce}):[],Cc=(e,t)=>{if(e.target!=null&&e.target!==0){let n=UK(t,{measure:e.measure,reduce:e.reduce});return{text:`${Math.round(n/e.target*100)}% of target`,up:n>=e.target}}let n=Tne(Sc(e,t));return n==null?null:{text:`${n>=0?`▲`:`▼`} ${Math.abs(n).toFixed(0)}%`,up:n>=0}};function wc(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 Tc=[`sum`,`avg`,`count`,`min`,`max`],Ec=e=>{let t=e.idField??e.fields.find(e=>e.primaryKey)?.field;return e.fields.filter(e=>e.field!==t)},Dc=e=>Ec(e).filter(e=>e.type!==`number`&&e.type!==`json`&&e.type!==`relation`),Oc=e=>e.fields.filter(e=>e.type===`number`&&!e.primaryKey),kc=e=>Ec(e).filter(e=>e.type===`enum`||e.type===`boolean`||e.type===`text`),Ac=e=>Ec(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`}:{}})),jc=e=>({rows:[...e.rows],cols:[...e.cols],values:e.measure?[{field:e.measure,agg:e.aggregate}]:[],filters:[]}),Mc=(e,t)=>t.fields.map(t=>e.fields.find(e=>e.field===t)).filter(e=>!!e),Nc=(e,t)=>t.fields&&t.fields.length?e.fields.filter(e=>t.fields.includes(e.field)):Ec(e);function Pc(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}let Fc=F(()=>m(G).access??{enabled:!1,roles:[]}),Ic=e=>He({...m(G),access:e});function Lc(e){e&&(!m(G).access||m(G).access.roles.length===0)?Ic({enabled:!0,defaultRole:`viewer`,roles:[{role:`admin`,screens:`*`,actions:`*`},{role:`editor`,screens:`*`,actions:[`create`,`update`,`delete`]},{role:`viewer`,screens:`*`,actions:[]}]}):Ic({...m(Fc),enabled:e})}let Rc=e=>Ic({...m(Fc),roles:m(Fc).roles.map(e)});function zc(){let e=new Set(m(Fc).roles.map(e=>e.role)),t=`role`,n=1;for(;e.has(t);)t=`role${++n}`;Ic({...m(Fc),roles:[...m(Fc).roles,{role:t,screens:`*`,actions:[]}]})}function Bc(e){let t=m(Fc).roles.filter(t=>t.role!==e);Ic({...m(Fc),roles:t,defaultRole:m(Fc).defaultRole===e?t[0]?.role:m(Fc).defaultRole})}function Vc(e,t){let n=t.trim();!n||n!==e&&m(Fc).roles.some(e=>e.role===n)||Ic({...m(Fc),roles:m(Fc).roles.map(t=>t.role===e?{...t,role:n}:t),defaultRole:m(Fc).defaultRole===e?n:m(Fc).defaultRole})}let Hc=(e,t)=>e.actions===`*`||e.actions.includes(t);function Uc(e,t){Rc(n=>{if(n.role!==e)return n;let r=n.actions===`*`?[...OZ]:n.actions,i=r.includes(t)?r.filter(e=>e!==t):[...r,t];return{...n,actions:i.length===OZ.length?`*`:i}})}let Wc=(e,t)=>e.screens===`*`||e.screens.includes(t);function Gc(e,t){Rc(n=>{if(n.role!==e)return n;let r=n.screens===`*`?m(G).screens.map(e=>e.id):n.screens,i=r.includes(t)?r.filter(e=>e!==t):[...r,t];return{...n,screens:i.length===m(G).screens.length?`*`:i}})}let Kc=(e,t)=>Rc(n=>n.role===e?{...n,screens:t?`*`:[]}:n),qc=[`edit`,`delete`,`navigate`];function Jc(e){let t=m(G).screens.find(t=>t.id===e),n=t?UZ(m(G),t.entity):void 0;return n?[...n.fields]:[]}function Yc(e){m(ht)&&m(Wr)&&He(vQ(m(G),m(ht).id,m(Wr).id,{config:e}))}function Xc(e){let t=m(Wr).config;Yc({rowActions:[...t.rowActions??[],{kind:e}]})}function Zc(e,t){let n=m(Wr).config;Yc({rowActions:(n.rowActions??[]).map((n,r)=>r===e?{...n,...t}:n)})}function Qc(e){let t=m(Wr).config;Yc({rowActions:(t.rowActions??[]).filter((t,n)=>n!==e)})}let $c=[{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`}],el=e=>e!==`empty`&&e!==`notEmpty`;function tl(){let e=m(Wr).config,t=e.columns.find(e=>e.show)?.field??m(Ur)?.fields[0]?.field??``;Yc({formatRules:[...e.formatRules??[],{field:t,op:`gt`,value:0,color:`#dc2626`,bold:!0}]})}function nl(e,t){let n=m(Wr).config;Yc({formatRules:(n.formatRules??[]).map((n,r)=>r===e?{...n,...t}:n)})}function rl(e){let t=m(Wr).config;Yc({formatRules:(t.formatRules??[]).filter((t,n)=>n!==e)})}function il(e,t,n){Yc({formFields:t?n.includes(e)?n:[...n,e]:n.filter(t=>t!==e)})}function al(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 ol(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=al(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 sl=F(()=>m(G).i18n??{enabled:!1,locales:[`en`]});function cl(e){e&&(!m(G).i18n||m(G).i18n.locales.length===0)?He({...m(G),i18n:{enabled:!0,locales:[`en`],defaultLocale:`en`}}):He({...m(G),i18n:{...m(sl),enabled:e}})}function ll(e){let t=[...new Set(e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean))];if(!t.length)return;let n=t.includes(m(sl).defaultLocale??``)?m(sl).defaultLocale:t[0];He({...m(G),i18n:{...m(sl),locales:t,defaultLocale:n}})}let ul={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`},dl=e=>ul[e]??ul.file,fl=P(!1),pl=P(null),ml=P(!1),hl=F(()=>m(mo)?.find(e=>e.path===m(pl))??m(mo)?.[0]),gl=P(`app`);function _l(){U(mo,m(gl)===`fragment`?Q0(m(G)):Z0(m(G)),!0),m(mo).some(e=>e.path===m(pl))||U(pl,(m(mo).find(e=>e.path.endsWith(`+page.svelte`))??m(mo)[0])?.path??null,!0)}function vl(){_l();let e=m(mo)??[];U(pl,(e.find(e=>e.path.endsWith(`+page.svelte`))??e[0])?.path??null,!0),U(fl,!0)}let yl=e=>e.replace(/^src\//,``);async function bl(){if(m(hl))try{await navigator.clipboard.writeText(m(hl).contents),U(ml,!0),setTimeout(()=>U(ml,!1),1200)}catch{}}let xl=P(!1);async function Sl(){if(m(mo)){U(xl,!0);try{let t=(await mt(async()=>{let{default:t}=await import(`./jszip.min-CX2fPs3O.js`).then(t=>e(t.default));return{default:t}},__vite__mapDeps([41,1]),import.meta.url)).default,n=new t;for(let e of m(mo))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=`${(m(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{U(xl,!1)}}}function Cl(){if(!m(mo))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 m(mo))t(`project[files][${e.path}]`,e.contents);t(`project[title]`,m(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 wl=P(`idle`);async function Tl(){if(!(!m(mo)||!n.onWriteToDisk)){U(wl,`busy`);try{await n.onWriteToDisk(m(mo)),U(wl,`done`),setTimeout(()=>U(wl,`idle`),1600)}catch{U(wl,`idle`)}}}let El=P(200),Dl=P(290),Ol=P(null),kl=(e,t,n)=>Math.max(t,Math.min(e,n)),Al=P(!1),jl=P(`none`),Ml=P(!1);D(()=>{if(typeof window>`u`||!window.matchMedia)return;let e=window.matchMedia(`(max-width: 900px)`),t=()=>{U(Ml,e.matches,!0),e.matches||U(jl,`none`)};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)});let Nl=F(()=>m(Al)?`0px 0px minmax(0, 1fr) 6px ${m(Dl)}px`:`${m(El)}px 6px minmax(0, 1fr) 6px ${m(Dl)}px`);function Fl(){U(jl,m(jl)===`insp`?`none`:`insp`,!0)}D(()=>{m(Ml)&&m(Gn)&&U(jl,`insp`)});let Il=e=>e.config.kind===`grid`?e.config.scheduler?640:440:200,Ll=new Set([`grid`,`chart`,`master-detail`,`pivot`]),Rl=e=>Ll.has(e.config.kind),zl=new Set([`grid`,`master-detail`]),Bl=e=>zl.has(e.config.kind);function Vl(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 Hl=e=>typeof e.style?.padding==`number`?`padding:${e.style.padding}px;`:``,Ul=P(null),Wl=P(0),Gl=0,Kl=0,ql=e=>m(Ul)===e.id?m(Wl):e.height??Il(e);function Jl(e,t){t.preventDefault(),t.stopPropagation(),U(Ul,e.id,!0),Gl=t.clientY,Kl=e.height??Il(e),U(Wl,Kl,!0),t.currentTarget.setPointerCapture(t.pointerId)}function Yl(e){m(Ul)&&U(Wl,kl(Kl+(e.clientY-Gl),120,900),!0)}function Xl(){let e=m(Ul);if(U(Ul,null),!e||!m(ht))return;let t=m(ht).blocks.find(t=>t.id===e);t&&m(Wl)!==(t.height??Il(t))&&He(vQ(m(G),m(ht).id,e,{height:m(Wl)}))}let Zl=P(null),Ql=P(4),$l=0,eu=0,tu=60,nu=e=>m(Zl)===e.id?m(Ql):YX(e);function ru(e,t){t.preventDefault(),t.stopPropagation(),U(Zl,e.id,!0),$l=t.clientX,eu=YX(e);let n=t.currentTarget.closest(`.sv-studio__block`)?.closest(`.sv-studio__canvas`);n&&(tu=(n.clientWidth-132)/12),U(Ql,eu,!0),t.currentTarget.setPointerCapture(t.pointerId)}function iu(e){if(!m(Zl))return;let t=Math.round((e.clientX-$l)/Math.max(tu,1));U(Ql,kl(eu+t,1,12),!0)}function au(){let e=m(Zl);if(U(Zl,null),!e||!m(ht))return;let t=m(ht).blocks.find(t=>t.id===e);t&&m(Ql)!==YX(t)&&He(vQ(m(G),m(ht).id,e,{colSpan:m(Ql)}))}let ou=(e,t)=>He(vQ(m(G),m(ht).id,e.id,{colSpan:t})),su=e=>{m(ht)&&m(Wr)&&He(vQ(m(G),m(ht).id,m(Wr).id,{style:e}))},cu=e=>e===!0?`on`:e===!1?`off`:``,uu=e=>e===`on`||e!==`off`&&void 0,du=e=>e===``?void 0:Number(e);function fu(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?We():Ue();return}if(r&&(e.key===`y`||e.key===`Y`)){e.preventDefault(),We();return}if(r&&(e.key===`d`||e.key===`D`)&&m(Gn)&&!n){e.preventDefault(),Dn(m(Gn));return}if(r&&(e.key===`c`||e.key===`C`)&&m(Gn)&&!n&&!window.getSelection()?.toString()){e.preventDefault(),Bn();return}if(r&&(e.key===`v`||e.key===`V`)&&m(Nn)&&!n){e.preventDefault(),Vn();return}if(e.key===`?`&&!n){e.preventDefault(),U(Pn,!m(Pn));return}if(e.key===`Escape`){m(Pn)?U(Pn,!1):m(Ua)?U(Ua,null):m(et)?U(et,null):m(Fn)?U(Fn,!1):m(X)?U(X,!1):m(Y)?U(Y,!1):m(bs)?U(bs,!1):m(Ts)?U(Ts,!1):m(rs)?U(rs,!1):m(Oo)?U(Oo,!1):m(Td)?U(Td,!1):m(fl)?U(fl,!1):m(go)===`none`?U(Gn,null):U(go,`none`);return}!n&&!m(fl)&&!m(Td)&&(e.key===`Delete`||e.key===`Backspace`)&&m(Gn)&&(e.preventDefault(),$e())}let pu=P(null),mu=P(null),hu=P(null),gu=P(null),_u=P(null);function vu(e,t){U(pu,t,!0),U(mu,null),U(hu,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`,e.dataTransfer.setData(`text/plain`,t))}function yu(e,t){U(mu,t,!0),U(pu,null),U(hu,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`copy`,e.dataTransfer.setData(`text/plain`,`component:${t}`))}function bu(e,t){if(m(Ul)||m(Zl)){e.preventDefault();return}U(hu,t,!0),U(pu,null),e.dataTransfer&&(e.dataTransfer.effectAllowed=`move`,e.dataTransfer.setData(`text/plain`,t))}function xu(e,t){if(!m(pu)&&!m(mu)&&!m(hu))return;e.preventDefault();let n=e.currentTarget.getBoundingClientRect();U(_u,e.clientX>n.left+n.width/2?t+1:t,!0),e.dataTransfer&&(e.dataTransfer.dropEffect=m(hu)?`move`:`copy`)}function Su(e){(m(pu)||m(mu)||m(hu))&&e.preventDefault()}function Cu(e){if(!m(ht))return;e.preventDefault();let t=m(_u)??m(ht).blocks.length;if(m(mu))qt(m(mu),t);else if(m(pu))tt(m(pu),t);else if(m(hu)){let e=m(ht).blocks.findIndex(e=>e.id===m(hu));He(_Q(m(G),m(ht).id,m(hu),e<t?t-1:t))}wu()}function wu(){U(pu,null),U(mu,null),U(hu,null),U(_u,null)}function Tu(e){m(Ur)&&He(yQ(m(G),m(Ur).name,e))}let Eu=[{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`}],Ou=e=>e!==`required`;function Au(){if(!m(Ur))return;let e=m(Ur).fields.find(e=>!e.primaryKey)?.field??m(Ur).fields[0]?.field??``;Tu({...m(Ur),validations:[...m(Ur).validations??[],{field:e,op:`required`,message:`This field is required`}]})}function ju(e,t){m(Ur)&&Tu({...m(Ur),validations:(m(Ur).validations??[]).map((n,r)=>r===e?{...n,...t}:n)})}function Mu(e){m(Ur)&&Tu({...m(Ur),validations:(m(Ur).validations??[]).filter((t,n)=>n!==e)})}let Pu=P(null),Fu=P(null);function Iu(e,t){if(!m(Pu))return;e.preventDefault();let n=e.currentTarget.getBoundingClientRect();U(Fu,e.clientY>n.top+n.height/2?t+1:t,!0)}function Lu(){if(!m(Ur)||!m(Pu)||m(Fu)==null){U(Pu,null),U(Fu,null);return}let e=m(Ur).fields.findIndex(e=>e.field===m(Pu)),t=[...m(Ur).fields],[n]=t.splice(e,1);t.splice(Math.max(0,Math.min(e<m(Fu)?m(Fu)-1:m(Fu),t.length)),0,n),Tu({...m(Ur),fields:t}),U(Pu,null),U(Fu,null)}function Ru(e,t){m(ht)&&m(Wr)&&He(vQ(m(G),m(ht).id,m(Wr).id,{config:{columns:t}}))}function zu(e,t,n){Ru(e,e.columns.map(e=>e.field===t?{...e,show:n}:e))}function Bu(e,t,n){Ru(e,e.columns.map(e=>e.field===t?{...e,...n}:e))}function Vu(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]],Ru(e,i)}function Hu(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 Wu(e){return e.cellType?`cell:${e.cellType.kind}`:e.format?e.format.type:``}function Ju(e,t,n){if(n.startsWith(`cell:`)){let r=n.slice(5);Bu(e,t.field,{cellType:{kind:r},format:void 0})}else n?Bu(e,t.field,{format:{type:n},cellType:void 0}):Bu(e,t.field,{format:void 0,cellType:void 0})}function Yu(e,t,n){t.format&&Bu(e,t.field,{format:{...t.format,...n}})}function Zu(e,t,n){t.cellType&&Bu(e,t.field,{cellType:{...t.cellType,...n}})}function Qu(e,t,n){let r={...e.filterUi??{global:!0},[t]:n||void 0};Yc({filterUi:r.global||r.row||r.menu?r:{global:!0}})}function ed(e,t,n){let r={...e.export??{},[t]:n||void 0};Yc({export:r.csv||r.json||r.copy||r.xlsx||r.pdf||r.print?r:void 0})}async function nd(e,t,n){let r=Lo[e];if(r)try{let{exportGrid:e}=await mt(async()=>{let{exportGrid:e}=await import(`./src-fddEt37f.js`).then(e=>e.t);return{exportGrid:e}},__vite__mapDeps([42,1,3,0,2,7]),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 id(e,t){let n=Lo[e];if(n)try{let{printGrid:e}=await mt(async()=>{let{printGrid:e}=await import(`./src-fddEt37f.js`).then(e=>e.t);return{printGrid:e}},__vite__mapDeps([42,1,3,0,2,7]),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 ad(e,t,n){let r=e.grouping??[],i=n?[...r.filter(e=>e!==t),t]:r.filter(e=>e!==t);Yc({grouping:i.length?i:void 0,...i.length?{treeData:void 0,scheduler:void 0}:{}})}function od(e,t){if(!t){Yc({treeData:void 0});return}Yc({treeData:{parentField:m(vt).find(e=>/parent|manager|reports_to/i.test(e))??m(vt)[0]??``,labelField:e.columns.find(e=>e.show)?.field??m(vt)[0]??``},grouping:void 0,scheduler:void 0})}function sd(e,t){e.treeData&&Yc({treeData:{...e.treeData,...t}})}function ld(e,t){if(!t){Yc({scheduler:void 0});return}Yc({scheduler:{startField:(m(Ur)?.fields??[]).filter(e=>e.type===`date`||/date|start|when|time|due|created/i.test(e.field))[0]?.field??m(vt)[0]??``,titleField:e.columns.find(e=>e.show)?.field??m(vt)[0]??``,initialView:`month`,drawer:!0},grouping:void 0,treeData:void 0})}function ud(e,t){e.scheduler&&Yc({scheduler:{...e.scheduler,...t}})}let fd=e=>(UZ(m(G),e)?.fields??[]).filter(e=>e.type===`text`||e.type===`enum`);function pd(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 md=e=>pd(e).length>1;function hd(e){if(!m(Ur))return;let t=(e.options?.length??0)+1,n=[...e.options??[],{value:`option-${t}`,label:`Option ${t}`}];Tu(_Y(m(Ur),e.field,{options:n}))}function gd(e,t,n){if(!m(Ur))return;let r=(e.options??[]).map((e,r)=>r===t?{...e,...n}:e);Tu(_Y(m(Ur),e.field,{options:r}))}function _d(e,t){if(!m(Ur))return;let n=(e.options??[]).filter((e,n)=>n!==t);Tu(_Y(m(Ur),e.field,{options:n.length?n:void 0}))}function yd(e,t){if(!m(Ur))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;Tu(_Y(m(Ur),e.field,{input:r}))}let bd=[`GET`,`POST`,`PUT`,`PATCH`,`DELETE`],xd=[`postgres`,`mysql`,`sqlite`,`mssql`,`supabase`,`turso`],Sd=[`query`,`path`,`header`,`body`],wd=P(`query`),Td=P(!1),Ed=P(null),Dd=F(()=>m(Ed)?UZ(m(G),m(Ed)):m(Ur)),kd=P(``),Ad=P(null),jd=P(null),Md=P(!1),Nd=P(!1);function Pd(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)}}}D(()=>{m(Td)||(U(Ed,null),U(kd,``),U(Ad,null),U(jd,null),U(Md,!1))}),D(()=>{m(Fn)||U(Nd,!1)});function Fd(e){E$(m(G),e).kind!==`memory`&&E$(m(G),e).kind!==`pglite`&&(U(Ed,e,!0),U(kd,``),U(Ad,null),U(jd,null),U(ef,null),U(Md,!1),U(Fn,!1),U(Td,!0))}let Id=F(()=>m(Dd)?E$(m(G),m(Dd).name):{kind:`memory`});function Ld(e){m(Dd)&&He(T$(m(G),m(Dd).name,e))}function Rd(e,t){let n=E$(m(G),e);if(n.kind===t)return;let r=w$(t,e),i=n.kind===`memory`||n.kind===`pglite`?n.seed:void 0;i&&(r.kind===`memory`||r.kind===`pglite`)&&(r.seed=i),He(T$(m(G),e,r))}function zd(e){m(Ur)&&Rd(m(Ur).name,e)}function Bd(e){m(Id).kind===`rest`&&Ld({...m(Id),...e})}function Vd(e){Bd({adapter:e===`none`?void 0:e===`offsetLimit`?{kind:`offsetLimit`}:e===`dummyjson`?{kind:`dummyjson`}:{kind:`jsonServer`}})}function Hd(e){let t=m(Id).kind===`rest`?m(Id).adapter:void 0;t?.kind===`offsetLimit`&&Bd({adapter:{...t,...e}})}function Ud(e){if(e.kind===`dummyjson`)return PK(e.rowsKey);if(e.kind===`jsonServer`)return FK();let{kind:t,...n}=e;return NK(n)}let Wd=F(()=>{if(!m(G).entities.length)return null;let e=new Set(m(G).entities.map(e=>E$(m(G),e.name).kind));return e.size===1&&e.has(`memory`)?`memory`:e.size===1&&e.has(`pglite`)?`pglite`:null}),Gd=F(()=>{let e=new Map;for(let t of m(G).entities){let n=E$(m(G),t.name).kind;e.set(n,(e.get(n)??0)+1)}return[...e].map(([e,t])=>`${mi[e]} ×${t}`).join(` · `)||mi[m(G).dataSource]});function Kd(e){if(m(Wd)===e)return;let t=y$(m(G),e);for(let n of m(G).entities){let r=E$(m(G),n.name),i=r.kind===`memory`||r.kind===`pglite`?r.seed:void 0;t=T$(t,n.name,e===`pglite`?{kind:`pglite`,table:n.name,...i?{seed:i}:{}}:{kind:`memory`,...i?{seed:i}:{}})}He(t)}let qd=e=>[...e.matchAll(/\{([^}]+)\}/g)].map(e=>e[1]);function Jd(e){if(m(Id).kind!==`rest`)return;let t=qd(e),n=m(Id).params.filter(e=>e.location!==`path`),r=new Set,i=t.filter(e=>!r.has(e)&&r.add(e)).map(e=>m(Id).kind===`rest`?m(Id).params.find(t=>t.location===`path`&&t.name===e)??{name:e,location:`path`,type:`string`,value:``}:{name:e,location:`path`,type:`string`,value:``});Bd({path:e,params:[...n,...i]})}function Yd(e){return m(Id).kind===`rest`?m(Id).params.filter(t=>t.location===e):[]}function Xd(e){m(Id).kind===`rest`&&Bd({params:[...m(Id).params,{name:``,location:e,type:`string`,value:``}]})}function Zd(e,t){m(Id).kind===`rest`&&Bd({params:m(Id).params.map(n=>n===e?{...n,...t}:n)})}function Qd(e){m(Id).kind===`rest`&&Bd({params:m(Id).params.filter(t=>t!==e)})}let $d=P(!1),ef=P(null),tf=P(ge([])),nf=P(!1);function rf(e){return{url:e.url??m(G).supabase?.url,key:e.key??m(G).supabase?.key}}function af(e){let t={...m(G),supabase:{...m(G).supabase,...e}},n=m(Id);if(n.kind===`supabase`&&(n.url||n.key)&&m(Dd)){let{url:e,key:r,...i}=n;t=T$(t,m(Dd).name,i)}He(t)}let of={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 sf(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 cf(e){return{placeholder:of[e.dialect??`postgres`],parsed:m(Ad)}}function lf(e){let t=m(kd).trim();if(!t)return;let n=sf(t),r=sX(n===`turso`||n===`supabase`?`postgres`:n,t);Ld({...e,dialect:n}),U(Ad,{dialect:n,host:typeof r.host==`string`?r.host:void 0,database:r.database},!0)}let uf=P(!1),df=P(!1),ff=P(!1);async function pf(){try{await navigator.clipboard.writeText(`npx @svgrid/studio designer`),U(ff,!0),setTimeout(()=>U(ff,!1),1600)}catch{}}async function mf(e){let t=m(Dd);if(!t||!n.onIntrospectDatabase)return;let r=m(kd).trim();if(!r){U(ef,{ok:!1,message:`Paste your connection string above first, then Preview data.`},!0);return}U(uf,!0),U(ef,null),U(jd,null);try{let i=e.dialect??sf(r),a=(await n.onIntrospectDatabase({dialect:i,url:r,action:`preview`,tables:[e.table||t.name],schema:e.schema})).rows??[];U(vi,{...m(vi),[t.name]:a},!0),U(ef,{ok:!0,message:`OK - ${a.length} row${a.length===1?``:`s`} from ${e.table||t.name}.`},!0)}catch(e){let t=e;U(jd,t?.missingDriver?t.driver??null:null,!0),U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U(uf,!1)}}async function hf(e){if(n.onInstallDriver){U(df,!0),U(ef,null);try{let t=e.dialect??sf(m(kd).trim()),r=await n.onInstallDriver(t);r.ok?(U(jd,null),await mf(e)):U(ef,{ok:!1,message:`Install failed: ${(r.output||r.package||``).slice(-300)}`},!0)}catch(e){U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U(df,!1)}}}async function gf(){if(m(Id).kind!==`supabase`)return;let e=rf(m(Id));if(!e.url||!e.key){U(ef,{ok:!1,message:`Set the project URL and the anon key first.`},!0);return}U(nf,!0),U(ef,null);try{U(tf,await BK(e.url,e.key),!0),U(ef,m(tf).length?{ok:!0,message:`Found ${m(tf).length} table${m(tf).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){U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U(nf,!1)}}async function _f(){let e=m(Dd);if(!e||m(Id).kind!==`supabase`)return;let t=m(Id),n=rf(t);if(!n.url||!n.key){U(ef,{ok:!1,message:`Set the project URL and the anon key first.`},!0);return}U(nf,!0),U(ef,null);try{let r=await VK({url:n.url,key:n.key,table:t.table||e.name});r&&r.fields.length?(He(yQ(m(G),e.name,{...e,idField:r.idField,fields:r.fields})),U(ef,{ok:!0,message:`Imported ${r.fields.length} fields from "${t.table||e.name}".`},!0),await bf()):(await bf(),Cf())}catch(e){U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U(nf,!1)}}let vf=(e,t)=>{let n=(e??``).replace(/\/+$/,``),r=(t??``).replace(/^\/+/,``);return n?r?`${n}/${r}`:n:r},yf=(e,t)=>t?t.split(`.`).filter(Boolean).reduce((e,t)=>e==null?e:e[t],e):e;async function bf(){let e=m(Dd);if(!e)return;let t=m(Id);U($d,!0),U(ef,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?Ud(t.adapter):{parse:t.rowsPath||t.totalPath?e=>{let n=yf(e,t.rowsPath)??[];return{rows:n,rowCount:Number(yf(e,t.totalPath)??n.length)}}:void 0};n=Sne({url:vf(t.baseUrl,r),schema:e,headers:i,query:a,...o})}else if(t.kind===`supabase`){let r=rf(t);if(!r.url||!r.key)throw Error(`Set the project URL and the anon key first.`);n=Sne({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];U(vi,{...m(vi),[e.name]:i},!0),U(ef,{ok:!0,message:`OK - ${r.rowCount} rows returned.`},!0)}catch(e){U(ef,{ok:!1,message:e instanceof Error?e.message:String(e)},!0)}finally{U($d,!1)}}let xf=e=>{let t=e==null?``:typeof e==`object`?JSON.stringify(e):String(e);return t.length>48?t.slice(0,47)+`…`:t},Sf=e=>typeof e==`number`?`number`:typeof e==`boolean`?`boolean`:e&&typeof e==`object`?`json`:`text`;function Cf(){let e=m(Dd);if(!e)return;let t=m(vi)[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:Sf(n),...e===r?{primaryKey:!0}:{}}});He(yQ(m(G),e.name,{...e,idField:r,fields:i})),U(ef,{ok:!0,message:`Imported ${i.length} fields from the response.`},!0)}var wf=kge();T(`keydown`,me,fu);let Ef;var Of=H(wf),kf=H(Of),Af=H(kf);a(H(Af),()=>`dashboard`),W(Af),k(2),W(kf);var jf=j(kf,4);L(jf);var Nf=j(jf,2),Pf=e=>{var t=Z6();let n;E(()=>n=Ee(t,1,`sv-studio__tb-btn svelte-psjrav`,null,n,{"is-active":m(jl)===`insp`})),C(`click`,t,Fl),f(e,t)};g(Nf,e=>{m(Ml)&&e(Pf)});var Ff=j(Nf,2),If=H(Ff);let Lf;var zf=H(If),Bf=j(zf,2),Vf=H(Bf,!0);W(Bf),a(j(Bf,2),()=>`chevron`),W(If);var Uf=j(If,2),Wf=e=>{var t=e8(),r=R(t),i=j(r,2),a=H(i),o=e=>{var t=wle(),n=H(t);let r;var i=j(n,2);let a;W(t),E(()=>{r=Ee(n,1,`svelte-psjrav`,null,r,{"is-active":m($a)===`light`}),a=Ee(i,1,`svelte-psjrav`,null,a,{"is-active":m($a)===`dark`})}),C(`click`,n,()=>He(D$(m(G),{mode:`light`}))),C(`click`,i,()=>He(D$(m(G),{mode:`dark`}))),f(e,t)};g(a,e=>{n.appearance||e(o)});var s=j(a,2);z(s,21,()=>hX,e=>e.id,(e,t)=>{let n=F(()=>(m(G).theme?.preset??`tailwind`)===m(t).id),r=F(()=>m(t)[m($a)]);var i=Q6();let a;var o=j(H(i),2),s=H(o,!0);W(o),W(i),E(()=>{a=Ee(i,1,`sv-studio__theme svelte-psjrav`,null,a,{"is-active":m(n)}),B(i,`aria-checked`,m(n)),B(i,`title`,m(t).name),M(i,`--pv-bg: ${m(r).bg??``}; --pv-header: ${m(r).headerBg??``}; --pv-border: ${m(r).border??``}; --pv-accent: ${m(r).accent??``}; --pv-fg: ${m(r).fg??``}`),y(s,m(t).name)}),C(`click`,i,()=>He(O$(m(G),m(t).id))),f(e,i)}),W(s);var c=j(s,2),l=j(H(c)),u=H(l);L(u);var d=j(u,2),p=e=>{var t=$6();C(`click`,t,()=>He(D$(m(G),{accent:void 0}))),f(e,t)};g(d,e=>{m(G).theme?.accent&&e(p)}),W(l),W(c);var h=j(c,2),_=j(H(h));L(_);var v=j(_,2),b=j(H(v));b.textContent=`.brand-app { … }`,k(),W(v),W(h),k(2),W(i),E(()=>{re(u,m(G).theme?.accent??m(ro)),re(_,m(G).theme?.appClass??``)}),C(`click`,r,()=>U(Y,!1)),C(`change`,u,e=>He(D$(m(G),{accent:e.currentTarget.value}))),C(`change`,_,e=>He(D$(m(G),{appClass:e.currentTarget.value.trim()||void 0}))),f(e,t)};g(Uf,e=>{m(Y)&&e(Wf)}),W(Ff);var Gf=j(Ff,4),qf=e=>{var t=t8();let n;var r=H(t);W(t),E(()=>{n=Ee(t,1,`sv-studio__saved svelte-psjrav`,null,n,{"is-saving":m(Je)===`Saving…`}),y(r,`${m(Je)===`Saving…`?``:`✓ `}${m(Je)??``}`)}),f(e,t)};g(Gf,e=>{m(Je)&&e(qf)});var Jf=j(Gf,2);a(H(Jf),()=>`undo`),W(Jf);var Xf=j(Jf,2);a(H(Xf),()=>`redo`),W(Xf);var Zf=j(Xf,2),Qf=j(Zf,4),ep=e=>{var t=n8();let n;E(()=>n=Ee(t,1,`sv-studio__tb-btn sv-studio__tb-btn--ai svelte-psjrav`,null,n,{"is-active":m(rs)})),C(`click`,t,cs),f(e,t)};g(Qf,e=>{n.onCopilot&&e(ep)});var tp=j(Qf,2);a(H(tp),()=>`plus`),k(),W(tp);var np=j(tp,2);a(H(np),()=>`dashboard`),k(),W(np);var rp=j(np,2),ip=e=>{var t=r8();let n;var r=H(t);a(r,()=>`entity`),k(),W(t),E(()=>n=Ee(t,1,`sv-studio__tb-btn svelte-psjrav`,null,n,{"is-active":m(Fn)})),C(`click`,t,()=>U(Fn,!0)),f(e,t)};g(rp,e=>{m(G).entities.length>0&&e(ip)});var ap=j(rp,2),op=H(ap);let cp;var lp=H(op);a(lp,()=>`plus`),a(j(lp,2),()=>`chevron`),W(op);var up=j(op,2),dp=e=>{var t=Tle(),r=R(t),i=j(r,2),o=H(i),s=H(o);a(s,()=>`plus`),k(),W(o);var c=j(o,2),l=H(c);a(l,()=>`import`);var u=j(l,3);W(c);var d=j(c,2),p=H(d);a(p,()=>`database`),k(),W(d);var h=j(d,2),_=e=>{var t=a8(),n=R(t),r=H(n);a(r,()=>`database`),k(),W(n);var i=j(n,2),o=e=>{var t=i8(),n=H(t);a(n,()=>`database`),k(),W(t),C(`click`,t,()=>{U(X,!1),oc()}),f(e,t)};g(i,e=>{m(G).entities.length>0&&e(o)}),C(`click`,n,()=>{U(X,!1),Ms()}),f(e,t)};g(h,e=>{n.onIntrospectDatabase&&e(_)});var v=j(h,2),y=H(v);a(y,()=>`import`),k(),W(v),W(i),C(`click`,r,()=>U(X,!1)),C(`click`,o,()=>{U(X,!1),U(ms,``),U(ps,!0)}),C(`change`,u,e=>{U(X,!1),ys(e.currentTarget.files?.[0]),e.currentTarget.value=``}),C(`click`,d,()=>{U(X,!1),U(Ds,null),U(Ts,!0)}),C(`click`,v,()=>{U(X,!1),U(go,`import`)}),f(e,t)};g(up,e=>{m(X)&&e(dp)}),W(ap);var fp=j(ap,2);let pp;var mp=j(fp,2);let hp;a(H(mp),()=>`save`),k(),W(mp);var _p=j(mp,4),vp=e=>{var t=Ele();C(`click`,t,Lr),f(e,t)};g(_p,e=>{m(Nr)&&e(vp)});var bp=j(_p,2),xp=j(bp,4);let Sp;var Cp=j(xp,2),Tp=j(Cp,2);a(H(Tp),()=>`screen`),k(),W(Tp);var Ep=j(Tp,2);let Dp;a(H(Ep),()=>`deploy`),k(),W(Ep);var Op=j(Ep,2),kp=j(Op,2);a(H(kp),()=>`generate`),k(),W(kp),W(Of);var jp=j(Of,2),Mp=e=>{var t=Dle(),n=H(t),r=H(n);a(r,()=>`save`),k(),W(n);var i=j(n,2),o=j(i,2);W(t),C(`click`,i,Xe),C(`click`,o,Ze),f(e,t)};g(jp,e=>{m(Ke)&&e(Mp)});var Np=j(jp,2),Pp=e=>{var t=Ole(),n=H(t),r=H(n,!0);W(n);var i=j(n,2);W(t),E(()=>y(r,m(vs))),C(`click`,i,()=>U(vs,null)),f(e,t)};g(Np,e=>{m(vs)&&e(Pp)});var Fp=j(Np,2),Ip=e=>{var t=kle(),n=H(t),r=H(n,!0);W(n);var i=j(n,2);W(t),E(()=>y(r,m(yo))),C(`click`,i,()=>U(yo,null)),f(e,t)};g(Fp,e=>{m(yo)&&m(go)===`none`&&e(Ip)});var Lp=j(Fp,2),Rp=e=>{var t=l8(),n=H(t),r=e=>{var t=o8(),n=j(R(t),2);I(n),E(()=>re(n,m(bo))),f(e,t)},i=e=>{var t=Ale(),n=j(R(t),2);let r;var i=H(n);a(i,()=>`import`);var o=j(i,4);W(n);var s=j(n,2);I(s),B(s,`placeholder`,`…or paste { "entities": [...], "screens": [...] }`);var c=j(s,2);E(e=>{r=Ee(n,1,`sv-studio__dropzone svelte-psjrav`,null,r,{"is-dragover":m(Co)}),c.disabled=e},[()=>!m(_o).trim()]),T(`dragover`,n,e=>{e.preventDefault(),U(Co,!0)}),T(`dragleave`,n,()=>U(Co,!1)),T(`drop`,n,To),C(`change`,o,e=>wo(e.currentTarget.files?.[0])),ee(s,()=>m(_o),e=>U(_o,e)),C(`click`,c,So),f(e,t)},o=e=>{var t=s8(),n=j(R(t),2);I(n),B(n,`placeholder`,`model User { id Int @id ... } · or an OpenAPI 3 JSON document`);var r=j(n,2);ee(n,()=>m(vo),e=>U(vo,e)),C(`click`,r,Do),f(e,t)};g(n,e=>{m(go)===`save`?e(r):m(go)===`load`?e(i,1):e(o,-1)});var s=j(n,2),c=e=>{var t=c8(),n=H(t,!0);W(t),E(()=>y(n,m(Eo))),f(e,t)};g(s,e=>{m(Eo)&&e(c)});var l=j(s,2),u=e=>{var t=jle(),n=H(t,!0);W(t),E(()=>y(n,m(yo))),f(e,t)};g(l,e=>{m(yo)&&e(u)}),W(t),f(e,t)};g(Lp,e=>{m(go)!==`none`&&e(Rp)});var zp=j(Lp,2);let Bp;{let e=e=>{var t=Lle(),n=H(t),r=H(n),i=H(r),o=H(i);a(o,()=>`chevron`),k(),W(i);var s=j(i,2),c=H(s);z(c,17,()=>m(G).screens,e=>e.id,(e,t)=>{var n=Mle();let r;var i=H(n),o=H(i);a(o,()=>`screen`);var s=j(o),c=H(s,!0);W(s);var l=j(s),u=H(l);W(l),W(i);var d=j(i,2),p=j(d,2),h=H(p);a(h,()=>`close`),W(p),W(n),E(()=>{r=Ee(n,1,`sv-studio__tree-row svelte-psjrav`,null,r,{"is-active":m(t).id===m(ht)?.id,"is-dragging":m(gu)===m(t).id}),y(c,m(t).title),y(u,`/${m(t).route??``}`)}),T(`dragstart`,n,()=>U(gu,m(t).id,!0)),T(`dragover`,n,e=>e.preventDefault()),T(`drop`,n,e=>{e.preventDefault(),m(gu)&&m(gu)!==m(t).id&&He(v$(m(G),m(gu),m(G).screens.findIndex(e=>e.id===m(t).id))),U(gu,null)}),T(`dragend`,n,()=>U(gu,null)),C(`contextmenu`,n,e=>kn(e,Mn(m(t)))),C(`click`,i,()=>{U(pt,m(t).id,!0),U(Gn,null)}),C(`click`,d,()=>{U(pt,m(t).id,!0),Hn()}),C(`click`,p,()=>He(BQ(m(G),m(t).id))),f(e,n)});var l=j(c,2),u=e=>{var t=Nle();f(e,t)};g(l,e=>{m(G).screens.length===0&&e(u)}),W(s),W(r);var d=j(r,2),p=H(d),h=H(p);a(h,()=>`chevron`),k(),W(p);var _=j(p,2);z(_,21,()=>m(G).entities,e=>e.name,(e,t)=>{let n=F(()=>_i(m(t).name));var r=Ple(),i=H(r),o=H(i);a(o,()=>`entity`);var s=j(o),c=H(s,!0);W(s),W(i);var l=j(i,2);let u;var d=H(l,!0);W(l);var p=j(l,2),h=H(p);a(h,()=>`plus`),W(p),W(r),E(()=>{y(c,m(t).label??m(t).name),u=Ee(l,1,`sv-studio__srcchip svelte-psjrav`,null,u,{"is-inherited":!m(n).explicit}),M(l,`--src: ${m(n).color??``}`),B(l,`title`,`${m(t).label??m(t).name??``} data: ${m(n).label??``}${m(n).explicit?``:` (project default)`} - click to manage in Data model`),y(d,m(n).label),B(p,`aria-label`,`Add screen for ${m(t).name??``}`),B(p,`title`,`Add ${m(ho)??``} screen`)}),C(`click`,l,()=>zn(m(t).name)),C(`click`,p,()=>He(wre(m(G),m(t).name,m(ho)))),f(e,r)}),W(_),W(d);var v=j(d,2),b=H(v),x=j(H(b)),S=H(x),w=H(S);w.value=w.__value=`crud`;var D=j(w);D.value=D.__value=`dashboard`;var A=j(D);A.value=A.__value=`master-detail`;var N=j(A);N.value=N.__value=`empty`,W(S);var ee=j(S,2),P=H(ee);a(P,()=>`plus`),W(ee),W(x),W(b);var te=j(b,2),I=j(H(te)),ne=H(I);ne.value=ne.__value=`memory`;var ie=j(ne);ie.value=ie.__value=`pglite`;var ae=j(ie);ae.value=ae.__value=`sql`;var oe=j(ae);oe.value=oe.__value=`supabase`;var se=j(oe);se.value=se.__value=`rest`,W(I);var ce;we(I),W(te);var le=j(te,4),ue=H(le),de=H(ue);a(de,()=>`chevron`),k(),W(ue);var fe=j(ue,2),pe=H(fe),me=j(H(pe)),he=H(me);he.value=he.__value=`sidebar`;var ge=j(he);ge.value=ge.__value=`top-nav`;var _e=j(ge);_e.value=_e.__value=`bottom-nav`,W(me);var ve;we(me),W(pe);var V=j(pe,2),ye=e=>{var t=u8(),n=j(H(t)),r=H(n);r.value=r.__value=`left`;var i=j(r);i.value=i.__value=`right`,W(n);var a;we(n),W(t),E(()=>{a!==(a=m(G).theme?.shell?.navPosition??`left`)&&(n.value=(n.__value=m(G).theme?.shell?.navPosition??`left`)??``,Oe(n,m(G).theme?.shell?.navPosition??`left`))}),C(`change`,n,e=>He(k$(m(G),{navPosition:e.currentTarget.value}))),f(e,t)};g(V,e=>{(m(G).theme?.shell?.style??`sidebar`)===`sidebar`&&e(ye)});var be=j(V,2),xe=j(H(be));L(xe),W(be);var Se=j(be,4),Ce=H(Se),Te=e=>{var t=Fle(),n=R(t),r=j(n,2);E(()=>B(n,`src`,m(co))),C(`click`,r,()=>He(k$(m(G),{logo:void 0}))),f(e,t)},De=e=>{var t=Ile();C(`change`,t,fo),f(e,t)};g(Ce,e=>{m(co)?e(Te):e(De,-1)}),W(Se);var ke=j(Se,4),Ae=j(H(ke));L(Ae),W(ke),W(fe),W(le),W(v),W(n),W(t),E(()=>{ce!==(ce=m(G).dataSource)&&(I.value=(I.__value=m(G).dataSource)??``,Oe(I,m(G).dataSource)),ve!==(ve=m(G).theme?.shell?.style??`sidebar`)&&(me.value=(me.__value=m(G).theme?.shell?.style??`sidebar`)??``,Oe(me,m(G).theme?.shell?.style??`sidebar`)),re(xe,m(G).theme?.shell?.brand??``),B(xe,`placeholder`,m(G).title),re(Ae,m(G).theme?.shell?.footer??``)}),O(S,()=>m(ho),e=>U(ho,e)),C(`click`,ee,()=>Un()),C(`change`,I,e=>He(y$(m(G),e.currentTarget.value))),C(`change`,me,e=>He(k$(m(G),{style:e.currentTarget.value}))),C(`change`,xe,e=>He(k$(m(G),{brand:e.currentTarget.value}))),C(`change`,Ae,e=>He(k$(m(G),{footer:e.currentTarget.value}))),f(e,t)},t=e=>{var t=Ble(),n=H(t),r=H(n),i=H(r),o=H(i,!0);W(i);var s=j(i,2);z(s,21,()=>VZ,e=>e.kind,(e,t)=>{var n=Rle();let r;var i=H(n);a(i,()=>m(t).kind);var o=j(i,1,!0);W(n),E(()=>{r=Ee(n,1,`sv-studio__palette-item svelte-psjrav`,null,r,{"is-dragging":m(pu)===m(t).kind}),n.disabled=!m(ht),B(n,`draggable`,!!m(ht)),B(n,`title`,m(Ur)?m(t).needs?`Needs a ${m(t).needs}`:`Drag onto the canvas, or click to add`:`Drop it and pick an entity to bind this page to`),y(o,m(t).label)}),T(`dragstart`,n,e=>m(ht)&&vu(e,m(t).kind)),T(`dragend`,n,wu),C(`click`,n,()=>tt(m(t).kind)),f(e,n)}),W(s);var c=j(s,4);z(c,17,()=>it,e=>e.category,(e,t)=>{var n=d8(),r=R(n),i=H(r,!0);W(r);var o=j(r,2);z(o,21,()=>m(t).items,e=>e.key,(e,t)=>{var n=zle();let r;var i=H(n);a(i,()=>`file`);var o=j(i,1,!0);W(n),E(()=>{r=Ee(n,1,`sv-studio__palette-item svelte-psjrav`,null,r,{"is-dragging":m(mu)===m(t).key}),n.disabled=!m(ht),B(n,`draggable`,!!m(ht)),y(o,m(t).label)}),T(`dragstart`,n,e=>m(ht)&&yu(e,m(t).key)),T(`dragend`,n,wu),C(`click`,n,()=>qt(m(t).key)),f(e,n)}),W(o),E(()=>y(i,m(t).category)),f(e,n)}),W(r),W(n),W(t),E(()=>y(o,m(ht)?m(Ur)?`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.`)),f(e,t)},r=e=>{var t=Oue(),r=H(t),i=e=>{var t=f8(),n=H(t);let r;var i=H(n);a(i,()=>`dashboard`),k(),W(n);var o=j(n,2);let s;var c=H(o);a(c,()=>`file`);var l=j(c,2),u=e=>{var t=Vle();f(e,t)};g(l,e=>{m(ht).code&&e(u)}),W(o),W(t),E(()=>{r=Ee(n,1,`sv-studio__viewtab svelte-psjrav`,null,r,{"is-active":m(Kn)===`design`}),B(n,`aria-selected`,m(Kn)===`design`),s=Ee(o,1,`sv-studio__viewtab svelte-psjrav`,null,s,{"is-active":m(Kn)===`code`}),B(o,`aria-selected`,m(Kn)===`code`)}),C(`click`,n,()=>U(Kn,`design`)),C(`click`,o,()=>U(Kn,`code`)),f(e,t)};g(r,e=>{m(ht)&&e(i)});var o=j(r,2),s=e=>{var t=h8(),n=H(t),r=H(n),i=H(r);let o;var s=H(i);a(s,()=>`file`),k(),W(i);var c=j(i,2);let l;var u=j(c,2);let d;var p=j(u,2);let h;W(r);var _=j(r,2),v=e=>{var t=Hle(),n=H(t);L(n),k(),W(t),E(()=>de(n,m(Kr))),C(`change`,n,e=>He(p$(m(G),m(ht).id,e.currentTarget.checked))),f(e,t)};g(_,e=>{(m(qn)===`onLoad`||m(qn)===`onDestroy`)&&!m(Ur)&&e(v)}),W(n);var b=j(n,2),x=e=>{var t=p8(),n=R(t),r=H(n),i=H(r),o=H(i);let s;var c=j(H(o)),l=e=>{var t=Ule();f(e,t)};g(c,e=>{(m(Jr)||m(ht).handlerSteps?.onLoad?.length)&&e(l)}),W(o);var u=j(o,2);let d;var p=j(H(u)),h=e=>{var t=Wle();f(e,t)};g(p,e=>{(m(Yr)||m(ht).handlerSteps?.onDestroy?.length)&&e(h)}),W(u),W(i);var _=j(i,2),v=H(_),b=H(v),x=H(b);a(x,()=>`screen`);var S=j(x,1,!0);W(b);var w=j(b,2),T=H(w,!0);W(w),W(v);var D=j(v,2),O=e=>{var t=Gle();mV(R(t),{get value(){return m(Jr)},get completions(){return m(ti)},get snippets(){return m(ii)},placeholder:`// Runs when the page mounts. Reach the grid via ctx.grid, feed a chart via ctx.chart1.setData(rows).
78713
78713
  // Tip: type ctx. for suggestions, or use an Insert snippet above.`,get tsTypes(){return m(Qr)},oncommit:e=>He(m$(m(G),m(ht).id,`onLoad`,e))}),k(2),f(e,t)},A=e=>{var t=Kle();mV(R(t),{get value(){return m(Yr)},get completions(){return m(ti)},get snippets(){return m(ii)},placeholder:`// Runs when the page unmounts. Clean up timers, subscriptions, aborts you started in onLoad.`,get tsTypes(){return m(Qr)},oncommit:e=>He(m$(m(G),m(ht).id,`onDestroy`,e))}),k(2),f(e,t)};g(D,e=>{m(qn)===`onLoad`?e(O):e(A,-1)}),W(_),W(r);var M=j(r,2),N=j(H(M),2),ee=H(N);z(ee,17,()=>m(Xr),e=>e.name,(e,t)=>{var n=qle(),r=H(n),i=H(r);W(r);var a=j(r),o=H(a,!0);W(a),W(n),E(e=>{y(i,`ctx.${m(t).name??``}`),y(o,e)},[()=>ei(m(t))]),f(e,n)});var P=j(ee,2),te=e=>{var t=Jle();f(e,t)},F=e=>{var t=Yle();f(e,t)};g(P,e=>{m(Zr)===`settable`?e(te):m(Zr)===`reload`&&e(F,1)}),k(4),W(N);var I=j(N,8);Pe(I,()=>e=>Gt(m(qn),e)),W(M),W(n);var L=j(n,2),ne=H(L);a(ne,()=>`screen`),k(3),W(L),E(()=>{s=Ee(o,1,`sv-studio__code-file-tab svelte-psjrav`,null,s,{"is-active":m(qn)===`onLoad`}),B(o,`aria-selected`,m(qn)===`onLoad`),d=Ee(u,1,`sv-studio__code-file-tab svelte-psjrav`,null,d,{"is-active":m(qn)===`onDestroy`}),B(u,`aria-selected`,m(qn)===`onDestroy`),y(S,m(qn)),y(T,m(qn)===`onLoad`?`async (ctx) =&gt; void`:`(ctx) =&gt; void`)}),C(`click`,o,()=>U(qn,`onLoad`)),C(`click`,u,()=>U(qn,`onDestroy`)),f(e,t)},S=e=>{var t=Xle(),n=R(t),r=H(n),i=H(r),o=H(i),s=H(o),c=H(s);a(c,()=>`file`),k(),W(s),k(2),W(o);var l=j(o,2);{let e=F(()=>m(G).theme?.customCss??``);mV(l,{lang:`css`,get value(){return m(e)},placeholder:`/* Global styles for the whole app (imported after app.css).
78714
78714
  Target a block via its CSS class, override --sg-* tokens, or restyle any .st-* class. */
78715
78715
  .featured-card { box-shadow: 0 8px 24px rgba(0,0,0,.12); }`,oncommit:e=>He(D$(m(G),{customCss:e.trim()||void 0}))})}k(2),W(i),W(r),W(n);var u=j(n,2),d=H(u);a(d,()=>`file`),k(3),W(u),f(e,t)},w=e=>{let t=F(()=>m(qn)===`page`?m($r)?.page:m($r)?.ctx);var n=Qle(),r=R(n),i=H(r),o=H(i),s=H(o),c=H(s),l=H(c);a(l,()=>`file`);var u=j(l);W(c),k(2),W(s);var d=j(s,2),p=e=>{var t=m8(),n=H(t),r=H(n);W(n),W(t),E(()=>y(r,`Couldn't generate this file: ${m($r).error??``}`)),f(e,t)},h=e=>{mV(e,{readonly:!0,get value(){return m(t)}})},_=e=>{var t=Zle(),n=H(t),r=H(n,!0);W(n),W(t),E(()=>y(r,m(qn)===`context`?`No page-context.ts - this screen has no code yet (write in handlers.ts).`:`No generated page for this screen.`)),f(e,t)};g(d,e=>{m($r)?.error?e(p):m(t)?e(h,1):e(_,-1)}),W(o),W(i),W(r);var v=j(r,2),b=H(v);a(b,()=>`screen`),k(3),W(v),E(()=>y(u,`src/routes/${m(ht).route??``}/${m(qn)===`page`?`+page.svelte`:`page-context.ts`}`)),f(e,n)};g(b,e=>{m(qn)===`onLoad`||m(qn)===`onDestroy`?e(x):m(qn)===`css`?e(S,1):e(w,-1)}),W(t),E(()=>{o=Ee(i,1,`sv-studio__code-file-tab svelte-psjrav`,null,o,{"is-active":m(qn)===`onLoad`||m(qn)===`onDestroy`}),B(i,`aria-selected`,m(qn)===`onLoad`||m(qn)===`onDestroy`),l=Ee(c,1,`sv-studio__code-file-tab svelte-psjrav`,null,l,{"is-active":m(qn)===`page`}),B(c,`aria-selected`,m(qn)===`page`),d=Ee(u,1,`sv-studio__code-file-tab svelte-psjrav`,null,d,{"is-active":m(qn)===`context`}),B(u,`aria-selected`,m(qn)===`context`),h=Ee(p,1,`sv-studio__code-file-tab svelte-psjrav`,null,h,{"is-active":m(qn)===`css`}),B(p,`aria-selected`,m(qn)===`css`)}),C(`click`,i,()=>U(qn,`onLoad`)),C(`click`,c,()=>U(qn,`page`)),C(`click`,u,()=>U(qn,`context`)),C(`click`,p,()=>U(qn,`css`)),f(e,t)},c=e=>{var t=yue();let n;var r=H(t),i=H(r),o=H(i),s=H(o),c=e=>{var t=$le();E(()=>{B(t,`src`,m(co)),B(t,`alt`,m(ao))}),f(e,t)},l=e=>{var t=eue(),n=R(t);a(n,()=>`dashboard`);var r=j(n),i=H(r,!0);W(r),E(()=>y(i,m(ao))),f(e,t)};g(s,e=>{m(co)?e(c):e(l,-1)}),W(o);var u=j(o,2),d=e=>{var t=tue();E(()=>{B(t,`title`,m(lo)?`Expand sidebar`:`Collapse sidebar`),B(t,`aria-expanded`,!m(lo))}),C(`click`,t,()=>U(lo,!m(lo))),f(e,t)};g(u,e=>{m(io)===`sidebar`&&e(d)}),W(i);var p=j(i,2);z(p,21,()=>m(po),e=>e.id,(e,t)=>{var n=nue();let r;var i=H(n),a=H(i,!0);W(i);var o=j(i),s=H(o,!0);W(o),W(n),E(e=>{r=Ee(n,1,`sv-studio__shellnav-item svelte-psjrav`,null,r,{"is-active":m(t).id===m(ht).id}),B(n,`title`,m(t).nav?.label??m(t).title),y(a,e),y(s,m(t).nav?.label??m(t).title)},[()=>(m(t).nav?.label??m(t).title).trim().slice(0,1)]),C(`click`,n,()=>{U(pt,m(t).id,!0),U(Gn,null)}),f(e,n)}),W(p),W(r);var h=j(r,2),_=H(h);let v;var b=H(_),x=e=>{var t=g8();y_(H(t),{onChange:Vr,get locked(){return m($n)},get minSize(){return m(lr).minSize},get allowPopout(){return m(lr).allowPopout},get hideSingleTab(){return m(lr).hideSingleTab},get headerPosition(){return m(lr).headerPosition},get workspace(){return m(Or)},set workspace(e){U(Or,e,!0)},pane:(e,t=N)=>{te(e,t)},$$slots:{pane:!0}}),W(t),f(e,t)},S=e=>{var t=sue();let n;var r=H(t);z(r,17,()=>m(ht).blocks,e=>e.id,(e,t)=>{let n=F(()=>gr(m(t).id));var r=_8();let i;var o=H(r),s=H(o),c=j(H(s));a(c,()=>m(t).config.kind);var l=j(c,1,!0),u=j(l),d=e=>{var n=rue();E(e=>B(n,`title`,e),[()=>m(li)[m(t).id].map(e=>e.message).join(`