semaphor 0.0.31 → 0.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/react-semaphor.js +8 -8
- package/dist/react-semaphor.umd.cjs +2 -2
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/react-semaphor.js
CHANGED
|
@@ -31200,21 +31200,21 @@ function yD({ card: e, isLoading: t }) {
|
|
|
31200
31200
|
const b = f && f - d !== 0 ? (d - f) / f : null;
|
|
31201
31201
|
return (
|
|
31202
31202
|
// <div className="@container min-w-[320px]">
|
|
31203
|
-
/* @__PURE__ */ w.jsxs("div", { className: "
|
|
31204
|
-
/* @__PURE__ */ w.jsxs(Eg, { children: [
|
|
31203
|
+
/* @__PURE__ */ w.jsxs("div", { className: "overflow-scroll kpi-card grow flex flex-col", children: [
|
|
31204
|
+
/* @__PURE__ */ w.jsxs(Eg, { className: "grow pb-3 ", children: [
|
|
31205
31205
|
/* @__PURE__ */ w.jsx(
|
|
31206
31206
|
Ts,
|
|
31207
31207
|
{
|
|
31208
31208
|
text: i ? o.title : e.title,
|
|
31209
31209
|
onSave: p,
|
|
31210
31210
|
children: /* @__PURE__ */ w.jsxs("div", { className: "flex gap-2 items-center", children: [
|
|
31211
|
-
/* @__PURE__ */ w.jsx(Og, { className: " text-muted-foreground font-medium text-base", children: e.title }),
|
|
31211
|
+
/* @__PURE__ */ w.jsx(Og, { className: " text-muted-foreground font-medium text-base ", children: e.title }),
|
|
31212
31212
|
!e.refreshInterval && t && /* @__PURE__ */ w.jsx(Nc, { className: "w-4 h-4 animate-spin text-muted-foreground" })
|
|
31213
31213
|
] })
|
|
31214
31214
|
}
|
|
31215
31215
|
),
|
|
31216
|
-
g && /* @__PURE__ */ w.jsxs("div", { className: " text-foreground flex flex-wrap
|
|
31217
|
-
/* @__PURE__ */ w.jsx("p", { className: "text-
|
|
31216
|
+
g && /* @__PURE__ */ w.jsxs("div", { className: " text-foreground flex flex-wrap gap-3 items-end ", children: [
|
|
31217
|
+
/* @__PURE__ */ w.jsx("p", { className: "text-3xl font-semibold", children: $2({
|
|
31218
31218
|
number: d,
|
|
31219
31219
|
format: ((S = (_ = e.preferences) == null ? void 0 : _.formatNumber) == null ? void 0 : S.format) || "",
|
|
31220
31220
|
useSuffix: !!((E = (O = e.preferences) == null ? void 0 : O.formatNumber) != null && E.suffix),
|
|
@@ -31222,7 +31222,7 @@ function yD({ card: e, isLoading: t }) {
|
|
|
31222
31222
|
locale: ((R = (P = e.preferences) == null ? void 0 : P.formatNumber) == null ? void 0 : R.locale) || "",
|
|
31223
31223
|
currency: ((N = (T = e.preferences) == null ? void 0 : T.formatNumber) == null ? void 0 : N.currency) || ""
|
|
31224
31224
|
}) }),
|
|
31225
|
-
f && /* @__PURE__ */ w.jsxs("span", { className: " text-base font-normal text-muted-foreground", children: [
|
|
31225
|
+
f && /* @__PURE__ */ w.jsxs("span", { className: " text-base font-normal text-muted-foreground min-w-fit", children: [
|
|
31226
31226
|
"from ",
|
|
31227
31227
|
$2({
|
|
31228
31228
|
number: f,
|
|
@@ -31235,7 +31235,7 @@ function yD({ card: e, isLoading: t }) {
|
|
|
31235
31235
|
] })
|
|
31236
31236
|
] })
|
|
31237
31237
|
] }),
|
|
31238
|
-
b && /* @__PURE__ */ w.jsxs(Pg, { className: "
|
|
31238
|
+
b && /* @__PURE__ */ w.jsxs(Pg, { className: " grow gap-1 items-start pb-4 text-sm ", children: [
|
|
31239
31239
|
/* @__PURE__ */ w.jsx(KK, { children: b }),
|
|
31240
31240
|
/* @__PURE__ */ w.jsxs("div", { className: " text-muted-foreground flex gap-1 ", children: [
|
|
31241
31241
|
b > 0 ? "up " : "down ",
|
|
@@ -51137,7 +51137,7 @@ function mP() {
|
|
|
51137
51137
|
]
|
|
51138
51138
|
}
|
|
51139
51139
|
),
|
|
51140
|
-
t ? e.type === "kpi" ? /* @__PURE__ */ w.jsx("div", { className: "grow flex items-center justify-center ", children: /* @__PURE__ */ w.jsx("div", { className: " border rounded-md", children: /* @__PURE__ */ w.jsx(yD, { isLoading: n, card: e }) }) }) : /* @__PURE__ */ w.jsx(iA, { className: "grow border-none shadow-none " }) : /* @__PURE__ */ w.jsx("div", { className: "w-full mt-4 px-6 bg-red-x00 grow border-none shadow-none overflow-y-auto ", children: e.data && e.data.length > 0 && /* @__PURE__ */ w.jsx(r1, { data: e.data }) })
|
|
51140
|
+
t ? e.type === "kpi" ? /* @__PURE__ */ w.jsx("div", { className: "grow flex items-center justify-center ", children: /* @__PURE__ */ w.jsx("div", { className: " w-1/2 border rounded-md", children: /* @__PURE__ */ w.jsx(yD, { isLoading: n, card: e }) }) }) : /* @__PURE__ */ w.jsx(iA, { className: "grow border-none shadow-none " }) : /* @__PURE__ */ w.jsx("div", { className: "w-full mt-4 px-6 bg-red-x00 grow border-none shadow-none overflow-y-auto ", children: e.data && e.data.length > 0 && /* @__PURE__ */ w.jsx(r1, { data: e.data }) })
|
|
51141
51141
|
] }) : /* @__PURE__ */ w.jsx(w.Fragment, { children: "No Active Card" });
|
|
51142
51142
|
}
|
|
51143
51143
|
function Ade() {
|
|
@@ -302,7 +302,7 @@ Valid keys: `+JSON.stringify(Object.keys(A),null," "));var U=we(he,re,ue,ye,pe+
|
|
|
302
302
|
*
|
|
303
303
|
* This source code is licensed under the ISC license.
|
|
304
304
|
* See the LICENSE file in the root directory of this source tree.
|
|
305
|
-
*/const aH=Ft("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function $O({number:e,format:t,useSuffix:n=!1,customSuffix:r="",currency:i="",locale:o="en-US"}){let s=1,a=r,l=o;const c=t.includes(".")?t.split(".")[1].length:0;n&&!r&&(e>=1e9?(s=1e9,a="B"):e>=1e7&&o==="en-IN"?(s=1e7,a="Cr"):e>=1e5&&o==="en-IN"?(s=1e5,a="L"):e>=1e6?(s=1e6,a="M"):e>=1e3&&(s=1e3,a="K"));const d=e/s,f={maximumFractionDigits:c,minimumFractionDigits:c};if(i){f.style="currency",f.currency=i;try{new Intl.NumberFormat("en-US",f).format(0)}catch{f.currency="USD"}}try{new Intl.NumberFormat(o,f).format(0)}catch{l="en-US"}let p=new Intl.NumberFormat(l,f).format(d);return n&&(p+=a),p}function jO({card:e,isLoading:t}){var x,w,S,C,P,O,k,M,N,F,j,B,V,G,te,$,Z,q;const n=ge(X=>X.actions.setCardTitle),r=ge(X=>X.actions.setCardDescription),i=ge(X=>X.isVisualEditing),o=ve(X=>X.card),s=ve(X=>X.actions.setCard);ve(X=>X.actions.setNumberFormat);const a=ge(X=>X.selectedSheetId),l=e.data,c=Object.keys((l==null?void 0:l[0])||{}),d=(x=l==null?void 0:l[0])==null?void 0:x[c[0]],f=(w=l==null?void 0:l[0])==null?void 0:w[c==null?void 0:c[1]],g=!!e.data&&e.data.length>0;function p(X){i?s({...o,title:X}):n(a,e.id,X)}function v(X){i?s({...o,description:X}):r(a,e.id,X)}const y=f&&f-d!==0?(d-f)/f:null;return _.jsxs("div",{className:" ",children:[_.jsxs(Gf,{children:[_.jsx(Xo,{text:i?o.title:e.title,onSave:p,children:_.jsxs("div",{className:"flex gap-2 items-center",children:[_.jsx(Yf,{className:" text-muted-foreground font-medium text-base",children:e.title}),!e.refreshInterval&&t&&_.jsx(Al,{className:"w-4 h-4 animate-spin text-muted-foreground"})]})}),g&&_.jsxs("div",{className:" text-foreground flex flex-wrap gap-3 items-end ",children:[_.jsx("p",{className:"text-4xl font-semibold",children:$O({number:d,format:((C=(S=e.preferences)==null?void 0:S.formatNumber)==null?void 0:C.format)||"",useSuffix:!!((O=(P=e.preferences)==null?void 0:P.formatNumber)!=null&&O.suffix),customSuffix:"",locale:((M=(k=e.preferences)==null?void 0:k.formatNumber)==null?void 0:M.locale)||"",currency:((F=(N=e.preferences)==null?void 0:N.formatNumber)==null?void 0:F.currency)||""})}),f&&_.jsxs("span",{className:" text-base font-normal text-muted-foreground",children:["from ",$O({number:f,format:((B=(j=e.preferences)==null?void 0:j.formatNumber)==null?void 0:B.format)||"",useSuffix:!!((G=(V=e.preferences)==null?void 0:V.formatNumber)!=null&&G.suffix),customSuffix:"",locale:(($=(te=e.preferences)==null?void 0:te.formatNumber)==null?void 0:$.locale)||"",currency:((q=(Z=e.preferences)==null?void 0:Z.formatNumber)==null?void 0:q.currency)||""})]})]})]}),y&&_.jsxs(Kf,{className:"flex gap-1 items-start ",children:[_.jsx(lH,{children:y}),_.jsxs("div",{className:" text-muted-foreground flex gap-1 ",children:[y>0?"up ":"down ",_.jsx(Xo,{text:e.description||"",onSave:v,children:e.description})]})]})]})}function lH({children:e}){const t=e>0?_.jsx(_2,{className:"h-4 w-4"}):_.jsx(w2,{className:"h-4 w-4"}),n=`${Math.abs(e*100).toFixed(0)}%`;return _.jsxs("div",{className:ke(" flex items-center",{"text-green-600":e>0,"text-destructive":e<0}),children:[t,_.jsx("span",{className:"ml-[1px]",children:n})]})}var Il=1e3,Nl=Il*60,Rl=Nl*60,fa=Rl*24,cH=fa*7,uH=fa*365.25,dH=function(e,t){t=t||{};var n=typeof e;if(n==="string"&&e.length>0)return fH(e);if(n==="number"&&isFinite(e))return t.long?pH(e):hH(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function fH(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]),r=(t[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*uH;case"weeks":case"week":case"w":return n*cH;case"days":case"day":case"d":return n*fa;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Rl;case"minutes":case"minute":case"mins":case"min":case"m":return n*Nl;case"seconds":case"second":case"secs":case"sec":case"s":return n*Il;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function hH(e){var t=Math.abs(e);return t>=fa?Math.round(e/fa)+"d":t>=Rl?Math.round(e/Rl)+"h":t>=Nl?Math.round(e/Nl)+"m":t>=Il?Math.round(e/Il)+"s":e+"ms"}function pH(e){var t=Math.abs(e);return t>=fa?np(e,t,fa,"day"):t>=Rl?np(e,t,Rl,"hour"):t>=Nl?np(e,t,Nl,"minute"):t>=Il?np(e,t,Il,"second"):e+" ms"}function np(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+" "+r+(i?"s":"")}const gH=Rc(dH);function mH(e){ge(s=>s.bookmarkKey);const{authToken:t}=oo(),n=ge(s=>s.filterValues),r=ge(s=>s.isDashboardEditing),i=gH((e==null?void 0:e.refreshInterval)||"0");return vi({queryKey:[e.id,e.sql],queryFn:()=>zc("https://semaphor.cloud/api/v1/query",(t==null?void 0:t.accessToken)||"",{connection_id:e.connectionId,sql:e.sql,active_filters:n}),refetchInterval:i,enabled:!!e.connectionId&&!r})}function vH(e,t){var s,a,l,c;const n=ge.getState().themeStyle,r=(a=(s=n==null?void 0:n.chart)==null?void 0:s.dataset)==null?void 0:a.backgroundColor,i=(c=(l=n==null?void 0:n.chart)==null?void 0:l.dataset)==null?void 0:c.borderColor;return e.map((d,f)=>({label:d.charAt(0).toUpperCase()+d.slice(1),data:t.map(g=>g[d]),backgroundColor:r==null?void 0:r[f%r.length],borderColor:i==null?void 0:i[f%i.length]}))}function bH(e){var a,l,c,d;const{metricKeys:t,dimensionKeys:n}=ha(e);let r=[];const i=ge.getState().themeStyle,o=(l=(a=i==null?void 0:i.chart)==null?void 0:a.dataset)==null?void 0:l.backgroundColor,s=(d=(c=i==null?void 0:i.chart)==null?void 0:c.dataset)==null?void 0:d.borderColor;if((n==null?void 0:n.length)===1){const f=e.map(g=>({x:g[t[0]],y:g[t[1]],r:g[t[2]],label:g[n==null?void 0:n[0]]}));r=[{label:n==null?void 0:n[0],data:f}]}return(n==null?void 0:n.length)>1&&(r=[...new Set(e.map(g=>g[n==null?void 0:n[1]]))].map((g,p)=>{const v=e.filter(y=>y[n==null?void 0:n[1]]===g);return{label:g,data:v.map(y=>({x:y[t[0]],y:y[t[1]],r:y[t[2]],label:y[n==null?void 0:n[0]]})),backgroundColor:o==null?void 0:o[p%o.length],borderColor:s==null?void 0:s[p%s.length]}})),r}function yH(e,t){var s,a,l,c;const n=ge.getState().themeStyle,r=(a=(s=n==null?void 0:n.chart)==null?void 0:s.dataset)==null?void 0:a.backgroundColor,i=(c=(l=n==null?void 0:n.chart)==null?void 0:l.dataset)==null?void 0:c.borderColor;return e.map(d=>({label:d.charAt(0).toUpperCase()+d.slice(1),data:t.map(f=>f[d]),backgroundColor:t.map((f,g)=>r==null?void 0:r[g%r.length]),borderColor:t.map((f,g)=>i==null?void 0:i[g%i.length])}))}function ha(e){const t=Object.keys(e[0]),n=t.filter(i=>{var o,s,a,l;return!!(typeof e[0][i]&&typeof e[0][i]=="string"||typeof((o=e==null?void 0:e[1])==null?void 0:o[i])&&typeof((s=e==null?void 0:e[1])==null?void 0:s[i])=="string"||typeof((a=e==null?void 0:e[2])==null?void 0:a[i])&&typeof((l=e==null?void 0:e[2])==null?void 0:l[i])=="string")});n.length===0&&n.push(t[0]);const r=t.filter(i=>e[0][i]===+e[0][i]);return{dimensionKeys:n,metricKeys:r}}function y0(e,t){var r;const n=(r=t==null?void 0:t.data)==null?void 0:r.datasets;return n&&n.length>0?e.map((o,s)=>({...o,...n[s],data:o.data,label:o.label})):e}function zO({dataArray:e,groupKey:t,pivotKey:n,valueKey:r}){const i=e.reduce((o,s)=>{const a=s[t],l=s[n],c=s[r];return o[a]||(o[a]={[t]:a}),o[a][l]=c,o},{});return Object.values(i)}function x0(e,t){var s;const n=ge.getState().themeStyle,r=(s=n==null?void 0:n.chart)==null?void 0:s.options,i=Hs.cloneDeep(r);return Hs.merge(i,e,t)}function BO(e,t){return e.map(n=>n[t]?n[t]:"BLANK")}function pa({data:e,cfg:t,customCfg:n}){const{dimensionKeys:r,metricKeys:i}=ha(e),o=vH(i,e),s=y0(o,n),a=r[0],l=BO(e,a),c=x0((t==null?void 0:t.options)||{},(n==null?void 0:n.options)||{});return{type:(n==null?void 0:n.type)||(t==null?void 0:t.type)||"bar",data:{labels:l,datasets:s},options:c}}function xH(e){return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0},y:{display:!0}}}}}function wH(e){return{...e,type:"bar",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}}}}}function _H(e){var n,r,i,o;return{...e,type:"bar",options:{...e==null?void 0:e.options,scales:{x:{...(r=(n=e==null?void 0:e.options)==null?void 0:n.scales)==null?void 0:r.x,display:!0,stacked:!0},y:{...(o=(i=e==null?void 0:e.options)==null?void 0:i.scales)==null?void 0:o.y,display:!0,stacked:!0}}}}}function SH(e){return{...e,type:"line",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}}}}}function VO(e,t){return{...t,type:e,options:{...t==null?void 0:t.options,scales:{x:{display:!1},y:{display:!1}}}}}function CH(e){return{...e,type:"radar",options:{...e==null?void 0:e.options,scales:{x:{display:!1},y:{display:!1}}}}}function w0({data:e,cardType:t="bar",cfg:n,customCfg:r,provider:i="chartjs",userSettings:o}){if(t==="bar"){const s=wH(n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="horizontalBar"){const s=xH(n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="stackedBar"){const s=_H(n),{dimensionKeys:a,metricKeys:l}=ha(e),c=zO({dataArray:e,groupKey:a[0],pivotKey:a[1],valueKey:l[0]});return pa({data:c,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="line"){const s=SH(n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="pie"||t==="doughnut"){const s=VO(t,n),{dimensionKeys:a,metricKeys:l}=ha(e),c=yH(l,e),d=y0(c,r),f=a[0],g=BO(e,f),p=x0((s==null?void 0:s.options)||{},(r==null?void 0:r.options)||{});return{type:t,data:{labels:g,datasets:d},options:p}}if(t==="radar"){const s=CH(n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="bubble"||t==="scatter"){const{metricKeys:s}=ha(e);if(s.length<3){console.log("Bubble charts require 3 numeric columns");return}const a=bH(e),l=y0(a,r),c={plugins:{datalabels:{display:!0}},scales:{x:{title:{display:!0,text:s[0]},beginAtZero:!0,ticks:{precision:0}},y:{title:{display:!0,text:s[1]},beginAtZero:!0,ticks:{precision:0}}}},d=x0(c,(r==null?void 0:r.options)||{});return{type:t,data:{datasets:l},options:d}}if(t==="polarArea"){const s=VO(t,n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}return pa({data:e,cfg:n,customCfg:r,cardType:t,userSettings:o,provider:i})}function HO(e,t,n,r,i){const o=ge.getState().theme;if(!r)return;const s=o==="dark"?"rgb(238,238,238,0.2)":"rgb(238,238,238,0.8)";["bar","line","horizontalBar","stackedBar","bubble","scatter"].includes(n)&&EH(e,t,r,i,s),["pie","doughnut","polarArea"].includes(n)&&OH(e,t,r,i,s)}function EH(e,t,n,r,i){var o,s,a,l;console.log("clicked index",t),r?(s=(o=e==null?void 0:e.data)==null?void 0:o.datasets)==null||s.forEach(c=>{var d,f;typeof c.backgroundColor=="string"&&(c.backgroundColor=new Array(c.data.length).fill(c.backgroundColor),c.borderColor=new Array(c.data.length).fill(c.borderColor)),c.backgroundColor=(d=c==null?void 0:c.backgroundColor)==null?void 0:d.map((g,p)=>p===t?g:i),c.borderColor=(f=c==null?void 0:c.borderColor)==null?void 0:f.map((g,p)=>p===t?g:i)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,d)=>{var f,g,p,v,y,x;c.backgroundColor=new Array(c.data.length).fill((p=(g=(f=n==null?void 0:n.data)==null?void 0:f.datasets)==null?void 0:g[d])==null?void 0:p.backgroundColor),c.borderColor=new Array(c.data.length).fill((x=(y=(v=n==null?void 0:n.data)==null?void 0:v.datasets)==null?void 0:y[d])==null?void 0:x.borderColor)}),e==null||e.update()}function OH(e,t,n,r,i){var o,s,a,l;r?(s=(o=e==null?void 0:e.data)==null?void 0:o.datasets)==null||s.forEach(c=>{var d,f;c.backgroundColor=(d=c==null?void 0:c.backgroundColor)==null?void 0:d.map((g,p)=>p===t?g:i),c.borderColor=(f=c==null?void 0:c.borderColor)==null?void 0:f.map((g,p)=>p===t?g:i)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,d)=>{var f,g,p,v,y,x,w,S;typeof c.backgroundColor=="string"&&(c.backgroundColor=(p=(g=(f=n==null?void 0:n.data)==null?void 0:f.datasets)==null?void 0:g[d])==null?void 0:p.backgroundColor,c.borderColor=(x=(y=(v=n==null?void 0:n.data)==null?void 0:v.datasets)==null?void 0:y[d])==null?void 0:x.borderColor),c.backgroundColor=(w=c==null?void 0:c.backgroundColor)==null?void 0:w.map((C,P)=>{var O;return(O=n.data.datasets[d].backgroundColor)==null?void 0:O[P]}),c.borderColor=(S=c==null?void 0:c.borderColor)==null?void 0:S.map((C,P)=>{var O;return(O=n.data.datasets[d].borderColor)==null?void 0:O[P]})}),e==null||e.update()}function PH(e,t,n,r){var i,o;try{if(!e||!e.data)return;const{dimensionKeys:s,metricKeys:a}=ha(e.data);if(["bar","horizontalBar","line","pie","doughnut","radar","polarArea"].includes(e.type)){const l=s[0],c=(i=e.data[n])==null?void 0:i[l];return[{columnName:l,columnValue:c,metric:a[t],value:r}]}if(e.type==="stackedBar"){const l=zO({dataArray:e.data,groupKey:s[0],pivotKey:s[1],valueKey:a[0]}),c=s[0],d=(o=l[n])==null?void 0:o[c],f=s[1],{metricKeys:g}=ha(l),p=g[t];return[{columnName:c,columnValue:d,metric:a[0],value:r},{columnName:f,columnValue:p,metric:a[0],value:r}]}if(e.type==="bubble"||e.type==="scatter"){const l=s[0],c=r.label;return[{columnName:l,columnValue:c,metric1:a[0],value1:r.x,metric2:a[1],value2:r.y,metric3:a==null?void 0:a[2],value3:r==null?void 0:r.r}]}}catch(s){console.error("Error in getAdhocFilter",s)}}function kH(e){var s,a;const[t]=m.useState({id:"",title:"",type:"bar",data:[]}),{getCard:n}=Yc(),r=n(e),i=WO(r||t),o={...r,data:((s=i==null?void 0:i.data)==null?void 0:s.records)||[]};return{...i,data:((a=i==null?void 0:i.data)==null?void 0:a.records)||[],card:o}}function WO(e){const{onChartElementClicked:t}=oo(),[n,r]=m.useState(0),i=ge(N=>N.bookmarkKey);ge(N=>N.isVisualEditing);const o=ge(N=>N.filteringCards),s=ge(N=>N.selectedSheetId);ge(N=>N.selectedCardId),ge(N=>N.isDashboardEditing);const a=ge(N=>N.themeStyle),l=ge(N=>N.filterValues),{addFrame:c,addFilteringCard:d,setFrameCardData:f,getSelectedFrame:g,addOrUpdateFilterValue:p,removeFilterValue:v,removeFilteringCard:y}=Yc(),{data:x,isLoading:w,isFetching:S,isError:C,refetch:P}=mH(e),O=o==null?void 0:o.find(N=>N.id===e.id);let k;e.data&&e.data.length>0&&(k=w0({data:e.data,cardType:e.type,cfg:e.cfg,customCfg:e.customCfg})),m.useEffect(()=>{!x||!x.records||f(s,e.id,(x==null?void 0:x.records)||[])},[x,s,e.id,f,l]),m.useEffect(()=>{e.data&&r(n+1)},[e.data,e.type,e.cfg,e.customCfg,a]),m.useEffect(()=>{e.connectionId&&!O&&P()},[l,i]);function M(N,F,j,B){var te,$;if(!e.data)return;const V=PH(e,F,j,B);if(t==null||t(e,V),!((te=e==null?void 0:e.preferences)!=null&&te.filterOnClick))return;if(O){const Z=e.id;v(Z),y(e),HO(N,j,e.type,k,!1);return}if(!V)return;const G={filterId:e.id,connectionId:e==null?void 0:e.connectionId,tableName:e.lastSelectedTable,name:V[0].columnName,expression:($=e.preferences)==null?void 0:$.filterOnClickField,valueType:Fm(V[0].columnValue),operation:"=",values:[V[0].columnValue]};p(G),d(e),HO(N,j,e.type,k,!0)}return{isError:C,isLoading:w,isFetching:S,data:x,visualKey:n,handleDatapointClick:M,cfg:k}}function DH(e,t){const n=ge(d=>d.selectedSheetId),r=ge(d=>d.selectedFrameId),i=ge(d=>d.isDashboardEditing),o=ge(d=>d.isVisualEditing),{addFrame:s,getSelectedFrame:a,setSelectedFrameId:l}=ge(d=>d.actions);m.useEffect(()=>{const d=g=>{if(i&&((g.metaKey||g.ctrlKey)&&g.key==="c"&&navigator.clipboard.writeText(JSON.stringify(a())),(g.ctrlKey||g.metaKey)&&g.key==="v"))try{navigator.clipboard.readText().then(p=>{try{const v=JSON.parse(p);if(v&&v.id){v.id=qo();const y=v.activeCardId;v.cards.forEach(x=>{const w=x.id;x.id=qo(),w===y&&(v.activeCardId=x.id,x.title=`${x.title} (Copy)`)}),s(n,v),l(v.id)}}catch(v){console.error("Failed to parse clipboard contents: ",v)}})}catch(p){console.error("Failed to read clipboard contents: ",p)}},f=t==null?void 0:t.current;return f==null||f.addEventListener("keydown",d),()=>{f==null||f.removeEventListener("keydown",d)}},[i,n,a,s,t,l]),m.useEffect(()=>{r===e.id&&i&&!o&&c()},[r,e.id,i,o]);function c(){const d=t==null?void 0:t.current;d==null||d.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}}let _0=0;function rp(){m.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:UO()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:UO()),_0++,()=>{_0===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),_0--}},[])}function UO(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}const S0="focusScope.autoFocusOnMount",C0="focusScope.autoFocusOnUnmount",qO={bubbles:!1,cancelable:!0},ip=m.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...s}=e,[a,l]=m.useState(null),c=_n(i),d=_n(o),f=m.useRef(null),g=rt(t,y=>l(y)),p=m.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;m.useEffect(()=>{if(r){let y=function(C){if(p.paused||!a)return;const P=C.target;a.contains(P)?f.current=P:us(f.current,{select:!0})},x=function(C){if(p.paused||!a)return;const P=C.relatedTarget;P!==null&&(a.contains(P)||us(f.current,{select:!0}))},w=function(C){if(document.activeElement===document.body)for(const O of C)O.removedNodes.length>0&&us(a)};document.addEventListener("focusin",y),document.addEventListener("focusout",x);const S=new MutationObserver(w);return a&&S.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",x),S.disconnect()}}},[r,a,p.paused]),m.useEffect(()=>{if(a){KO.add(p);const y=document.activeElement;if(!a.contains(y)){const w=new CustomEvent(S0,qO);a.addEventListener(S0,c),a.dispatchEvent(w),w.defaultPrevented||(MH(RH(GO(a)),{select:!0}),document.activeElement===y&&us(a))}return()=>{a.removeEventListener(S0,c),setTimeout(()=>{const w=new CustomEvent(C0,qO);a.addEventListener(C0,d),a.dispatchEvent(w),w.defaultPrevented||us(y??document.body,{select:!0}),a.removeEventListener(C0,d),KO.remove(p)},0)}}},[a,c,d,p]);const v=m.useCallback(y=>{if(!n&&!r||p.paused)return;const x=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,w=document.activeElement;if(x&&w){const S=y.currentTarget,[C,P]=TH(S);C&&P?!y.shiftKey&&w===P?(y.preventDefault(),n&&us(C,{select:!0})):y.shiftKey&&w===C&&(y.preventDefault(),n&&us(P,{select:!0})):w===S&&y.preventDefault()}},[n,r,p.paused]);return m.createElement(He.div,se({tabIndex:-1},s,{ref:g,onKeyDown:v}))});function MH(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(us(r,{select:t}),document.activeElement!==n)return}function TH(e){const t=GO(e),n=YO(t,e),r=YO(t.reverse(),e);return[n,r]}function GO(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function YO(e,t){for(const n of e)if(!AH(n,{upTo:t}))return n}function AH(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function IH(e){return e instanceof HTMLInputElement&&"select"in e}function us(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&IH(e)&&t&&e.select()}}const KO=NH();function NH(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=XO(e,t),e.unshift(t)},remove(t){var n;e=XO(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function XO(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function RH(e){return e.filter(t=>t.tagName!=="A")}var LH=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ll=new WeakMap,op=new WeakMap,sp={},E0=0,QO=function(e){return e&&(e.host||QO(e.parentNode))},FH=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=QO(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},$H=function(e,t,n,r){var i=FH(t,Array.isArray(e)?e:[e]);sp[n]||(sp[n]=new WeakMap);var o=sp[n],s=[],a=new Set,l=new Set(i),c=function(f){!f||a.has(f)||(a.add(f),c(f.parentNode))};i.forEach(c);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(g){if(a.has(g))d(g);else{var p=g.getAttribute(r),v=p!==null&&p!=="false",y=(Ll.get(g)||0)+1,x=(o.get(g)||0)+1;Ll.set(g,y),o.set(g,x),s.push(g),y===1&&v&&op.set(g,!0),x===1&&g.setAttribute(n,"true"),v||g.setAttribute(r,"true")}})};return d(t),a.clear(),E0++,function(){s.forEach(function(f){var g=Ll.get(f)-1,p=o.get(f)-1;Ll.set(f,g),o.set(f,p),g||(op.has(f)||f.removeAttribute(r),op.delete(f)),p||f.removeAttribute(n)}),E0--,E0||(Ll=new WeakMap,Ll=new WeakMap,op=new WeakMap,sp={})}},ap=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=t||LH(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),$H(r,i,n,"aria-hidden")):function(){return null}},Vi=function(){return Vi=Object.assign||function(t){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},Vi.apply(this,arguments)};function ZO(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function jH(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,o;r<i;r++)(o||!(r in t))&&(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var lp="right-scroll-bar-position",cp="width-before-scroll-bar",zH="with-scroll-bars-hidden",BH="--removed-body-scroll-bar-size";function VH(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function HH(e,t){var n=m.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var i=n.value;i!==r&&(n.value=r,n.callback(r,i))}}}})[0];return n.callback=t,n.facade}function WH(e,t){return HH(t||null,function(n){return e.forEach(function(r){return VH(r,n)})})}function UH(e){return e}function qH(e,t){t===void 0&&(t=UH);var n=[],r=!1,i={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(o){var s=t(o,r);return n.push(s),function(){n=n.filter(function(a){return a!==s})}},assignSyncMedium:function(o){for(r=!0;n.length;){var s=n;n=[],s.forEach(o)}n={push:function(a){return o(a)},filter:function(){return n}}},assignMedium:function(o){r=!0;var s=[];if(n.length){var a=n;n=[],a.forEach(o),s=n}var l=function(){var d=s;s=[],d.forEach(o)},c=function(){return Promise.resolve().then(l)};c(),n={push:function(d){s.push(d),c()},filter:function(d){return s=s.filter(d),n}}}};return i}function GH(e){e===void 0&&(e={});var t=qH(null);return t.options=Vi({async:!0,ssr:!1},e),t}var JO=function(e){var t=e.sideCar,n=ZO(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return de.createElement(r,Vi({},n))};JO.isSideCarExport=!0;function YH(e,t){return e.useMedium(t),JO}var eP=GH(),O0=function(){},up=de.forwardRef(function(e,t){var n=de.useRef(null),r=de.useState({onScrollCapture:O0,onWheelCapture:O0,onTouchMoveCapture:O0}),i=r[0],o=r[1],s=e.forwardProps,a=e.children,l=e.className,c=e.removeScrollBar,d=e.enabled,f=e.shards,g=e.sideCar,p=e.noIsolation,v=e.inert,y=e.allowPinchZoom,x=e.as,w=x===void 0?"div":x,S=ZO(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),C=g,P=WH([n,t]),O=Vi(Vi({},S),i);return de.createElement(de.Fragment,null,d&&de.createElement(C,{sideCar:eP,removeScrollBar:c,shards:f,noIsolation:p,inert:v,setCallbacks:o,allowPinchZoom:!!y,lockRef:n}),s?de.cloneElement(de.Children.only(a),Vi(Vi({},O),{ref:P})):de.createElement(w,Vi({},O,{className:l,ref:P}),a))});up.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},up.classNames={fullWidth:cp,zeroRight:lp};var tP,KH=function(){if(tP)return tP;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function XH(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=KH();return t&&e.setAttribute("nonce",t),e}function QH(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function ZH(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var JH=function(){var e=0,t=null;return{add:function(n){e==0&&(t=XH())&&(QH(t,n),ZH(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},e6=function(){var e=JH();return function(t,n){de.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},nP=function(){var e=e6(),t=function(n){var r=n.styles,i=n.dynamic;return e(r,i),null};return t},t6={left:0,top:0,right:0,gap:0},P0=function(e){return parseInt(e||"",10)||0},n6=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],i=t[e==="padding"?"paddingRight":"marginRight"];return[P0(n),P0(r),P0(i)]},r6=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return t6;var t=n6(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},i6=nP(),o6=function(e,t,n,r){var i=e.left,o=e.top,s=e.right,a=e.gap;return n===void 0&&(n="margin"),`
|
|
305
|
+
*/const aH=Ft("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function $O({number:e,format:t,useSuffix:n=!1,customSuffix:r="",currency:i="",locale:o="en-US"}){let s=1,a=r,l=o;const c=t.includes(".")?t.split(".")[1].length:0;n&&!r&&(e>=1e9?(s=1e9,a="B"):e>=1e7&&o==="en-IN"?(s=1e7,a="Cr"):e>=1e5&&o==="en-IN"?(s=1e5,a="L"):e>=1e6?(s=1e6,a="M"):e>=1e3&&(s=1e3,a="K"));const d=e/s,f={maximumFractionDigits:c,minimumFractionDigits:c};if(i){f.style="currency",f.currency=i;try{new Intl.NumberFormat("en-US",f).format(0)}catch{f.currency="USD"}}try{new Intl.NumberFormat(o,f).format(0)}catch{l="en-US"}let p=new Intl.NumberFormat(l,f).format(d);return n&&(p+=a),p}function jO({card:e,isLoading:t}){var x,w,S,C,P,O,k,M,N,F,j,B,V,G,te,$,Z,q;const n=ge(X=>X.actions.setCardTitle),r=ge(X=>X.actions.setCardDescription),i=ge(X=>X.isVisualEditing),o=ve(X=>X.card),s=ve(X=>X.actions.setCard);ve(X=>X.actions.setNumberFormat);const a=ge(X=>X.selectedSheetId),l=e.data,c=Object.keys((l==null?void 0:l[0])||{}),d=(x=l==null?void 0:l[0])==null?void 0:x[c[0]],f=(w=l==null?void 0:l[0])==null?void 0:w[c==null?void 0:c[1]],g=!!e.data&&e.data.length>0;function p(X){i?s({...o,title:X}):n(a,e.id,X)}function v(X){i?s({...o,description:X}):r(a,e.id,X)}const y=f&&f-d!==0?(d-f)/f:null;return _.jsxs("div",{className:"overflow-scroll kpi-card grow flex flex-col",children:[_.jsxs(Gf,{className:"grow pb-3 ",children:[_.jsx(Xo,{text:i?o.title:e.title,onSave:p,children:_.jsxs("div",{className:"flex gap-2 items-center",children:[_.jsx(Yf,{className:" text-muted-foreground font-medium text-base ",children:e.title}),!e.refreshInterval&&t&&_.jsx(Al,{className:"w-4 h-4 animate-spin text-muted-foreground"})]})}),g&&_.jsxs("div",{className:" text-foreground flex flex-wrap gap-3 items-end ",children:[_.jsx("p",{className:"text-3xl font-semibold",children:$O({number:d,format:((C=(S=e.preferences)==null?void 0:S.formatNumber)==null?void 0:C.format)||"",useSuffix:!!((O=(P=e.preferences)==null?void 0:P.formatNumber)!=null&&O.suffix),customSuffix:"",locale:((M=(k=e.preferences)==null?void 0:k.formatNumber)==null?void 0:M.locale)||"",currency:((F=(N=e.preferences)==null?void 0:N.formatNumber)==null?void 0:F.currency)||""})}),f&&_.jsxs("span",{className:" text-base font-normal text-muted-foreground min-w-fit",children:["from ",$O({number:f,format:((B=(j=e.preferences)==null?void 0:j.formatNumber)==null?void 0:B.format)||"",useSuffix:!!((G=(V=e.preferences)==null?void 0:V.formatNumber)!=null&&G.suffix),customSuffix:"",locale:(($=(te=e.preferences)==null?void 0:te.formatNumber)==null?void 0:$.locale)||"",currency:((q=(Z=e.preferences)==null?void 0:Z.formatNumber)==null?void 0:q.currency)||""})]})]})]}),y&&_.jsxs(Kf,{className:" grow gap-1 items-start pb-4 text-sm ",children:[_.jsx(lH,{children:y}),_.jsxs("div",{className:" text-muted-foreground flex gap-1 ",children:[y>0?"up ":"down ",_.jsx(Xo,{text:e.description||"",onSave:v,children:e.description})]})]})]})}function lH({children:e}){const t=e>0?_.jsx(_2,{className:"h-4 w-4"}):_.jsx(w2,{className:"h-4 w-4"}),n=`${Math.abs(e*100).toFixed(0)}%`;return _.jsxs("div",{className:ke(" flex items-center",{"text-green-600":e>0,"text-destructive":e<0}),children:[t,_.jsx("span",{className:"ml-[1px]",children:n})]})}var Il=1e3,Nl=Il*60,Rl=Nl*60,fa=Rl*24,cH=fa*7,uH=fa*365.25,dH=function(e,t){t=t||{};var n=typeof e;if(n==="string"&&e.length>0)return fH(e);if(n==="number"&&isFinite(e))return t.long?pH(e):hH(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function fH(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var n=parseFloat(t[1]),r=(t[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return n*uH;case"weeks":case"week":case"w":return n*cH;case"days":case"day":case"d":return n*fa;case"hours":case"hour":case"hrs":case"hr":case"h":return n*Rl;case"minutes":case"minute":case"mins":case"min":case"m":return n*Nl;case"seconds":case"second":case"secs":case"sec":case"s":return n*Il;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function hH(e){var t=Math.abs(e);return t>=fa?Math.round(e/fa)+"d":t>=Rl?Math.round(e/Rl)+"h":t>=Nl?Math.round(e/Nl)+"m":t>=Il?Math.round(e/Il)+"s":e+"ms"}function pH(e){var t=Math.abs(e);return t>=fa?np(e,t,fa,"day"):t>=Rl?np(e,t,Rl,"hour"):t>=Nl?np(e,t,Nl,"minute"):t>=Il?np(e,t,Il,"second"):e+" ms"}function np(e,t,n,r){var i=t>=n*1.5;return Math.round(e/n)+" "+r+(i?"s":"")}const gH=Rc(dH);function mH(e){ge(s=>s.bookmarkKey);const{authToken:t}=oo(),n=ge(s=>s.filterValues),r=ge(s=>s.isDashboardEditing),i=gH((e==null?void 0:e.refreshInterval)||"0");return vi({queryKey:[e.id,e.sql],queryFn:()=>zc("https://semaphor.cloud/api/v1/query",(t==null?void 0:t.accessToken)||"",{connection_id:e.connectionId,sql:e.sql,active_filters:n}),refetchInterval:i,enabled:!!e.connectionId&&!r})}function vH(e,t){var s,a,l,c;const n=ge.getState().themeStyle,r=(a=(s=n==null?void 0:n.chart)==null?void 0:s.dataset)==null?void 0:a.backgroundColor,i=(c=(l=n==null?void 0:n.chart)==null?void 0:l.dataset)==null?void 0:c.borderColor;return e.map((d,f)=>({label:d.charAt(0).toUpperCase()+d.slice(1),data:t.map(g=>g[d]),backgroundColor:r==null?void 0:r[f%r.length],borderColor:i==null?void 0:i[f%i.length]}))}function bH(e){var a,l,c,d;const{metricKeys:t,dimensionKeys:n}=ha(e);let r=[];const i=ge.getState().themeStyle,o=(l=(a=i==null?void 0:i.chart)==null?void 0:a.dataset)==null?void 0:l.backgroundColor,s=(d=(c=i==null?void 0:i.chart)==null?void 0:c.dataset)==null?void 0:d.borderColor;if((n==null?void 0:n.length)===1){const f=e.map(g=>({x:g[t[0]],y:g[t[1]],r:g[t[2]],label:g[n==null?void 0:n[0]]}));r=[{label:n==null?void 0:n[0],data:f}]}return(n==null?void 0:n.length)>1&&(r=[...new Set(e.map(g=>g[n==null?void 0:n[1]]))].map((g,p)=>{const v=e.filter(y=>y[n==null?void 0:n[1]]===g);return{label:g,data:v.map(y=>({x:y[t[0]],y:y[t[1]],r:y[t[2]],label:y[n==null?void 0:n[0]]})),backgroundColor:o==null?void 0:o[p%o.length],borderColor:s==null?void 0:s[p%s.length]}})),r}function yH(e,t){var s,a,l,c;const n=ge.getState().themeStyle,r=(a=(s=n==null?void 0:n.chart)==null?void 0:s.dataset)==null?void 0:a.backgroundColor,i=(c=(l=n==null?void 0:n.chart)==null?void 0:l.dataset)==null?void 0:c.borderColor;return e.map(d=>({label:d.charAt(0).toUpperCase()+d.slice(1),data:t.map(f=>f[d]),backgroundColor:t.map((f,g)=>r==null?void 0:r[g%r.length]),borderColor:t.map((f,g)=>i==null?void 0:i[g%i.length])}))}function ha(e){const t=Object.keys(e[0]),n=t.filter(i=>{var o,s,a,l;return!!(typeof e[0][i]&&typeof e[0][i]=="string"||typeof((o=e==null?void 0:e[1])==null?void 0:o[i])&&typeof((s=e==null?void 0:e[1])==null?void 0:s[i])=="string"||typeof((a=e==null?void 0:e[2])==null?void 0:a[i])&&typeof((l=e==null?void 0:e[2])==null?void 0:l[i])=="string")});n.length===0&&n.push(t[0]);const r=t.filter(i=>e[0][i]===+e[0][i]);return{dimensionKeys:n,metricKeys:r}}function y0(e,t){var r;const n=(r=t==null?void 0:t.data)==null?void 0:r.datasets;return n&&n.length>0?e.map((o,s)=>({...o,...n[s],data:o.data,label:o.label})):e}function zO({dataArray:e,groupKey:t,pivotKey:n,valueKey:r}){const i=e.reduce((o,s)=>{const a=s[t],l=s[n],c=s[r];return o[a]||(o[a]={[t]:a}),o[a][l]=c,o},{});return Object.values(i)}function x0(e,t){var s;const n=ge.getState().themeStyle,r=(s=n==null?void 0:n.chart)==null?void 0:s.options,i=Hs.cloneDeep(r);return Hs.merge(i,e,t)}function BO(e,t){return e.map(n=>n[t]?n[t]:"BLANK")}function pa({data:e,cfg:t,customCfg:n}){const{dimensionKeys:r,metricKeys:i}=ha(e),o=vH(i,e),s=y0(o,n),a=r[0],l=BO(e,a),c=x0((t==null?void 0:t.options)||{},(n==null?void 0:n.options)||{});return{type:(n==null?void 0:n.type)||(t==null?void 0:t.type)||"bar",data:{labels:l,datasets:s},options:c}}function xH(e){return{...e,type:"bar",options:{...e==null?void 0:e.options,indexAxis:"y",scales:{x:{display:!0},y:{display:!0}}}}}function wH(e){return{...e,type:"bar",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}}}}}function _H(e){var n,r,i,o;return{...e,type:"bar",options:{...e==null?void 0:e.options,scales:{x:{...(r=(n=e==null?void 0:e.options)==null?void 0:n.scales)==null?void 0:r.x,display:!0,stacked:!0},y:{...(o=(i=e==null?void 0:e.options)==null?void 0:i.scales)==null?void 0:o.y,display:!0,stacked:!0}}}}}function SH(e){return{...e,type:"line",options:{...e==null?void 0:e.options,scales:{x:{display:!0},y:{display:!0}}}}}function VO(e,t){return{...t,type:e,options:{...t==null?void 0:t.options,scales:{x:{display:!1},y:{display:!1}}}}}function CH(e){return{...e,type:"radar",options:{...e==null?void 0:e.options,scales:{x:{display:!1},y:{display:!1}}}}}function w0({data:e,cardType:t="bar",cfg:n,customCfg:r,provider:i="chartjs",userSettings:o}){if(t==="bar"){const s=wH(n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="horizontalBar"){const s=xH(n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="stackedBar"){const s=_H(n),{dimensionKeys:a,metricKeys:l}=ha(e),c=zO({dataArray:e,groupKey:a[0],pivotKey:a[1],valueKey:l[0]});return pa({data:c,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="line"){const s=SH(n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="pie"||t==="doughnut"){const s=VO(t,n),{dimensionKeys:a,metricKeys:l}=ha(e),c=yH(l,e),d=y0(c,r),f=a[0],g=BO(e,f),p=x0((s==null?void 0:s.options)||{},(r==null?void 0:r.options)||{});return{type:t,data:{labels:g,datasets:d},options:p}}if(t==="radar"){const s=CH(n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}if(t==="bubble"||t==="scatter"){const{metricKeys:s}=ha(e);if(s.length<3){console.log("Bubble charts require 3 numeric columns");return}const a=bH(e),l=y0(a,r),c={plugins:{datalabels:{display:!0}},scales:{x:{title:{display:!0,text:s[0]},beginAtZero:!0,ticks:{precision:0}},y:{title:{display:!0,text:s[1]},beginAtZero:!0,ticks:{precision:0}}}},d=x0(c,(r==null?void 0:r.options)||{});return{type:t,data:{datasets:l},options:d}}if(t==="polarArea"){const s=VO(t,n);return pa({data:e,cfg:s,customCfg:r,cardType:t,userSettings:o,provider:i})}return pa({data:e,cfg:n,customCfg:r,cardType:t,userSettings:o,provider:i})}function HO(e,t,n,r,i){const o=ge.getState().theme;if(!r)return;const s=o==="dark"?"rgb(238,238,238,0.2)":"rgb(238,238,238,0.8)";["bar","line","horizontalBar","stackedBar","bubble","scatter"].includes(n)&&EH(e,t,r,i,s),["pie","doughnut","polarArea"].includes(n)&&OH(e,t,r,i,s)}function EH(e,t,n,r,i){var o,s,a,l;console.log("clicked index",t),r?(s=(o=e==null?void 0:e.data)==null?void 0:o.datasets)==null||s.forEach(c=>{var d,f;typeof c.backgroundColor=="string"&&(c.backgroundColor=new Array(c.data.length).fill(c.backgroundColor),c.borderColor=new Array(c.data.length).fill(c.borderColor)),c.backgroundColor=(d=c==null?void 0:c.backgroundColor)==null?void 0:d.map((g,p)=>p===t?g:i),c.borderColor=(f=c==null?void 0:c.borderColor)==null?void 0:f.map((g,p)=>p===t?g:i)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,d)=>{var f,g,p,v,y,x;c.backgroundColor=new Array(c.data.length).fill((p=(g=(f=n==null?void 0:n.data)==null?void 0:f.datasets)==null?void 0:g[d])==null?void 0:p.backgroundColor),c.borderColor=new Array(c.data.length).fill((x=(y=(v=n==null?void 0:n.data)==null?void 0:v.datasets)==null?void 0:y[d])==null?void 0:x.borderColor)}),e==null||e.update()}function OH(e,t,n,r,i){var o,s,a,l;r?(s=(o=e==null?void 0:e.data)==null?void 0:o.datasets)==null||s.forEach(c=>{var d,f;c.backgroundColor=(d=c==null?void 0:c.backgroundColor)==null?void 0:d.map((g,p)=>p===t?g:i),c.borderColor=(f=c==null?void 0:c.borderColor)==null?void 0:f.map((g,p)=>p===t?g:i)}):(l=(a=e==null?void 0:e.data)==null?void 0:a.datasets)==null||l.forEach((c,d)=>{var f,g,p,v,y,x,w,S;typeof c.backgroundColor=="string"&&(c.backgroundColor=(p=(g=(f=n==null?void 0:n.data)==null?void 0:f.datasets)==null?void 0:g[d])==null?void 0:p.backgroundColor,c.borderColor=(x=(y=(v=n==null?void 0:n.data)==null?void 0:v.datasets)==null?void 0:y[d])==null?void 0:x.borderColor),c.backgroundColor=(w=c==null?void 0:c.backgroundColor)==null?void 0:w.map((C,P)=>{var O;return(O=n.data.datasets[d].backgroundColor)==null?void 0:O[P]}),c.borderColor=(S=c==null?void 0:c.borderColor)==null?void 0:S.map((C,P)=>{var O;return(O=n.data.datasets[d].borderColor)==null?void 0:O[P]})}),e==null||e.update()}function PH(e,t,n,r){var i,o;try{if(!e||!e.data)return;const{dimensionKeys:s,metricKeys:a}=ha(e.data);if(["bar","horizontalBar","line","pie","doughnut","radar","polarArea"].includes(e.type)){const l=s[0],c=(i=e.data[n])==null?void 0:i[l];return[{columnName:l,columnValue:c,metric:a[t],value:r}]}if(e.type==="stackedBar"){const l=zO({dataArray:e.data,groupKey:s[0],pivotKey:s[1],valueKey:a[0]}),c=s[0],d=(o=l[n])==null?void 0:o[c],f=s[1],{metricKeys:g}=ha(l),p=g[t];return[{columnName:c,columnValue:d,metric:a[0],value:r},{columnName:f,columnValue:p,metric:a[0],value:r}]}if(e.type==="bubble"||e.type==="scatter"){const l=s[0],c=r.label;return[{columnName:l,columnValue:c,metric1:a[0],value1:r.x,metric2:a[1],value2:r.y,metric3:a==null?void 0:a[2],value3:r==null?void 0:r.r}]}}catch(s){console.error("Error in getAdhocFilter",s)}}function kH(e){var s,a;const[t]=m.useState({id:"",title:"",type:"bar",data:[]}),{getCard:n}=Yc(),r=n(e),i=WO(r||t),o={...r,data:((s=i==null?void 0:i.data)==null?void 0:s.records)||[]};return{...i,data:((a=i==null?void 0:i.data)==null?void 0:a.records)||[],card:o}}function WO(e){const{onChartElementClicked:t}=oo(),[n,r]=m.useState(0),i=ge(N=>N.bookmarkKey);ge(N=>N.isVisualEditing);const o=ge(N=>N.filteringCards),s=ge(N=>N.selectedSheetId);ge(N=>N.selectedCardId),ge(N=>N.isDashboardEditing);const a=ge(N=>N.themeStyle),l=ge(N=>N.filterValues),{addFrame:c,addFilteringCard:d,setFrameCardData:f,getSelectedFrame:g,addOrUpdateFilterValue:p,removeFilterValue:v,removeFilteringCard:y}=Yc(),{data:x,isLoading:w,isFetching:S,isError:C,refetch:P}=mH(e),O=o==null?void 0:o.find(N=>N.id===e.id);let k;e.data&&e.data.length>0&&(k=w0({data:e.data,cardType:e.type,cfg:e.cfg,customCfg:e.customCfg})),m.useEffect(()=>{!x||!x.records||f(s,e.id,(x==null?void 0:x.records)||[])},[x,s,e.id,f,l]),m.useEffect(()=>{e.data&&r(n+1)},[e.data,e.type,e.cfg,e.customCfg,a]),m.useEffect(()=>{e.connectionId&&!O&&P()},[l,i]);function M(N,F,j,B){var te,$;if(!e.data)return;const V=PH(e,F,j,B);if(t==null||t(e,V),!((te=e==null?void 0:e.preferences)!=null&&te.filterOnClick))return;if(O){const Z=e.id;v(Z),y(e),HO(N,j,e.type,k,!1);return}if(!V)return;const G={filterId:e.id,connectionId:e==null?void 0:e.connectionId,tableName:e.lastSelectedTable,name:V[0].columnName,expression:($=e.preferences)==null?void 0:$.filterOnClickField,valueType:Fm(V[0].columnValue),operation:"=",values:[V[0].columnValue]};p(G),d(e),HO(N,j,e.type,k,!0)}return{isError:C,isLoading:w,isFetching:S,data:x,visualKey:n,handleDatapointClick:M,cfg:k}}function DH(e,t){const n=ge(d=>d.selectedSheetId),r=ge(d=>d.selectedFrameId),i=ge(d=>d.isDashboardEditing),o=ge(d=>d.isVisualEditing),{addFrame:s,getSelectedFrame:a,setSelectedFrameId:l}=ge(d=>d.actions);m.useEffect(()=>{const d=g=>{if(i&&((g.metaKey||g.ctrlKey)&&g.key==="c"&&navigator.clipboard.writeText(JSON.stringify(a())),(g.ctrlKey||g.metaKey)&&g.key==="v"))try{navigator.clipboard.readText().then(p=>{try{const v=JSON.parse(p);if(v&&v.id){v.id=qo();const y=v.activeCardId;v.cards.forEach(x=>{const w=x.id;x.id=qo(),w===y&&(v.activeCardId=x.id,x.title=`${x.title} (Copy)`)}),s(n,v),l(v.id)}}catch(v){console.error("Failed to parse clipboard contents: ",v)}})}catch(p){console.error("Failed to read clipboard contents: ",p)}},f=t==null?void 0:t.current;return f==null||f.addEventListener("keydown",d),()=>{f==null||f.removeEventListener("keydown",d)}},[i,n,a,s,t,l]),m.useEffect(()=>{r===e.id&&i&&!o&&c()},[r,e.id,i,o]);function c(){const d=t==null?void 0:t.current;d==null||d.scrollIntoView({behavior:"smooth",block:"nearest",inline:"nearest"})}}let _0=0;function rp(){m.useEffect(()=>{var e,t;const n=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",(e=n[0])!==null&&e!==void 0?e:UO()),document.body.insertAdjacentElement("beforeend",(t=n[1])!==null&&t!==void 0?t:UO()),_0++,()=>{_0===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(r=>r.remove()),_0--}},[])}function UO(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.cssText="outline: none; opacity: 0; position: fixed; pointer-events: none",e}const S0="focusScope.autoFocusOnMount",C0="focusScope.autoFocusOnUnmount",qO={bubbles:!1,cancelable:!0},ip=m.forwardRef((e,t)=>{const{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...s}=e,[a,l]=m.useState(null),c=_n(i),d=_n(o),f=m.useRef(null),g=rt(t,y=>l(y)),p=m.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;m.useEffect(()=>{if(r){let y=function(C){if(p.paused||!a)return;const P=C.target;a.contains(P)?f.current=P:us(f.current,{select:!0})},x=function(C){if(p.paused||!a)return;const P=C.relatedTarget;P!==null&&(a.contains(P)||us(f.current,{select:!0}))},w=function(C){if(document.activeElement===document.body)for(const O of C)O.removedNodes.length>0&&us(a)};document.addEventListener("focusin",y),document.addEventListener("focusout",x);const S=new MutationObserver(w);return a&&S.observe(a,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",x),S.disconnect()}}},[r,a,p.paused]),m.useEffect(()=>{if(a){KO.add(p);const y=document.activeElement;if(!a.contains(y)){const w=new CustomEvent(S0,qO);a.addEventListener(S0,c),a.dispatchEvent(w),w.defaultPrevented||(MH(RH(GO(a)),{select:!0}),document.activeElement===y&&us(a))}return()=>{a.removeEventListener(S0,c),setTimeout(()=>{const w=new CustomEvent(C0,qO);a.addEventListener(C0,d),a.dispatchEvent(w),w.defaultPrevented||us(y??document.body,{select:!0}),a.removeEventListener(C0,d),KO.remove(p)},0)}}},[a,c,d,p]);const v=m.useCallback(y=>{if(!n&&!r||p.paused)return;const x=y.key==="Tab"&&!y.altKey&&!y.ctrlKey&&!y.metaKey,w=document.activeElement;if(x&&w){const S=y.currentTarget,[C,P]=TH(S);C&&P?!y.shiftKey&&w===P?(y.preventDefault(),n&&us(C,{select:!0})):y.shiftKey&&w===C&&(y.preventDefault(),n&&us(P,{select:!0})):w===S&&y.preventDefault()}},[n,r,p.paused]);return m.createElement(He.div,se({tabIndex:-1},s,{ref:g,onKeyDown:v}))});function MH(e,{select:t=!1}={}){const n=document.activeElement;for(const r of e)if(us(r,{select:t}),document.activeElement!==n)return}function TH(e){const t=GO(e),n=YO(t,e),r=YO(t.reverse(),e);return[n,r]}function GO(e){const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{const i=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||i?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function YO(e,t){for(const n of e)if(!AH(n,{upTo:t}))return n}function AH(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function IH(e){return e instanceof HTMLInputElement&&"select"in e}function us(e,{select:t=!1}={}){if(e&&e.focus){const n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&IH(e)&&t&&e.select()}}const KO=NH();function NH(){let e=[];return{add(t){const n=e[0];t!==n&&(n==null||n.pause()),e=XO(e,t),e.unshift(t)},remove(t){var n;e=XO(e,t),(n=e[0])===null||n===void 0||n.resume()}}}function XO(e,t){const n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function RH(e){return e.filter(t=>t.tagName!=="A")}var LH=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Ll=new WeakMap,op=new WeakMap,sp={},E0=0,QO=function(e){return e&&(e.host||QO(e.parentNode))},FH=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=QO(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},$H=function(e,t,n,r){var i=FH(t,Array.isArray(e)?e:[e]);sp[n]||(sp[n]=new WeakMap);var o=sp[n],s=[],a=new Set,l=new Set(i),c=function(f){!f||a.has(f)||(a.add(f),c(f.parentNode))};i.forEach(c);var d=function(f){!f||l.has(f)||Array.prototype.forEach.call(f.children,function(g){if(a.has(g))d(g);else{var p=g.getAttribute(r),v=p!==null&&p!=="false",y=(Ll.get(g)||0)+1,x=(o.get(g)||0)+1;Ll.set(g,y),o.set(g,x),s.push(g),y===1&&v&&op.set(g,!0),x===1&&g.setAttribute(n,"true"),v||g.setAttribute(r,"true")}})};return d(t),a.clear(),E0++,function(){s.forEach(function(f){var g=Ll.get(f)-1,p=o.get(f)-1;Ll.set(f,g),o.set(f,p),g||(op.has(f)||f.removeAttribute(r),op.delete(f)),p||f.removeAttribute(n)}),E0--,E0||(Ll=new WeakMap,Ll=new WeakMap,op=new WeakMap,sp={})}},ap=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),i=t||LH(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll("[aria-live]"))),$H(r,i,n,"aria-hidden")):function(){return null}},Vi=function(){return Vi=Object.assign||function(t){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},Vi.apply(this,arguments)};function ZO(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function jH(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,o;r<i;r++)(o||!(r in t))&&(o||(o=Array.prototype.slice.call(t,0,r)),o[r]=t[r]);return e.concat(o||Array.prototype.slice.call(t))}typeof SuppressedError=="function"&&SuppressedError;var lp="right-scroll-bar-position",cp="width-before-scroll-bar",zH="with-scroll-bars-hidden",BH="--removed-body-scroll-bar-size";function VH(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}function HH(e,t){var n=m.useState(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var i=n.value;i!==r&&(n.value=r,n.callback(r,i))}}}})[0];return n.callback=t,n.facade}function WH(e,t){return HH(t||null,function(n){return e.forEach(function(r){return VH(r,n)})})}function UH(e){return e}function qH(e,t){t===void 0&&(t=UH);var n=[],r=!1,i={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(o){var s=t(o,r);return n.push(s),function(){n=n.filter(function(a){return a!==s})}},assignSyncMedium:function(o){for(r=!0;n.length;){var s=n;n=[],s.forEach(o)}n={push:function(a){return o(a)},filter:function(){return n}}},assignMedium:function(o){r=!0;var s=[];if(n.length){var a=n;n=[],a.forEach(o),s=n}var l=function(){var d=s;s=[],d.forEach(o)},c=function(){return Promise.resolve().then(l)};c(),n={push:function(d){s.push(d),c()},filter:function(d){return s=s.filter(d),n}}}};return i}function GH(e){e===void 0&&(e={});var t=qH(null);return t.options=Vi({async:!0,ssr:!1},e),t}var JO=function(e){var t=e.sideCar,n=ZO(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return de.createElement(r,Vi({},n))};JO.isSideCarExport=!0;function YH(e,t){return e.useMedium(t),JO}var eP=GH(),O0=function(){},up=de.forwardRef(function(e,t){var n=de.useRef(null),r=de.useState({onScrollCapture:O0,onWheelCapture:O0,onTouchMoveCapture:O0}),i=r[0],o=r[1],s=e.forwardProps,a=e.children,l=e.className,c=e.removeScrollBar,d=e.enabled,f=e.shards,g=e.sideCar,p=e.noIsolation,v=e.inert,y=e.allowPinchZoom,x=e.as,w=x===void 0?"div":x,S=ZO(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noIsolation","inert","allowPinchZoom","as"]),C=g,P=WH([n,t]),O=Vi(Vi({},S),i);return de.createElement(de.Fragment,null,d&&de.createElement(C,{sideCar:eP,removeScrollBar:c,shards:f,noIsolation:p,inert:v,setCallbacks:o,allowPinchZoom:!!y,lockRef:n}),s?de.cloneElement(de.Children.only(a),Vi(Vi({},O),{ref:P})):de.createElement(w,Vi({},O,{className:l,ref:P}),a))});up.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},up.classNames={fullWidth:cp,zeroRight:lp};var tP,KH=function(){if(tP)return tP;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function XH(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=KH();return t&&e.setAttribute("nonce",t),e}function QH(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function ZH(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var JH=function(){var e=0,t=null;return{add:function(n){e==0&&(t=XH())&&(QH(t,n),ZH(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},e6=function(){var e=JH();return function(t,n){de.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},nP=function(){var e=e6(),t=function(n){var r=n.styles,i=n.dynamic;return e(r,i),null};return t},t6={left:0,top:0,right:0,gap:0},P0=function(e){return parseInt(e||"",10)||0},n6=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],i=t[e==="padding"?"paddingRight":"marginRight"];return[P0(n),P0(r),P0(i)]},r6=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return t6;var t=n6(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},i6=nP(),o6=function(e,t,n,r){var i=e.left,o=e.top,s=e.right,a=e.gap;return n===void 0&&(n="margin"),`
|
|
306
306
|
.`.concat(zH,` {
|
|
307
307
|
overflow: hidden `).concat(r,`;
|
|
308
308
|
padding-right: `).concat(a,"px ").concat(r,`;
|
|
@@ -497,4 +497,4 @@ SELECT label, measure FROM table
|
|
|
497
497
|
Table Columns: ${g==null?void 0:g.map(G=>`${G.column_name} | ${G.data_type}`).join(", ")}
|
|
498
498
|
User SQL: ${p}
|
|
499
499
|
`,x=` When the user asks for a specific chart please use the following query structure to generate the chart query. Do not make up the column names. Use only the table columns provided above for the query. Replace x-axis, y-axis, and lables with the appropriate column names.
|
|
500
|
-
Visual Query Syntax: ${dre}`,{data:w,isLoading:S,isFetching:C,isError:P,refetch:O}=vi({queryKey:["ai-query"],queryFn:()=>al("https://semaphor.cloud/api/v1/ai",(s==null?void 0:s.accessToken)||"",{user_content:`userContent: ${y} ${a?x:""}`}),enabled:!1});function k(G){if(G.toLowerCase().includes("bar"))f("bar");else if(G.toLowerCase().includes("line"))f("line");else if(G.toLowerCase().includes("bubble"))f("bubble");else if(G.toLowerCase().includes("scatter"))f("scatter");else if(G.toLowerCase().includes("stacked"))f("stackedBar");else if(G.toLowerCase().includes("pie"))f("pie");else if(G.toLowerCase().includes("donut")||G.toLowerCase().includes("doughnut"))f("doughnut");else if(G.toLowerCase().includes("radar"))f("radar");else return f("bar"),!1;return!0}function M(){n&&(k(n)&&l(!0),O())}m.useEffect(()=>{i&&(M(),o(!1))},[i,o]);const N={fontFamily:"Arial, sans-serif",lineHeight:1.6,fontSize:15,padding:"5px",width:"100%"},F={fontFamily:"monospace",fontSize:14,lineHeight:1.6},j={fontFamily:"Arial, sans-serif",lineHeight:1.6,fontSize:15,padding:"2px 0",marginLeft:20,listStyleType:"disc"},B={p:({node:G,...te})=>_.jsx("p",{style:N,...te}),pre:({node:G,...te})=>_.jsxs("pre",{className:" bg-muted/50 space-y-2 p-3 rounded-sm",style:F,children:[_.jsx("code",{className:" whitespace-normal",children:te.children}),_.jsxs("div",{className:" flex justify-start gap-2",children:[_.jsx(ot,{onClick:V,size:"sm",variant:"outline",children:_.jsx(x2,{})}),_.jsx(ot,{onClick:$=>{const Z=V($);Z&&(t(!1),c(Z),d(!0))},size:"sm",variant:"outline",children:_.jsx(Cz,{})})]})]}),li:({node:G,...te})=>_.jsx("li",{style:j,...te})};function V(G){const te=G.currentTarget.closest("pre");if(!te)return;const $=te.textContent||te.innerText;return navigator.clipboard.writeText($).then(()=>console.log("Text copied to clipboard")).catch(Z=>console.error("Error in copying text: ",Z)),$}return _.jsxs(Ay,{open:e,onOpenChange:t,children:[_.jsx(Iy,{asChild:!0,children:_.jsx(ot,{size:"sm",className:"",variant:"outline",children:_.jsx(iH,{strokeWidth:1,size:16})})}),_.jsxs(Lp,{className:" sm:max-w-[425px] md:min-w-[625px] md:max-h-[625px] flex flex-col justify-between overflow-auto",children:[_.jsxs(Fp,{children:[_.jsx($p,{children:"Ask"}),_.jsx(jp,{children:"Need assistance? Feel free to ask me any question!"})]}),_.jsx(Tl,{className:"h-[625px] w-full border-t border-t-muted ",children:(!S||!C)&&_.jsx(cre,{className:" pl-1 pr-3 py-1 w-full xbg-red-100 overflow-auto ",components:B,children:w==null?void 0:w.response})}),_.jsxs("div",{children:[_.jsx(wf,{className:ke(" invisible h-1 w-full animate-pulse",{visible:S||C})}),_.jsxs("div",{className:" border rounded-md flex items-center w-full",children:[_.jsx(Zy,{onKeyDown:G=>{G.key==="Enter"&&!G.shiftKey&&(G.preventDefault(),r(""),M())},placeholder:"Type something...",onFocus:G=>{const te=G.target,$=te.value.length;te.setSelectionRange($,$)},className:" border-none resize-none min-h-7 max-h-10 focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",value:n,onChange:G=>r(G.target.value)})," ",_.jsx(ot,{className:"h-8",size:"sm",variant:"ghost",onClick:M,children:!S&&!C?_.jsx(_z,{}):_.jsx(Al,{className:" w-4 h-4 animate-spin mr-2 text-foreground/50"})})]})]})]})]})}function hre(){const{theme:e}=$m(),t=m.useRef(),n=m.useRef(),[r,i]=m.useState(!1),[o,s]=m.useState(!1),[a,l]=m.useState(""),[c,d]=m.useState(!1);m.useState("");const{authToken:f}=oo();ge(le=>le.selectedSheetId);const g=ve(le=>le.card),p=ge(le=>le.theme),v=ve(le=>le.isShowingVisual),y=ve(le=>le.selectedConnectionId),x=ve(le=>le.selectedDatabaseName),w=ve(le=>le.selectedSchemaName);ge(le=>le.actions.updateFrameCard);const S=ve(le=>le.selectedTableName),C=ve(le=>le.actions.setCardSql),P=ve(le=>le.card.sql),O=ve(le=>le.selectedConnectionId),k=ve(le=>le.frame),M=ve(le=>le.filterValues),N=ve(le=>le.applyFilters),F=ve(le=>le.actions.setCardCustomCfg),j=ve(le=>le.actions.setFilterValues),B=ve(le=>le.onSave),V=ve(le=>le.actions.setApplyFilters),G=ve(le=>le.onClose),te=ve(le=>le.actions.setCardData),$=ve(le=>le.actions.setSqlGen),Z=ve(le=>le.runSql),q=ve(le=>le.actions.setRunSql),X=ve(le=>le.actions.setIsSqlRunning),{data:ae,isLoading:A,isFetching:H,isSuccess:ie,isError:R,error:ue,status:ye,refetch:pe}=vi({queryKey:[P],queryFn:()=>zc("https://semaphor.cloud/api/v1/query",(f==null?void 0:f.accessToken)||"",{connection_id:O,sql:P,active_filters:N?M:[]}),enabled:!1,retry:!1});m.useEffect(()=>{ae&&(console.log("queryData",ae),te(ae.records))},[ae,te]),m.useEffect(()=>{Z&&(pe(),q(!1))},[Z,pe,q]),m.useEffect(()=>{(A||H)&&X(!0),(R||ie)&&X(!1)},[A,H,R,ie,X]);function he(){C(""),te([]),$({}),F("")}const ne=le=>{n.current=le};function J(){let le=P;P&&!P.includes("{{")&&(le=AZ(P),C(le));const je={...g,lastSelectedSchema:w,lastSelectedDatabase:x,lastSelectedTable:S,connectionId:y,type:v?g.type:"table",sql:le,customCfg:v?g.customCfg:null},Ue=k.cards.map(tt=>tt.id===g.id?je:tt);B==null||B({...k,cards:Ue})}function re(){G==null||G()}function we(le){const je=getComputedStyle(document.documentElement).getPropertyValue(le);return U(je)}function U(le){const[je,Ue,tt]=le.split(" "),qe=parseFloat(je),gt=parseFloat(Ue),Gt=parseFloat(tt),Bt=gt/100,gn=Gt/100,Rt=(1-Math.abs(2*gn-1))*Bt,mr=Rt*(1-Math.abs(qe/60%2-1)),fe=gn-Rt/2;let Ce=0,Ae=0,We=0;0<=qe&&qe<60?(Ce=Rt,Ae=mr,We=0):60<=qe&&qe<120?(Ce=mr,Ae=Rt,We=0):120<=qe&&qe<180?(Ce=0,Ae=Rt,We=mr):180<=qe&&qe<240?(Ce=0,Ae=mr,We=Rt):240<=qe&&qe<300?(Ce=mr,Ae=0,We=Rt):300<=qe&&qe<360&&(Ce=Rt,Ae=0,We=mr),Ce=Math.round((Ce+fe)*255),Ae=Math.round((Ae+fe)*255),We=Math.round((We+fe)*255);const lt=ln=>{const cn=ln.toString(16);return cn.length==1?"0"+cn:cn};return`#${lt(Ce)}${lt(Ae)}${lt(We)}`}m.useEffect(()=>{const le=t.current,je=n.current;if(le){const Ue=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",tt=p==="system"?Ue:p;le.editor.defineTheme("default",{base:tt==="light"?"vs":"vs-dark",inherit:!0,rules:[],colors:{"editor.background":tt==="light"?"#ffffff":we("--background")}}),le.editor.setTheme("default")}return je&&le&&je.addCommand(le.KeyMod.Shift|le.KeyCode.Enter,function(){return console.log("Executing query..."),pe(),!1}),()=>{}},[e,p,t.current]);function Ne(le){t.current=le}return _.jsxs("section",{role:"editor-section",className:"grow flex flex-col justify-end pt-3 p-1 ",children:[_.jsxs("div",{className:" grow flex relative overflow-y-scroll justify-between ",children:[_.jsx("div",{role:"editor-container",className:`flex ${r?"w-2/3":"w-[95%]"} xbg-red-100 p-1`,children:_.jsx(qy,{theme:"default",onChange:le=>{C(le),console.log(le)},value:P,options:{minimap:{enabled:!1},wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:14,renderLineHighlight:"none"},defaultLanguage:"sql",defaultValue:"SELECT * FROM table",beforeMount:Ne,onMount:ne})}),r&&_.jsx("div",{className:" w-1/3 text-xs relative overflow-hidden xbg-yellow-100 p-1 ",children:_.jsxs("div",{className:"min-h-0 ",children:[_.jsxs("div",{className:"flex gap-2 items-center",children:[_.jsx(UZ,{checked:N,onCheckedChange:()=>V(!N),text:"Apply Filters"}),_.jsx(qZ,{})]}),_.jsx(qy,{theme:"default",onChange:le=>{if(le)try{JSON.parse(le),j(JSON.parse(le))}catch{}},defaultLanguage:"json",className:"min-h-[220px] mt-1",value:JSON.stringify(M,null,2),options:{readOnly:!0,minimap:{enabled:!1},lineNumbers:"off",glyphMargin:!1,wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:12,renderLineHighlight:"none"}})]})}),M&&r&&_.jsx(ua,{onClick:()=>i(!1),className:"absolute right-6 top-1 w-3 h-3 text-foreground/50 hover:text-foreground hover:cursor-pointer"}),M&&!r&&_.jsx(IO,{onClick:()=>i(!0),className:ke("absolute right-6 top-1 w-3 h-3 text-foreground/50 hover:text-foreground hover:cursor-pointer",{"text-red-800 font-bold":N})})]}),_.jsxs("div",{className:" flex grow px-6 pt-3 pb-4 gap-2 justify-between item-center",children:[_.jsxs("div",{className:"flex grow gap-2 items-center",children:[_.jsxs(ot,{disabled:A||H,onClick:()=>{pe()},className:" shrink-0",size:"sm",variant:"outline",children:[(A||H)&&_.jsx(Al,{className:"w-4 h-4 mr-2 animate-spin text-foreground/50"}),"Run"]}),R&&_.jsx(WZ,{error:ue.message}),_.jsx(ot,{onClick:he,className:"",size:"sm",variant:"outline",children:"Clear"}),_.jsx(Oo,{value:a,placeholder:"Type something...",onChange:le=>{l(le.target.value)},onKeyDown:le=>{le.key==="Enter"&&(le.preventDefault(),console.log("enter pressed"),d(!0),s(!0))},className:" bg-muted border-none h-9 focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0"}),_.jsx(fre,{open:o,setOpen:s,userInput:a,triggerAIRun:c,setTriggerAIRun:d,setUserInput:le=>l(le)})]}),_.jsxs("div",{className:"flex gap-2 items-end ",children:[_.jsx(ot,{onClick:J,size:"sm",variant:"outline",children:_.jsx(tp,{size:16,strokeWidth:2,className:"text-green-600 font-bold"})}),_.jsx(ot,{onClick:re,className:" w-full",size:"sm",variant:"outline",children:_.jsx(ua,{})})]})]})]})}const o5="Switch",[pre,Yfe]=kn(o5),[gre,mre]=pre(o5),vre=m.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:i,defaultChecked:o,required:s,disabled:a,value:l="on",onCheckedChange:c,...d}=e,[f,g]=m.useState(null),p=rt(t,S=>g(S)),v=m.useRef(!1),y=f?!!f.closest("form"):!0,[x=!1,w]=Qn({prop:i,defaultProp:o,onChange:c});return m.createElement(gre,{scope:n,checked:x,disabled:a},m.createElement(He.button,se({type:"button",role:"switch","aria-checked":x,"aria-required":s,"data-state":s5(x),"data-disabled":a?"":void 0,disabled:a,value:l},d,{ref:p,onClick:Oe(e.onClick,S=>{w(C=>!C),y&&(v.current=S.isPropagationStopped(),v.current||S.stopPropagation())})})),y&&m.createElement(xre,{control:f,bubbles:!v.current,name:r,value:l,checked:x,required:s,disabled:a,style:{transform:"translateX(-100%)"}}))}),bre="SwitchThumb",yre=m.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,i=mre(bre,n);return m.createElement(He.span,se({"data-state":s5(i.checked),"data-disabled":i.disabled?"":void 0},r,{ref:t}))}),xre=e=>{const{control:t,checked:n,bubbles:r=!0,...i}=e,o=m.useRef(null),s=zp(n),a=Vh(t);return m.useEffect(()=>{const l=o.current,c=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(c,"checked").set;if(s!==n&&f){const g=new Event("click",{bubbles:r});f.call(l,n),l.dispatchEvent(g)}},[s,n,r]),m.createElement("input",se({type:"checkbox","aria-hidden":!0,defaultChecked:n},i,{tabIndex:-1,ref:o,style:{...e.style,...a,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function s5(e){return e?"checked":"unchecked"}const a5=vre,wre=yre,l5=de.forwardRef(({className:e,...t},n)=>_.jsx(a5,{className:ke("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:_.jsx(wre,{className:ke("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));l5.displayName=a5.displayName;function c5({className:e,...t}){const[n,r]=m.useState(0),i=ge(l=>l.themeStyle),o=ve(l=>l.card),s=ve(l=>l.actions.setCard);if(m.useEffect(()=>{r(n+1)},[o.data,o.type,o.cfg,o.customCfg,i]),!o.id)return null;let a;return o.data&&o.data.length>0&&(a=w0({data:o.data,cardType:o.type,cfg:o.cfg,customCfg:o.customCfg})),_.jsxs(Vv,{role:"editor-visual-card",className:ke(" relative h-full flex flex-col rounded-none",e),...t,children:[_.jsxs(Gf,{children:[_.jsx(Xo,{text:o.title,onSave:l=>s({...o,title:l}),children:_.jsx(Yf,{className:"text-base",children:o.title})}),_.jsx(Xo,{text:o.description||"",onSave:l=>s({...o,description:l}),children:_.jsxs(Hv,{children:[" ",o.description]})})]}),_.jsxs(Kf,{className:"flex flex-col pb-3 grow",children:[o.type!=="table"&&a&&_.jsx(b2,{cfg:a},n),o.type==="table"&&o.data&&o.data.length>0&&_.jsx(yO,{children:_.jsx(h0,{data:o==null?void 0:o.data})})]})]})}function _re(){const[e,t]=m.useState(!1),[n,r]=m.useState(""),[i,o]=m.useState(""),[s,a]=m.useState(""),l=ve(x=>x.card),c=ve(x=>x.card.customCfg),d=ve(x=>x.actions.setCardCustomCfg);function f(x){var C,P;const w={...x,data:{...x==null?void 0:x.data,datasets:(P=(C=x==null?void 0:x.data)==null?void 0:C.datasets)==null?void 0:P.map(O=>({...O,data:[]}))}};return JSON.stringify(w,null,1)}function g(){if(!l.data||l.data.length===0)return;const x=w0({data:l.data,cardType:l.type,cfg:l.cfg});x&&(r(JSON.stringify(x,null,1)),c&&o(JSON.stringify(c,null,1)))}function p(){if(i)try{const x=JSON.parse(i);return x?(d(x),a(""),o(""),x):void 0}catch(x){console.log(x),a("Invalid JSON")}}function v(){o(""),d(null)}function y(){let x;if(c){const w=Hs.cloneDeep(l.cfg),S=Hs.merge(w,c);return x=f(S),x}return n?(x=f(JSON.parse(n)),x):""}return _.jsxs(Ay,{open:e,onOpenChange:t,children:[_.jsx(Iy,{asChild:!0,children:_.jsx(ot,{onClick:g,className:`h-7 ${c&&"border-foreground/50 dark:border-foreground/70"}`,size:"sm",variant:"outline",children:c?"Custom Config":"Customize"})}),_.jsxs(Lp,{className:" min-h-[70vh] max-h-[70vh] overflow-auto min-w-[900px] ",children:[_.jsxs(Fp,{className:"",children:[_.jsx($p,{children:"Customize Chart"}),_.jsxs(jp,{children:["See the configuration options and documentation",_.jsx("a",{target:"_blank",className:"ml-1 underline text-blue-500 ",href:"https://www.chartjs.org/docs/latest/samples/bar/vertical.html",children:"here."})]})]}),_.jsxs("div",{className:"flex grow gap-2 ",children:[_.jsx(c5,{className:" w-1/2 rounded shadow-none"}),_.jsxs(P_,{defaultValue:"custom-config",className:" w-1/2 flex flex-col ",children:[_.jsxs(k_,{className:" justify-start border rounded-sm rounded-b-none border-b-0 ",children:[_.jsxs(qm,{value:"custom-config",children:[c&&_.jsx(y2,{className:"w-5 h-5 mr-1 text-green-600"}),c?"Custom Config":"Default Config"]}),_.jsx(qm,{className:"",value:"output",children:"Output"})]}),_.jsx(Ef,{className:" grow mt-0 bg-red-x p-2 border border-t-0 rounded-b ",value:"output",children:_.jsx(Zy,{disabled:!0,value:n,className:" border-none resize-none font-mono h-full focus-visible:ring-0 focus-visible:ring-offset-0"})}),_.jsx(Ef,{className:"grow mt-0 border border-t-0 rounded-b ",value:"custom-config",children:_.jsx(qy,{className:"h-full w-full overflow-hidden",theme:"default",options:{minimap:{enabled:!1},wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:14,renderLineHighlight:"none"},defaultLanguage:"json",value:y(),onChange:x=>o(x)})})]})]}),_.jsxs(Ny,{className:"flex items-center",children:[_.jsx(ti,{className:"text-red-500 mr-2",children:s}),_.jsx(ot,{disabled:!c,onClick:v,variant:"outline",children:"Reset"}),_.jsx(ot,{onClick:p,variant:"outline",children:"Apply"}),_.jsx(ot,{onClick:()=>t(!1),variant:"outline",children:"Close"})]})]})]})}var u5={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},d5=m.createContext&&m.createContext(u5),Sre=["attr","size","title"];function Cre(e,t){if(e==null)return{};var n=Ere(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)r=o[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Ere(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o<r.length;o++)i=r[o],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function hg(){return hg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hg.apply(this,arguments)}function f5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function pg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?f5(Object(n),!0).forEach(function(r){Ore(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f5(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Ore(e,t,n){return t=Pre(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pre(e){var t=kre(e,"string");return typeof t=="symbol"?t:String(t)}function kre(e,t){if(typeof e!="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function h5(e){return e&&e.map((t,n)=>m.createElement(t.tag,pg({key:n},t.attr),h5(t.child)))}function ic(e){return t=>m.createElement(Dre,hg({attr:pg({},e.attr)},t),h5(e.child))}function Dre(e){var t=n=>{var{attr:r,size:i,title:o}=e,s=Cre(e,Sre),a=i||n.size||"1em",l;return n.className&&(l=n.className),e.className&&(l=(l?l+" ":"")+e.className),m.createElement("svg",hg({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,s,{className:l,style:pg(pg({color:e.color||n.color},n.style),e.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),o&&m.createElement("title",null,o),e.children)};return d5!==void 0?m.createElement(d5.Consumer,null,n=>t(n)):t(u5)}function p5(e){return ic({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M926.8 397.1l-396-288a31.81 31.81 0 0 0-37.6 0l-396 288a31.99 31.99 0 0 0-11.6 35.8l151.3 466a32 32 0 0 0 30.4 22.1h489.5c13.9 0 26.1-8.9 30.4-22.1l151.3-466c4.2-13.2-.5-27.6-11.7-35.8zM838.6 417l-98.5 32-200-144.7V199.9L838.6 417zM466 567.2l-89.1 122.3-55.2-169.2L466 567.2zm-116.3-96.8L484 373.3v140.8l-134.3-43.7zM512 599.2l93.9 128.9H418.1L512 599.2zm28.1-225.9l134.2 97.1L540.1 514V373.3zM558 567.2l144.3-46.9-55.2 169.2L558 567.2zm-74-367.3v104.4L283.9 449l-98.5-32L484 199.9zM169.3 470.8l86.5 28.1 80.4 246.4-53.8 73.9-113.1-348.4zM327.1 853l50.3-69h269.3l50.3 69H327.1zm414.5-33.8l-53.8-73.9 80.4-246.4 86.5-28.1-113.1 348.4z"},child:[]}]})(e)}function g5(e){return ic({tag:"svg",attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm87.63,96H191.48A64.1,64.1,0,0,0,136,64.52V40.37A88.13,88.13,0,0,1,215.63,120ZM120,120H80.68A48.09,48.09,0,0,1,120,80.68Zm0,16v39.32A48.09,48.09,0,0,1,80.68,136Zm16,0h39.32A48.09,48.09,0,0,1,136,175.32Zm0-16V80.68A48.09,48.09,0,0,1,175.32,120ZM120,40.37V64.52A64.1,64.1,0,0,0,64.52,120H40.37A88.13,88.13,0,0,1,120,40.37ZM40.37,136H64.52A64.1,64.1,0,0,0,120,191.48v24.15A88.13,88.13,0,0,1,40.37,136ZM136,215.63V191.48A64.1,64.1,0,0,0,191.48,136h24.15A88.13,88.13,0,0,1,136,215.63Z"},child:[]}]})(e)}function m5(e){return ic({tag:"svg",attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M137,28.05a11.94,11.94,0,0,0-9.12,3.08A12.09,12.09,0,0,0,124,40V80.67a11.88,11.88,0,0,0,9.9,11.81,36,36,0,1,1-41.85,37.4c-.47-9.14,1.47-16.8,5.75-22.79h0a11.89,11.89,0,0,0-1.3-15.35L68.87,63.51a12,12,0,0,0-17.74.83A99.6,99.6,0,0,0,57.79,199.2,99.24,99.24,0,0,0,128,228h1.43A100.29,100.29,0,0,0,228,129.42C228.72,77.21,188.76,32.68,137,28.05ZM57.28,69.46A4,4,0,0,1,60.2,68h.19a3.91,3.91,0,0,1,2.79,1.14L90.81,97.36a3.93,3.93,0,0,1,.48,5.08A40.47,40.47,0,0,0,84.08,124h-48A90.36,90.36,0,0,1,57.28,69.46ZM36.09,132H84.18A44,44,0,0,0,124,171.81V219.9A92,92,0,0,1,36.09,132ZM193,193a91.43,91.43,0,0,1-61,26.92V171.82a43.51,43.51,0,0,0,26-11.63,44,44,0,0,0-22.79-75.6A4,4,0,0,1,132,80.67V40a4,4,0,0,1,1.31-3,3.89,3.89,0,0,1,3-1c47.59,4.26,84.34,45.24,83.67,93.29A91.42,91.42,0,0,1,193,193Z"},child:[]}]})(e)}function v5(e){return ic({tag:"svg",attr:{viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},child:[]},{tag:"path",attr:{d:"M6 16m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"},child:[]},{tag:"path",attr:{d:"M16 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M14.5 7.5m-4.5 0a4.5 4.5 0 1 0 9 0a4.5 4.5 0 1 0 -9 0"},child:[]}]})(e)}function b5(e){return ic({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M4 9h4v11H4zM4 4h4v4H4zM10 7h4v4h-4zM16 10h4v4h-4zM16 15h4v5h-4zM10 12h4v8h-4z"},child:[]}]})(e)}function y5(e){return ic({tag:"svg",attr:{version:"1.2",baseProfile:"tiny",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4 18c-.552 0-1-.448-1-1v-6.382l-.553.276c-.495.248-1.095.046-1.342-.447-.247-.494-.046-1.094.448-1.342l2-1c.31-.155.678-.139.973.044.294.183.474.504.474.851v8c0 .552-.448 1-1 1zM13 18h-5c-.404 0-.769-.244-.924-.617-.155-.374-.069-.804.217-1.09l4-4c.254-.254.394-.591.394-.95 0-.358-.14-.695-.394-.949-.508-.508-1.39-.508-1.9.001-.253.252-.393.589-.393.948 0 .552-.448 1-1 1s-1-.448-1-1c0-.894.348-1.733.98-2.364 1.265-1.263 3.464-1.263 4.727.001.632.631.979 1.471.979 2.363 0 .893-.348 1.733-.979 2.364l-2.293 2.293h2.586c.552 0 1 .448 1 1s-.448 1-1 1zM20.955 12.377c.338-.457.545-1.016.545-1.627 0-1.517-1.234-2.75-2.75-2.75-1.031 0-1.966.569-2.44 1.484-.254.49-.063 1.094.428 1.348.49.254 1.094.062 1.348-.428.128-.249.383-.404.664-.404.414 0 .75.336.75.75s-.336.75-.75.75c-.552 0-1 .448-1 1s.448 1 1 1c.689 0 1.25.561 1.25 1.25s-.561 1.25-1.25 1.25-1.25-.561-1.25-1.25c0-.552-.448-1-1-1s-1 .448-1 1c0 1.792 1.458 3.25 3.25 3.25s3.25-1.458 3.25-3.25c0-.939-.406-1.779-1.045-2.373z"},child:[]}]})(e)}function Mre(){const[e,t]=m.useState(!1),n=ve(s=>s.card.type),r=ve(s=>s.actions.setCardType),i=ve(s=>s.actions.setCardCustomCfg);function o(s){r(s),i(null),t(!1)}return _.jsxs(Vu,{open:e,onOpenChange:t,children:[_.jsx(Hu,{asChild:!0,children:_.jsx(ot,{className:"h-7 px-2",variant:"outline",children:_.jsx(Tre,{className:"h-4 w-4",chartType:n})})}),_.jsx(zl,{className:"w-50",children:_.jsxs("div",{className:"grid grid-cols-3 place-items-center ",children:[_.jsx(ot,{onClick:()=>o("bar"),className:"font-normal",variant:"ghost",children:_.jsx(MO,{strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("line"),variant:"ghost",children:_.jsx(NO,{strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("stackedBar"),variant:"ghost",children:_.jsx(b5,{className:"h-6 w-6 text-foreground/50 ",strokeWidth:0})}),_.jsx(ot,{onClick:()=>o("scatter"),variant:"ghost",children:_.jsx(FO,{strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("bubble"),variant:"ghost",children:_.jsx(v5,{strokeWidth:2})}),_.jsx(ot,{onClick:()=>o("pie"),variant:"ghost",children:_.jsx(RO,{strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("doughnut"),variant:"ghost",children:_.jsx(m5,{className:"h-7 w-7",strokeWidth:.5})}),_.jsx(ot,{onClick:()=>o("radar"),variant:"ghost",children:_.jsx(p5,{className:"h-6 w-6 text-foreground/50 font-extralight",strokeWidth:.5})}),_.jsx(ot,{onClick:()=>o("polarArea"),variant:"ghost",children:_.jsx(g5,{className:"h-6 w-6 text-foreground/50",strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("table"),variant:"ghost",children:_.jsx(b0,{className:"h-6 w-6 text-foreground/90",strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("kpi"),variant:"ghost",children:_.jsx(y5,{className:"h-6 w-6 text-foreground/70",strokeWidth:0})})]})})]})}function Tre({chartType:e,className:t}){switch(e){case"bar":return _.jsx(MO,{className:t});case"line":return _.jsx(NO,{className:t});case"pie":return _.jsx(RO,{className:t});case"radar":return _.jsx(p5,{className:t});case"scatter":return _.jsx(FO,{className:t});case"bubble":return _.jsx(v5,{className:t});case"doughnut":return _.jsx(m5,{className:t});case"stackedBar":return _.jsx(b5,{className:"h-5 w-5 text-foreground/50 ",strokeWidth:0});case"polarArea":return _.jsx(g5,{className:t});case"kpi":return _.jsx(y5,{className:t});default:return _.jsx(b0,{className:t})}}function Are(){const e=ve(n=>n.card.refreshInterval),t=ve(n=>n.actions.setCardRefreshInterval);return _.jsxs(Vu,{children:[_.jsx(Hu,{asChild:!0,children:_.jsx(ot,{className:"h-7",variant:"outline",children:"Realtime"})}),_.jsx(zl,{className:"w-[200px]",children:_.jsx("div",{className:"grid gap-4",children:_.jsx("div",{className:"grid gap-2",children:_.jsxs("div",{className:"grid grid-cols-5 items-center gap-1",children:[_.jsx(ti,{className:"col-span-3",htmlFor:"width",children:"Refresh Every"}),_.jsx(Oo,{value:e||"",onChange:n=>t(n.target.value),id:"width",placeholder:"30s",className:"col-span-2 h-7 focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-0"})]})})})})]})}function x5(){ve(r=>r.frame);const e=ve(r=>r.card),t=ve(r=>r.isShowingVisual),n=ve(r=>r.isSqlRunning);return ve(r=>r.onSave),ve(r=>r.onClose),ve(r=>r.actions.setCardSql),ve(r=>r.actions.setCardType),ve(r=>r.actions.setSqlGen),e?_.jsxs("div",{className:" h-full relative flex flex-col",children:[n&&_.jsx(Al,{className:" w-10 h-10 z-10 absolute m-auto left-0 right-0 top-0 bottom-0 animate-spin text-foreground/10 "}),_.jsxs("div",{className:" h-10 px-6 pt-6 bg-red-x100 mb-0 z-10 right-0 flex justify-end items-center gap-2",children:[t&&_.jsxs("div",{className:"bg-red-x00 flex grow gap-2",children:[_.jsx(Mre,{}),_.jsx(_re,{}),_.jsx(Are,{})]}),_.jsx(Ire,{})]}),t?e.type==="kpi"?_.jsx("div",{className:"grow flex items-center justify-center ",children:_.jsx("div",{className:" border rounded-md",children:_.jsx(jO,{isLoading:n,card:e})})}):_.jsx(c5,{className:"grow border-none shadow-none "}):_.jsx("div",{className:"w-full mt-4 px-6 bg-red-x00 grow border-none shadow-none overflow-y-auto ",children:e.data&&e.data.length>0&&_.jsx(h0,{data:e.data})})]}):_.jsx(_.Fragment,{children:"No Active Card"})}function Ire(){const e=ve(n=>n.isShowingVisual),t=ve(n=>n.actions.setIsShowingVisual);return _.jsxs("div",{className:" flex items-center space-x-2",children:[_.jsx(ti,{htmlFor:"visualize",children:"Chart"}),_.jsx(l5,{checked:e,onCheckedChange:()=>t(!e),id:"visualize",className:"data-[state=checked]:bg-foreground/50"})]})}const w5="Collapsible",[Nre,_5]=kn(w5),[Rre,Ix]=Nre(w5),Lre=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:o,onOpenChange:s,...a}=e,[l=!1,c]=Qn({prop:r,defaultProp:i,onChange:s});return m.createElement(Rre,{scope:n,disabled:o,contentId:or(),open:l,onOpenToggle:m.useCallback(()=>c(d=>!d),[c])},m.createElement(He.div,se({"data-state":Nx(l),"data-disabled":o?"":void 0},a,{ref:t})))}),Fre="CollapsibleTrigger",$re=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,i=Ix(Fre,n);return m.createElement(He.button,se({type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":Nx(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled},r,{ref:t,onClick:Oe(e.onClick,i.onOpenToggle)}))}),S5="CollapsibleContent",jre=m.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=Ix(S5,e.__scopeCollapsible);return m.createElement(yn,{present:n||i.open},({present:o})=>m.createElement(zre,se({},r,{ref:t,present:o})))}),zre=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:i,...o}=e,s=Ix(S5,n),[a,l]=m.useState(r),c=m.useRef(null),d=rt(t,c),f=m.useRef(0),g=f.current,p=m.useRef(0),v=p.current,y=s.open||a,x=m.useRef(y),w=m.useRef();return m.useEffect(()=>{const S=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(S)},[]),Vn(()=>{const S=c.current;if(S){w.current=w.current||{transitionDuration:S.style.transitionDuration,animationName:S.style.animationName},S.style.transitionDuration="0s",S.style.animationName="none";const C=S.getBoundingClientRect();f.current=C.height,p.current=C.width,x.current||(S.style.transitionDuration=w.current.transitionDuration,S.style.animationName=w.current.animationName),l(r)}},[s.open,r]),m.createElement(He.div,se({"data-state":Nx(s.open),"data-disabled":s.disabled?"":void 0,id:s.contentId,hidden:!y},o,{ref:d,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":v?`${v}px`:void 0,...e.style}}),y&&i)});function Nx(e){return e?"open":"closed"}const Bre=Lre,Vre=$re,Hre=jre,xs="Accordion",Wre=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[Rx,Ure,qre]=Sf(xs),[gg,Kfe]=kn(xs,[qre,_5]),Lx=_5(),C5=m.forwardRef((e,t)=>{const{type:n,...r}=e,i=r,o=r;return m.createElement(Rx.Provider,{scope:e.__scopeAccordion},n==="multiple"?m.createElement(Xre,se({},o,{ref:t})):m.createElement(Kre,se({},i,{ref:t})))});C5.propTypes={type(e){const t=e.value||e.defaultValue;return e.type&&!["single","multiple"].includes(e.type)?new Error("Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`."):e.type==="multiple"&&typeof t=="string"?new Error("Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`."):e.type==="single"&&Array.isArray(t)?new Error("Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`."):null}};const[E5,Gre]=gg(xs),[O5,Yre]=gg(xs,{collapsible:!1}),Kre=m.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:i=()=>{},collapsible:o=!1,...s}=e,[a,l]=Qn({prop:n,defaultProp:r,onChange:i});return m.createElement(E5,{scope:e.__scopeAccordion,value:a?[a]:[],onItemOpen:l,onItemClose:m.useCallback(()=>o&&l(""),[o,l])},m.createElement(O5,{scope:e.__scopeAccordion,collapsible:o},m.createElement(P5,se({},s,{ref:t}))))}),Xre=m.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:i=()=>{},...o}=e,[s=[],a]=Qn({prop:n,defaultProp:r,onChange:i}),l=m.useCallback(d=>a((f=[])=>[...f,d]),[a]),c=m.useCallback(d=>a((f=[])=>f.filter(g=>g!==d)),[a]);return m.createElement(E5,{scope:e.__scopeAccordion,value:s,onItemOpen:l,onItemClose:c},m.createElement(O5,{scope:e.__scopeAccordion,collapsible:!0},m.createElement(P5,se({},o,{ref:t}))))}),[Qre,mg]=gg(xs),P5=m.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:i,orientation:o="vertical",...s}=e,a=m.useRef(null),l=rt(a,t),c=Ure(n),f=Ws(i)==="ltr",g=Oe(e.onKeyDown,p=>{var v;if(!Wre.includes(p.key))return;const y=p.target,x=c().filter(F=>{var j;return!((j=F.ref.current)!==null&&j!==void 0&&j.disabled)}),w=x.findIndex(F=>F.ref.current===y),S=x.length;if(w===-1)return;p.preventDefault();let C=w;const P=0,O=S-1,k=()=>{C=w+1,C>O&&(C=P)},M=()=>{C=w-1,C<P&&(C=O)};switch(p.key){case"Home":C=P;break;case"End":C=O;break;case"ArrowRight":o==="horizontal"&&(f?k():M());break;case"ArrowDown":o==="vertical"&&k();break;case"ArrowLeft":o==="horizontal"&&(f?M():k());break;case"ArrowUp":o==="vertical"&&M();break}const N=C%S;(v=x[N].ref.current)===null||v===void 0||v.focus()});return m.createElement(Qre,{scope:n,disabled:r,direction:i,orientation:o},m.createElement(Rx.Slot,{scope:n},m.createElement(He.div,se({},s,{"data-orientation":o,ref:l,onKeyDown:r?void 0:g}))))}),Fx="AccordionItem",[Zre,$x]=gg(Fx),Jre=m.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...i}=e,o=mg(Fx,n),s=Gre(Fx,n),a=Lx(n),l=or(),c=r&&s.value.includes(r)||!1,d=o.disabled||e.disabled;return m.createElement(Zre,{scope:n,open:c,disabled:d,triggerId:l},m.createElement(Bre,se({"data-orientation":o.orientation,"data-state":D5(c)},a,i,{ref:t,disabled:d,open:c,onOpenChange:f=>{f?s.onItemOpen(r):s.onItemClose(r)}})))}),eie="AccordionHeader",tie=m.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,i=mg(xs,n),o=$x(eie,n);return m.createElement(He.h3,se({"data-orientation":i.orientation,"data-state":D5(o.open),"data-disabled":o.disabled?"":void 0},r,{ref:t}))}),k5="AccordionTrigger",nie=m.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,i=mg(xs,n),o=$x(k5,n),s=Yre(k5,n),a=Lx(n);return m.createElement(Rx.ItemSlot,{scope:n},m.createElement(Vre,se({"aria-disabled":o.open&&!s.collapsible||void 0,"data-orientation":i.orientation,id:o.triggerId},a,r,{ref:t})))}),rie="AccordionContent",iie=m.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,i=mg(xs,n),o=$x(rie,n),s=Lx(n);return m.createElement(Hre,se({role:"region","aria-labelledby":o.triggerId,"data-orientation":i.orientation},s,r,{ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}}))});function D5(e){return e?"open":"closed"}const oie=C5,sie=Jre,aie=tie,M5=nie,T5=iie,jx=oie,ko=de.forwardRef(({className:e,...t},n)=>_.jsx(sie,{ref:n,className:ke("border-b",e),...t}));ko.displayName="AccordionItem";const Do=de.forwardRef(({className:e,children:t,...n},r)=>_.jsx(aie,{className:"flex",children:_.jsxs(M5,{ref:r,className:ke("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,_.jsx(v0,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));Do.displayName=M5.displayName;const Mo=de.forwardRef(({className:e,children:t,...n},r)=>_.jsx(T5,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:_.jsx("div",{className:ke("pb-4 pt-0",e),children:t})}));Mo.displayName=T5.displayName;const A5="Radio",[lie,I5]=kn(A5),[cie,uie]=lie(A5),die=m.forwardRef((e,t)=>{const{__scopeRadio:n,name:r,checked:i=!1,required:o,disabled:s,value:a="on",onCheck:l,...c}=e,[d,f]=m.useState(null),g=rt(t,y=>f(y)),p=m.useRef(!1),v=d?!!d.closest("form"):!0;return m.createElement(cie,{scope:n,checked:i,disabled:s},m.createElement(He.button,se({type:"button",role:"radio","aria-checked":i,"data-state":N5(i),"data-disabled":s?"":void 0,disabled:s,value:a},c,{ref:g,onClick:Oe(e.onClick,y=>{i||l==null||l(),v&&(p.current=y.isPropagationStopped(),p.current||y.stopPropagation())})})),v&&m.createElement(pie,{control:d,bubbles:!p.current,name:r,value:a,checked:i,required:o,disabled:s,style:{transform:"translateX(-100%)"}}))}),fie="RadioIndicator",hie=m.forwardRef((e,t)=>{const{__scopeRadio:n,forceMount:r,...i}=e,o=uie(fie,n);return m.createElement(yn,{present:r||o.checked},m.createElement(He.span,se({"data-state":N5(o.checked),"data-disabled":o.disabled?"":void 0},i,{ref:t})))}),pie=e=>{const{control:t,checked:n,bubbles:r=!0,...i}=e,o=m.useRef(null),s=zp(n),a=Vh(t);return m.useEffect(()=>{const l=o.current,c=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(c,"checked").set;if(s!==n&&f){const g=new Event("click",{bubbles:r});f.call(l,n),l.dispatchEvent(g)}},[s,n,r]),m.createElement("input",se({type:"radio","aria-hidden":!0,defaultChecked:n},i,{tabIndex:-1,ref:o,style:{...e.style,...a,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function N5(e){return e?"checked":"unchecked"}const gie=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],R5="RadioGroup",[mie,Xfe]=kn(R5,[dl,I5]),L5=dl(),F5=I5(),[vie,bie]=mie(R5),yie=m.forwardRef((e,t)=>{const{__scopeRadioGroup:n,name:r,defaultValue:i,value:o,required:s=!1,disabled:a=!1,orientation:l,dir:c,loop:d=!0,onValueChange:f,...g}=e,p=L5(n),v=Ws(c),[y,x]=Qn({prop:o,defaultProp:i,onChange:f});return m.createElement(vie,{scope:n,name:r,required:s,disabled:a,value:y,onValueChange:x},m.createElement(Hm,se({asChild:!0},p,{orientation:l,dir:v,loop:d}),m.createElement(He.div,se({role:"radiogroup","aria-required":s,"aria-orientation":l,"data-disabled":a?"":void 0,dir:v},g,{ref:t}))))}),xie="RadioGroupItem",wie=m.forwardRef((e,t)=>{const{__scopeRadioGroup:n,disabled:r,...i}=e,o=bie(xie,n),s=o.disabled||r,a=L5(n),l=F5(n),c=m.useRef(null),d=rt(t,c),f=o.value===i.value,g=m.useRef(!1);return m.useEffect(()=>{const p=y=>{gie.includes(y.key)&&(g.current=!0)},v=()=>g.current=!1;return document.addEventListener("keydown",p),document.addEventListener("keyup",v),()=>{document.removeEventListener("keydown",p),document.removeEventListener("keyup",v)}},[]),m.createElement(Wm,se({asChild:!0},a,{focusable:!s,active:f}),m.createElement(die,se({disabled:s,required:o.required,checked:f},l,i,{name:o.name,ref:d,onCheck:()=>o.onValueChange(i.value),onKeyDown:Oe(p=>{p.key==="Enter"&&p.preventDefault()}),onFocus:Oe(i.onFocus,()=>{var p;g.current&&((p=c.current)===null||p===void 0||p.click())})})))}),_ie=m.forwardRef((e,t)=>{const{__scopeRadioGroup:n,...r}=e,i=F5(n);return m.createElement(hie,se({},i,r,{ref:t}))}),$5=yie,j5=wie,Sie=_ie,z5=de.forwardRef(({className:e,...t},n)=>_.jsx($5,{className:ke("grid gap-2",e),...t,ref:n}));z5.displayName=$5.displayName;const zx=de.forwardRef(({className:e,...t},n)=>_.jsx(j5,{ref:n,className:ke("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:_.jsx(Sie,{className:"flex items-center justify-center",children:_.jsx(AO,{className:"h-2.5 w-2.5 fill-current text-current"})})}));zx.displayName=j5.displayName;function B5(){var i;const e=ve(o=>o.card.cfg),t=ve(o=>o.actions.setCardCfg),n=(i=e==null?void 0:e.options)==null?void 0:i.indexAxis;function r(o){const s={...e,options:{...e==null?void 0:e.options,indexAxis:o}};t(s)}return _.jsxs("div",{children:[_.jsx("p",{className:"font-semibold",children:"Orientation"}),_.jsxs(z5,{value:n,onValueChange:r,className:"flex gap-3 mt-2 ",defaultValue:"x",children:[_.jsxs("div",{className:"flex items-center space-x-2",children:[_.jsx(zx,{value:"x",id:"r1"}),_.jsx("label",{className:"text-sm",htmlFor:"r1",children:"Vertical"})]}),_.jsxs("div",{className:"flex items-center space-x-2",children:[_.jsx(zx,{value:"y",id:"r2"}),_.jsx("label",{className:"text-sm",htmlFor:"r2",children:"Horizontal"})]})]})]})}function V5(){var r,i,o;const e=ve(s=>s.card.cfg),t=ve(s=>s.actions.setCardCfg);function n(s){var c;const a={datalabels:{display:s!=="none",align:s,anchor:s,clamp:!0}},l={...e,options:{...e==null?void 0:e.options,plugins:{...(c=e==null?void 0:e.options)==null?void 0:c.plugins,...a}}};t(l),console.log(s)}return _.jsxs(_.Fragment,{children:[_.jsx("label",{className:"font-medium",children:"Data Labels"}),_.jsxs(MD,{value:(o=(i=(r=e==null?void 0:e.options)==null?void 0:r.plugins)==null?void 0:i.datalabels)==null?void 0:o.anchor,onValueChange:n,defaultValue:"none",children:[_.jsx($y,{className:"w-[180px] mt-2 focus:ring-1 focus:ring-offset-0 h-7",children:_.jsx(AD,{placeholder:"Select position"})}),_.jsx(jy,{children:_.jsxs(TD,{children:[_.jsx(Up,{children:"Data Labels"}),_.jsx(Da,{value:"none",children:"None"}),_.jsx(Da,{value:"start",children:"Start"}),_.jsx(Da,{value:"center",children:"Center"}),_.jsx(Da,{value:"end",children:"End"})]})})]})]})}function H5(){const e=ve(i=>i.card.preferences),t=ve(i=>i.actions.setCardPreferences),n=ve(i=>{var o;return(o=i.card.preferences)==null?void 0:o.filterOnClickField}),r=ve(i=>i.actions.setFilterOnClickField);return _.jsxs("div",{children:[_.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[_.jsx(ad,{checked:!!(e!=null&&e.filterOnClick),onCheckedChange:i=>{t({...e,filterOnClick:!!i})}}),_.jsx(ti,{children:"Filter on click"})]}),(e==null?void 0:e.filterOnClick)===!0&&_.jsxs("div",{className:"flex gap-2 items-center",children:[_.jsx(Oo,{value:n||"",className:" h-7 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"expression (optional)",onChange:i=>r(i.target.value)}),_.jsxs(qh,{children:[_.jsx(Xb,{children:_.jsx(Lb,{className:"h-4 w-4 opacity-70"})}),_.jsx($u,{children:_.jsxs("div",{className:"max-w-[200px]",children:["The x-axis expression of your query. Example:",_.jsx("div",{className:" mt-1 text-xs font-mono",children:"TO_CHAR(order_date, 'YYYY-MM')"})]})})]})]})]})}const Cie={datasets:[{type:"line",label:"Sum_sales",data:[]},{type:"bar",label:"Sum_profit",data:[]}]},Eie={datasets:[{fill:"origin",type:"line",label:"Sum_sales",data:[]}]};function Oie(){const e=ve(t=>t.card.type);return _.jsxs("div",{className:"p-6 space-y-6",children:[_.jsx(jx,{className:" ",type:"single",collapsible:!0,children:Pie(e)}),_.jsx("section",{className:"",children:["line","bar"].includes(e)&&_.jsx(B5,{})}),_.jsx("div",{children:!["kpi"].includes(e)&&_.jsx(V5,{})}),_.jsx("div",{children:!["kpi"].includes(e)&&_.jsx(H5,{})})]})}function Pie(e){if(["line","bar"].includes(e))return _.jsxs(_.Fragment,{children:[_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:_.jsx("p",{children:"Chart Query"})}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT x-axis, y-axis-1, y-axis-2, y-axis-3,... FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"X-axis - Category (ex. city)"}),_.jsx("li",{children:"Y-axis - Number (ex. population)"})]})]})]}),_.jsxs(ko,{value:"item-2",children:[_.jsx(Do,{className:" font-normal",children:"Mixed Chart"}),_.jsxs(Mo,{className:" text-xs space-y-2",children:[_.jsxs("p",{children:["Click ",_.jsx("b",{children:"Customize"})," and change the `type` property in the dataset."]}),_.jsx("pre",{children:JSON.stringify(Cie,null,2)})]})]}),_.jsxs(ko,{value:"item-3",children:[_.jsx(Do,{className:" font-normal",children:"Area Chart"}),_.jsxs(Mo,{className:" text-xs space-y-2",children:[_.jsxs("p",{children:["Click ",_.jsx("b",{children:"Customize"})," and add `fill` property to the dataset. See",_.jsx("a",{className:"text-blue-500 hover:underline mx-1",href:"https://www.chartjs.org/docs/latest/samples/area/line-boundaries.html",target:"_blank",children:"docs"}),"for more options."]}),_.jsx("pre",{children:JSON.stringify(Eie,null,2)})]})]})]});if(e==="bubble")return _.jsx(_.Fragment,{children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:_.jsxs("p",{children:["How to create a ",_.jsx("span",{children:e})," chart query?"]})}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT label, x-axis, y-axis, radius FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"Label - Category (ex. city)"}),_.jsx("li",{children:"Bubble Group (opt) - Category (ex. state)"}),_.jsx("li",{children:"X-axis - Number (ex. avg. age)"}),_.jsx("li",{children:"Y-axis - Number (ex. avg. weight)"}),_.jsx("li",{children:"Radius - Number (ex. population)"})]})]})]})});if(e==="scatter")return _.jsx(_.Fragment,{children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:_.jsxs("p",{children:["How to create a ",_.jsx("span",{children:e})," chart query?"]})}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT label, x-axis, y-axis FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"Label - Category (ex. city)"}),_.jsx("li",{children:"Group (opt) - Category (ex. state)"}),_.jsx("li",{children:"X-axis - Number (ex. avg. age)"}),_.jsx("li",{children:"Y-axis - Number (ex. avg. weight)"})]})]})]})});if(["pie","doughnut","polarArea"].includes(e))return _.jsx(_.Fragment,{children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:_.jsxs("p",{children:[_.jsx("span",{children:e==="polarArea"?"Polar":e.charAt(0).toUpperCase()+e.slice(1)})," ","chart query"]})}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT label, measure FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"Label - Category (ex. city)"}),_.jsx("li",{children:"Measure - Number (ex. population)"})]})]})]})})}function kie(){var s,a,l;const e=ve(c=>c.card.preferences),t=ve(c=>c.actions.setCardPreferences),n=ve(c=>c.actions.setNumberFormat),r=ve(c=>{var d,f;return(f=(d=c.card.preferences)==null?void 0:d.formatNumber)==null?void 0:f.format}),i=ve(c=>{var d,f;return(f=(d=c.card.preferences)==null?void 0:d.formatNumber)==null?void 0:f.locale}),o=ve(c=>{var d,f;return(f=(d=c.card.preferences)==null?void 0:d.formatNumber)==null?void 0:f.currency});return ve(c=>c.actions.setFilterOnClickField),_.jsxs("div",{children:[_.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[_.jsx(ad,{checked:!!((s=e==null?void 0:e.formatNumber)!=null&&s.enabled),onCheckedChange:c=>{t({...e,formatNumber:{...e==null?void 0:e.formatNumber,enabled:c}})}}),_.jsx(ti,{children:"Format Number"})]}),((a=e==null?void 0:e.formatNumber)==null?void 0:a.enabled)===!0&&_.jsxs("div",{className:"flex flex-col gap-2 ",children:[_.jsxs("div",{children:[_.jsx(ti,{className:"text-xs",children:"Currency"}),_.jsxs("div",{className:"flex gap-1",children:[_.jsx(Oo,{value:o||"",className:" h-7 w-20 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"USD",onChange:c=>{var d,f,g;return n(((d=e==null?void 0:e.formatNumber)==null?void 0:d.format)||"",c.target.value,((f=e==null?void 0:e.formatNumber)==null?void 0:f.locale)||"",((g=e==null?void 0:e.formatNumber)==null?void 0:g.suffix)||"")}}),_.jsx(Oo,{value:i||"",className:" h-7 w-20 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"en-US",onChange:c=>{var d,f,g;return n(((d=e==null?void 0:e.formatNumber)==null?void 0:d.format)||"",((f=e==null?void 0:e.formatNumber)==null?void 0:f.currency)||"",c.target.value,((g=e==null?void 0:e.formatNumber)==null?void 0:g.suffix)||"")}})]})]}),_.jsxs("div",{children:[_.jsxs("div",{className:" flex gap-1",children:[_.jsx(ti,{className:"text-xs",children:"Format"}),_.jsxs(qh,{children:[_.jsx(Xb,{children:_.jsx(Lb,{strokeWidth:1,className:"h-3 w-3 opacity-70"})}),_.jsx($u,{children:_.jsxs("div",{className:"max-w-[200px]",children:["Format number",_.jsx("div",{className:" mt-1 text-xs font-mono",children:"#.## for 123.43"})]})})]})]}),_.jsx("div",{children:_.jsx(Oo,{value:r||"",className:" h-7 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"###,###.##",onChange:c=>{var d,f,g;return n(c.target.value,((d=e==null?void 0:e.formatNumber)==null?void 0:d.currency)||"",((f=e==null?void 0:e.formatNumber)==null?void 0:f.locale)||"",((g=e==null?void 0:e.formatNumber)==null?void 0:g.suffix)||"")}})})]}),_.jsxs("div",{children:[_.jsx(ti,{className:"text-xs",children:"Suffix"}),_.jsx(Oo,{value:((l=e==null?void 0:e.formatNumber)==null?void 0:l.suffix)||"",className:" h-7 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"K, M, B",onChange:c=>{var d,f,g;return n(((d=e==null?void 0:e.formatNumber)==null?void 0:d.format)||"",((f=e==null?void 0:e.formatNumber)==null?void 0:f.currency)||"",((g=e==null?void 0:e.formatNumber)==null?void 0:g.locale)||"",c.target.value)}})]})]})]})}function Die(){return _.jsxs("div",{className:"px-6 py-2 space-y-6",children:[_.jsx(jx,{className:" ",type:"single",collapsible:!0,children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:"KPI query"}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT current, previous FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"Current - Number (ex. Revenue)"}),_.jsx("li",{children:"Previous - Number (ex. Revenue)"})]})]})]})}),_.jsx("section",{className:"",children:_.jsx(kie,{})}),_.jsx("div",{}),_.jsx("div",{})]})}function Mie(){return _.jsxs("div",{className:"px-6 py-2 space-y-6",children:[_.jsx(jx,{className:" ",type:"single",collapsible:!0,children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:"Stacked chart query?"}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT x-axis, stack-by, y-axis FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"X-axis - Category (ex. country)"}),_.jsx("li",{children:"Stack by - Category (ex. city)"}),_.jsx("li",{children:"Y-axis - Number (ex. population)"})]})]})]})}),_.jsx("section",{className:"",children:_.jsx(B5,{})}),_.jsx("div",{children:_.jsx(V5,{})}),_.jsx("div",{children:_.jsx(H5,{})})]})}function Tie(){const e=ve(n=>n.card.type);function t(n){switch(n){case"stackedBar":return _.jsx(Mie,{});case"kpi":return _.jsx(Die,{});default:return _.jsx(Oie,{})}}return _.jsx(Tl,{className:" text-sm h-full w-full ",children:t(e)})}function Aie(){const e=ve(t=>t.isShowingVisual);return _.jsxs(lM,{direction:"vertical",className:"min-w-full max-w-lg min-h-[250px]",children:[_.jsx(Xp,{className:"flex",minSize:20,defaultSize:40,children:_.jsx(hre,{})}),_.jsx(cM,{className:"border-[1.5px] "}),_.jsx(Xp,{minSize:20,defaultSize:60,children:e?_.jsxs(lM,{direction:"horizontal",children:[_.jsx(_.Fragment,{children:_.jsx(Xp,{className:"flex min-w-[275px]",minSize:20,defaultSize:25,maxSize:30,children:_.jsx(Tie,{})})}),_.jsx(cM,{className:"border-[1.5px] "}),_.jsx(Xp,{minSize:40,defaultSize:75,maxSize:100,children:_.jsx(x5,{})})]}):_.jsx(x5,{})})]})}function Iie({authToken:e,onSave:t,onClose:n}){ve(s=>s.actions.setCard);const r=ve(s=>s.actions.setOnSave),i=ve(s=>s.actions.setOnClose),o=ge(s=>s.actions.setAuthToken);return m.useEffect(()=>{t&&r(t),n&&i(n)},[t,r,n,i]),m.useEffect(()=>{e&&e.accessToken&&o(e)},[e,o]),_.jsxs(cD,{className:"rounded-none",children:[_.jsx(uD,{className:" rounded-none border-r-[3px] ",children:_.jsx(LD,{})}),_.jsx(dD,{children:_.jsx(Aie,{})})]})}function Nie(){ge(s=>s.selectedCardId);const e=ge(s=>s.selectedSheetId),{setIsVisualEditing:t}=ge(s=>s.actions),n=ge(s=>s.isVisualEditing),r=ge(s=>s.actions.updateFrame);function i(s){e&&(r(e,s),t(!1))}function o(){t(!1)}return _.jsx("div",{role:"editor-container",className:ke("grow flex",{block:n,hidden:!n}),children:_.jsx(Iie,{onSave:i,onClose:o})})}function Rie({columns:e,tableName:t}){const n=ve(f=>f.selectedConnectionId),r=ve(f=>f.selectedDatabaseName),i=ve(f=>f.selectedSchemaName),o=ve(f=>f.selectedTableName),s=ge(f=>f.dashboard.filters)||[],a=ge(f=>f.actions.addFilter),l=ge(f=>f.actions.removeFilter),c=ge(f=>f.actions.removeFilterValue);function d(f){const g=_i(f.column_name),p=_i(r||""),v=_i(i||""),y=_i(t),x=s==null?void 0:s.find(w=>w.column===g&&w.table===y&&w.database===p);if(x)c(x.id),l(x.id);else{const w=Ep(v,y),S=`SELECT ${g}, COUNT(*) FROM ${w} GROUP BY ${g} ORDER BY ${g} ASC LIMIT 50`,C=`SELECT min(${g}) as min, max(${g}) as max FROM ${w}`;if(t==="api"&&n){a({id:qo(),column:`${w}.${g}`,title:f.column_name,dataType:f.data_type,table:"api",database:"NA",connectionId:n,sql:xa.includes(f.data_type)?C:S});return}if(!n||!r||!o)throw new Error("missing connectionId, database, or table");a({id:qo(),column:`${w}.${g}`,title:f.column_name,dataType:f.data_type,table:o,database:r,connectionId:n,sql:xa.includes(f.data_type)?C:S})}}return _.jsx(Tl,{className:" h-[70vh] mt-2 xbg-red-100 px-3",children:e==null?void 0:e.map(f=>{const g=s==null?void 0:s.find(p=>p.column===_i(f.column_name)&&p.table===o&&p.database===r);return _.jsx("div",{onClick:()=>d(f),className:ke(" group flex text-sm items-center justify-between px-3 py-[6px] transition-colors hover:bg-muted/50 cursor-pointer border border-background border-dashed",{"bg-muted ":g}),children:_.jsxs("div",{className:"flex items-center gap-2 ",children:[_.jsx(RD,{column:f}),_.jsx("span",{children:f.column_name})]})},f.column_name)})})}function Lie(){ge(t=>t.showFilters);const e=ge(t=>t.actions.setShowFilters);return _.jsxs("section",{className:" relative space-y-4 py-0 px-4 ",children:[_.jsx(ot,{onClick:()=>e(!1),className:" p-0 h-7 w-7 absolute top-0 right-4",variant:"outline",children:_.jsx(ua,{})}),_.jsx("p",{className:"text-md px-2",children:"Data Columns"}),_.jsx("div",{children:_.jsx(LD,{ColumnsComponent:(t,n,r)=>_.jsx(Rie,{schemaName:t,tableName:n,columns:r})})})]})}function Fie(){ge(n=>n.dashboard);const e=ge(n=>n.showFilters),t=ge(n=>n.isVisualEditing);return ge(n=>n.bookmarkKey),_.jsxs("div",{role:"dashboard-plus-main",className:ke(" grow",{hidden:t,flex:!t}),children:[_.jsx(yk,{}),e&&_.jsx("div",{role:"filter-aside-container",children:_.jsx(Lie,{})})]})}function $ie(){const e=ge(r=>r.dashboard),t=ge(r=>r.actions.setDashboard),n=ge(r=>r.showDashboardJSON);return ge(r=>r.actions.setShowDashboardJSON),_.jsx("div",{className:ke(" p-2",{hidden:!n}),children:_.jsx(CM,{onChange:r=>{if(r)try{JSON.parse(r),t(JSON.parse(r))}catch{}},defaultLanguage:"json",className:"h-[550px] overflow-y-auto ",value:JSON.stringify(e,null,2),options:{minimap:{enabled:!1},glyphMargin:!1,wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:12,renderLineHighlight:"none"}})})}function jie({showControls:e=!1,showFooter:t=!0,...n}){return ge(r=>r.isVisualEditing),_.jsx(l_,{dashboardProps:n,children:_.jsxs(vy,{children:[_.jsx($ie,{}),_.jsxs(g_,{...n,children:[e&&_.jsx(yX,{}),_.jsx(Nie,{}),_.jsx(Fie,{})]})]})})}function zie(){const e=ge(t=>t.actions);return{getStyle:e.getStyle,getDashboard:e.getDashboard,setOnSaveFunction:e.setOnSaveFunction,setOnAddCard:e.setOnAddCard,setOnUpateCard:e.setOnUpdateCard,setOnRemoveCard:e.setOnRemoveCard}}$e.BOOLEAN_DATA_TYPES=Sp,$e.DATE_DATA_TYPES=xa,$e.Dashboard=wk,$e.DashboardPlus=jie,$e.DashboardProvider=vy,$e.DashboardWC=vY,$e.NUMBER_DATA_TYPES=hs,$e.SelectComponent=ld,$e.SemaphorQueryClient=xk,$e.TEXT_DATA_TYPES=Gu,$e.cleanCard=Kk,$e.createSqlGenConfig=G0,$e.fmt=_i,$e.getBookmarkKey=ms,$e.getColumnDataType=fU,$e.getDashbaordStateWithoutData=Dy,$e.getFilterValueType=Cp,$e.getQualifiedTableName=Ep,$e.getSql=q0,$e.isColumnInSqlGen=FP,$e.resolveDataType=Fm,$e.useActions=zie,$e.useCard=kH,$e.useDashboard=p_,$e.useDashboardActions=Yc,$e.useDashboardStore=ge,$e.useEditorActions=v4,$e.useEditorAside=c_,$e.useEditorStore=ve,Object.defineProperty($e,Symbol.toStringTag,{value:"Module"})});
|
|
500
|
+
Visual Query Syntax: ${dre}`,{data:w,isLoading:S,isFetching:C,isError:P,refetch:O}=vi({queryKey:["ai-query"],queryFn:()=>al("https://semaphor.cloud/api/v1/ai",(s==null?void 0:s.accessToken)||"",{user_content:`userContent: ${y} ${a?x:""}`}),enabled:!1});function k(G){if(G.toLowerCase().includes("bar"))f("bar");else if(G.toLowerCase().includes("line"))f("line");else if(G.toLowerCase().includes("bubble"))f("bubble");else if(G.toLowerCase().includes("scatter"))f("scatter");else if(G.toLowerCase().includes("stacked"))f("stackedBar");else if(G.toLowerCase().includes("pie"))f("pie");else if(G.toLowerCase().includes("donut")||G.toLowerCase().includes("doughnut"))f("doughnut");else if(G.toLowerCase().includes("radar"))f("radar");else return f("bar"),!1;return!0}function M(){n&&(k(n)&&l(!0),O())}m.useEffect(()=>{i&&(M(),o(!1))},[i,o]);const N={fontFamily:"Arial, sans-serif",lineHeight:1.6,fontSize:15,padding:"5px",width:"100%"},F={fontFamily:"monospace",fontSize:14,lineHeight:1.6},j={fontFamily:"Arial, sans-serif",lineHeight:1.6,fontSize:15,padding:"2px 0",marginLeft:20,listStyleType:"disc"},B={p:({node:G,...te})=>_.jsx("p",{style:N,...te}),pre:({node:G,...te})=>_.jsxs("pre",{className:" bg-muted/50 space-y-2 p-3 rounded-sm",style:F,children:[_.jsx("code",{className:" whitespace-normal",children:te.children}),_.jsxs("div",{className:" flex justify-start gap-2",children:[_.jsx(ot,{onClick:V,size:"sm",variant:"outline",children:_.jsx(x2,{})}),_.jsx(ot,{onClick:$=>{const Z=V($);Z&&(t(!1),c(Z),d(!0))},size:"sm",variant:"outline",children:_.jsx(Cz,{})})]})]}),li:({node:G,...te})=>_.jsx("li",{style:j,...te})};function V(G){const te=G.currentTarget.closest("pre");if(!te)return;const $=te.textContent||te.innerText;return navigator.clipboard.writeText($).then(()=>console.log("Text copied to clipboard")).catch(Z=>console.error("Error in copying text: ",Z)),$}return _.jsxs(Ay,{open:e,onOpenChange:t,children:[_.jsx(Iy,{asChild:!0,children:_.jsx(ot,{size:"sm",className:"",variant:"outline",children:_.jsx(iH,{strokeWidth:1,size:16})})}),_.jsxs(Lp,{className:" sm:max-w-[425px] md:min-w-[625px] md:max-h-[625px] flex flex-col justify-between overflow-auto",children:[_.jsxs(Fp,{children:[_.jsx($p,{children:"Ask"}),_.jsx(jp,{children:"Need assistance? Feel free to ask me any question!"})]}),_.jsx(Tl,{className:"h-[625px] w-full border-t border-t-muted ",children:(!S||!C)&&_.jsx(cre,{className:" pl-1 pr-3 py-1 w-full xbg-red-100 overflow-auto ",components:B,children:w==null?void 0:w.response})}),_.jsxs("div",{children:[_.jsx(wf,{className:ke(" invisible h-1 w-full animate-pulse",{visible:S||C})}),_.jsxs("div",{className:" border rounded-md flex items-center w-full",children:[_.jsx(Zy,{onKeyDown:G=>{G.key==="Enter"&&!G.shiftKey&&(G.preventDefault(),r(""),M())},placeholder:"Type something...",onFocus:G=>{const te=G.target,$=te.value.length;te.setSelectionRange($,$)},className:" border-none resize-none min-h-7 max-h-10 focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",value:n,onChange:G=>r(G.target.value)})," ",_.jsx(ot,{className:"h-8",size:"sm",variant:"ghost",onClick:M,children:!S&&!C?_.jsx(_z,{}):_.jsx(Al,{className:" w-4 h-4 animate-spin mr-2 text-foreground/50"})})]})]})]})]})}function hre(){const{theme:e}=$m(),t=m.useRef(),n=m.useRef(),[r,i]=m.useState(!1),[o,s]=m.useState(!1),[a,l]=m.useState(""),[c,d]=m.useState(!1);m.useState("");const{authToken:f}=oo();ge(le=>le.selectedSheetId);const g=ve(le=>le.card),p=ge(le=>le.theme),v=ve(le=>le.isShowingVisual),y=ve(le=>le.selectedConnectionId),x=ve(le=>le.selectedDatabaseName),w=ve(le=>le.selectedSchemaName);ge(le=>le.actions.updateFrameCard);const S=ve(le=>le.selectedTableName),C=ve(le=>le.actions.setCardSql),P=ve(le=>le.card.sql),O=ve(le=>le.selectedConnectionId),k=ve(le=>le.frame),M=ve(le=>le.filterValues),N=ve(le=>le.applyFilters),F=ve(le=>le.actions.setCardCustomCfg),j=ve(le=>le.actions.setFilterValues),B=ve(le=>le.onSave),V=ve(le=>le.actions.setApplyFilters),G=ve(le=>le.onClose),te=ve(le=>le.actions.setCardData),$=ve(le=>le.actions.setSqlGen),Z=ve(le=>le.runSql),q=ve(le=>le.actions.setRunSql),X=ve(le=>le.actions.setIsSqlRunning),{data:ae,isLoading:A,isFetching:H,isSuccess:ie,isError:R,error:ue,status:ye,refetch:pe}=vi({queryKey:[P],queryFn:()=>zc("https://semaphor.cloud/api/v1/query",(f==null?void 0:f.accessToken)||"",{connection_id:O,sql:P,active_filters:N?M:[]}),enabled:!1,retry:!1});m.useEffect(()=>{ae&&(console.log("queryData",ae),te(ae.records))},[ae,te]),m.useEffect(()=>{Z&&(pe(),q(!1))},[Z,pe,q]),m.useEffect(()=>{(A||H)&&X(!0),(R||ie)&&X(!1)},[A,H,R,ie,X]);function he(){C(""),te([]),$({}),F("")}const ne=le=>{n.current=le};function J(){let le=P;P&&!P.includes("{{")&&(le=AZ(P),C(le));const je={...g,lastSelectedSchema:w,lastSelectedDatabase:x,lastSelectedTable:S,connectionId:y,type:v?g.type:"table",sql:le,customCfg:v?g.customCfg:null},Ue=k.cards.map(tt=>tt.id===g.id?je:tt);B==null||B({...k,cards:Ue})}function re(){G==null||G()}function we(le){const je=getComputedStyle(document.documentElement).getPropertyValue(le);return U(je)}function U(le){const[je,Ue,tt]=le.split(" "),qe=parseFloat(je),gt=parseFloat(Ue),Gt=parseFloat(tt),Bt=gt/100,gn=Gt/100,Rt=(1-Math.abs(2*gn-1))*Bt,mr=Rt*(1-Math.abs(qe/60%2-1)),fe=gn-Rt/2;let Ce=0,Ae=0,We=0;0<=qe&&qe<60?(Ce=Rt,Ae=mr,We=0):60<=qe&&qe<120?(Ce=mr,Ae=Rt,We=0):120<=qe&&qe<180?(Ce=0,Ae=Rt,We=mr):180<=qe&&qe<240?(Ce=0,Ae=mr,We=Rt):240<=qe&&qe<300?(Ce=mr,Ae=0,We=Rt):300<=qe&&qe<360&&(Ce=Rt,Ae=0,We=mr),Ce=Math.round((Ce+fe)*255),Ae=Math.round((Ae+fe)*255),We=Math.round((We+fe)*255);const lt=ln=>{const cn=ln.toString(16);return cn.length==1?"0"+cn:cn};return`#${lt(Ce)}${lt(Ae)}${lt(We)}`}m.useEffect(()=>{const le=t.current,je=n.current;if(le){const Ue=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",tt=p==="system"?Ue:p;le.editor.defineTheme("default",{base:tt==="light"?"vs":"vs-dark",inherit:!0,rules:[],colors:{"editor.background":tt==="light"?"#ffffff":we("--background")}}),le.editor.setTheme("default")}return je&&le&&je.addCommand(le.KeyMod.Shift|le.KeyCode.Enter,function(){return console.log("Executing query..."),pe(),!1}),()=>{}},[e,p,t.current]);function Ne(le){t.current=le}return _.jsxs("section",{role:"editor-section",className:"grow flex flex-col justify-end pt-3 p-1 ",children:[_.jsxs("div",{className:" grow flex relative overflow-y-scroll justify-between ",children:[_.jsx("div",{role:"editor-container",className:`flex ${r?"w-2/3":"w-[95%]"} xbg-red-100 p-1`,children:_.jsx(qy,{theme:"default",onChange:le=>{C(le),console.log(le)},value:P,options:{minimap:{enabled:!1},wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:14,renderLineHighlight:"none"},defaultLanguage:"sql",defaultValue:"SELECT * FROM table",beforeMount:Ne,onMount:ne})}),r&&_.jsx("div",{className:" w-1/3 text-xs relative overflow-hidden xbg-yellow-100 p-1 ",children:_.jsxs("div",{className:"min-h-0 ",children:[_.jsxs("div",{className:"flex gap-2 items-center",children:[_.jsx(UZ,{checked:N,onCheckedChange:()=>V(!N),text:"Apply Filters"}),_.jsx(qZ,{})]}),_.jsx(qy,{theme:"default",onChange:le=>{if(le)try{JSON.parse(le),j(JSON.parse(le))}catch{}},defaultLanguage:"json",className:"min-h-[220px] mt-1",value:JSON.stringify(M,null,2),options:{readOnly:!0,minimap:{enabled:!1},lineNumbers:"off",glyphMargin:!1,wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:12,renderLineHighlight:"none"}})]})}),M&&r&&_.jsx(ua,{onClick:()=>i(!1),className:"absolute right-6 top-1 w-3 h-3 text-foreground/50 hover:text-foreground hover:cursor-pointer"}),M&&!r&&_.jsx(IO,{onClick:()=>i(!0),className:ke("absolute right-6 top-1 w-3 h-3 text-foreground/50 hover:text-foreground hover:cursor-pointer",{"text-red-800 font-bold":N})})]}),_.jsxs("div",{className:" flex grow px-6 pt-3 pb-4 gap-2 justify-between item-center",children:[_.jsxs("div",{className:"flex grow gap-2 items-center",children:[_.jsxs(ot,{disabled:A||H,onClick:()=>{pe()},className:" shrink-0",size:"sm",variant:"outline",children:[(A||H)&&_.jsx(Al,{className:"w-4 h-4 mr-2 animate-spin text-foreground/50"}),"Run"]}),R&&_.jsx(WZ,{error:ue.message}),_.jsx(ot,{onClick:he,className:"",size:"sm",variant:"outline",children:"Clear"}),_.jsx(Oo,{value:a,placeholder:"Type something...",onChange:le=>{l(le.target.value)},onKeyDown:le=>{le.key==="Enter"&&(le.preventDefault(),console.log("enter pressed"),d(!0),s(!0))},className:" bg-muted border-none h-9 focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0"}),_.jsx(fre,{open:o,setOpen:s,userInput:a,triggerAIRun:c,setTriggerAIRun:d,setUserInput:le=>l(le)})]}),_.jsxs("div",{className:"flex gap-2 items-end ",children:[_.jsx(ot,{onClick:J,size:"sm",variant:"outline",children:_.jsx(tp,{size:16,strokeWidth:2,className:"text-green-600 font-bold"})}),_.jsx(ot,{onClick:re,className:" w-full",size:"sm",variant:"outline",children:_.jsx(ua,{})})]})]})]})}const o5="Switch",[pre,Yfe]=kn(o5),[gre,mre]=pre(o5),vre=m.forwardRef((e,t)=>{const{__scopeSwitch:n,name:r,checked:i,defaultChecked:o,required:s,disabled:a,value:l="on",onCheckedChange:c,...d}=e,[f,g]=m.useState(null),p=rt(t,S=>g(S)),v=m.useRef(!1),y=f?!!f.closest("form"):!0,[x=!1,w]=Qn({prop:i,defaultProp:o,onChange:c});return m.createElement(gre,{scope:n,checked:x,disabled:a},m.createElement(He.button,se({type:"button",role:"switch","aria-checked":x,"aria-required":s,"data-state":s5(x),"data-disabled":a?"":void 0,disabled:a,value:l},d,{ref:p,onClick:Oe(e.onClick,S=>{w(C=>!C),y&&(v.current=S.isPropagationStopped(),v.current||S.stopPropagation())})})),y&&m.createElement(xre,{control:f,bubbles:!v.current,name:r,value:l,checked:x,required:s,disabled:a,style:{transform:"translateX(-100%)"}}))}),bre="SwitchThumb",yre=m.forwardRef((e,t)=>{const{__scopeSwitch:n,...r}=e,i=mre(bre,n);return m.createElement(He.span,se({"data-state":s5(i.checked),"data-disabled":i.disabled?"":void 0},r,{ref:t}))}),xre=e=>{const{control:t,checked:n,bubbles:r=!0,...i}=e,o=m.useRef(null),s=zp(n),a=Vh(t);return m.useEffect(()=>{const l=o.current,c=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(c,"checked").set;if(s!==n&&f){const g=new Event("click",{bubbles:r});f.call(l,n),l.dispatchEvent(g)}},[s,n,r]),m.createElement("input",se({type:"checkbox","aria-hidden":!0,defaultChecked:n},i,{tabIndex:-1,ref:o,style:{...e.style,...a,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function s5(e){return e?"checked":"unchecked"}const a5=vre,wre=yre,l5=de.forwardRef(({className:e,...t},n)=>_.jsx(a5,{className:ke("peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",e),...t,ref:n,children:_.jsx(wre,{className:ke("pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0")})}));l5.displayName=a5.displayName;function c5({className:e,...t}){const[n,r]=m.useState(0),i=ge(l=>l.themeStyle),o=ve(l=>l.card),s=ve(l=>l.actions.setCard);if(m.useEffect(()=>{r(n+1)},[o.data,o.type,o.cfg,o.customCfg,i]),!o.id)return null;let a;return o.data&&o.data.length>0&&(a=w0({data:o.data,cardType:o.type,cfg:o.cfg,customCfg:o.customCfg})),_.jsxs(Vv,{role:"editor-visual-card",className:ke(" relative h-full flex flex-col rounded-none",e),...t,children:[_.jsxs(Gf,{children:[_.jsx(Xo,{text:o.title,onSave:l=>s({...o,title:l}),children:_.jsx(Yf,{className:"text-base",children:o.title})}),_.jsx(Xo,{text:o.description||"",onSave:l=>s({...o,description:l}),children:_.jsxs(Hv,{children:[" ",o.description]})})]}),_.jsxs(Kf,{className:"flex flex-col pb-3 grow",children:[o.type!=="table"&&a&&_.jsx(b2,{cfg:a},n),o.type==="table"&&o.data&&o.data.length>0&&_.jsx(yO,{children:_.jsx(h0,{data:o==null?void 0:o.data})})]})]})}function _re(){const[e,t]=m.useState(!1),[n,r]=m.useState(""),[i,o]=m.useState(""),[s,a]=m.useState(""),l=ve(x=>x.card),c=ve(x=>x.card.customCfg),d=ve(x=>x.actions.setCardCustomCfg);function f(x){var C,P;const w={...x,data:{...x==null?void 0:x.data,datasets:(P=(C=x==null?void 0:x.data)==null?void 0:C.datasets)==null?void 0:P.map(O=>({...O,data:[]}))}};return JSON.stringify(w,null,1)}function g(){if(!l.data||l.data.length===0)return;const x=w0({data:l.data,cardType:l.type,cfg:l.cfg});x&&(r(JSON.stringify(x,null,1)),c&&o(JSON.stringify(c,null,1)))}function p(){if(i)try{const x=JSON.parse(i);return x?(d(x),a(""),o(""),x):void 0}catch(x){console.log(x),a("Invalid JSON")}}function v(){o(""),d(null)}function y(){let x;if(c){const w=Hs.cloneDeep(l.cfg),S=Hs.merge(w,c);return x=f(S),x}return n?(x=f(JSON.parse(n)),x):""}return _.jsxs(Ay,{open:e,onOpenChange:t,children:[_.jsx(Iy,{asChild:!0,children:_.jsx(ot,{onClick:g,className:`h-7 ${c&&"border-foreground/50 dark:border-foreground/70"}`,size:"sm",variant:"outline",children:c?"Custom Config":"Customize"})}),_.jsxs(Lp,{className:" min-h-[70vh] max-h-[70vh] overflow-auto min-w-[900px] ",children:[_.jsxs(Fp,{className:"",children:[_.jsx($p,{children:"Customize Chart"}),_.jsxs(jp,{children:["See the configuration options and documentation",_.jsx("a",{target:"_blank",className:"ml-1 underline text-blue-500 ",href:"https://www.chartjs.org/docs/latest/samples/bar/vertical.html",children:"here."})]})]}),_.jsxs("div",{className:"flex grow gap-2 ",children:[_.jsx(c5,{className:" w-1/2 rounded shadow-none"}),_.jsxs(P_,{defaultValue:"custom-config",className:" w-1/2 flex flex-col ",children:[_.jsxs(k_,{className:" justify-start border rounded-sm rounded-b-none border-b-0 ",children:[_.jsxs(qm,{value:"custom-config",children:[c&&_.jsx(y2,{className:"w-5 h-5 mr-1 text-green-600"}),c?"Custom Config":"Default Config"]}),_.jsx(qm,{className:"",value:"output",children:"Output"})]}),_.jsx(Ef,{className:" grow mt-0 bg-red-x p-2 border border-t-0 rounded-b ",value:"output",children:_.jsx(Zy,{disabled:!0,value:n,className:" border-none resize-none font-mono h-full focus-visible:ring-0 focus-visible:ring-offset-0"})}),_.jsx(Ef,{className:"grow mt-0 border border-t-0 rounded-b ",value:"custom-config",children:_.jsx(qy,{className:"h-full w-full overflow-hidden",theme:"default",options:{minimap:{enabled:!1},wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:14,renderLineHighlight:"none"},defaultLanguage:"json",value:y(),onChange:x=>o(x)})})]})]}),_.jsxs(Ny,{className:"flex items-center",children:[_.jsx(ti,{className:"text-red-500 mr-2",children:s}),_.jsx(ot,{disabled:!c,onClick:v,variant:"outline",children:"Reset"}),_.jsx(ot,{onClick:p,variant:"outline",children:"Apply"}),_.jsx(ot,{onClick:()=>t(!1),variant:"outline",children:"Close"})]})]})]})}var u5={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},d5=m.createContext&&m.createContext(u5),Sre=["attr","size","title"];function Cre(e,t){if(e==null)return{};var n=Ere(e,t),r,i;if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)r=o[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Ere(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,o;for(o=0;o<r.length;o++)i=r[o],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function hg(){return hg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},hg.apply(this,arguments)}function f5(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),n.push.apply(n,r)}return n}function pg(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?f5(Object(n),!0).forEach(function(r){Ore(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f5(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Ore(e,t,n){return t=Pre(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Pre(e){var t=kre(e,"string");return typeof t=="symbol"?t:String(t)}function kre(e,t){if(typeof e!="object"||e===null)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||"default");if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function h5(e){return e&&e.map((t,n)=>m.createElement(t.tag,pg({key:n},t.attr),h5(t.child)))}function ic(e){return t=>m.createElement(Dre,hg({attr:pg({},e.attr)},t),h5(e.child))}function Dre(e){var t=n=>{var{attr:r,size:i,title:o}=e,s=Cre(e,Sre),a=i||n.size||"1em",l;return n.className&&(l=n.className),e.className&&(l=(l?l+" ":"")+e.className),m.createElement("svg",hg({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},n.attr,r,s,{className:l,style:pg(pg({color:e.color||n.color},n.style),e.style),height:a,width:a,xmlns:"http://www.w3.org/2000/svg"}),o&&m.createElement("title",null,o),e.children)};return d5!==void 0?m.createElement(d5.Consumer,null,n=>t(n)):t(u5)}function p5(e){return ic({tag:"svg",attr:{viewBox:"0 0 1024 1024"},child:[{tag:"path",attr:{d:"M926.8 397.1l-396-288a31.81 31.81 0 0 0-37.6 0l-396 288a31.99 31.99 0 0 0-11.6 35.8l151.3 466a32 32 0 0 0 30.4 22.1h489.5c13.9 0 26.1-8.9 30.4-22.1l151.3-466c4.2-13.2-.5-27.6-11.7-35.8zM838.6 417l-98.5 32-200-144.7V199.9L838.6 417zM466 567.2l-89.1 122.3-55.2-169.2L466 567.2zm-116.3-96.8L484 373.3v140.8l-134.3-43.7zM512 599.2l93.9 128.9H418.1L512 599.2zm28.1-225.9l134.2 97.1L540.1 514V373.3zM558 567.2l144.3-46.9-55.2 169.2L558 567.2zm-74-367.3v104.4L283.9 449l-98.5-32L484 199.9zM169.3 470.8l86.5 28.1 80.4 246.4-53.8 73.9-113.1-348.4zM327.1 853l50.3-69h269.3l50.3 69H327.1zm414.5-33.8l-53.8-73.9 80.4-246.4 86.5-28.1-113.1 348.4z"},child:[]}]})(e)}function g5(e){return ic({tag:"svg",attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm87.63,96H191.48A64.1,64.1,0,0,0,136,64.52V40.37A88.13,88.13,0,0,1,215.63,120ZM120,120H80.68A48.09,48.09,0,0,1,120,80.68Zm0,16v39.32A48.09,48.09,0,0,1,80.68,136Zm16,0h39.32A48.09,48.09,0,0,1,136,175.32Zm0-16V80.68A48.09,48.09,0,0,1,175.32,120ZM120,40.37V64.52A64.1,64.1,0,0,0,64.52,120H40.37A88.13,88.13,0,0,1,120,40.37ZM40.37,136H64.52A64.1,64.1,0,0,0,120,191.48v24.15A88.13,88.13,0,0,1,40.37,136ZM136,215.63V191.48A64.1,64.1,0,0,0,191.48,136h24.15A88.13,88.13,0,0,1,136,215.63Z"},child:[]}]})(e)}function m5(e){return ic({tag:"svg",attr:{viewBox:"0 0 256 256",fill:"currentColor"},child:[{tag:"path",attr:{d:"M137,28.05a11.94,11.94,0,0,0-9.12,3.08A12.09,12.09,0,0,0,124,40V80.67a11.88,11.88,0,0,0,9.9,11.81,36,36,0,1,1-41.85,37.4c-.47-9.14,1.47-16.8,5.75-22.79h0a11.89,11.89,0,0,0-1.3-15.35L68.87,63.51a12,12,0,0,0-17.74.83A99.6,99.6,0,0,0,57.79,199.2,99.24,99.24,0,0,0,128,228h1.43A100.29,100.29,0,0,0,228,129.42C228.72,77.21,188.76,32.68,137,28.05ZM57.28,69.46A4,4,0,0,1,60.2,68h.19a3.91,3.91,0,0,1,2.79,1.14L90.81,97.36a3.93,3.93,0,0,1,.48,5.08A40.47,40.47,0,0,0,84.08,124h-48A90.36,90.36,0,0,1,57.28,69.46ZM36.09,132H84.18A44,44,0,0,0,124,171.81V219.9A92,92,0,0,1,36.09,132ZM193,193a91.43,91.43,0,0,1-61,26.92V171.82a43.51,43.51,0,0,0,26-11.63,44,44,0,0,0-22.79-75.6A4,4,0,0,1,132,80.67V40a4,4,0,0,1,1.31-3,3.89,3.89,0,0,1,3-1c47.59,4.26,84.34,45.24,83.67,93.29A91.42,91.42,0,0,1,193,193Z"},child:[]}]})(e)}function v5(e){return ic({tag:"svg",attr:{viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round"},child:[{tag:"path",attr:{stroke:"none",d:"M0 0h24v24H0z",fill:"none"},child:[]},{tag:"path",attr:{d:"M6 16m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0"},child:[]},{tag:"path",attr:{d:"M16 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0"},child:[]},{tag:"path",attr:{d:"M14.5 7.5m-4.5 0a4.5 4.5 0 1 0 9 0a4.5 4.5 0 1 0 -9 0"},child:[]}]})(e)}function b5(e){return ic({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{fill:"none",d:"M0 0h24v24H0z"},child:[]},{tag:"path",attr:{d:"M4 9h4v11H4zM4 4h4v4H4zM10 7h4v4h-4zM16 10h4v4h-4zM16 15h4v5h-4zM10 12h4v8h-4z"},child:[]}]})(e)}function y5(e){return ic({tag:"svg",attr:{version:"1.2",baseProfile:"tiny",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M4 18c-.552 0-1-.448-1-1v-6.382l-.553.276c-.495.248-1.095.046-1.342-.447-.247-.494-.046-1.094.448-1.342l2-1c.31-.155.678-.139.973.044.294.183.474.504.474.851v8c0 .552-.448 1-1 1zM13 18h-5c-.404 0-.769-.244-.924-.617-.155-.374-.069-.804.217-1.09l4-4c.254-.254.394-.591.394-.95 0-.358-.14-.695-.394-.949-.508-.508-1.39-.508-1.9.001-.253.252-.393.589-.393.948 0 .552-.448 1-1 1s-1-.448-1-1c0-.894.348-1.733.98-2.364 1.265-1.263 3.464-1.263 4.727.001.632.631.979 1.471.979 2.363 0 .893-.348 1.733-.979 2.364l-2.293 2.293h2.586c.552 0 1 .448 1 1s-.448 1-1 1zM20.955 12.377c.338-.457.545-1.016.545-1.627 0-1.517-1.234-2.75-2.75-2.75-1.031 0-1.966.569-2.44 1.484-.254.49-.063 1.094.428 1.348.49.254 1.094.062 1.348-.428.128-.249.383-.404.664-.404.414 0 .75.336.75.75s-.336.75-.75.75c-.552 0-1 .448-1 1s.448 1 1 1c.689 0 1.25.561 1.25 1.25s-.561 1.25-1.25 1.25-1.25-.561-1.25-1.25c0-.552-.448-1-1-1s-1 .448-1 1c0 1.792 1.458 3.25 3.25 3.25s3.25-1.458 3.25-3.25c0-.939-.406-1.779-1.045-2.373z"},child:[]}]})(e)}function Mre(){const[e,t]=m.useState(!1),n=ve(s=>s.card.type),r=ve(s=>s.actions.setCardType),i=ve(s=>s.actions.setCardCustomCfg);function o(s){r(s),i(null),t(!1)}return _.jsxs(Vu,{open:e,onOpenChange:t,children:[_.jsx(Hu,{asChild:!0,children:_.jsx(ot,{className:"h-7 px-2",variant:"outline",children:_.jsx(Tre,{className:"h-4 w-4",chartType:n})})}),_.jsx(zl,{className:"w-50",children:_.jsxs("div",{className:"grid grid-cols-3 place-items-center ",children:[_.jsx(ot,{onClick:()=>o("bar"),className:"font-normal",variant:"ghost",children:_.jsx(MO,{strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("line"),variant:"ghost",children:_.jsx(NO,{strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("stackedBar"),variant:"ghost",children:_.jsx(b5,{className:"h-6 w-6 text-foreground/50 ",strokeWidth:0})}),_.jsx(ot,{onClick:()=>o("scatter"),variant:"ghost",children:_.jsx(FO,{strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("bubble"),variant:"ghost",children:_.jsx(v5,{strokeWidth:2})}),_.jsx(ot,{onClick:()=>o("pie"),variant:"ghost",children:_.jsx(RO,{strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("doughnut"),variant:"ghost",children:_.jsx(m5,{className:"h-7 w-7",strokeWidth:.5})}),_.jsx(ot,{onClick:()=>o("radar"),variant:"ghost",children:_.jsx(p5,{className:"h-6 w-6 text-foreground/50 font-extralight",strokeWidth:.5})}),_.jsx(ot,{onClick:()=>o("polarArea"),variant:"ghost",children:_.jsx(g5,{className:"h-6 w-6 text-foreground/50",strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("table"),variant:"ghost",children:_.jsx(b0,{className:"h-6 w-6 text-foreground/90",strokeWidth:1})}),_.jsx(ot,{onClick:()=>o("kpi"),variant:"ghost",children:_.jsx(y5,{className:"h-6 w-6 text-foreground/70",strokeWidth:0})})]})})]})}function Tre({chartType:e,className:t}){switch(e){case"bar":return _.jsx(MO,{className:t});case"line":return _.jsx(NO,{className:t});case"pie":return _.jsx(RO,{className:t});case"radar":return _.jsx(p5,{className:t});case"scatter":return _.jsx(FO,{className:t});case"bubble":return _.jsx(v5,{className:t});case"doughnut":return _.jsx(m5,{className:t});case"stackedBar":return _.jsx(b5,{className:"h-5 w-5 text-foreground/50 ",strokeWidth:0});case"polarArea":return _.jsx(g5,{className:t});case"kpi":return _.jsx(y5,{className:t});default:return _.jsx(b0,{className:t})}}function Are(){const e=ve(n=>n.card.refreshInterval),t=ve(n=>n.actions.setCardRefreshInterval);return _.jsxs(Vu,{children:[_.jsx(Hu,{asChild:!0,children:_.jsx(ot,{className:"h-7",variant:"outline",children:"Realtime"})}),_.jsx(zl,{className:"w-[200px]",children:_.jsx("div",{className:"grid gap-4",children:_.jsx("div",{className:"grid gap-2",children:_.jsxs("div",{className:"grid grid-cols-5 items-center gap-1",children:[_.jsx(ti,{className:"col-span-3",htmlFor:"width",children:"Refresh Every"}),_.jsx(Oo,{value:e||"",onChange:n=>t(n.target.value),id:"width",placeholder:"30s",className:"col-span-2 h-7 focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-0"})]})})})})]})}function x5(){ve(r=>r.frame);const e=ve(r=>r.card),t=ve(r=>r.isShowingVisual),n=ve(r=>r.isSqlRunning);return ve(r=>r.onSave),ve(r=>r.onClose),ve(r=>r.actions.setCardSql),ve(r=>r.actions.setCardType),ve(r=>r.actions.setSqlGen),e?_.jsxs("div",{className:" h-full relative flex flex-col",children:[n&&_.jsx(Al,{className:" w-10 h-10 z-10 absolute m-auto left-0 right-0 top-0 bottom-0 animate-spin text-foreground/10 "}),_.jsxs("div",{className:" h-10 px-6 pt-6 bg-red-x100 mb-0 z-10 right-0 flex justify-end items-center gap-2",children:[t&&_.jsxs("div",{className:"bg-red-x00 flex grow gap-2",children:[_.jsx(Mre,{}),_.jsx(_re,{}),_.jsx(Are,{})]}),_.jsx(Ire,{})]}),t?e.type==="kpi"?_.jsx("div",{className:"grow flex items-center justify-center ",children:_.jsx("div",{className:" w-1/2 border rounded-md",children:_.jsx(jO,{isLoading:n,card:e})})}):_.jsx(c5,{className:"grow border-none shadow-none "}):_.jsx("div",{className:"w-full mt-4 px-6 bg-red-x00 grow border-none shadow-none overflow-y-auto ",children:e.data&&e.data.length>0&&_.jsx(h0,{data:e.data})})]}):_.jsx(_.Fragment,{children:"No Active Card"})}function Ire(){const e=ve(n=>n.isShowingVisual),t=ve(n=>n.actions.setIsShowingVisual);return _.jsxs("div",{className:" flex items-center space-x-2",children:[_.jsx(ti,{htmlFor:"visualize",children:"Chart"}),_.jsx(l5,{checked:e,onCheckedChange:()=>t(!e),id:"visualize",className:"data-[state=checked]:bg-foreground/50"})]})}const w5="Collapsible",[Nre,_5]=kn(w5),[Rre,Ix]=Nre(w5),Lre=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:o,onOpenChange:s,...a}=e,[l=!1,c]=Qn({prop:r,defaultProp:i,onChange:s});return m.createElement(Rre,{scope:n,disabled:o,contentId:or(),open:l,onOpenToggle:m.useCallback(()=>c(d=>!d),[c])},m.createElement(He.div,se({"data-state":Nx(l),"data-disabled":o?"":void 0},a,{ref:t})))}),Fre="CollapsibleTrigger",$re=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,i=Ix(Fre,n);return m.createElement(He.button,se({type:"button","aria-controls":i.contentId,"aria-expanded":i.open||!1,"data-state":Nx(i.open),"data-disabled":i.disabled?"":void 0,disabled:i.disabled},r,{ref:t,onClick:Oe(e.onClick,i.onOpenToggle)}))}),S5="CollapsibleContent",jre=m.forwardRef((e,t)=>{const{forceMount:n,...r}=e,i=Ix(S5,e.__scopeCollapsible);return m.createElement(yn,{present:n||i.open},({present:o})=>m.createElement(zre,se({},r,{ref:t,present:o})))}),zre=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:i,...o}=e,s=Ix(S5,n),[a,l]=m.useState(r),c=m.useRef(null),d=rt(t,c),f=m.useRef(0),g=f.current,p=m.useRef(0),v=p.current,y=s.open||a,x=m.useRef(y),w=m.useRef();return m.useEffect(()=>{const S=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(S)},[]),Vn(()=>{const S=c.current;if(S){w.current=w.current||{transitionDuration:S.style.transitionDuration,animationName:S.style.animationName},S.style.transitionDuration="0s",S.style.animationName="none";const C=S.getBoundingClientRect();f.current=C.height,p.current=C.width,x.current||(S.style.transitionDuration=w.current.transitionDuration,S.style.animationName=w.current.animationName),l(r)}},[s.open,r]),m.createElement(He.div,se({"data-state":Nx(s.open),"data-disabled":s.disabled?"":void 0,id:s.contentId,hidden:!y},o,{ref:d,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":v?`${v}px`:void 0,...e.style}}),y&&i)});function Nx(e){return e?"open":"closed"}const Bre=Lre,Vre=$re,Hre=jre,xs="Accordion",Wre=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[Rx,Ure,qre]=Sf(xs),[gg,Kfe]=kn(xs,[qre,_5]),Lx=_5(),C5=m.forwardRef((e,t)=>{const{type:n,...r}=e,i=r,o=r;return m.createElement(Rx.Provider,{scope:e.__scopeAccordion},n==="multiple"?m.createElement(Xre,se({},o,{ref:t})):m.createElement(Kre,se({},i,{ref:t})))});C5.propTypes={type(e){const t=e.value||e.defaultValue;return e.type&&!["single","multiple"].includes(e.type)?new Error("Invalid prop `type` supplied to `Accordion`. Expected one of `single | multiple`."):e.type==="multiple"&&typeof t=="string"?new Error("Invalid prop `type` supplied to `Accordion`. Expected `single` when `defaultValue` or `value` is type `string`."):e.type==="single"&&Array.isArray(t)?new Error("Invalid prop `type` supplied to `Accordion`. Expected `multiple` when `defaultValue` or `value` is type `string[]`."):null}};const[E5,Gre]=gg(xs),[O5,Yre]=gg(xs,{collapsible:!1}),Kre=m.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:i=()=>{},collapsible:o=!1,...s}=e,[a,l]=Qn({prop:n,defaultProp:r,onChange:i});return m.createElement(E5,{scope:e.__scopeAccordion,value:a?[a]:[],onItemOpen:l,onItemClose:m.useCallback(()=>o&&l(""),[o,l])},m.createElement(O5,{scope:e.__scopeAccordion,collapsible:o},m.createElement(P5,se({},s,{ref:t}))))}),Xre=m.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:i=()=>{},...o}=e,[s=[],a]=Qn({prop:n,defaultProp:r,onChange:i}),l=m.useCallback(d=>a((f=[])=>[...f,d]),[a]),c=m.useCallback(d=>a((f=[])=>f.filter(g=>g!==d)),[a]);return m.createElement(E5,{scope:e.__scopeAccordion,value:s,onItemOpen:l,onItemClose:c},m.createElement(O5,{scope:e.__scopeAccordion,collapsible:!0},m.createElement(P5,se({},o,{ref:t}))))}),[Qre,mg]=gg(xs),P5=m.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:i,orientation:o="vertical",...s}=e,a=m.useRef(null),l=rt(a,t),c=Ure(n),f=Ws(i)==="ltr",g=Oe(e.onKeyDown,p=>{var v;if(!Wre.includes(p.key))return;const y=p.target,x=c().filter(F=>{var j;return!((j=F.ref.current)!==null&&j!==void 0&&j.disabled)}),w=x.findIndex(F=>F.ref.current===y),S=x.length;if(w===-1)return;p.preventDefault();let C=w;const P=0,O=S-1,k=()=>{C=w+1,C>O&&(C=P)},M=()=>{C=w-1,C<P&&(C=O)};switch(p.key){case"Home":C=P;break;case"End":C=O;break;case"ArrowRight":o==="horizontal"&&(f?k():M());break;case"ArrowDown":o==="vertical"&&k();break;case"ArrowLeft":o==="horizontal"&&(f?M():k());break;case"ArrowUp":o==="vertical"&&M();break}const N=C%S;(v=x[N].ref.current)===null||v===void 0||v.focus()});return m.createElement(Qre,{scope:n,disabled:r,direction:i,orientation:o},m.createElement(Rx.Slot,{scope:n},m.createElement(He.div,se({},s,{"data-orientation":o,ref:l,onKeyDown:r?void 0:g}))))}),Fx="AccordionItem",[Zre,$x]=gg(Fx),Jre=m.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...i}=e,o=mg(Fx,n),s=Gre(Fx,n),a=Lx(n),l=or(),c=r&&s.value.includes(r)||!1,d=o.disabled||e.disabled;return m.createElement(Zre,{scope:n,open:c,disabled:d,triggerId:l},m.createElement(Bre,se({"data-orientation":o.orientation,"data-state":D5(c)},a,i,{ref:t,disabled:d,open:c,onOpenChange:f=>{f?s.onItemOpen(r):s.onItemClose(r)}})))}),eie="AccordionHeader",tie=m.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,i=mg(xs,n),o=$x(eie,n);return m.createElement(He.h3,se({"data-orientation":i.orientation,"data-state":D5(o.open),"data-disabled":o.disabled?"":void 0},r,{ref:t}))}),k5="AccordionTrigger",nie=m.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,i=mg(xs,n),o=$x(k5,n),s=Yre(k5,n),a=Lx(n);return m.createElement(Rx.ItemSlot,{scope:n},m.createElement(Vre,se({"aria-disabled":o.open&&!s.collapsible||void 0,"data-orientation":i.orientation,id:o.triggerId},a,r,{ref:t})))}),rie="AccordionContent",iie=m.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,i=mg(xs,n),o=$x(rie,n),s=Lx(n);return m.createElement(Hre,se({role:"region","aria-labelledby":o.triggerId,"data-orientation":i.orientation},s,r,{ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}}))});function D5(e){return e?"open":"closed"}const oie=C5,sie=Jre,aie=tie,M5=nie,T5=iie,jx=oie,ko=de.forwardRef(({className:e,...t},n)=>_.jsx(sie,{ref:n,className:ke("border-b",e),...t}));ko.displayName="AccordionItem";const Do=de.forwardRef(({className:e,children:t,...n},r)=>_.jsx(aie,{className:"flex",children:_.jsxs(M5,{ref:r,className:ke("flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",e),...n,children:[t,_.jsx(v0,{className:"h-4 w-4 shrink-0 transition-transform duration-200"})]})}));Do.displayName=M5.displayName;const Mo=de.forwardRef(({className:e,children:t,...n},r)=>_.jsx(T5,{ref:r,className:"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",...n,children:_.jsx("div",{className:ke("pb-4 pt-0",e),children:t})}));Mo.displayName=T5.displayName;const A5="Radio",[lie,I5]=kn(A5),[cie,uie]=lie(A5),die=m.forwardRef((e,t)=>{const{__scopeRadio:n,name:r,checked:i=!1,required:o,disabled:s,value:a="on",onCheck:l,...c}=e,[d,f]=m.useState(null),g=rt(t,y=>f(y)),p=m.useRef(!1),v=d?!!d.closest("form"):!0;return m.createElement(cie,{scope:n,checked:i,disabled:s},m.createElement(He.button,se({type:"button",role:"radio","aria-checked":i,"data-state":N5(i),"data-disabled":s?"":void 0,disabled:s,value:a},c,{ref:g,onClick:Oe(e.onClick,y=>{i||l==null||l(),v&&(p.current=y.isPropagationStopped(),p.current||y.stopPropagation())})})),v&&m.createElement(pie,{control:d,bubbles:!p.current,name:r,value:a,checked:i,required:o,disabled:s,style:{transform:"translateX(-100%)"}}))}),fie="RadioIndicator",hie=m.forwardRef((e,t)=>{const{__scopeRadio:n,forceMount:r,...i}=e,o=uie(fie,n);return m.createElement(yn,{present:r||o.checked},m.createElement(He.span,se({"data-state":N5(o.checked),"data-disabled":o.disabled?"":void 0},i,{ref:t})))}),pie=e=>{const{control:t,checked:n,bubbles:r=!0,...i}=e,o=m.useRef(null),s=zp(n),a=Vh(t);return m.useEffect(()=>{const l=o.current,c=window.HTMLInputElement.prototype,f=Object.getOwnPropertyDescriptor(c,"checked").set;if(s!==n&&f){const g=new Event("click",{bubbles:r});f.call(l,n),l.dispatchEvent(g)}},[s,n,r]),m.createElement("input",se({type:"radio","aria-hidden":!0,defaultChecked:n},i,{tabIndex:-1,ref:o,style:{...e.style,...a,position:"absolute",pointerEvents:"none",opacity:0,margin:0}}))};function N5(e){return e?"checked":"unchecked"}const gie=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],R5="RadioGroup",[mie,Xfe]=kn(R5,[dl,I5]),L5=dl(),F5=I5(),[vie,bie]=mie(R5),yie=m.forwardRef((e,t)=>{const{__scopeRadioGroup:n,name:r,defaultValue:i,value:o,required:s=!1,disabled:a=!1,orientation:l,dir:c,loop:d=!0,onValueChange:f,...g}=e,p=L5(n),v=Ws(c),[y,x]=Qn({prop:o,defaultProp:i,onChange:f});return m.createElement(vie,{scope:n,name:r,required:s,disabled:a,value:y,onValueChange:x},m.createElement(Hm,se({asChild:!0},p,{orientation:l,dir:v,loop:d}),m.createElement(He.div,se({role:"radiogroup","aria-required":s,"aria-orientation":l,"data-disabled":a?"":void 0,dir:v},g,{ref:t}))))}),xie="RadioGroupItem",wie=m.forwardRef((e,t)=>{const{__scopeRadioGroup:n,disabled:r,...i}=e,o=bie(xie,n),s=o.disabled||r,a=L5(n),l=F5(n),c=m.useRef(null),d=rt(t,c),f=o.value===i.value,g=m.useRef(!1);return m.useEffect(()=>{const p=y=>{gie.includes(y.key)&&(g.current=!0)},v=()=>g.current=!1;return document.addEventListener("keydown",p),document.addEventListener("keyup",v),()=>{document.removeEventListener("keydown",p),document.removeEventListener("keyup",v)}},[]),m.createElement(Wm,se({asChild:!0},a,{focusable:!s,active:f}),m.createElement(die,se({disabled:s,required:o.required,checked:f},l,i,{name:o.name,ref:d,onCheck:()=>o.onValueChange(i.value),onKeyDown:Oe(p=>{p.key==="Enter"&&p.preventDefault()}),onFocus:Oe(i.onFocus,()=>{var p;g.current&&((p=c.current)===null||p===void 0||p.click())})})))}),_ie=m.forwardRef((e,t)=>{const{__scopeRadioGroup:n,...r}=e,i=F5(n);return m.createElement(hie,se({},i,r,{ref:t}))}),$5=yie,j5=wie,Sie=_ie,z5=de.forwardRef(({className:e,...t},n)=>_.jsx($5,{className:ke("grid gap-2",e),...t,ref:n}));z5.displayName=$5.displayName;const zx=de.forwardRef(({className:e,...t},n)=>_.jsx(j5,{ref:n,className:ke("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:_.jsx(Sie,{className:"flex items-center justify-center",children:_.jsx(AO,{className:"h-2.5 w-2.5 fill-current text-current"})})}));zx.displayName=j5.displayName;function B5(){var i;const e=ve(o=>o.card.cfg),t=ve(o=>o.actions.setCardCfg),n=(i=e==null?void 0:e.options)==null?void 0:i.indexAxis;function r(o){const s={...e,options:{...e==null?void 0:e.options,indexAxis:o}};t(s)}return _.jsxs("div",{children:[_.jsx("p",{className:"font-semibold",children:"Orientation"}),_.jsxs(z5,{value:n,onValueChange:r,className:"flex gap-3 mt-2 ",defaultValue:"x",children:[_.jsxs("div",{className:"flex items-center space-x-2",children:[_.jsx(zx,{value:"x",id:"r1"}),_.jsx("label",{className:"text-sm",htmlFor:"r1",children:"Vertical"})]}),_.jsxs("div",{className:"flex items-center space-x-2",children:[_.jsx(zx,{value:"y",id:"r2"}),_.jsx("label",{className:"text-sm",htmlFor:"r2",children:"Horizontal"})]})]})]})}function V5(){var r,i,o;const e=ve(s=>s.card.cfg),t=ve(s=>s.actions.setCardCfg);function n(s){var c;const a={datalabels:{display:s!=="none",align:s,anchor:s,clamp:!0}},l={...e,options:{...e==null?void 0:e.options,plugins:{...(c=e==null?void 0:e.options)==null?void 0:c.plugins,...a}}};t(l),console.log(s)}return _.jsxs(_.Fragment,{children:[_.jsx("label",{className:"font-medium",children:"Data Labels"}),_.jsxs(MD,{value:(o=(i=(r=e==null?void 0:e.options)==null?void 0:r.plugins)==null?void 0:i.datalabels)==null?void 0:o.anchor,onValueChange:n,defaultValue:"none",children:[_.jsx($y,{className:"w-[180px] mt-2 focus:ring-1 focus:ring-offset-0 h-7",children:_.jsx(AD,{placeholder:"Select position"})}),_.jsx(jy,{children:_.jsxs(TD,{children:[_.jsx(Up,{children:"Data Labels"}),_.jsx(Da,{value:"none",children:"None"}),_.jsx(Da,{value:"start",children:"Start"}),_.jsx(Da,{value:"center",children:"Center"}),_.jsx(Da,{value:"end",children:"End"})]})})]})]})}function H5(){const e=ve(i=>i.card.preferences),t=ve(i=>i.actions.setCardPreferences),n=ve(i=>{var o;return(o=i.card.preferences)==null?void 0:o.filterOnClickField}),r=ve(i=>i.actions.setFilterOnClickField);return _.jsxs("div",{children:[_.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[_.jsx(ad,{checked:!!(e!=null&&e.filterOnClick),onCheckedChange:i=>{t({...e,filterOnClick:!!i})}}),_.jsx(ti,{children:"Filter on click"})]}),(e==null?void 0:e.filterOnClick)===!0&&_.jsxs("div",{className:"flex gap-2 items-center",children:[_.jsx(Oo,{value:n||"",className:" h-7 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"expression (optional)",onChange:i=>r(i.target.value)}),_.jsxs(qh,{children:[_.jsx(Xb,{children:_.jsx(Lb,{className:"h-4 w-4 opacity-70"})}),_.jsx($u,{children:_.jsxs("div",{className:"max-w-[200px]",children:["The x-axis expression of your query. Example:",_.jsx("div",{className:" mt-1 text-xs font-mono",children:"TO_CHAR(order_date, 'YYYY-MM')"})]})})]})]})]})}const Cie={datasets:[{type:"line",label:"Sum_sales",data:[]},{type:"bar",label:"Sum_profit",data:[]}]},Eie={datasets:[{fill:"origin",type:"line",label:"Sum_sales",data:[]}]};function Oie(){const e=ve(t=>t.card.type);return _.jsxs("div",{className:"p-6 space-y-6",children:[_.jsx(jx,{className:" ",type:"single",collapsible:!0,children:Pie(e)}),_.jsx("section",{className:"",children:["line","bar"].includes(e)&&_.jsx(B5,{})}),_.jsx("div",{children:!["kpi"].includes(e)&&_.jsx(V5,{})}),_.jsx("div",{children:!["kpi"].includes(e)&&_.jsx(H5,{})})]})}function Pie(e){if(["line","bar"].includes(e))return _.jsxs(_.Fragment,{children:[_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:_.jsx("p",{children:"Chart Query"})}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT x-axis, y-axis-1, y-axis-2, y-axis-3,... FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"X-axis - Category (ex. city)"}),_.jsx("li",{children:"Y-axis - Number (ex. population)"})]})]})]}),_.jsxs(ko,{value:"item-2",children:[_.jsx(Do,{className:" font-normal",children:"Mixed Chart"}),_.jsxs(Mo,{className:" text-xs space-y-2",children:[_.jsxs("p",{children:["Click ",_.jsx("b",{children:"Customize"})," and change the `type` property in the dataset."]}),_.jsx("pre",{children:JSON.stringify(Cie,null,2)})]})]}),_.jsxs(ko,{value:"item-3",children:[_.jsx(Do,{className:" font-normal",children:"Area Chart"}),_.jsxs(Mo,{className:" text-xs space-y-2",children:[_.jsxs("p",{children:["Click ",_.jsx("b",{children:"Customize"})," and add `fill` property to the dataset. See",_.jsx("a",{className:"text-blue-500 hover:underline mx-1",href:"https://www.chartjs.org/docs/latest/samples/area/line-boundaries.html",target:"_blank",children:"docs"}),"for more options."]}),_.jsx("pre",{children:JSON.stringify(Eie,null,2)})]})]})]});if(e==="bubble")return _.jsx(_.Fragment,{children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:_.jsxs("p",{children:["How to create a ",_.jsx("span",{children:e})," chart query?"]})}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT label, x-axis, y-axis, radius FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"Label - Category (ex. city)"}),_.jsx("li",{children:"Bubble Group (opt) - Category (ex. state)"}),_.jsx("li",{children:"X-axis - Number (ex. avg. age)"}),_.jsx("li",{children:"Y-axis - Number (ex. avg. weight)"}),_.jsx("li",{children:"Radius - Number (ex. population)"})]})]})]})});if(e==="scatter")return _.jsx(_.Fragment,{children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:_.jsxs("p",{children:["How to create a ",_.jsx("span",{children:e})," chart query?"]})}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT label, x-axis, y-axis FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"Label - Category (ex. city)"}),_.jsx("li",{children:"Group (opt) - Category (ex. state)"}),_.jsx("li",{children:"X-axis - Number (ex. avg. age)"}),_.jsx("li",{children:"Y-axis - Number (ex. avg. weight)"})]})]})]})});if(["pie","doughnut","polarArea"].includes(e))return _.jsx(_.Fragment,{children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:_.jsxs("p",{children:[_.jsx("span",{children:e==="polarArea"?"Polar":e.charAt(0).toUpperCase()+e.slice(1)})," ","chart query"]})}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT label, measure FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"Label - Category (ex. city)"}),_.jsx("li",{children:"Measure - Number (ex. population)"})]})]})]})})}function kie(){var s,a,l;const e=ve(c=>c.card.preferences),t=ve(c=>c.actions.setCardPreferences),n=ve(c=>c.actions.setNumberFormat),r=ve(c=>{var d,f;return(f=(d=c.card.preferences)==null?void 0:d.formatNumber)==null?void 0:f.format}),i=ve(c=>{var d,f;return(f=(d=c.card.preferences)==null?void 0:d.formatNumber)==null?void 0:f.locale}),o=ve(c=>{var d,f;return(f=(d=c.card.preferences)==null?void 0:d.formatNumber)==null?void 0:f.currency});return ve(c=>c.actions.setFilterOnClickField),_.jsxs("div",{children:[_.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[_.jsx(ad,{checked:!!((s=e==null?void 0:e.formatNumber)!=null&&s.enabled),onCheckedChange:c=>{t({...e,formatNumber:{...e==null?void 0:e.formatNumber,enabled:c}})}}),_.jsx(ti,{children:"Format Number"})]}),((a=e==null?void 0:e.formatNumber)==null?void 0:a.enabled)===!0&&_.jsxs("div",{className:"flex flex-col gap-2 ",children:[_.jsxs("div",{children:[_.jsx(ti,{className:"text-xs",children:"Currency"}),_.jsxs("div",{className:"flex gap-1",children:[_.jsx(Oo,{value:o||"",className:" h-7 w-20 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"USD",onChange:c=>{var d,f,g;return n(((d=e==null?void 0:e.formatNumber)==null?void 0:d.format)||"",c.target.value,((f=e==null?void 0:e.formatNumber)==null?void 0:f.locale)||"",((g=e==null?void 0:e.formatNumber)==null?void 0:g.suffix)||"")}}),_.jsx(Oo,{value:i||"",className:" h-7 w-20 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"en-US",onChange:c=>{var d,f,g;return n(((d=e==null?void 0:e.formatNumber)==null?void 0:d.format)||"",((f=e==null?void 0:e.formatNumber)==null?void 0:f.currency)||"",c.target.value,((g=e==null?void 0:e.formatNumber)==null?void 0:g.suffix)||"")}})]})]}),_.jsxs("div",{children:[_.jsxs("div",{className:" flex gap-1",children:[_.jsx(ti,{className:"text-xs",children:"Format"}),_.jsxs(qh,{children:[_.jsx(Xb,{children:_.jsx(Lb,{strokeWidth:1,className:"h-3 w-3 opacity-70"})}),_.jsx($u,{children:_.jsxs("div",{className:"max-w-[200px]",children:["Format number",_.jsx("div",{className:" mt-1 text-xs font-mono",children:"#.## for 123.43"})]})})]})]}),_.jsx("div",{children:_.jsx(Oo,{value:r||"",className:" h-7 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"###,###.##",onChange:c=>{var d,f,g;return n(c.target.value,((d=e==null?void 0:e.formatNumber)==null?void 0:d.currency)||"",((f=e==null?void 0:e.formatNumber)==null?void 0:f.locale)||"",((g=e==null?void 0:e.formatNumber)==null?void 0:g.suffix)||"")}})})]}),_.jsxs("div",{children:[_.jsx(ti,{className:"text-xs",children:"Suffix"}),_.jsx(Oo,{value:((l=e==null?void 0:e.formatNumber)==null?void 0:l.suffix)||"",className:" h-7 font-mono text-xs focus-visible:ring-0 focus-visible:ring-ring focus-visible:ring-offset-0",placeholder:"K, M, B",onChange:c=>{var d,f,g;return n(((d=e==null?void 0:e.formatNumber)==null?void 0:d.format)||"",((f=e==null?void 0:e.formatNumber)==null?void 0:f.currency)||"",((g=e==null?void 0:e.formatNumber)==null?void 0:g.locale)||"",c.target.value)}})]})]})]})}function Die(){return _.jsxs("div",{className:"px-6 py-2 space-y-6",children:[_.jsx(jx,{className:" ",type:"single",collapsible:!0,children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:"KPI query"}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT current, previous FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"Current - Number (ex. Revenue)"}),_.jsx("li",{children:"Previous - Number (ex. Revenue)"})]})]})]})}),_.jsx("section",{className:"",children:_.jsx(kie,{})}),_.jsx("div",{}),_.jsx("div",{})]})}function Mie(){return _.jsxs("div",{className:"px-6 py-2 space-y-6",children:[_.jsx(jx,{className:" ",type:"single",collapsible:!0,children:_.jsxs(ko,{value:"item-1",children:[_.jsx(Do,{className:" font-normal",children:"Stacked chart query?"}),_.jsxs(Mo,{className:" ",children:[_.jsx("div",{className:"bg-muted px-2 py-1 rounded font-mono font-semibold text-xs",children:"SELECT x-axis, stack-by, y-axis FROM table"}),_.jsxs("ul",{className:"my-6 ml-6 list-disc [&>li]:mt-2 font-normal text-xs",children:[_.jsx("li",{children:"X-axis - Category (ex. country)"}),_.jsx("li",{children:"Stack by - Category (ex. city)"}),_.jsx("li",{children:"Y-axis - Number (ex. population)"})]})]})]})}),_.jsx("section",{className:"",children:_.jsx(B5,{})}),_.jsx("div",{children:_.jsx(V5,{})}),_.jsx("div",{children:_.jsx(H5,{})})]})}function Tie(){const e=ve(n=>n.card.type);function t(n){switch(n){case"stackedBar":return _.jsx(Mie,{});case"kpi":return _.jsx(Die,{});default:return _.jsx(Oie,{})}}return _.jsx(Tl,{className:" text-sm h-full w-full ",children:t(e)})}function Aie(){const e=ve(t=>t.isShowingVisual);return _.jsxs(lM,{direction:"vertical",className:"min-w-full max-w-lg min-h-[250px]",children:[_.jsx(Xp,{className:"flex",minSize:20,defaultSize:40,children:_.jsx(hre,{})}),_.jsx(cM,{className:"border-[1.5px] "}),_.jsx(Xp,{minSize:20,defaultSize:60,children:e?_.jsxs(lM,{direction:"horizontal",children:[_.jsx(_.Fragment,{children:_.jsx(Xp,{className:"flex min-w-[275px]",minSize:20,defaultSize:25,maxSize:30,children:_.jsx(Tie,{})})}),_.jsx(cM,{className:"border-[1.5px] "}),_.jsx(Xp,{minSize:40,defaultSize:75,maxSize:100,children:_.jsx(x5,{})})]}):_.jsx(x5,{})})]})}function Iie({authToken:e,onSave:t,onClose:n}){ve(s=>s.actions.setCard);const r=ve(s=>s.actions.setOnSave),i=ve(s=>s.actions.setOnClose),o=ge(s=>s.actions.setAuthToken);return m.useEffect(()=>{t&&r(t),n&&i(n)},[t,r,n,i]),m.useEffect(()=>{e&&e.accessToken&&o(e)},[e,o]),_.jsxs(cD,{className:"rounded-none",children:[_.jsx(uD,{className:" rounded-none border-r-[3px] ",children:_.jsx(LD,{})}),_.jsx(dD,{children:_.jsx(Aie,{})})]})}function Nie(){ge(s=>s.selectedCardId);const e=ge(s=>s.selectedSheetId),{setIsVisualEditing:t}=ge(s=>s.actions),n=ge(s=>s.isVisualEditing),r=ge(s=>s.actions.updateFrame);function i(s){e&&(r(e,s),t(!1))}function o(){t(!1)}return _.jsx("div",{role:"editor-container",className:ke("grow flex",{block:n,hidden:!n}),children:_.jsx(Iie,{onSave:i,onClose:o})})}function Rie({columns:e,tableName:t}){const n=ve(f=>f.selectedConnectionId),r=ve(f=>f.selectedDatabaseName),i=ve(f=>f.selectedSchemaName),o=ve(f=>f.selectedTableName),s=ge(f=>f.dashboard.filters)||[],a=ge(f=>f.actions.addFilter),l=ge(f=>f.actions.removeFilter),c=ge(f=>f.actions.removeFilterValue);function d(f){const g=_i(f.column_name),p=_i(r||""),v=_i(i||""),y=_i(t),x=s==null?void 0:s.find(w=>w.column===g&&w.table===y&&w.database===p);if(x)c(x.id),l(x.id);else{const w=Ep(v,y),S=`SELECT ${g}, COUNT(*) FROM ${w} GROUP BY ${g} ORDER BY ${g} ASC LIMIT 50`,C=`SELECT min(${g}) as min, max(${g}) as max FROM ${w}`;if(t==="api"&&n){a({id:qo(),column:`${w}.${g}`,title:f.column_name,dataType:f.data_type,table:"api",database:"NA",connectionId:n,sql:xa.includes(f.data_type)?C:S});return}if(!n||!r||!o)throw new Error("missing connectionId, database, or table");a({id:qo(),column:`${w}.${g}`,title:f.column_name,dataType:f.data_type,table:o,database:r,connectionId:n,sql:xa.includes(f.data_type)?C:S})}}return _.jsx(Tl,{className:" h-[70vh] mt-2 xbg-red-100 px-3",children:e==null?void 0:e.map(f=>{const g=s==null?void 0:s.find(p=>p.column===_i(f.column_name)&&p.table===o&&p.database===r);return _.jsx("div",{onClick:()=>d(f),className:ke(" group flex text-sm items-center justify-between px-3 py-[6px] transition-colors hover:bg-muted/50 cursor-pointer border border-background border-dashed",{"bg-muted ":g}),children:_.jsxs("div",{className:"flex items-center gap-2 ",children:[_.jsx(RD,{column:f}),_.jsx("span",{children:f.column_name})]})},f.column_name)})})}function Lie(){ge(t=>t.showFilters);const e=ge(t=>t.actions.setShowFilters);return _.jsxs("section",{className:" relative space-y-4 py-0 px-4 ",children:[_.jsx(ot,{onClick:()=>e(!1),className:" p-0 h-7 w-7 absolute top-0 right-4",variant:"outline",children:_.jsx(ua,{})}),_.jsx("p",{className:"text-md px-2",children:"Data Columns"}),_.jsx("div",{children:_.jsx(LD,{ColumnsComponent:(t,n,r)=>_.jsx(Rie,{schemaName:t,tableName:n,columns:r})})})]})}function Fie(){ge(n=>n.dashboard);const e=ge(n=>n.showFilters),t=ge(n=>n.isVisualEditing);return ge(n=>n.bookmarkKey),_.jsxs("div",{role:"dashboard-plus-main",className:ke(" grow",{hidden:t,flex:!t}),children:[_.jsx(yk,{}),e&&_.jsx("div",{role:"filter-aside-container",children:_.jsx(Lie,{})})]})}function $ie(){const e=ge(r=>r.dashboard),t=ge(r=>r.actions.setDashboard),n=ge(r=>r.showDashboardJSON);return ge(r=>r.actions.setShowDashboardJSON),_.jsx("div",{className:ke(" p-2",{hidden:!n}),children:_.jsx(CM,{onChange:r=>{if(r)try{JSON.parse(r),t(JSON.parse(r))}catch{}},defaultLanguage:"json",className:"h-[550px] overflow-y-auto ",value:JSON.stringify(e,null,2),options:{minimap:{enabled:!1},glyphMargin:!1,wordWrap:"on",scrollbar:{verticalScrollbarSize:0,horizontalScrollbarSize:0},fontSize:12,renderLineHighlight:"none"}})})}function jie({showControls:e=!1,showFooter:t=!0,...n}){return ge(r=>r.isVisualEditing),_.jsx(l_,{dashboardProps:n,children:_.jsxs(vy,{children:[_.jsx($ie,{}),_.jsxs(g_,{...n,children:[e&&_.jsx(yX,{}),_.jsx(Nie,{}),_.jsx(Fie,{})]})]})})}function zie(){const e=ge(t=>t.actions);return{getStyle:e.getStyle,getDashboard:e.getDashboard,setOnSaveFunction:e.setOnSaveFunction,setOnAddCard:e.setOnAddCard,setOnUpateCard:e.setOnUpdateCard,setOnRemoveCard:e.setOnRemoveCard}}$e.BOOLEAN_DATA_TYPES=Sp,$e.DATE_DATA_TYPES=xa,$e.Dashboard=wk,$e.DashboardPlus=jie,$e.DashboardProvider=vy,$e.DashboardWC=vY,$e.NUMBER_DATA_TYPES=hs,$e.SelectComponent=ld,$e.SemaphorQueryClient=xk,$e.TEXT_DATA_TYPES=Gu,$e.cleanCard=Kk,$e.createSqlGenConfig=G0,$e.fmt=_i,$e.getBookmarkKey=ms,$e.getColumnDataType=fU,$e.getDashbaordStateWithoutData=Dy,$e.getFilterValueType=Cp,$e.getQualifiedTableName=Ep,$e.getSql=q0,$e.isColumnInSqlGen=FP,$e.resolveDataType=Fm,$e.useActions=zie,$e.useCard=kH,$e.useDashboard=p_,$e.useDashboardActions=Yc,$e.useDashboardStore=ge,$e.useEditorActions=v4,$e.useEditorAside=c_,$e.useEditorStore=ve,Object.defineProperty($e,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable-handle{background-image:none!important;padding:0!important;height:10px!important;width:10px!important}.react-grid-item>.react-resizable-handle:after{border:none!important;content:none!important}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-s,.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-ne,.react-grid-item>.react-resizable-handle.react-resizable-handle-nw,.react-grid-item>.react-resizable-handle.react-resizable-handle-se,.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{transform:none!important;margin:0!important}.react-grid-item.react-grid-placeholder{background-color:gray!important;background-image:none!important}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-7{grid-column:span 7 / span 7}.col-start-2{grid-column-start:2}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-\[1px\]{margin-left:1px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-4{width:1rem;height:1rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[14px\]{height:14px}.h-\[18px\]{height:18px}.h-\[1px\]{height:1px}.h-\[34px\]{height:34px}.h-\[3px\]{height:3px}.h-\[550px\]{height:550px}.h-\[60vh\]{height:60vh}.h-\[625px\]{height:625px}.h-\[70vh\]{height:70vh}.h-\[74vh\]{height:74vh}.h-\[95\%\]{height:95%}.h-\[99\%\]{height:99%}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-10{max-height:2.5rem}.max-h-60{max-height:15rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[70vh\]{max-height:70vh}.min-h-0{min-height:0px}.min-h-7{min-height:1.75rem}.min-h-\[220px\]{min-height:220px}.min-h-\[250px\]{min-height:250px}.min-h-\[500px\]{min-height:500px}.min-h-\[70vh\]{min-height:70vh}.min-h-\[80px\]{min-height:80px}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[14px\]{width:14px}.w-\[180px\]{width:180px}.w-\[18px\]{width:18px}.w-\[190px\]{width:190px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.w-\[270px\]{width:270px}.w-\[300px\]{width:300px}.w-\[600px\]{width:600px}.w-\[95\%\]{width:95%}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-\[275px\]{min-width:275px}.min-w-\[320px\]{min-width:320px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[900px\]{min-width:900px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-full{min-width:100%}.max-w-\[1500px\]{max-width:1500px}.max-w-\[200px\]{max-width:200px}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l,.border-l-\[1px\]{border-left-width:1px}.border-r{border-right-width:1px}.border-r-\[3px\]{border-right-width:3px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-background{border-color:hsl(var(--background))}.border-foreground\/40{border-color:hsl(var(--foreground) / .4)}.border-foreground\/50{border-color:hsl(var(--foreground) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-l-foreground\/10{border-left-color:hsl(var(--foreground) / .1)}.border-l-transparent{border-left-color:transparent}.border-t-muted{border-top-color:hsl(var(--muted))}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[10px\]{padding-left:10px;padding-right:10px}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.pb-0{padding-bottom:0}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extralight{font-weight:200}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/10{color:hsl(var(--foreground) / .1)}.text-foreground\/30{color:hsl(var(--foreground) / .3)}.text-foreground\/40{color:hsl(var(--foreground) / .4)}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-dashed{outline-style:dashed}.outline-\[0\.5px\]{outline-width:.5px}.outline-primary\/50{outline-color:hsl(var(--primary) / .5)}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.\@container{container-type:inline-size}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:tracking-tight:before{content:var(--tw-content);letter-spacing:-.025em}.before\:text-red-700:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.before\:content-\[\'\\\/\\\\\'\]:before{--tw-content: "/\\";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:content-none:after{--tw-content: none;content:var(--tw-content)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-foreground\/100:hover{color:hsl(var(--foreground) / 1)}.hover\:text-foreground\/50:hover{color:hsl(var(--foreground) / .5)}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-background\/75:focus-visible{--tw-ring-color: hsl(var(--background) / .75)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:border-2{border-width:2px}.group:hover .group-hover\:border-b-0{border-bottom-width:0px}.group:hover .group-hover\:border-l-0{border-left-width:0px}.group:hover .group-hover\:border-r-0{border-right-width:0px}.group:hover .group-hover\:border-t-0{border-top-width:0px}.group:hover .group-hover\:underline{text-decoration-line:underline}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-foreground\/50[data-state=checked]{background-color:hsl(var(--foreground) / .5)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@container (min-width: 20rem){.\@xs\:flex{display:flex}}:is(.dark .dark\:h-\[2px\]){height:2px}:is(.dark .dark\:-rotate-90){--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:rotate-0){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:scale-0){--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:scale-100){--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:border-foreground\/70){border-color:hsl(var(--foreground) / .7)}:is(.dark .dark\:border-l-background){border-left-color:hsl(var(--background))}:is(.dark .dark\:bg-foreground\/20){background-color:hsl(var(--foreground) / .2)}:is(.dark .dark\:bg-foreground\/5){background-color:hsl(var(--foreground) / .05)}@media (min-width: 640px){.sm\:min-w-\[500px\]{min-width:500px}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:max-h-\[625px\]{max-height:625px}.md\:min-w-\[625px\]{min-width:625px}.md\:min-w-\[700px\]{min-width:700px}}@media (min-width: 1024px){.lg\:min-w-\[900px\]{min-width:900px}}@media (min-width: 1280px){.xl\:min-w-\[1000px\]{min-width:1000px}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>li\]\:mt-2>li{margin-top:.5rem}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
|
|
1
|
+
.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable-handle{background-image:none!important;padding:0!important;height:10px!important;width:10px!important}.react-grid-item>.react-resizable-handle:after{border:none!important;content:none!important}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-e,.react-grid-item>.react-resizable-handle.react-resizable-handle-s,.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-ne,.react-grid-item>.react-resizable-handle.react-resizable-handle-nw,.react-grid-item>.react-resizable-handle.react-resizable-handle-se,.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{transform:none!important;margin:0!important}.react-grid-item.react-grid-placeholder{background-color:gray!important;background-image:none!important}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}.dark{--background: 222.2 84% 4.9%;--foreground: 210 40% 98%;--card: 222.2 84% 4.9%;--card-foreground: 210 40% 98%;--popover: 222.2 84% 4.9%;--popover-foreground: 210 40% 98%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 11.2%;--secondary: 217.2 32.6% 17.5%;--secondary-foreground: 210 40% 98%;--muted: 217.2 32.6% 17.5%;--muted-foreground: 215 20.2% 65.1%;--accent: 217.2 32.6% 17.5%;--accent-foreground: 210 40% 98%;--destructive: 0 62.8% 30.6%;--destructive-foreground: 210 40% 98%;--border: 217.2 32.6% 17.5%;--input: 217.2 32.6% 17.5%;--ring: 212.7 26.8% 83.9}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-4{top:1rem}.top-\[50\%\]{top:50%}.z-10{z-index:10}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.col-span-3{grid-column:span 3 / span 3}.col-span-7{grid-column:span 7 / span 7}.col-start-2{grid-column-start:2}.m-auto{margin:auto}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-3{margin-bottom:.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.ml-7{margin-left:1.75rem}.ml-\[1px\]{margin-left:1px}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\!table{display:table!important}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.size-4{width:1rem;height:1rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[14px\]{height:14px}.h-\[18px\]{height:18px}.h-\[1px\]{height:1px}.h-\[34px\]{height:34px}.h-\[3px\]{height:3px}.h-\[550px\]{height:550px}.h-\[60vh\]{height:60vh}.h-\[625px\]{height:625px}.h-\[70vh\]{height:70vh}.h-\[74vh\]{height:74vh}.h-\[95\%\]{height:95%}.h-\[99\%\]{height:99%}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-10{max-height:2.5rem}.max-h-60{max-height:15rem}.max-h-96{max-height:24rem}.max-h-\[300px\]{max-height:300px}.max-h-\[70vh\]{max-height:70vh}.min-h-0{min-height:0px}.min-h-7{min-height:1.75rem}.min-h-\[220px\]{min-height:220px}.min-h-\[250px\]{min-height:250px}.min-h-\[500px\]{min-height:500px}.min-h-\[70vh\]{min-height:70vh}.min-h-\[80px\]{min-height:80px}.min-h-\[80vh\]{min-height:80vh}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[14px\]{width:14px}.w-\[180px\]{width:180px}.w-\[18px\]{width:18px}.w-\[190px\]{width:190px}.w-\[1px\]{width:1px}.w-\[200px\]{width:200px}.w-\[250px\]{width:250px}.w-\[270px\]{width:270px}.w-\[300px\]{width:300px}.w-\[600px\]{width:600px}.w-\[95\%\]{width:95%}.w-auto{width:auto}.w-full{width:100%}.w-px{width:1px}.min-w-\[275px\]{min-width:275px}.min-w-\[320px\]{min-width:320px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[900px\]{min-width:900px}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.min-w-fit{min-width:-moz-fit-content;min-width:fit-content}.min-w-full{min-width:100%}.max-w-\[1500px\]{max-width:1500px}.max-w-\[200px\]{max-width:200px}.max-w-lg{max-width:32rem}.flex-1{flex:1 1 0%}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-0{--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-scroll{overflow:scroll}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-x-scroll{overflow-x:scroll}.overflow-y-scroll{overflow-y:scroll}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-b-none{border-bottom-right-radius:0;border-bottom-left-radius:0}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-b-2{border-bottom-width:2px}.border-l,.border-l-\[1px\]{border-left-width:1px}.border-r{border-right-width:1px}.border-r-\[3px\]{border-right-width:3px}.border-t{border-top-width:1px}.border-t-0{border-top-width:0px}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-background{border-color:hsl(var(--background))}.border-foreground\/40{border-color:hsl(var(--foreground) / .4)}.border-foreground\/50{border-color:hsl(var(--foreground) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-red-400{--tw-border-opacity: 1;border-color:rgb(248 113 113 / var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgb(185 28 28 / var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-l-foreground\/10{border-left-color:hsl(var(--foreground) / .1)}.border-l-transparent{border-left-color:transparent}.border-t-muted{border-top-color:hsl(var(--muted))}.border-t-transparent{border-top-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground\/10{background-color:hsl(var(--foreground) / .1)}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:transparent}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-\[1px\]{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[10px\]{padding-left:10px;padding-right:10px}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[6px\]{padding-top:6px;padding-bottom:6px}.pb-0{padding-bottom:0}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extralight{font-weight:200}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/10{color:hsl(var(--foreground) / .1)}.text-foreground\/30{color:hsl(var(--foreground) / .3)}.text-foreground\/40{color:hsl(var(--foreground) / .4)}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/70{color:hsl(var(--foreground) / .7)}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-dashed{outline-style:dashed}.outline-\[0\.5px\]{outline-width:.5px}.outline-primary\/50{outline-color:hsl(var(--primary) / .5)}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black\/5{--tw-ring-color: rgb(0 0 0 / .05)}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.zoom-in-95{--tw-enter-scale: .95}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.ease-in{animation-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.\@container,.kpi-card{container-type:inline-size}@container (inline-size < 270px){.kpi-card>div:nth-of-type(2){display:none}}@container (inline-size > 270px){.kpi-card>div:nth-of-type(2){display:flex}}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.before\:tracking-tight:before{content:var(--tw-content);letter-spacing:-.025em}.before\:text-red-700:before{content:var(--tw-content);--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity))}.before\:content-\[\'\\\/\\\\\'\]:before{--tw-content: "/\\";content:var(--tw-content)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.after\:content-none:after{--tw-content: none;content:var(--tw-content)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-foreground\/100:hover{color:hsl(var(--foreground) / 1)}.hover\:text-foreground\/50:hover{color:hsl(var(--foreground) / .5)}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-0:focus{--tw-ring-offset-width: 0px}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-background\/75:focus-visible{--tw-ring-color: hsl(var(--background) / .75)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-0:focus-visible{--tw-ring-offset-width: 0px}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:border-2{border-width:2px}.group:hover .group-hover\:border-b-0{border-bottom-width:0px}.group:hover .group-hover\:border-l-0{border-left-width:0px}.group:hover .group-hover\:border-r-0{border-right-width:0px}.group:hover .group-hover\:border-t-0{border-top-width:0px}.group:hover .group-hover\:underline{text-decoration-line:underline}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:bg-accent[aria-selected=true]{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.aria-selected\:opacity-30[aria-selected=true]{opacity:.3}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=checked\]\:translate-x-5[data-state=checked]{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-foreground\/50[data-state=checked]{background-color:hsl(var(--foreground) / .5)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:hsl(var(--input))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on]{color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[state\=open\]\:animate-in[data-state=open]{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\[state\=closed\]\:animate-out[data-state=closed]{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity: 0}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity: 0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale: .95}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale: .95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y: -.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x: .5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x: -.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y: .5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y: 100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x: -100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x: -50%}.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x: 100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y: -100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y: -48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y: 100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x: -100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x: -50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x: 100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y: -100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y: -48%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@container (min-width: 20rem){.\@xs\:flex{display:flex}}:is(.dark .dark\:h-\[2px\]){height:2px}:is(.dark .dark\:-rotate-90){--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:rotate-0){--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:scale-0){--tw-scale-x: 0;--tw-scale-y: 0;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:scale-100){--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}:is(.dark .dark\:border-foreground\/70){border-color:hsl(var(--foreground) / .7)}:is(.dark .dark\:border-l-background){border-left-color:hsl(var(--background))}:is(.dark .dark\:bg-foreground\/20){background-color:hsl(var(--foreground) / .2)}:is(.dark .dark\:bg-foreground\/5){background-color:hsl(var(--foreground) / .05)}@media (min-width: 640px){.sm\:min-w-\[500px\]{min-width:500px}.sm\:max-w-\[425px\]{max-width:425px}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width: 768px){.md\:max-h-\[625px\]{max-height:625px}.md\:min-w-\[625px\]{min-width:625px}.md\:min-w-\[700px\]{min-width:700px}}@media (min-width: 1024px){.lg\:min-w-\[900px\]{min-width:900px}}@media (min-width: 1280px){.xl\:min-w-\[1000px\]{min-width:1000px}}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:hsl(var(--accent) / .5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>li\]\:mt-2>li{margin-top:.5rem}.\[\&\>span\]\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-top:.375rem;padding-bottom:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-top:.75rem;padding-bottom:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
|