@libredb/studio 0.9.12 → 0.9.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/workspace.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkRBVDMLFV_js = require('./chunk-RBVDMLFV.js');
3
+ var chunkY52UIFEX_js = require('./chunk-Y52UIFEX.js');
4
4
  require('./chunk-VLCRUZX7.js');
5
5
  var chunkQ6LRDBK7_js = require('./chunk-Q6LRDBK7.js');
6
6
  var React = require('react');
@@ -50,8 +50,8 @@ var ConnectionItem = React__default.default.memo(function ConnectionItem2({
50
50
  framerMotion.motion.div,
51
51
  {
52
52
  initial: false,
53
- className: chunkRBVDMLFV_js.cn(
54
- "group flex items-center gap-2.5 px-3 py-2 rounded-lg cursor-pointer transition-all duration-200 text-sm relative overflow-hidden",
53
+ className: chunkY52UIFEX_js.cn(
54
+ "group flex items-center gap-2.5 px-3 py-2 rounded-lg cursor-pointer transition-all duration-200 text-xs relative overflow-hidden",
55
55
  isActive ? "bg-blue-600/10 text-blue-400" : "hover:bg-accent/50 text-muted-foreground hover:text-foreground"
56
56
  ),
57
57
  onClick: () => onSelect(conn),
@@ -67,24 +67,24 @@ var ConnectionItem = React__default.default.memo(function ConnectionItem2({
67
67
  /* @__PURE__ */ jsxRuntime.jsx(
68
68
  "div",
69
69
  {
70
- className: chunkRBVDMLFV_js.cn(
70
+ className: chunkY52UIFEX_js.cn(
71
71
  "p-1 rounded transition-colors",
72
72
  isActive ? "bg-blue-500/20" : "bg-muted group-hover:bg-accent"
73
73
  ),
74
- children: React__default.default.createElement(chunkRBVDMLFV_js.getDBIcon(conn.type), { className: "w-3 h-3" })
74
+ children: React__default.default.createElement(chunkY52UIFEX_js.getDBIcon(conn.type), { className: "w-3 h-3" })
75
75
  }
76
76
  ),
77
77
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
78
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate block font-medium text-body", children: conn.name }),
78
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate block font-medium text-xs", children: conn.name }),
79
79
  conn.environment && conn.environment !== "other" && /* @__PURE__ */ jsxRuntime.jsx(
80
80
  "span",
81
81
  {
82
- className: "text-micro uppercase tracking-wider font-bold px-1.5 py-0.5 rounded-sm shrink-0",
82
+ className: "text-[0.5rem] font-medium px-1.5 py-0.5 rounded-sm shrink-0",
83
83
  style: {
84
84
  color: conn.color || "#6b7280",
85
85
  backgroundColor: `${conn.color || "#6b7280"}15`
86
86
  },
87
- children: chunkRBVDMLFV_js.ENVIRONMENT_LABELS[conn.environment]
87
+ children: chunkY52UIFEX_js.ENVIRONMENT_LABELS[conn.environment]
88
88
  }
89
89
  )
90
90
  ] }) }),
@@ -93,35 +93,31 @@ var ConnectionItem = React__default.default.memo(function ConnectionItem2({
93
93
  "div",
94
94
  {
95
95
  "data-testid": `managed-lock-${conn.seedId || conn.id}`,
96
- className: "w-6 h-6 flex items-center justify-center text-amber-500/60",
96
+ className: "flex items-center justify-center text-amber-500/60",
97
97
  title: "Managed by administrator",
98
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { className: "w-3 h-3" })
98
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Lock, { strokeWidth: 1.5, className: "w-3 h-3" })
99
99
  }
100
100
  ),
101
101
  !conn.managed && onEdit && /* @__PURE__ */ jsxRuntime.jsx(
102
- chunkRBVDMLFV_js.Button,
102
+ "button",
103
103
  {
104
- variant: "ghost",
105
- size: "icon",
106
- className: "w-6 h-6 opacity-0 group-hover:opacity-100 transition-opacity hover:bg-blue-500/20 hover:text-blue-400",
104
+ className: "p-1 rounded opacity-0 group-hover:opacity-100 transition-opacity hover:bg-blue-500/20 hover:text-blue-400",
107
105
  onClick: (e) => {
108
106
  e.stopPropagation();
109
107
  onEdit(conn);
110
108
  },
111
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "w-3 h-3" })
109
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { strokeWidth: 1.5, className: "w-3 h-3" })
112
110
  }
113
111
  ),
114
112
  !conn.managed && /* @__PURE__ */ jsxRuntime.jsx(
115
- chunkRBVDMLFV_js.Button,
113
+ "button",
116
114
  {
117
- variant: "ghost",
118
- size: "icon",
119
- className: "w-6 h-6 opacity-0 group-hover:opacity-100 transition-opacity hover:bg-red-500/20 hover:text-red-400",
115
+ className: "p-1 rounded opacity-0 group-hover:opacity-100 transition-opacity hover:bg-red-500/20 hover:text-red-400",
120
116
  onClick: (e) => {
121
117
  e.stopPropagation();
122
118
  onDelete(conn.id);
123
119
  },
124
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "w-3 h-3" })
120
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { strokeWidth: 1.5, className: "w-3 h-3" })
125
121
  }
126
122
  )
127
123
  ] })
@@ -139,13 +135,13 @@ function ConnectionsList({
139
135
  }) {
140
136
  return /* @__PURE__ */ jsxRuntime.jsxs("section", { children: [
141
137
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-3 mb-2 flex items-center justify-between", children: [
142
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold uppercase tracking-[0.15em] text-muted-foreground", children: "Connections" }),
138
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Connections" }),
143
139
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[1px] flex-1 bg-border/30 ml-3" })
144
140
  ] }),
145
141
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-0.5", children: connections.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-3 py-6 text-center border border-dashed border-border/50 rounded-lg mx-2", children: [
146
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-body text-muted-foreground mb-3 leading-relaxed", children: "No database connections established yet." }),
142
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground mb-3 leading-relaxed", children: "No database connections established yet." }),
147
143
  /* @__PURE__ */ jsxRuntime.jsx(
148
- chunkRBVDMLFV_js.Button,
144
+ chunkY52UIFEX_js.Button,
149
145
  {
150
146
  variant: "outline",
151
147
  size: "sm",
@@ -191,34 +187,30 @@ function Sidebar({
191
187
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full h-full border-r border-border flex-col bg-background select-none", children: [
192
188
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-14 px-4 flex items-center justify-between border-b border-border", children: [
193
189
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
194
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-6 h-6 bg-blue-600 rounded-md flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Zap, { className: "w-3.5 h-3.5 text-white fill-current" }) }),
195
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-bold text-sm tracking-tight bg-gradient-to-r from-foreground to-muted-foreground bg-clip-text text-transparent", children: "LibreDB Studio" })
190
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-5 h-5 bg-blue-600 rounded flex items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Zap, { strokeWidth: 1.5, className: "w-3 h-3 text-white fill-current" }) }),
191
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium text-xs tracking-tight bg-gradient-to-r from-foreground to-muted-foreground bg-clip-text text-transparent", children: "LibreDB Studio" })
196
192
  ] }),
197
193
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
198
194
  activeConnection && /* @__PURE__ */ jsxRuntime.jsx(
199
- chunkRBVDMLFV_js.Button,
195
+ "button",
200
196
  {
201
- variant: "ghost",
202
- size: "icon",
203
- className: "h-8 w-8 hover:bg-accent text-muted-foreground hover:text-foreground transition-colors",
197
+ className: "p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground transition-colors",
204
198
  onClick: onShowDiagram,
205
199
  title: "Show ERD Diagram",
206
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Layers, { className: "w-4 h-4" })
200
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Layers, { strokeWidth: 1.5, className: "w-3.5 h-3.5" })
207
201
  }
208
202
  ),
209
203
  /* @__PURE__ */ jsxRuntime.jsx(
210
- chunkRBVDMLFV_js.Button,
204
+ "button",
211
205
  {
212
- variant: "ghost",
213
- size: "icon",
214
- className: "h-8 w-8 hover:bg-accent text-muted-foreground hover:text-foreground transition-colors",
206
+ className: "p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground transition-colors",
215
207
  onClick: onAddConnection,
216
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "w-4 h-4" })
208
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { strokeWidth: 1.5, className: "w-3.5 h-3.5" })
217
209
  }
218
210
  )
219
211
  ] })
220
212
  ] }),
221
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.ScrollArea, { className: "flex-1 min-h-0 px-2 py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
213
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.ScrollArea, { className: "flex-1 min-h-0 px-2 py-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
222
214
  /* @__PURE__ */ jsxRuntime.jsx(
223
215
  ConnectionsList,
224
216
  {
@@ -231,7 +223,7 @@ function Sidebar({
231
223
  }
232
224
  ),
233
225
  activeConnection && /* @__PURE__ */ jsxRuntime.jsx(
234
- chunkRBVDMLFV_js.SchemaExplorer,
226
+ chunkY52UIFEX_js.SchemaExplorer,
235
227
  {
236
228
  schema,
237
229
  isLoadingSchema,
@@ -434,24 +426,24 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
434
426
  handleClose();
435
427
  }, 200);
436
428
  };
437
- return /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.Dialog, { open: isOpen, onOpenChange: handleClose, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DialogContent, { className: "bg-[#0a0a0a] border-white/10 text-zinc-100 max-w-2xl max-h-[85vh] overflow-hidden flex flex-col", children: [
438
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DialogTitle, { className: "flex items-center gap-2", children: [
439
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "w-5 h-5 text-blue-400" }),
429
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.Dialog, { open: isOpen, onOpenChange: handleClose, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DialogContent, { className: "bg-[#0a0a0a] border-white/10 text-zinc-100 max-w-2xl max-h-[85vh] overflow-hidden flex flex-col", children: [
430
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DialogTitle, { className: "flex items-center gap-2", children: [
431
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { strokeWidth: 1.5, className: "w-5 h-5 text-blue-400" }),
440
432
  "Import Data",
441
433
  fileName && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 font-normal ml-2", children: fileName })
442
434
  ] }) }),
443
435
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 px-1 py-2", children: ["upload", "preview", "configure", "ready"].map((s, idx) => /* @__PURE__ */ jsxRuntime.jsxs(React__default.default.Fragment, { children: [
444
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkRBVDMLFV_js.cn(
445
- "flex items-center gap-1.5 text-xs font-bold uppercase tracking-wider",
436
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkY52UIFEX_js.cn(
437
+ "flex items-center gap-1.5 text-xs font-mediumr",
446
438
  step === s ? "text-blue-400" : idx < ["upload", "preview", "configure", "ready"].indexOf(step) ? "text-emerald-400" : "text-zinc-600"
447
439
  ), children: [
448
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkRBVDMLFV_js.cn(
449
- "w-5 h-5 rounded-full flex items-center justify-center text-label",
440
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkY52UIFEX_js.cn(
441
+ "w-5 h-5 rounded-full flex items-center justify-center text-[0.625rem]",
450
442
  step === s ? "bg-blue-500/20 border border-blue-500/40" : idx < ["upload", "preview", "configure", "ready"].indexOf(step) ? "bg-emerald-500/20 border border-emerald-500/40" : "bg-white/5 border border-white/10"
451
- ), children: idx < ["upload", "preview", "configure", "ready"].indexOf(step) ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-3 h-3" }) : idx + 1 }),
443
+ ), children: idx < ["upload", "preview", "configure", "ready"].indexOf(step) ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { strokeWidth: 1.5, className: "w-3 h-3" }) : idx + 1 }),
452
444
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "hidden sm:inline", children: s === "upload" ? "Upload" : s === "preview" ? "Preview" : s === "configure" ? "Configure" : "Import" })
453
445
  ] }),
454
- idx < 3 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "w-3 h-3 text-zinc-700" })
446
+ idx < 3 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { strokeWidth: 1.5, className: "w-3 h-3 text-zinc-700" })
455
447
  ] }, s)) }),
456
448
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-auto min-h-0", children: [
457
449
  step === "upload" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4", children: [
@@ -466,16 +458,16 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
466
458
  },
467
459
  className: "border-2 border-dashed border-white/10 rounded-xl p-12 text-center cursor-pointer hover:border-blue-500/30 hover:bg-blue-500/5 transition-all",
468
460
  children: [
469
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "w-10 h-10 text-zinc-600 mx-auto mb-4" }),
470
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-zinc-400 mb-1", children: "Drop a file here or click to browse" }),
461
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { strokeWidth: 1.5, className: "w-10 h-10 text-zinc-600 mx-auto mb-4" }),
462
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-zinc-400 mb-1", children: "Drop a file here or click to browse" }),
471
463
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-zinc-600", children: "Supports CSV and JSON files" }),
472
464
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-center gap-4 mt-4", children: [
473
465
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-zinc-500", children: [
474
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileSpreadsheet, { className: "w-4 h-4" }),
466
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileSpreadsheet, { strokeWidth: 1.5, className: "w-3.5 h-3.5" }),
475
467
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs", children: "CSV" })
476
468
  ] }),
477
469
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-zinc-500", children: [
478
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileJson, { className: "w-4 h-4" }),
470
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileJson, { strokeWidth: 1.5, className: "w-3.5 h-3.5" }),
479
471
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs", children: "JSON" })
480
472
  ] })
481
473
  ] })
@@ -497,16 +489,16 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
497
489
  }
498
490
  ),
499
491
  error && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-4 p-3 rounded-lg bg-red-500/10 border border-red-500/20 flex items-center gap-2", children: [
500
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4 text-red-400 shrink-0" }),
492
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { strokeWidth: 1.5, className: "w-3.5 h-3.5 text-red-400 shrink-0" }),
501
493
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-red-400", children: error })
502
494
  ] })
503
495
  ] }),
504
496
  step === "preview" && parsedData && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 space-y-4", children: [
505
497
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
506
498
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
507
- fileType === "json" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileJson, { className: "w-5 h-5 text-amber-400" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "w-5 h-5 text-emerald-400" }),
499
+ fileType === "json" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileJson, { strokeWidth: 1.5, className: "w-5 h-5 text-amber-400" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { strokeWidth: 1.5, className: "w-5 h-5 text-emerald-400" }),
508
500
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
509
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: fileName }),
501
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium", children: fileName }),
510
502
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-zinc-500", children: [
511
503
  parsedData.totalRows,
512
504
  " rows, ",
@@ -516,7 +508,7 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
516
508
  ] })
517
509
  ] }),
518
510
  /* @__PURE__ */ jsxRuntime.jsxs(
519
- chunkRBVDMLFV_js.Button,
511
+ chunkY52UIFEX_js.Button,
520
512
  {
521
513
  variant: "ghost",
522
514
  size: "sm",
@@ -525,7 +517,7 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
525
517
  resetState();
526
518
  },
527
519
  children: [
528
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "w-3 h-3 mr-1" }),
520
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { strokeWidth: 1.5, className: "w-3 h-3 mr-1" }),
529
521
  " Reset"
530
522
  ]
531
523
  }
@@ -533,7 +525,7 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
533
525
  ] }),
534
526
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border border-white/5 rounded-lg overflow-auto max-h-60", children: [
535
527
  /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-xs", children: [
536
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { className: "bg-[#0d0d0d]", children: parsedData.headers.map((h) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-3 py-2 text-left text-xs uppercase tracking-wider text-zinc-500 font-mono border-b border-white/5 whitespace-nowrap", children: h }, h)) }) }),
528
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsx("tr", { className: "bg-[#0d0d0d]", children: parsedData.headers.map((h) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-3 py-2 text-left text-xs uppercase text-zinc-500 font-mono border-b border-white/5 whitespace-nowrap", children: h }, h)) }) }),
537
529
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: parsedData.rows.slice(0, 10).map((row, idx) => /* @__PURE__ */ jsxRuntime.jsx("tr", { className: "border-b border-white/5 hover:bg-white/[0.02]", children: row.map((cell, cidx) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-1.5 text-zinc-300 font-mono whitespace-nowrap max-w-[200px] truncate", children: cell || /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-zinc-600 italic", children: "NULL" }) }, cidx)) }, idx)) })
538
530
  ] }),
539
531
  parsedData.totalRows > 10 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center py-2 text-xs text-zinc-600 bg-[#0d0d0d]", children: [
@@ -543,14 +535,14 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
543
535
  ] })
544
536
  ] }),
545
537
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-end", children: /* @__PURE__ */ jsxRuntime.jsxs(
546
- chunkRBVDMLFV_js.Button,
538
+ chunkY52UIFEX_js.Button,
547
539
  {
548
540
  size: "sm",
549
541
  className: "bg-blue-600 hover:bg-blue-500 h-8 text-xs gap-1",
550
542
  onClick: () => setStep("configure"),
551
543
  children: [
552
544
  "Configure Import ",
553
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "w-3 h-3" })
545
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { strokeWidth: 1.5, className: "w-3 h-3" })
554
546
  ]
555
547
  }
556
548
  ) })
@@ -562,13 +554,13 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
562
554
  /* @__PURE__ */ jsxRuntime.jsxs(
563
555
  "button",
564
556
  {
565
- className: chunkRBVDMLFV_js.cn(
557
+ className: chunkY52UIFEX_js.cn(
566
558
  "flex-1 px-3 py-2 rounded-lg border text-xs text-left transition-all",
567
559
  !createNewTable ? "border-blue-500/40 bg-blue-500/10 text-blue-400" : "border-white/10 text-zinc-500 hover:bg-white/5"
568
560
  ),
569
561
  onClick: () => setCreateNewTable(false),
570
562
  children: [
571
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Table2, { className: "w-4 h-4 mb-1" }),
563
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Table2, { strokeWidth: 1.5, className: "w-3.5 h-3.5 mb-1" }),
572
564
  "Existing Table"
573
565
  ]
574
566
  }
@@ -576,13 +568,13 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
576
568
  /* @__PURE__ */ jsxRuntime.jsxs(
577
569
  "button",
578
570
  {
579
- className: chunkRBVDMLFV_js.cn(
571
+ className: chunkY52UIFEX_js.cn(
580
572
  "flex-1 px-3 py-2 rounded-lg border text-xs text-left transition-all",
581
573
  createNewTable ? "border-emerald-500/40 bg-emerald-500/10 text-emerald-400" : "border-white/10 text-zinc-500 hover:bg-white/5"
582
574
  ),
583
575
  onClick: () => setCreateNewTable(true),
584
576
  children: [
585
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileSpreadsheet, { className: "w-4 h-4 mb-1" }),
577
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileSpreadsheet, { strokeWidth: 1.5, className: "w-3.5 h-3.5 mb-1" }),
586
578
  "New Table"
587
579
  ]
588
580
  }
@@ -592,12 +584,12 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
592
584
  createNewTable ? /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
593
585
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs text-zinc-400", children: "New Table Name" }),
594
586
  /* @__PURE__ */ jsxRuntime.jsx(
595
- chunkRBVDMLFV_js.Input,
587
+ chunkY52UIFEX_js.Input,
596
588
  {
597
589
  value: newTableName,
598
590
  onChange: (e) => setNewTableName(e.target.value),
599
591
  placeholder: "imported_data",
600
- className: "mt-1 bg-[#111] border-white/10 text-sm h-9"
592
+ className: "mt-1 bg-[#111] border-white/10 text-xs h-9"
601
593
  }
602
594
  )
603
595
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -607,7 +599,7 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
607
599
  {
608
600
  value: targetTable,
609
601
  onChange: (e) => setTargetTable(e.target.value),
610
- className: "w-full mt-1 bg-[#111] border border-white/10 rounded-md px-3 py-2 text-sm text-zinc-300 outline-none focus:border-blue-500/40",
602
+ className: "w-full mt-1 bg-[#111] border border-white/10 rounded-md px-3 py-2 text-xs text-zinc-300 outline-none focus:border-blue-500/40",
611
603
  children: [
612
604
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", children: "-- Select a table --" }),
613
605
  tables.map((t) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: t.name, children: t.name }, t.name))
@@ -618,16 +610,16 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
618
610
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
619
611
  /* @__PURE__ */ jsxRuntime.jsx("label", { className: "text-xs text-zinc-400 font-medium", children: "Column Mapping" }),
620
612
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border border-white/5 rounded-lg overflow-hidden", children: [
621
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-[#0d0d0d] grid grid-cols-[1fr,auto,1fr] gap-2 px-3 py-1.5 text-xs uppercase tracking-wider text-zinc-500 border-b border-white/5", children: [
613
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-[#0d0d0d] grid grid-cols-[1fr,auto,1fr] gap-2 px-3 py-1.5 text-xs text-zinc-500 border-b border-white/5", children: [
622
614
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Source Column" }),
623
615
  /* @__PURE__ */ jsxRuntime.jsx("span", {}),
624
616
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Target Column" })
625
617
  ] }),
626
618
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-h-40 overflow-auto", children: parsedData.headers.map((header) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr,auto,1fr] gap-2 items-center px-3 py-1.5 border-b border-white/5", children: [
627
619
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-300 font-mono truncate", children: header }),
628
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "w-3 h-3 text-zinc-600" }),
620
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { strokeWidth: 1.5, className: "w-3 h-3 text-zinc-600" }),
629
621
  /* @__PURE__ */ jsxRuntime.jsx(
630
- chunkRBVDMLFV_js.Input,
622
+ chunkY52UIFEX_js.Input,
631
623
  {
632
624
  value: columnMapping[header] || "",
633
625
  onChange: (e) => setColumnMapping((prev) => chunkQ6LRDBK7_js.__spreadProps(chunkQ6LRDBK7_js.__spreadValues({}, prev), { [header]: e.target.value })),
@@ -640,7 +632,7 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
640
632
  ] }),
641
633
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between", children: [
642
634
  /* @__PURE__ */ jsxRuntime.jsx(
643
- chunkRBVDMLFV_js.Button,
635
+ chunkY52UIFEX_js.Button,
644
636
  {
645
637
  variant: "ghost",
646
638
  size: "sm",
@@ -650,7 +642,7 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
650
642
  }
651
643
  ),
652
644
  /* @__PURE__ */ jsxRuntime.jsxs(
653
- chunkRBVDMLFV_js.Button,
645
+ chunkY52UIFEX_js.Button,
654
646
  {
655
647
  size: "sm",
656
648
  className: "bg-blue-600 hover:bg-blue-500 h-8 text-xs gap-1",
@@ -658,7 +650,7 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
658
650
  disabled: !createNewTable && !targetTable,
659
651
  children: [
660
652
  "Review SQL ",
661
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "w-3 h-3" })
653
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { strokeWidth: 1.5, className: "w-3 h-3" })
662
654
  ]
663
655
  }
664
656
  )
@@ -667,14 +659,14 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
667
659
  step === "ready" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 space-y-4", children: [
668
660
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
669
661
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
670
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: "Ready to Import" }),
662
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium", children: "Ready to Import" }),
671
663
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-zinc-500 mt-0.5", children: [
672
664
  parsedData == null ? void 0 : parsedData.totalRows,
673
665
  " rows into ",
674
666
  createNewTable ? newTableName || "imported_data" : targetTable
675
667
  ] })
676
668
  ] }),
677
- databaseType && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs uppercase tracking-wider text-zinc-500 bg-white/5 px-2 py-1 rounded", children: databaseType })
669
+ databaseType && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 bg-white/5 px-2 py-1 rounded", children: databaseType })
678
670
  ] }),
679
671
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border border-white/5 rounded-lg bg-[#0d0d0d] overflow-auto max-h-60", children: /* @__PURE__ */ jsxRuntime.jsxs("pre", { className: "p-3 text-xs text-zinc-400 font-mono whitespace-pre-wrap", children: [
680
672
  generatedSQL.substring(0, 3e3),
@@ -682,7 +674,7 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
682
674
  ] }) }),
683
675
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between", children: [
684
676
  /* @__PURE__ */ jsxRuntime.jsx(
685
- chunkRBVDMLFV_js.Button,
677
+ chunkY52UIFEX_js.Button,
686
678
  {
687
679
  variant: "ghost",
688
680
  size: "sm",
@@ -693,7 +685,7 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
693
685
  ),
694
686
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-2", children: [
695
687
  /* @__PURE__ */ jsxRuntime.jsx(
696
- chunkRBVDMLFV_js.Button,
688
+ chunkY52UIFEX_js.Button,
697
689
  {
698
690
  variant: "outline",
699
691
  size: "sm",
@@ -705,17 +697,17 @@ function DataImportModal({ isOpen, onClose, onImport, tables, databaseType }) {
705
697
  }
706
698
  ),
707
699
  /* @__PURE__ */ jsxRuntime.jsx(
708
- chunkRBVDMLFV_js.Button,
700
+ chunkY52UIFEX_js.Button,
709
701
  {
710
702
  size: "sm",
711
703
  className: "bg-emerald-600 hover:bg-emerald-500 h-8 text-xs gap-1",
712
704
  onClick: handleImport,
713
705
  disabled: isImporting,
714
706
  children: isImporting ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
715
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "w-3 h-3 animate-spin" }),
707
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { strokeWidth: 1.5, className: "w-3 h-3 animate-spin" }),
716
708
  " Importing..."
717
709
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
718
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "w-3 h-3" }),
710
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { strokeWidth: 1.5, className: "w-3 h-3" }),
719
711
  " Execute Import"
720
712
  ] })
721
713
  }
@@ -732,7 +724,7 @@ function Textarea(_a) {
732
724
  "textarea",
733
725
  chunkQ6LRDBK7_js.__spreadValues({
734
726
  "data-slot": "textarea",
735
- className: chunkRBVDMLFV_js.cn(
727
+ className: chunkY52UIFEX_js.cn(
736
728
  "border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
737
729
  className
738
730
  )
@@ -752,19 +744,19 @@ function SaveQueryModal({ isOpen, onClose, onSave, defaultQuery }) {
752
744
  setTagsInput("");
753
745
  onClose();
754
746
  };
755
- return /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.Dialog, { open: isOpen, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DialogContent, { className: "bg-[#0d0d0d] border-white/10 text-zinc-300 sm:max-w-[425px]", children: [
756
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DialogHeader, { children: [
757
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DialogTitle, { className: "text-white flex items-center gap-2", children: [
758
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bookmark, { className: "w-5 h-5 text-blue-500" }),
747
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.Dialog, { open: isOpen, onOpenChange: onClose, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DialogContent, { className: "bg-[#0d0d0d] border-white/10 text-zinc-300 sm:max-w-[425px]", children: [
748
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DialogHeader, { children: [
749
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DialogTitle, { className: "text-white flex items-center gap-2", children: [
750
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bookmark, { strokeWidth: 1.5, className: "w-5 h-5 text-blue-500" }),
759
751
  " Save Query"
760
752
  ] }),
761
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DialogDescription, { className: "text-zinc-500", children: "Give your query a name and description to find it easily later." })
753
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DialogDescription, { className: "text-zinc-500", children: "Give your query a name and description to find it easily later." })
762
754
  ] }),
763
755
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-4 py-4", children: [
764
756
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-2", children: [
765
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.Label, { htmlFor: "name", className: "text-xs font-bold uppercase tracking-widest text-zinc-500", children: "Name" }),
757
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.Label, { htmlFor: "name", className: "text-xs font-medium text-zinc-500", children: "Name" }),
766
758
  /* @__PURE__ */ jsxRuntime.jsx(
767
- chunkRBVDMLFV_js.Input,
759
+ chunkY52UIFEX_js.Input,
768
760
  {
769
761
  id: "name",
770
762
  value: name,
@@ -775,7 +767,7 @@ function SaveQueryModal({ isOpen, onClose, onSave, defaultQuery }) {
775
767
  )
776
768
  ] }),
777
769
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-2", children: [
778
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.Label, { htmlFor: "description", className: "text-xs font-bold uppercase tracking-widest text-zinc-500", children: "Description" }),
770
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.Label, { htmlFor: "description", className: "text-xs font-medium text-zinc-500", children: "Description" }),
779
771
  /* @__PURE__ */ jsxRuntime.jsx(
780
772
  Textarea,
781
773
  {
@@ -788,12 +780,12 @@ function SaveQueryModal({ isOpen, onClose, onSave, defaultQuery }) {
788
780
  )
789
781
  ] }),
790
782
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-2", children: [
791
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.Label, { htmlFor: "tags", className: "text-xs font-bold uppercase tracking-widest text-zinc-500 flex items-center gap-2", children: [
792
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Tag, { className: "w-3 h-3" }),
783
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.Label, { htmlFor: "tags", className: "text-xs font-medium text-zinc-500 flex items-center gap-2", children: [
784
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Tag, { strokeWidth: 1.5, className: "w-3 h-3" }),
793
785
  " Tags (comma separated)"
794
786
  ] }),
795
787
  /* @__PURE__ */ jsxRuntime.jsx(
796
- chunkRBVDMLFV_js.Input,
788
+ chunkY52UIFEX_js.Input,
797
789
  {
798
790
  id: "tags",
799
791
  value: tagsInput,
@@ -804,18 +796,18 @@ function SaveQueryModal({ isOpen, onClose, onSave, defaultQuery }) {
804
796
  )
805
797
  ] }),
806
798
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2", children: [
807
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.Label, { className: "text-xs font-bold uppercase tracking-widest text-zinc-500 mb-2 block", children: "Preview" }),
799
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.Label, { className: "text-xs font-medium text-zinc-500 mb-2 block", children: "Preview" }),
808
800
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-[#050505] p-3 rounded-md border border-white/5 max-h-[100px] overflow-y-auto", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs font-mono text-zinc-500 italic whitespace-pre-wrap break-words", children: defaultQuery }) })
809
801
  ] })
810
802
  ] }),
811
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DialogFooter, { children: [
812
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.Button, { variant: "ghost", onClick: onClose, className: "text-zinc-400", children: "Cancel" }),
803
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DialogFooter, { children: [
804
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.Button, { variant: "ghost", onClick: onClose, className: "text-zinc-400", children: "Cancel" }),
813
805
  /* @__PURE__ */ jsxRuntime.jsx(
814
- chunkRBVDMLFV_js.Button,
806
+ chunkY52UIFEX_js.Button,
815
807
  {
816
808
  onClick: handleSave,
817
809
  disabled: !name,
818
- className: "bg-blue-600 hover:bg-blue-500 text-white font-bold",
810
+ className: "bg-blue-600 hover:bg-blue-500 text-white font-medium",
819
811
  children: "Save Query"
820
812
  }
821
813
  )
@@ -843,12 +835,12 @@ function StudioTabBar({
843
835
  onSetEditingTabId(tab.id);
844
836
  onSetEditingTabName(tab.name);
845
837
  },
846
- className: chunkRBVDMLFV_js.cn(
838
+ className: chunkY52UIFEX_js.cn(
847
839
  "h-8 flex items-center px-3 gap-2 rounded-t-md transition-all cursor-pointer min-w-[120px] max-w-[200px] group relative border-t-2",
848
840
  activeTabId === tab.id ? "bg-[#141414] text-zinc-100 border-blue-500" : "text-zinc-500 hover:bg-white/5 border-transparent"
849
841
  ),
850
842
  children: [
851
- tab.type === "sql" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Hash, { className: "w-3 h-3" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileJson, { className: "w-3 h-3" }),
843
+ tab.type === "sql" ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Hash, { strokeWidth: 1.5, className: "w-3 h-3" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileJson, { strokeWidth: 1.5, className: "w-3 h-3" }),
852
844
  editingTabId === tab.id ? /* @__PURE__ */ jsxRuntime.jsx(
853
845
  "input",
854
846
  {
@@ -875,12 +867,12 @@ function StudioTabBar({
875
867
  className: "text-xs font-medium bg-transparent border-b border-blue-500 outline-none w-full text-zinc-100"
876
868
  }
877
869
  ) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs truncate font-medium", children: tab.name }),
878
- tabs.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "w-3 h-3 ml-auto opacity-0 group-hover:opacity-100 hover:text-white shrink-0", onClick: (e) => onCloseTab(tab.id, e) })
870
+ tabs.length > 1 && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { strokeWidth: 1.5, className: "w-3 h-3 ml-auto opacity-0 group-hover:opacity-100 hover:text-white shrink-0", onClick: (e) => onCloseTab(tab.id, e) })
879
871
  ]
880
872
  },
881
873
  tab.id
882
874
  )),
883
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "w-4 h-4 text-zinc-500 cursor-pointer hover:text-white mx-2", onClick: onAddTab })
875
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { strokeWidth: 1.5, className: "w-3.5 h-3.5 text-zinc-500 cursor-pointer hover:text-white mx-2", onClick: onAddTab })
884
876
  ] });
885
877
  }
886
878
  function QueryToolbar({
@@ -902,133 +894,133 @@ function QueryToolbar({
902
894
  }) {
903
895
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
904
896
  playgroundMode && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden md:flex items-center justify-center gap-2 px-4 py-1 bg-emerald-500/10 border-b border-emerald-500/20 text-emerald-400", children: [
905
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FlaskConical, { className: "w-3 h-3" }),
906
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold uppercase tracking-widest", children: "Sandbox Mode \u2014 All changes will be auto-rolled back" })
897
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FlaskConical, { strokeWidth: 1.5, className: "w-3 h-3" }),
898
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-mediumr", children: "Sandbox Mode \u2014 All changes will be auto-rolled back" })
907
899
  ] }),
908
900
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "hidden md:flex items-center justify-between px-4 py-1.5 bg-[#0a0a0a] border-b border-white/5", children: [
909
901
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-4", children: [
910
902
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 px-2 py-0.5 rounded bg-blue-500/5 border border-blue-500/10", children: [
911
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Terminal, { className: "w-3 h-3 text-blue-400" }),
912
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold text-blue-400 uppercase tracking-widest", children: "Query" })
903
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Terminal, { strokeWidth: 1.5, className: "w-3 h-3 text-blue-400" }),
904
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-blue-400", children: "Query" })
913
905
  ] }),
914
906
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-px bg-white/5" }),
915
907
  /* @__PURE__ */ jsxRuntime.jsxs(
916
- chunkRBVDMLFV_js.Button,
908
+ chunkY52UIFEX_js.Button,
917
909
  {
918
910
  variant: "ghost",
919
911
  size: "sm",
920
- className: "h-7 text-xs font-bold uppercase tracking-widest text-zinc-500 hover:text-white gap-2",
912
+ className: "h-7 text-xs font-medium text-zinc-500 hover:text-white gap-2",
921
913
  onClick: onSaveQuery,
922
914
  children: [
923
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Save, { className: "w-3 h-3" }),
915
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Save, { strokeWidth: 1.5, className: "w-3 h-3" }),
924
916
  " Save"
925
917
  ]
926
918
  }
927
919
  )
928
920
  ] }),
929
921
  isExecuting ? /* @__PURE__ */ jsxRuntime.jsxs(
930
- chunkRBVDMLFV_js.Button,
922
+ chunkY52UIFEX_js.Button,
931
923
  {
932
924
  size: "sm",
933
- className: "bg-red-600 hover:bg-red-500 text-white font-bold text-body h-7 px-4 gap-2",
925
+ className: "bg-red-600 hover:bg-red-500 text-white font-medium text-xs h-7 px-4 gap-2",
934
926
  onClick: onCancelQuery,
935
927
  children: [
936
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { className: "w-3 h-3 fill-current" }),
928
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Square, { strokeWidth: 1.5, className: "w-3 h-3 fill-current" }),
937
929
  "CANCEL"
938
930
  ]
939
931
  }
940
932
  ) : /* @__PURE__ */ jsxRuntime.jsxs(
941
- chunkRBVDMLFV_js.Button,
933
+ chunkY52UIFEX_js.Button,
942
934
  {
943
935
  size: "sm",
944
- className: "bg-blue-600 hover:bg-blue-500 text-white font-bold text-body h-7 px-4 gap-2",
936
+ className: "bg-blue-600 hover:bg-blue-500 text-white font-medium text-xs h-7 px-4 gap-2",
945
937
  onClick: onExecuteQuery,
946
938
  disabled: !activeConnection,
947
939
  children: [
948
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Play, { className: "w-3 h-3 fill-current" }),
940
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Play, { strokeWidth: 1.5, className: "w-3 h-3 fill-current" }),
949
941
  "RUN"
950
942
  ]
951
943
  }
952
944
  ),
953
945
  activeConnection && (metadata == null ? void 0 : metadata.capabilities.queryLanguage) === "sql" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 ml-2 pl-2 border-l border-white/10", children: [
954
946
  transactionActive ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
955
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-label font-bold text-amber-400 uppercase tracking-wider px-1.5 py-0.5 bg-amber-500/10 rounded border border-amber-500/20 mr-1", children: "TXN" }),
947
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-[0.625rem] font-medium text-amber-400 px-1.5 py-0.5 bg-amber-500/10 rounded border border-amber-500/20 mr-1", children: "TXN" }),
956
948
  /* @__PURE__ */ jsxRuntime.jsx(
957
- chunkRBVDMLFV_js.Button,
949
+ chunkY52UIFEX_js.Button,
958
950
  {
959
951
  size: "sm",
960
952
  variant: "ghost",
961
- className: "h-7 text-xs font-bold text-emerald-400 hover:text-emerald-300 hover:bg-emerald-500/10 gap-1",
953
+ className: "h-7 text-xs font-medium text-emerald-400 hover:text-emerald-300 hover:bg-emerald-500/10 gap-1",
962
954
  onClick: onCommitTransaction,
963
955
  children: "COMMIT"
964
956
  }
965
957
  ),
966
958
  /* @__PURE__ */ jsxRuntime.jsx(
967
- chunkRBVDMLFV_js.Button,
959
+ chunkY52UIFEX_js.Button,
968
960
  {
969
961
  size: "sm",
970
962
  variant: "ghost",
971
- className: "h-7 text-xs font-bold text-red-400 hover:text-red-300 hover:bg-red-500/10 gap-1",
963
+ className: "h-7 text-xs font-medium text-red-400 hover:text-red-300 hover:bg-red-500/10 gap-1",
972
964
  onClick: onRollbackTransaction,
973
965
  children: "ROLLBACK"
974
966
  }
975
967
  )
976
968
  ] }) : /* @__PURE__ */ jsxRuntime.jsx(
977
- chunkRBVDMLFV_js.Button,
969
+ chunkY52UIFEX_js.Button,
978
970
  {
979
971
  size: "sm",
980
972
  variant: "ghost",
981
- className: "h-7 text-xs font-bold uppercase tracking-widest text-zinc-500 hover:text-white gap-1",
973
+ className: "h-7 text-xs font-medium text-zinc-500 hover:text-white gap-1",
982
974
  onClick: onBeginTransaction,
983
975
  disabled: playgroundMode,
984
976
  children: "BEGIN"
985
977
  }
986
978
  ),
987
979
  /* @__PURE__ */ jsxRuntime.jsxs(
988
- chunkRBVDMLFV_js.Button,
980
+ chunkY52UIFEX_js.Button,
989
981
  {
990
982
  size: "sm",
991
983
  variant: "ghost",
992
- className: chunkRBVDMLFV_js.cn(
993
- "h-7 text-xs font-bold uppercase tracking-widest gap-1",
984
+ className: chunkY52UIFEX_js.cn(
985
+ "h-7 text-xs font-medium gap-1",
994
986
  playgroundMode ? "text-emerald-400 bg-emerald-500/10 hover:bg-emerald-500/20" : "text-zinc-500 hover:text-white"
995
987
  ),
996
988
  onClick: onTogglePlayground,
997
989
  disabled: transactionActive,
998
990
  title: "Playground mode: queries are auto-rolled back",
999
991
  children: [
1000
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FlaskConical, { className: "w-3 h-3" }),
992
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FlaskConical, { strokeWidth: 1.5, className: "w-3 h-3" }),
1001
993
  "SANDBOX"
1002
994
  ]
1003
995
  }
1004
996
  ),
1005
997
  /* @__PURE__ */ jsxRuntime.jsxs(
1006
- chunkRBVDMLFV_js.Button,
998
+ chunkY52UIFEX_js.Button,
1007
999
  {
1008
1000
  size: "sm",
1009
1001
  variant: "ghost",
1010
- className: chunkRBVDMLFV_js.cn(
1011
- "h-7 text-xs font-bold uppercase tracking-widest gap-1",
1002
+ className: chunkY52UIFEX_js.cn(
1003
+ "h-7 text-xs font-medium gap-1",
1012
1004
  editingEnabled ? "text-amber-400 bg-amber-500/10 hover:bg-amber-500/20" : "text-zinc-500 hover:text-white"
1013
1005
  ),
1014
1006
  onClick: onToggleEditing,
1015
1007
  title: "Enable inline data editing",
1016
1008
  children: [
1017
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "w-3 h-3" }),
1009
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { strokeWidth: 1.5, className: "w-3 h-3" }),
1018
1010
  "EDIT"
1019
1011
  ]
1020
1012
  }
1021
1013
  ),
1022
1014
  /* @__PURE__ */ jsxRuntime.jsxs(
1023
- chunkRBVDMLFV_js.Button,
1015
+ chunkY52UIFEX_js.Button,
1024
1016
  {
1025
1017
  size: "sm",
1026
1018
  variant: "ghost",
1027
- className: "h-7 text-xs font-bold uppercase tracking-widest text-zinc-500 hover:text-white gap-1",
1019
+ className: "h-7 text-xs font-medium text-zinc-500 hover:text-white gap-1",
1028
1020
  onClick: onImport,
1029
1021
  title: "Import data from CSV/JSON",
1030
1022
  children: [
1031
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { className: "w-3 h-3" }),
1023
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Upload, { strokeWidth: 1.5, className: "w-3 h-3" }),
1032
1024
  "IMPORT"
1033
1025
  ]
1034
1026
  }
@@ -1132,7 +1124,7 @@ function AIAutopilotPanel({ connection, schemaContext, onExecuteQuery }) {
1132
1124
  const sql = codeContent.trim();
1133
1125
  elements.push(
1134
1126
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative group my-2", children: [
1135
- /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "bg-[#050505] rounded-lg p-3 text-body font-mono text-blue-300 overflow-x-auto whitespace-pre-wrap border border-white/5", children: sql }),
1127
+ /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "bg-[#050505] rounded-lg p-3 text-xs font-mono text-blue-300 overflow-x-auto whitespace-pre-wrap border border-white/5", children: sql }),
1136
1128
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute top-1.5 right-1.5 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity", children: [
1137
1129
  /* @__PURE__ */ jsxRuntime.jsx(
1138
1130
  "button",
@@ -1140,7 +1132,7 @@ function AIAutopilotPanel({ connection, schemaContext, onExecuteQuery }) {
1140
1132
  onClick: () => copyToClipboard(sql, blockIndex),
1141
1133
  className: "p-1 rounded bg-white/10 hover:bg-white/20 text-zinc-400",
1142
1134
  title: "Copy",
1143
- children: copiedIndex === blockIndex ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "w-3 h-3 text-emerald-400" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Copy, { className: "w-3 h-3" })
1135
+ children: copiedIndex === blockIndex ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { strokeWidth: 1.5, className: "w-3 h-3 text-emerald-400" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Copy, { strokeWidth: 1.5, className: "w-3 h-3" })
1144
1136
  }
1145
1137
  ),
1146
1138
  onExecuteQuery && /* @__PURE__ */ jsxRuntime.jsx(
@@ -1149,7 +1141,7 @@ function AIAutopilotPanel({ connection, schemaContext, onExecuteQuery }) {
1149
1141
  onClick: () => onExecuteQuery(sql),
1150
1142
  className: "p-1 rounded bg-blue-600/20 hover:bg-blue-600/30 text-blue-400",
1151
1143
  title: "Execute",
1152
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Play, { className: "w-3 h-3 fill-current" })
1144
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Play, { strokeWidth: 1.5, className: "w-3 h-3 fill-current" })
1153
1145
  }
1154
1146
  )
1155
1147
  ] })
@@ -1167,9 +1159,9 @@ function AIAutopilotPanel({ connection, schemaContext, onExecuteQuery }) {
1167
1159
  continue;
1168
1160
  }
1169
1161
  if (line.startsWith("## ")) {
1170
- elements.push(/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-bold text-zinc-200 mt-4 mb-2", children: line.slice(3) }, i));
1162
+ elements.push(/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xs font-medium text-zinc-200 mt-4 mb-2", children: line.slice(3) }, i));
1171
1163
  } else if (line.startsWith("### ")) {
1172
- elements.push(/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-bold text-zinc-300 mt-3 mb-1", children: line.slice(4) }, i));
1164
+ elements.push(/* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-medium text-zinc-300 mt-3 mb-1", children: line.slice(4) }, i));
1173
1165
  } else if (line.startsWith("- ")) {
1174
1166
  const content = line.slice(2).replace(/\*\*(.*?)\*\*/g, '<strong class="text-zinc-200">$1</strong>');
1175
1167
  elements.push(/* @__PURE__ */ jsxRuntime.jsx("li", { className: "text-xs text-zinc-400 ml-4 leading-relaxed", dangerouslySetInnerHTML: { __html: content } }, i));
@@ -1188,23 +1180,23 @@ function AIAutopilotPanel({ connection, schemaContext, onExecuteQuery }) {
1188
1180
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col bg-[#080808]", children: [
1189
1181
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-4 py-2 border-b border-white/5 bg-[#0a0a0a]", children: [
1190
1182
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1191
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1 rounded bg-cyan-500/10", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "w-3.5 h-3.5 text-cyan-400" }) }),
1192
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold text-cyan-400 uppercase tracking-widest", children: "AI Performance Autopilot" })
1183
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1 rounded bg-cyan-500/10", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { strokeWidth: 1.5, className: "w-3 h-3 text-cyan-400" }) }),
1184
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-cyan-400", children: "AI Performance Autopilot" })
1193
1185
  ] }),
1194
1186
  /* @__PURE__ */ jsxRuntime.jsx(
1195
1187
  "button",
1196
1188
  {
1197
1189
  onClick: runAutopilot,
1198
1190
  disabled: isLoading || !connection,
1199
- className: chunkRBVDMLFV_js.cn(
1200
- "flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-bold transition-colors",
1191
+ className: chunkY52UIFEX_js.cn(
1192
+ "flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium transition-colors",
1201
1193
  isLoading ? "bg-cyan-600/20 text-cyan-400 cursor-wait" : "bg-cyan-600 hover:bg-cyan-500 text-white"
1202
1194
  ),
1203
1195
  children: isLoading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1204
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "w-3 h-3 animate-spin" }),
1196
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { strokeWidth: 1.5, className: "w-3 h-3 animate-spin" }),
1205
1197
  " Analyzing..."
1206
1198
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1207
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className: "w-3 h-3" }),
1199
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { strokeWidth: 1.5, className: "w-3 h-3" }),
1208
1200
  " ",
1209
1201
  report ? "Re-analyze" : "Run Analysis"
1210
1202
  ] })
@@ -1213,8 +1205,8 @@ function AIAutopilotPanel({ connection, schemaContext, onExecuteQuery }) {
1213
1205
  ] }),
1214
1206
  /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: reportRef, className: "flex-1 overflow-auto p-4", children: [
1215
1207
  !report && !isLoading && !error && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center h-full opacity-40", children: [
1216
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "w-8 h-8 mb-3" }),
1217
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: "AI Performance Autopilot" }),
1208
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { strokeWidth: 1.5, className: "w-8 h-8 mb-3" }),
1209
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium", children: "AI Performance Autopilot" }),
1218
1210
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-zinc-500 mt-1", children: 'Click "Run Analysis" to get AI-powered optimization recommendations' })
1219
1211
  ] }),
1220
1212
  error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-red-500/10 border border-red-500/20 rounded-lg p-3 text-xs text-red-400", children: error }),
@@ -1320,21 +1312,21 @@ ORDER BY ${groupBy.join(", ")};`;
1320
1312
  }, [rowField, colField, valueField, aggFunction, pivotData]);
1321
1313
  if (!result || rows.length === 0) {
1322
1314
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col items-center justify-center opacity-30", children: [
1323
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Columns3, { className: "w-8 h-8 mb-3" }),
1324
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: "Pivot Table" }),
1315
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Columns3, { strokeWidth: 1.5, className: "w-8 h-8 mb-3" }),
1316
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium", children: "Pivot Table" }),
1325
1317
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-zinc-500 mt-1", children: "Execute a query to create pivot tables" })
1326
1318
  ] });
1327
1319
  }
1328
1320
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col bg-[#080808]", children: [
1329
1321
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3 px-4 py-2 border-b border-white/5 bg-[#0a0a0a] flex-wrap", children: [
1330
1322
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
1331
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 font-bold uppercase", children: "Rows:" }),
1323
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 font-medium", children: "Rows:" }),
1332
1324
  /* @__PURE__ */ jsxRuntime.jsxs(
1333
1325
  "select",
1334
1326
  {
1335
1327
  value: rowField || "",
1336
1328
  onChange: (e) => setRowField(e.target.value || null),
1337
- className: "bg-[#111] border border-white/10 rounded px-2 py-1 text-body text-zinc-300 outline-none",
1329
+ className: "bg-[#111] border border-white/10 rounded px-2 py-1 text-xs text-zinc-300 outline-none",
1338
1330
  children: [
1339
1331
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", children: "Select..." }),
1340
1332
  fields.map((f) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: f, children: f }, f))
@@ -1343,13 +1335,13 @@ ORDER BY ${groupBy.join(", ")};`;
1343
1335
  )
1344
1336
  ] }),
1345
1337
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
1346
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 font-bold uppercase", children: "Columns:" }),
1338
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 font-medium", children: "Columns:" }),
1347
1339
  /* @__PURE__ */ jsxRuntime.jsxs(
1348
1340
  "select",
1349
1341
  {
1350
1342
  value: colField || "",
1351
1343
  onChange: (e) => setColField(e.target.value || null),
1352
- className: "bg-[#111] border border-white/10 rounded px-2 py-1 text-body text-zinc-300 outline-none",
1344
+ className: "bg-[#111] border border-white/10 rounded px-2 py-1 text-xs text-zinc-300 outline-none",
1353
1345
  children: [
1354
1346
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", children: "None" }),
1355
1347
  fields.filter((f) => f !== rowField).map((f) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: f, children: f }, f))
@@ -1358,13 +1350,13 @@ ORDER BY ${groupBy.join(", ")};`;
1358
1350
  )
1359
1351
  ] }),
1360
1352
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5", children: [
1361
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 font-bold uppercase", children: "Values:" }),
1353
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 font-medium", children: "Values:" }),
1362
1354
  /* @__PURE__ */ jsxRuntime.jsxs(
1363
1355
  "select",
1364
1356
  {
1365
1357
  value: valueField || "",
1366
1358
  onChange: (e) => setValueField(e.target.value || null),
1367
- className: "bg-[#111] border border-white/10 rounded px-2 py-1 text-body text-zinc-300 outline-none",
1359
+ className: "bg-[#111] border border-white/10 rounded px-2 py-1 text-xs text-zinc-300 outline-none",
1368
1360
  children: [
1369
1361
  /* @__PURE__ */ jsxRuntime.jsx("option", { value: "", children: "Count" }),
1370
1362
  fields.filter((f) => f !== rowField && f !== colField).map((f) => /* @__PURE__ */ jsxRuntime.jsx("option", { value: f, children: f }, f))
@@ -1376,8 +1368,8 @@ ORDER BY ${groupBy.join(", ")};`;
1376
1368
  "button",
1377
1369
  {
1378
1370
  onClick: () => setAggFunction(fn),
1379
- className: chunkRBVDMLFV_js.cn(
1380
- "px-1.5 py-0.5 rounded text-xs font-bold transition-colors",
1371
+ className: chunkY52UIFEX_js.cn(
1372
+ "px-1.5 py-0.5 rounded text-xs font-medium transition-colors",
1381
1373
  aggFunction === fn ? "bg-blue-500/20 text-blue-400 border border-blue-500/20" : "text-zinc-600 hover:text-zinc-400"
1382
1374
  ),
1383
1375
  children: AGG_LABELS[fn]
@@ -1391,25 +1383,25 @@ ORDER BY ${groupBy.join(", ")};`;
1391
1383
  const sql = generateSQL();
1392
1384
  if (sql) onLoadQuery(sql);
1393
1385
  },
1394
- className: "ml-auto flex items-center gap-1 px-2 py-1 rounded text-xs font-bold text-zinc-500 hover:text-blue-400 hover:bg-blue-500/10 transition-colors",
1386
+ className: "ml-auto flex items-center gap-1 px-2 py-1 rounded text-xs font-medium text-zinc-500 hover:text-blue-400 hover:bg-blue-500/10 transition-colors",
1395
1387
  children: [
1396
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { className: "w-3 h-3" }),
1388
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowRight, { strokeWidth: 1.5, className: "w-3 h-3" }),
1397
1389
  " Generate SQL"
1398
1390
  ]
1399
1391
  }
1400
1392
  )
1401
1393
  ] }),
1402
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto", children: pivotData && pivotData.pivotRows.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-body font-mono", children: [
1394
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto", children: pivotData && pivotData.pivotRows.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-xs font-mono", children: [
1403
1395
  /* @__PURE__ */ jsxRuntime.jsx("thead", { className: "sticky top-0 z-10 bg-[#0d0d0d]", children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { children: [
1404
- /* @__PURE__ */ jsxRuntime.jsx("th", { className: "text-left px-3 py-2 text-zinc-500 border-b border-r border-white/5 font-bold uppercase tracking-wider", children: rowField }),
1405
- pivotData.colKeys.map((ck) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "text-right px-3 py-2 text-zinc-500 border-b border-r border-white/5 font-bold", children: ck === "__all__" ? `${AGG_LABELS[aggFunction]}(${valueField || "*"})` : ck }, ck))
1396
+ /* @__PURE__ */ jsxRuntime.jsx("th", { className: "text-left px-3 py-2 text-zinc-500 border-b border-r border-white/5 font-mediumr", children: rowField }),
1397
+ pivotData.colKeys.map((ck) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "text-right px-3 py-2 text-zinc-500 border-b border-r border-white/5 font-medium", children: ck === "__all__" ? `${AGG_LABELS[aggFunction]}(${valueField || "*"})` : ck }, ck))
1406
1398
  ] }) }),
1407
1399
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: pivotData.pivotRows.map((row, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "hover:bg-blue-500/[0.03] border-b border-white/5", children: [
1408
1400
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-1.5 text-zinc-300 border-r border-white/5 font-medium", children: row.rowKey }),
1409
1401
  pivotData.colKeys.map((ck) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-1.5 text-right text-amber-500/90 border-r border-white/5", children: row.values.get(ck) || "0" }, ck))
1410
1402
  ] }, i)) })
1411
1403
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center h-full opacity-30", children: [
1412
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GripVertical, { className: "w-6 h-6 mb-2" }),
1404
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GripVertical, { strokeWidth: 1.5, className: "w-6 h-6 mb-2" }),
1413
1405
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs", children: "Select row and value fields to build pivot" })
1414
1406
  ] }) }),
1415
1407
  pivotData && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-4 py-1.5 border-t border-white/5 bg-[#0a0a0a] text-xs text-zinc-500 font-mono", children: [
@@ -1532,8 +1524,8 @@ ${aiDocs}
1532
1524
  };
1533
1525
  const renderMarkdown = (text) => {
1534
1526
  return text.split("\n").map((line, i) => {
1535
- if (line.startsWith("## ")) return /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-bold text-zinc-200 mt-4 mb-2", children: line.slice(3) }, i);
1536
- if (line.startsWith("### ")) return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-bold text-zinc-300 mt-3 mb-1", children: line.slice(4) }, i);
1527
+ if (line.startsWith("## ")) return /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xs font-medium text-zinc-200 mt-4 mb-2", children: line.slice(3) }, i);
1528
+ if (line.startsWith("### ")) return /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-medium text-zinc-300 mt-3 mb-1", children: line.slice(4) }, i);
1537
1529
  if (line.startsWith("- ")) {
1538
1530
  const content = line.slice(2).replace(/\*\*(.*?)\*\*/g, '<strong class="text-zinc-200">$1</strong>');
1539
1531
  return /* @__PURE__ */ jsxRuntime.jsx("li", { className: "text-xs text-zinc-400 ml-4 leading-relaxed", dangerouslySetInnerHTML: { __html: content } }, i);
@@ -1552,9 +1544,9 @@ ${aiDocs}
1552
1544
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col bg-[#080808]", children: [
1553
1545
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-4 py-2 border-b border-white/5 bg-[#0a0a0a]", children: [
1554
1546
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1555
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1 rounded bg-teal-500/10", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "w-3.5 h-3.5 text-teal-400" }) }),
1556
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold text-teal-400 uppercase tracking-widest", children: "Database Docs" }),
1557
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-label text-zinc-500 font-mono", children: [
1547
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-1 rounded bg-teal-500/10", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { strokeWidth: 1.5, className: "w-3 h-3 text-teal-400" }) }),
1548
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-teal-400", children: "Database Docs" }),
1549
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[0.625rem] text-zinc-500 font-mono", children: [
1558
1550
  schema.length,
1559
1551
  " tables"
1560
1552
  ] })
@@ -1565,12 +1557,12 @@ ${aiDocs}
1565
1557
  {
1566
1558
  onClick: generateAiDocs,
1567
1559
  disabled: isAiLoading,
1568
- className: chunkRBVDMLFV_js.cn(
1569
- "flex items-center gap-1 px-2.5 py-1 rounded-lg text-xs font-bold transition-colors",
1560
+ className: chunkY52UIFEX_js.cn(
1561
+ "flex items-center gap-1 px-2.5 py-1 rounded-lg text-xs font-medium transition-colors",
1570
1562
  isAiLoading ? "bg-teal-600/20 text-teal-400 cursor-wait" : "bg-teal-600 hover:bg-teal-500 text-white"
1571
1563
  ),
1572
1564
  children: [
1573
- isAiLoading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "w-3 h-3" }),
1565
+ isAiLoading ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { strokeWidth: 1.5, className: "w-3 h-3 animate-spin" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { strokeWidth: 1.5, className: "w-3 h-3" }),
1574
1566
  aiDocs ? "Regenerate" : "AI Describe"
1575
1567
  ]
1576
1568
  }
@@ -1579,9 +1571,9 @@ ${aiDocs}
1579
1571
  "button",
1580
1572
  {
1581
1573
  onClick: exportMarkdown,
1582
- className: "flex items-center gap-1 px-2.5 py-1 rounded-lg bg-white/5 text-zinc-400 text-xs font-bold hover:bg-white/10 transition-colors",
1574
+ className: "flex items-center gap-1 px-2.5 py-1 rounded-lg bg-white/5 text-zinc-400 text-xs font-medium hover:bg-white/10 transition-colors",
1583
1575
  children: [
1584
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { className: "w-3 h-3" }),
1576
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { strokeWidth: 1.5, className: "w-3 h-3" }),
1585
1577
  " Export MD"
1586
1578
  ]
1587
1579
  }
@@ -1589,7 +1581,7 @@ ${aiDocs}
1589
1581
  ] })
1590
1582
  ] }),
1591
1583
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-4 py-2 border-b border-white/5 bg-[#0a0a0a]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
1592
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 w-3 h-3 text-zinc-500" }),
1584
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { strokeWidth: 1.5, className: "absolute left-2.5 top-1/2 -translate-y-1/2 w-3 h-3 text-zinc-500" }),
1593
1585
  /* @__PURE__ */ jsxRuntime.jsx(
1594
1586
  "input",
1595
1587
  {
@@ -1604,19 +1596,19 @@ ${aiDocs}
1604
1596
  error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-red-500/10 border border-red-500/20 rounded-lg p-3 text-xs text-red-400", children: error }),
1605
1597
  (aiDocs || isAiLoading) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-teal-500/5 border border-teal-500/10 rounded-lg p-4 mb-4", children: [
1606
1598
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 mb-3", children: [
1607
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "w-3.5 h-3.5 text-teal-400" }),
1608
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold text-teal-400 uppercase tracking-wider", children: "AI-Generated Documentation" }),
1609
- isAiLoading && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { className: "w-3 h-3 animate-spin text-teal-400" })
1599
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { strokeWidth: 1.5, className: "w-3 h-3 text-teal-400" }),
1600
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-teal-400", children: "AI-Generated Documentation" }),
1601
+ isAiLoading && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Loader2, { strokeWidth: 1.5, className: "w-3 h-3 animate-spin text-teal-400" })
1610
1602
  ] }),
1611
1603
  aiDocs && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "prose prose-invert prose-xs max-w-none", children: renderMarkdown(aiDocs) })
1612
1604
  ] }),
1613
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-bold text-zinc-400 uppercase tracking-wider", children: "Table Reference" }),
1605
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-medium text-zinc-400", children: "Table Reference" }),
1614
1606
  filteredSchema.map((table) => {
1615
1607
  var _a;
1616
1608
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-[#0a0a0a] border border-white/5 rounded-lg overflow-hidden", children: [
1617
1609
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-3 py-2 flex items-center justify-between", children: [
1618
1610
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1619
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold text-zinc-200", children: table.name }),
1611
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-zinc-200", children: table.name }),
1620
1612
  table.rowCount !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-xs text-zinc-500 font-mono", children: [
1621
1613
  table.rowCount.toLocaleString(),
1622
1614
  " rows"
@@ -1627,7 +1619,7 @@ ${aiDocs}
1627
1619
  " columns"
1628
1620
  ] })
1629
1621
  ] }),
1630
- table.columns && table.columns.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-white/5", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-body", children: [
1622
+ table.columns && table.columns.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-t border-white/5", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-xs", children: [
1631
1623
  /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "text-zinc-500", children: [
1632
1624
  /* @__PURE__ */ jsxRuntime.jsx("th", { className: "text-left px-3 py-1 font-normal", children: "Column" }),
1633
1625
  /* @__PURE__ */ jsxRuntime.jsx("th", { className: "text-left px-3 py-1 font-normal", children: "Type" }),
@@ -1637,7 +1629,7 @@ ${aiDocs}
1637
1629
  /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: table.columns.map((col) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-t border-white/[0.03] hover:bg-white/[0.02]", children: [
1638
1630
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-1 text-zinc-300 font-mono", children: col.name }),
1639
1631
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-1 text-zinc-500 font-mono", children: col.type }),
1640
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-1", children: col.isPrimary && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-amber-400 text-label font-bold", children: "PK" }) }),
1632
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-1", children: col.isPrimary && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-amber-400 text-[0.625rem] font-medium", children: "PK" }) }),
1641
1633
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-3 py-1 text-zinc-600", children: col.nullable !== false ? "Yes" : "No" })
1642
1634
  ] }, col.name)) })
1643
1635
  ] }) })
@@ -1654,7 +1646,7 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1654
1646
  const [sortField, setSortField] = React.useState("executedAt");
1655
1647
  const [sortOrder, setSortOrder] = React.useState("desc");
1656
1648
  React.useEffect(() => {
1657
- setHistory(chunkRBVDMLFV_js.storage.getHistory());
1649
+ setHistory(chunkY52UIFEX_js.storage.getHistory());
1658
1650
  }, [refreshTrigger]);
1659
1651
  const filteredHistory = React.useMemo(() => {
1660
1652
  return history.filter((item) => {
@@ -1679,7 +1671,7 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1679
1671
  }, [history, search, filterStatus, isGlobal, activeConnectionId, sortField, sortOrder]);
1680
1672
  const handleClearHistory = () => {
1681
1673
  if (confirm("Are you sure you want to clear all history?")) {
1682
- chunkRBVDMLFV_js.storage.clearHistory();
1674
+ chunkY52UIFEX_js.storage.clearHistory();
1683
1675
  setHistory([]);
1684
1676
  }
1685
1677
  };
@@ -1725,9 +1717,9 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1725
1717
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 border-b border-white/5 bg-[#0a0a0a]/50 backdrop-blur-sm sticky top-0 z-10 space-y-4", children: [
1726
1718
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
1727
1719
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
1728
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 rounded-lg bg-emerald-500/10 border border-emerald-500/20", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.History, { className: "w-4 h-4 text-emerald-400" }) }),
1720
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 rounded-lg bg-emerald-500/10 border border-emerald-500/20", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.History, { strokeWidth: 1.5, className: "w-3.5 h-3.5 text-emerald-400" }) }),
1729
1721
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1730
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-bold text-zinc-100 uppercase tracking-widest flex items-center gap-2", children: "Query History" }),
1722
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-medium text-zinc-100 flex items-center gap-2", children: "Query History" }),
1731
1723
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-xs text-zinc-500 font-medium", children: [
1732
1724
  "Showing ",
1733
1725
  filteredHistory.length,
@@ -1736,25 +1728,25 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1736
1728
  ] })
1737
1729
  ] }),
1738
1730
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1739
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DropdownMenu, { children: [
1740
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.Button, { variant: "ghost", size: "sm", className: "h-8 text-xs font-bold uppercase tracking-widest text-zinc-400 hover:text-white gap-2", children: [
1741
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { className: "w-3.5 h-3.5" }),
1731
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DropdownMenu, { children: [
1732
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.Button, { variant: "ghost", size: "sm", className: "h-8 text-xs font-medium text-zinc-400 hover:text-white gap-2", children: [
1733
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { strokeWidth: 1.5, className: "w-3 h-3" }),
1742
1734
  " Export"
1743
1735
  ] }) }),
1744
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DropdownMenuContent, { align: "end", className: "bg-[#0d0d0d] border-white/10 text-zinc-300", children: [
1745
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DropdownMenuItem, { onClick: () => exportHistory("csv"), className: "text-xs cursor-pointer", children: "Export as CSV" }),
1746
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DropdownMenuItem, { onClick: () => exportHistory("json"), className: "text-xs cursor-pointer", children: "Export as JSON" })
1736
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DropdownMenuContent, { align: "end", className: "bg-[#0d0d0d] border-white/10 text-zinc-300", children: [
1737
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DropdownMenuItem, { onClick: () => exportHistory("csv"), className: "text-xs cursor-pointer", children: "Export as CSV" }),
1738
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DropdownMenuItem, { onClick: () => exportHistory("json"), className: "text-xs cursor-pointer", children: "Export as JSON" })
1747
1739
  ] })
1748
1740
  ] }),
1749
1741
  /* @__PURE__ */ jsxRuntime.jsxs(
1750
- chunkRBVDMLFV_js.Button,
1742
+ chunkY52UIFEX_js.Button,
1751
1743
  {
1752
1744
  variant: "ghost",
1753
1745
  size: "sm",
1754
1746
  onClick: handleClearHistory,
1755
- className: "h-8 text-xs font-bold uppercase tracking-widest text-red-400/70 hover:text-red-400 hover:bg-red-400/10",
1747
+ className: "h-8 text-xs font-medium text-red-400/70 hover:text-red-400 hover:bg-red-400/10",
1756
1748
  children: [
1757
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "w-3.5 h-3.5 mr-2" }),
1749
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { strokeWidth: 1.5, className: "w-3 h-3 mr-2" }),
1758
1750
  " Clear"
1759
1751
  ]
1760
1752
  }
@@ -1763,9 +1755,9 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1763
1755
  ] }),
1764
1756
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [
1765
1757
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex-1 min-w-[240px]", children: [
1766
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-zinc-500" }),
1758
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { strokeWidth: 1.5, className: "absolute left-3 top-1/2 -translate-y-1/2 w-3 h-3 text-zinc-500" }),
1767
1759
  /* @__PURE__ */ jsxRuntime.jsx(
1768
- chunkRBVDMLFV_js.Input,
1760
+ chunkY52UIFEX_js.Input,
1769
1761
  {
1770
1762
  placeholder: "Search by query, connection or tab...",
1771
1763
  value: search,
@@ -1778,7 +1770,7 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1778
1770
  {
1779
1771
  onClick: () => setSearch(""),
1780
1772
  className: "absolute right-3 top-1/2 -translate-y-1/2 text-zinc-500 hover:text-white",
1781
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "w-3 h-3" })
1773
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { strokeWidth: 1.5, className: "w-3 h-3" })
1782
1774
  }
1783
1775
  )
1784
1776
  ] }),
@@ -1787,8 +1779,8 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1787
1779
  "button",
1788
1780
  {
1789
1781
  onClick: () => setIsGlobal(false),
1790
- className: chunkRBVDMLFV_js.cn(
1791
- "px-3 py-1.5 text-xs font-bold uppercase rounded-md transition-all",
1782
+ className: chunkY52UIFEX_js.cn(
1783
+ "px-3 py-1.5 text-xs font-medium rounded-md transition-all",
1792
1784
  !isGlobal ? "bg-emerald-600 text-white shadow-lg shadow-emerald-600/20" : "text-zinc-500 hover:text-zinc-300"
1793
1785
  ),
1794
1786
  children: "Active Conn"
@@ -1798,8 +1790,8 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1798
1790
  "button",
1799
1791
  {
1800
1792
  onClick: () => setIsGlobal(true),
1801
- className: chunkRBVDMLFV_js.cn(
1802
- "px-3 py-1.5 text-xs font-bold uppercase rounded-md transition-all",
1793
+ className: chunkY52UIFEX_js.cn(
1794
+ "px-3 py-1.5 text-xs font-medium rounded-md transition-all",
1803
1795
  isGlobal ? "bg-emerald-600 text-white shadow-lg shadow-emerald-600/20" : "text-zinc-500 hover:text-zinc-300"
1804
1796
  ),
1805
1797
  children: "All Connections"
@@ -1810,8 +1802,8 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1810
1802
  "button",
1811
1803
  {
1812
1804
  onClick: () => setFilterStatus(status),
1813
- className: chunkRBVDMLFV_js.cn(
1814
- "px-3 py-1.5 text-xs font-bold uppercase rounded-md transition-all",
1805
+ className: chunkY52UIFEX_js.cn(
1806
+ "px-3 py-1.5 text-xs font-medium rounded-md transition-all",
1815
1807
  filterStatus === status ? "bg-white/10 text-white" : "text-zinc-500 hover:text-zinc-300"
1816
1808
  ),
1817
1809
  children: status
@@ -1821,25 +1813,25 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1821
1813
  ] })
1822
1814
  ] }),
1823
1815
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto custom-scrollbar", children: filteredHistory.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col items-center justify-center opacity-20 p-8 text-center", children: [
1824
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.History, { className: "w-16 h-16 mb-4 text-zinc-600" }),
1825
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: "No history items found" }),
1826
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-zinc-500 mt-1 uppercase tracking-widest", children: "Run some queries to see them here" })
1816
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.History, { strokeWidth: 1.5, className: "w-16 h-16 mb-4 text-zinc-600" }),
1817
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium", children: "No history items found" }),
1818
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-zinc-500 mt-1r", children: "Run some queries to see them here" })
1827
1819
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-[800px]", children: /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-left border-collapse", children: [
1828
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "bg-white/[0.02] border-b border-white/5 text-xs font-bold uppercase tracking-wider text-zinc-500", children: [
1820
+ /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "bg-white/[0.02] border-b border-white/5 text-xs font-medium text-zinc-500", children: [
1829
1821
  /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 w-10 text-center", children: "Status" }),
1830
1822
  /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 cursor-pointer hover:text-zinc-300 transition-colors group", onClick: () => handleSort("executedAt"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1831
1823
  "Executed At",
1832
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpDown, { className: chunkRBVDMLFV_js.cn("w-3 h-3 transition-opacity", sortField === "executedAt" ? "opacity-100 text-emerald-500" : "opacity-0 group-hover:opacity-100") })
1824
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpDown, { className: chunkY52UIFEX_js.cn("w-3 h-3 transition-opacity", sortField === "executedAt" ? "opacity-100 text-emerald-500" : "opacity-0 group-hover:opacity-100") })
1833
1825
  ] }) }),
1834
1826
  /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3", children: "Source" }),
1835
1827
  /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3", children: "SQL Query" }),
1836
1828
  /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 cursor-pointer hover:text-zinc-300 transition-colors group", onClick: () => handleSort("executionTime"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1837
1829
  "Duration",
1838
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpDown, { className: chunkRBVDMLFV_js.cn("w-3 h-3 transition-opacity", sortField === "executionTime" ? "opacity-100 text-emerald-500" : "opacity-0 group-hover:opacity-100") })
1830
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpDown, { className: chunkY52UIFEX_js.cn("w-3 h-3 transition-opacity", sortField === "executionTime" ? "opacity-100 text-emerald-500" : "opacity-0 group-hover:opacity-100") })
1839
1831
  ] }) }),
1840
1832
  /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 cursor-pointer hover:text-zinc-300 transition-colors group", onClick: () => handleSort("rowCount"), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1841
1833
  "Rows",
1842
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpDown, { className: chunkRBVDMLFV_js.cn("w-3 h-3 transition-opacity", sortField === "rowCount" ? "opacity-100 text-emerald-500" : "opacity-0 group-hover:opacity-100") })
1834
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ArrowUpDown, { className: chunkY52UIFEX_js.cn("w-3 h-3 transition-opacity", sortField === "rowCount" ? "opacity-100 text-emerald-500" : "opacity-0 group-hover:opacity-100") })
1843
1835
  ] }) }),
1844
1836
  /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-4 py-3 w-20" })
1845
1837
  ] }) }),
@@ -1848,27 +1840,27 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1848
1840
  {
1849
1841
  className: "hover:bg-white/[0.03] transition-colors group text-xs border-b border-white/5",
1850
1842
  children: [
1851
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-4 text-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: item.status === "success" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-5 h-5 rounded-full bg-emerald-500/10 flex items-center justify-center border border-emerald-500/20", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { className: "w-3 h-3 text-emerald-500" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-5 h-5 rounded-full bg-red-500/10 flex items-center justify-center border border-red-500/20", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { className: "w-3 h-3 text-red-500" }) }) }) }),
1843
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-4 text-center", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: item.status === "success" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-5 h-5 rounded-full bg-emerald-500/10 flex items-center justify-center border border-emerald-500/20", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle2, { strokeWidth: 1.5, className: "w-3 h-3 text-emerald-500" }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-5 h-5 rounded-full bg-red-500/10 flex items-center justify-center border border-red-500/20", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertCircle, { strokeWidth: 1.5, className: "w-3 h-3 text-red-500" }) }) }) }),
1852
1844
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-4 whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col", children: [
1853
1845
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-zinc-200 font-medium", children: item.executedAt ? dateFns.format(new Date(item.executedAt), "MMM d, HH:mm:ss") : "-" }),
1854
1846
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 font-mono mt-0.5", children: item.executedAt ? dateFns.format(new Date(item.executedAt), "yyyy") : "" })
1855
1847
  ] }) }),
1856
1848
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-4 whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [
1857
1849
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-zinc-300", children: [
1858
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "w-3 h-3 text-blue-400" }),
1859
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-semibold", children: item.connectionName || "Unknown" })
1850
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { strokeWidth: 1.5, className: "w-3 h-3 text-blue-400" }),
1851
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-medium", children: item.connectionName || "Unknown" })
1860
1852
  ] }),
1861
1853
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1.5 text-zinc-500 text-xs", children: [
1862
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Hash, { className: "w-2.5 h-2.5" }),
1854
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Hash, { strokeWidth: 1.5, className: "w-2.5 h-2.5" }),
1863
1855
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: item.tabName || "Default Tab" })
1864
1856
  ] })
1865
1857
  ] }) }),
1866
1858
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-4 max-w-md", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-[#050505] border border-white/5 rounded-md p-2 relative group-hover:border-white/10 transition-colors", children: [
1867
- /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-body font-mono text-zinc-400 line-clamp-2 break-all whitespace-pre-wrap leading-relaxed", children: item.query }),
1859
+ /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs font-mono text-zinc-400 line-clamp-2 break-all whitespace-pre-wrap leading-relaxed", children: item.query }),
1868
1860
  item.errorMessage && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 pt-2 border-t border-red-500/10 text-xs text-red-400/80 font-mono italic", children: item.errorMessage })
1869
1861
  ] }) }),
1870
- /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-4 whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: chunkRBVDMLFV_js.cn(
1871
- "px-2 py-0.5 rounded text-xs font-mono font-bold",
1862
+ /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-4 whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: chunkY52UIFEX_js.cn(
1863
+ "px-2 py-0.5 rounded text-xs font-mono font-medium",
1872
1864
  item.executionTime > 500 ? "text-amber-400 bg-amber-400/10" : "text-zinc-400 bg-white/5"
1873
1865
  ), children: [
1874
1866
  item.executionTime,
@@ -1876,14 +1868,14 @@ function QueryHistory({ onSelectQuery, activeConnectionId, refreshTrigger }) {
1876
1868
  ] }) }),
1877
1869
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-4 whitespace-nowrap", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-zinc-400 font-mono text-xs", children: item.rowCount != null ? item.rowCount.toLocaleString() : "-" }) }),
1878
1870
  /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-4 py-4 text-right", children: /* @__PURE__ */ jsxRuntime.jsx(
1879
- chunkRBVDMLFV_js.Button,
1871
+ chunkY52UIFEX_js.Button,
1880
1872
  {
1881
1873
  variant: "ghost",
1882
1874
  size: "sm",
1883
1875
  className: "h-8 w-8 p-0 hover:bg-emerald-500/10 hover:text-emerald-400",
1884
1876
  onClick: () => onSelectQuery(item.query),
1885
1877
  title: "Restore Query",
1886
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "w-3.5 h-3.5" })
1878
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RotateCcw, { className: "w-3 h-3" })
1887
1879
  }
1888
1880
  ) })
1889
1881
  ]
@@ -1897,7 +1889,7 @@ function SavedQueries({ onSelectQuery, connectionType, refreshTrigger }) {
1897
1889
  const [queries, setQueries] = React.useState([]);
1898
1890
  const [search, setSearch] = React.useState("");
1899
1891
  React.useEffect(() => {
1900
- setQueries(chunkRBVDMLFV_js.storage.getSavedQueries());
1892
+ setQueries(chunkY52UIFEX_js.storage.getSavedQueries());
1901
1893
  }, [refreshTrigger]);
1902
1894
  const filteredQueries = queries.filter((q) => {
1903
1895
  const matchesSearch = q.name.toLowerCase().includes(search.toLowerCase()) || q.query.toLowerCase().includes(search.toLowerCase());
@@ -1907,20 +1899,20 @@ function SavedQueries({ onSelectQuery, connectionType, refreshTrigger }) {
1907
1899
  const handleDelete = (id, e) => {
1908
1900
  e.stopPropagation();
1909
1901
  if (confirm("Are you sure you want to delete this saved query?")) {
1910
- chunkRBVDMLFV_js.storage.deleteSavedQuery(id);
1911
- setQueries(chunkRBVDMLFV_js.storage.getSavedQueries());
1902
+ chunkY52UIFEX_js.storage.deleteSavedQuery(id);
1903
+ setQueries(chunkY52UIFEX_js.storage.getSavedQueries());
1912
1904
  }
1913
1905
  };
1914
1906
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col bg-[#0a0a0a]", children: [
1915
1907
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "p-4 border-b border-white/5 flex flex-col gap-4", children: [
1916
- /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "text-sm font-bold text-zinc-400 uppercase tracking-widest flex items-center gap-2", children: [
1917
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bookmark, { className: "w-4 h-4" }),
1908
+ /* @__PURE__ */ jsxRuntime.jsxs("h3", { className: "text-xs font-medium text-zinc-400 flex items-center gap-2", children: [
1909
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bookmark, { strokeWidth: 1.5, className: "w-3.5 h-3.5" }),
1918
1910
  " Saved Queries"
1919
1911
  ] }),
1920
1912
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
1921
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { className: "absolute left-2.5 top-1/2 -translate-y-1/2 w-3.5 h-3.5 text-zinc-500" }),
1913
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { strokeWidth: 1.5, className: "absolute left-2.5 top-1/2 -translate-y-1/2 w-3 h-3 text-zinc-500" }),
1922
1914
  /* @__PURE__ */ jsxRuntime.jsx(
1923
- chunkRBVDMLFV_js.Input,
1915
+ chunkY52UIFEX_js.Input,
1924
1916
  {
1925
1917
  placeholder: "Search saved queries...",
1926
1918
  value: search,
@@ -1931,8 +1923,8 @@ function SavedQueries({ onSelectQuery, connectionType, refreshTrigger }) {
1931
1923
  ] })
1932
1924
  ] }),
1933
1925
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-y-auto custom-scrollbar", children: filteredQueries.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col items-center justify-center opacity-20 p-8 text-center", children: [
1934
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bookmark, { className: "w-12 h-12 mb-4" }),
1935
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm italic", children: "No saved queries found" })
1926
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bookmark, { strokeWidth: 1.5, className: "w-12 h-12 mb-4" }),
1927
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs italic", children: "No saved queries found" })
1936
1928
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 gap-px bg-white/5", children: filteredQueries.map((q) => {
1937
1929
  var _a;
1938
1930
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -1943,19 +1935,19 @@ function SavedQueries({ onSelectQuery, connectionType, refreshTrigger }) {
1943
1935
  children: [
1944
1936
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between mb-2", children: [
1945
1937
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1946
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-bold text-blue-400 mb-1 group-hover:text-blue-300 transition-colors", children: q.name }),
1938
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs font-medium text-blue-400 mb-1 group-hover:text-blue-300 transition-colors", children: q.name }),
1947
1939
  q.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-zinc-500 line-clamp-1", children: q.description })
1948
1940
  ] }),
1949
1941
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity", children: [
1950
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-zinc-500 hover:text-white", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Edit3, { className: "w-3 h-3" }) }),
1942
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.Button, { variant: "ghost", size: "icon", className: "h-6 w-6 text-zinc-500 hover:text-white", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Edit3, { strokeWidth: 1.5, className: "w-3 h-3" }) }),
1951
1943
  /* @__PURE__ */ jsxRuntime.jsx(
1952
- chunkRBVDMLFV_js.Button,
1944
+ chunkY52UIFEX_js.Button,
1953
1945
  {
1954
1946
  variant: "ghost",
1955
1947
  size: "icon",
1956
1948
  className: "h-6 w-6 text-zinc-500 hover:text-red-400",
1957
1949
  onClick: (e) => handleDelete(q.id, e),
1958
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "w-3 h-3" })
1950
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { strokeWidth: 1.5, className: "w-3 h-3" })
1959
1951
  }
1960
1952
  )
1961
1953
  ] })
@@ -1963,14 +1955,14 @@ function SavedQueries({ onSelectQuery, connectionType, refreshTrigger }) {
1963
1955
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-[#050505] border border-white/5 rounded-md p-2 mb-3", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs font-mono text-zinc-400 line-clamp-3", children: q.query }) }),
1964
1956
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
1965
1957
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
1966
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "px-1.5 py-0.5 rounded bg-blue-500/10 border border-blue-500/20 text-label font-bold text-blue-400 uppercase tracking-tighter", children: q.connectionType }),
1967
- (_a = q.tags) == null ? void 0 : _a.map((tag) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 text-label text-zinc-500", children: [
1968
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Tag, { className: "w-2.5 h-2.5" }),
1958
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "px-1.5 py-0.5 rounded bg-blue-500/10 border border-blue-500/20 text-[0.625rem] font-medium text-blue-400er", children: q.connectionType }),
1959
+ (_a = q.tags) == null ? void 0 : _a.map((tag) => /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 text-[0.625rem] text-zinc-500", children: [
1960
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Tag, { strokeWidth: 1.5, className: "w-2.5 h-2.5" }),
1969
1961
  " ",
1970
1962
  tag
1971
1963
  ] }, tag))
1972
1964
  ] }),
1973
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-label text-zinc-600 flex items-center gap-1 font-mono", children: [
1965
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[0.625rem] text-zinc-600 flex items-center gap-1 font-mono", children: [
1974
1966
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: "w-2.5 h-2.5" }),
1975
1967
  " ",
1976
1968
  dateFns.format(q.updatedAt, "MMM d, yyyy")
@@ -2014,7 +2006,7 @@ function Badge(_a) {
2014
2006
  Comp,
2015
2007
  chunkQ6LRDBK7_js.__spreadValues({
2016
2008
  "data-slot": "badge",
2017
- className: chunkRBVDMLFV_js.cn(badgeVariants({ variant }), className)
2009
+ className: chunkY52UIFEX_js.cn(badgeVariants({ variant }), className)
2018
2010
  }, props)
2019
2011
  );
2020
2012
  }
@@ -2024,7 +2016,7 @@ function useAllConnections() {
2024
2016
  React.useEffect(() => {
2025
2017
  let cancelled = false;
2026
2018
  async function load() {
2027
- const userConns = chunkRBVDMLFV_js.storage.getConnections();
2019
+ const userConns = chunkY52UIFEX_js.storage.getConnections();
2028
2020
  try {
2029
2021
  const res = await fetch("/api/connections/managed");
2030
2022
  if (res.ok) {
@@ -2490,7 +2482,7 @@ function SnapshotTimeline({ snapshots, onCompare, onDelete }) {
2490
2482
  );
2491
2483
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
2492
2484
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between px-2", children: [
2493
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs uppercase text-zinc-500 font-bold", children: "Timeline" }),
2485
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-500 font-medium", children: "Timeline" }),
2494
2486
  canCompare && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-blue-400", children: "Comparing 2 snapshots" })
2495
2487
  ] }),
2496
2488
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex items-center overflow-x-auto pb-2 px-2 gap-0", children: [
@@ -2504,22 +2496,22 @@ function SnapshotTimeline({ snapshots, onCompare, onDelete }) {
2504
2496
  className: "relative flex flex-col items-center min-w-[100px] cursor-pointer group",
2505
2497
  onClick: () => handleClick(snapshot.id),
2506
2498
  children: [
2507
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkRBVDMLFV_js.cn(
2508
- "w-4 h-4 rounded-full border-2 z-10 transition-all",
2499
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkY52UIFEX_js.cn(
2500
+ "w-3.5 h-3.5 rounded-full border-2 z-10 transition-all",
2509
2501
  isSelected ? "bg-blue-500 border-blue-400 scale-125" : "bg-[#0d0d0d] border-white/20 hover:border-white/40"
2510
2502
  ) }),
2511
2503
  idx < sorted.length - 1 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-[7px] left-[50%] w-full h-[2px] bg-white/10" }),
2512
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkRBVDMLFV_js.cn(
2504
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkY52UIFEX_js.cn(
2513
2505
  "mt-2 text-center transition-colors",
2514
2506
  isSelected ? "text-blue-400" : "text-zinc-500 group-hover:text-zinc-300"
2515
2507
  ), children: [
2516
2508
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-medium truncate max-w-[90px]", children: snapshot.label || snapshot.connectionName }),
2517
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-label text-zinc-600", children: [
2509
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-[0.625rem] text-zinc-600", children: [
2518
2510
  date.toLocaleDateString(),
2519
2511
  " ",
2520
2512
  date.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" })
2521
2513
  ] }),
2522
- /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "secondary", className: "text-label mt-1", children: [
2514
+ /* @__PURE__ */ jsxRuntime.jsxs(Badge, { variant: "secondary", className: "text-[0.625rem] mt-1", children: [
2523
2515
  snapshot.schema.length,
2524
2516
  " tables"
2525
2517
  ] })
@@ -2532,7 +2524,7 @@ function SnapshotTimeline({ snapshots, onCompare, onDelete }) {
2532
2524
  onDelete(snapshot.id);
2533
2525
  },
2534
2526
  className: "absolute -top-2 -right-1 p-0.5 text-zinc-600 hover:text-red-400 opacity-0 group-hover:opacity-100 transition-opacity",
2535
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { className: "w-2.5 h-2.5" })
2527
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Trash2, { strokeWidth: 1.5, className: "w-2.5 h-2.5" })
2536
2528
  }
2537
2529
  )
2538
2530
  ]
@@ -2545,7 +2537,7 @@ function SnapshotTimeline({ snapshots, onCompare, onDelete }) {
2545
2537
  }
2546
2538
  function SchemaDiff({ schema, connection }) {
2547
2539
  const [snapshots, setSnapshots] = React.useState(
2548
- () => chunkRBVDMLFV_js.storage.getSchemaSnapshots()
2540
+ () => chunkY52UIFEX_js.storage.getSchemaSnapshots()
2549
2541
  );
2550
2542
  const [sourceId, setSourceId] = React.useState("current");
2551
2543
  const [targetId, setTargetId] = React.useState("");
@@ -2564,14 +2556,14 @@ function SchemaDiff({ schema, connection }) {
2564
2556
  createdAt: /* @__PURE__ */ new Date(),
2565
2557
  label: snapshotLabel.trim() || void 0
2566
2558
  };
2567
- chunkRBVDMLFV_js.storage.saveSchemaSnapshot(snapshot);
2568
- setSnapshots(chunkRBVDMLFV_js.storage.getSchemaSnapshots());
2559
+ chunkY52UIFEX_js.storage.saveSchemaSnapshot(snapshot);
2560
+ setSnapshots(chunkY52UIFEX_js.storage.getSchemaSnapshots());
2569
2561
  setSnapshotLabel("");
2570
2562
  setShowLabelInput(false);
2571
2563
  }, [schema, connection, snapshotLabel]);
2572
2564
  const deleteSnapshot = React.useCallback((id) => {
2573
- chunkRBVDMLFV_js.storage.deleteSchemaSnapshot(id);
2574
- setSnapshots(chunkRBVDMLFV_js.storage.getSchemaSnapshots());
2565
+ chunkY52UIFEX_js.storage.deleteSchemaSnapshot(id);
2566
+ setSnapshots(chunkY52UIFEX_js.storage.getSchemaSnapshots());
2575
2567
  if (sourceId === id) setSourceId("current");
2576
2568
  if (targetId === id) setTargetId("");
2577
2569
  }, [sourceId, targetId]);
@@ -2613,8 +2605,8 @@ function SchemaDiff({ schema, connection }) {
2613
2605
  createdAt: /* @__PURE__ */ new Date(),
2614
2606
  label: `Live: ${conn.name}`
2615
2607
  };
2616
- chunkRBVDMLFV_js.storage.saveSchemaSnapshot(snapshot);
2617
- setSnapshots(chunkRBVDMLFV_js.storage.getSchemaSnapshots());
2608
+ chunkY52UIFEX_js.storage.saveSchemaSnapshot(snapshot);
2609
+ setSnapshots(chunkY52UIFEX_js.storage.getSchemaSnapshots());
2618
2610
  setTargetId(snapshot.id);
2619
2611
  } catch (err) {
2620
2612
  console.error("Failed to fetch remote schema:", err);
@@ -2626,7 +2618,7 @@ function SchemaDiff({ schema, connection }) {
2626
2618
  switch (action) {
2627
2619
  case "added":
2628
2620
  return /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "bg-green-500/20 text-green-400 border-green-500/30 text-xs", children: [
2629
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "w-2.5 h-2.5 mr-0.5" }),
2621
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { strokeWidth: 1.5, className: "w-2.5 h-2.5 mr-0.5" }),
2630
2622
  "Added"
2631
2623
  ] });
2632
2624
  case "removed":
@@ -2636,7 +2628,7 @@ function SchemaDiff({ schema, connection }) {
2636
2628
  ] });
2637
2629
  case "modified":
2638
2630
  return /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "bg-yellow-500/20 text-yellow-400 border-yellow-500/30 text-xs", children: [
2639
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Edit3, { className: "w-2.5 h-2.5 mr-0.5" }),
2631
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Edit3, { strokeWidth: 1.5, className: "w-2.5 h-2.5 mr-0.5" }),
2640
2632
  "Modified"
2641
2633
  ] });
2642
2634
  default:
@@ -2649,20 +2641,20 @@ function SchemaDiff({ schema, connection }) {
2649
2641
  };
2650
2642
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col bg-[#080808]", children: [
2651
2643
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2 px-3 py-2 border-b border-white/5 bg-[#0a0a0a] flex-wrap", children: [
2652
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GitCompare, { className: "w-4 h-4 text-rose-400" }),
2653
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold uppercase text-zinc-400 tracking-wider", children: "Schema Diff" }),
2644
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GitCompare, { strokeWidth: 1.5, className: "w-3.5 h-3.5 text-rose-400" }),
2645
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-zinc-400r", children: "Schema Diff" }),
2654
2646
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-4 w-px bg-white/10" }),
2655
2647
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2656
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-600 uppercase", children: "Source" }),
2657
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.Select, { value: sourceId, onValueChange: setSourceId, children: [
2658
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SelectTrigger, { className: "h-7 w-[180px] text-xs bg-white/5 border-white/10", children: /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SelectValue, { placeholder: "Select source" }) }),
2659
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.SelectContent, { className: "bg-[#111] border-white/10", children: [
2660
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SelectItem, { value: "current", className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2661
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "w-3 h-3" }),
2648
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-600", children: "Source" }),
2649
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.Select, { value: sourceId, onValueChange: setSourceId, children: [
2650
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SelectTrigger, { className: "h-7 w-[180px] text-xs bg-white/5 border-white/10", children: /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SelectValue, { placeholder: "Select source" }) }),
2651
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.SelectContent, { className: "bg-[#111] border-white/10", children: [
2652
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SelectItem, { value: "current", className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2653
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { strokeWidth: 1.5, className: "w-3 h-3" }),
2662
2654
  " Current Schema"
2663
2655
  ] }) }),
2664
- snapshots.map((s) => /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SelectItem, { value: s.id, className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2665
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "w-3 h-3" }),
2656
+ snapshots.map((s) => /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SelectItem, { value: s.id, className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2657
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { strokeWidth: 1.5, className: "w-3 h-3" }),
2666
2658
  " ",
2667
2659
  formatSnapshotLabel(s)
2668
2660
  ] }) }, s.id))
@@ -2671,32 +2663,32 @@ function SchemaDiff({ schema, connection }) {
2671
2663
  ] }),
2672
2664
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-zinc-600 text-xs", children: "vs" }),
2673
2665
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2674
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-600 uppercase", children: "Target" }),
2675
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.Select, { value: targetId, onValueChange: (v) => {
2666
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-600", children: "Target" }),
2667
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.Select, { value: targetId, onValueChange: (v) => {
2676
2668
  if (v.startsWith("conn:")) {
2677
2669
  fetchRemoteSchema(v.replace("conn:", ""));
2678
2670
  } else {
2679
2671
  setTargetId(v);
2680
2672
  }
2681
2673
  }, children: [
2682
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SelectTrigger, { className: "h-7 w-[180px] text-xs bg-white/5 border-white/10", children: /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SelectValue, { placeholder: "Select target" }) }),
2683
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.SelectContent, { className: "bg-[#111] border-white/10", children: [
2684
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SelectItem, { value: "current", className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2685
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "w-3 h-3" }),
2674
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SelectTrigger, { className: "h-7 w-[180px] text-xs bg-white/5 border-white/10", children: /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SelectValue, { placeholder: "Select target" }) }),
2675
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.SelectContent, { className: "bg-[#111] border-white/10", children: [
2676
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SelectItem, { value: "current", className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2677
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { strokeWidth: 1.5, className: "w-3 h-3" }),
2686
2678
  " Current Schema"
2687
2679
  ] }) }),
2688
- snapshots.map((s) => /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SelectItem, { value: s.id, className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2689
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "w-3 h-3" }),
2680
+ snapshots.map((s) => /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SelectItem, { value: s.id, className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2681
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { strokeWidth: 1.5, className: "w-3 h-3" }),
2690
2682
  " ",
2691
2683
  formatSnapshotLabel(s)
2692
2684
  ] }) }, s.id)),
2693
2685
  allConnections.filter((c) => c.id !== (connection == null ? void 0 : connection.id)).length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2694
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-1 text-label text-zinc-600 uppercase border-t border-white/5 mt-1", children: "Fetch from connection" }),
2695
- allConnections.filter((c) => c.id !== (connection == null ? void 0 : connection.id)).map((c) => /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SelectItem, { value: `conn:${c.id}`, className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2696
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "w-3 h-3 text-blue-400" }),
2686
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-2 py-1 text-[0.625rem] text-zinc-600 border-t border-white/5 mt-1", children: "Fetch from connection" }),
2687
+ allConnections.filter((c) => c.id !== (connection == null ? void 0 : connection.id)).map((c) => /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SelectItem, { value: `conn:${c.id}`, className: "text-xs", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-1", children: [
2688
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { strokeWidth: 1.5, className: "w-3 h-3 text-blue-400" }),
2697
2689
  " ",
2698
2690
  c.name,
2699
- c.environment === "production" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-3 h-3 text-red-400" })
2691
+ c.environment === "production" && /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { strokeWidth: 1.5, className: "w-3 h-3 text-red-400" })
2700
2692
  ] }) }, `conn:${c.id}`))
2701
2693
  ] })
2702
2694
  ] })
@@ -2717,14 +2709,14 @@ function SchemaDiff({ schema, connection }) {
2717
2709
  autoFocus: true
2718
2710
  }
2719
2711
  ),
2720
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.Button, { variant: "ghost", size: "sm", className: "h-7 text-xs text-blue-400", onClick: takeSnapshot, children: "Save" }),
2721
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.Button, { variant: "ghost", size: "sm", className: "h-7 text-xs text-zinc-500", onClick: () => setShowLabelInput(false), children: "Cancel" })
2712
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.Button, { variant: "ghost", size: "sm", className: "h-7 text-xs text-blue-400", onClick: takeSnapshot, children: "Save" }),
2713
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.Button, { variant: "ghost", size: "sm", className: "h-7 text-xs text-zinc-500", onClick: () => setShowLabelInput(false), children: "Cancel" })
2722
2714
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(
2723
- chunkRBVDMLFV_js.Button,
2715
+ chunkY52UIFEX_js.Button,
2724
2716
  {
2725
2717
  variant: "ghost",
2726
2718
  size: "sm",
2727
- className: "h-7 text-xs font-bold uppercase text-zinc-500 hover:text-white gap-1",
2719
+ className: "h-7 text-xs font-medium text-zinc-500 hover:text-white gap-1",
2728
2720
  onClick: () => setShowLabelInput(true),
2729
2721
  disabled: !connection,
2730
2722
  children: [
@@ -2734,11 +2726,11 @@ function SchemaDiff({ schema, connection }) {
2734
2726
  }
2735
2727
  ),
2736
2728
  (diff == null ? void 0 : diff.hasChanges) && /* @__PURE__ */ jsxRuntime.jsxs(
2737
- chunkRBVDMLFV_js.Button,
2729
+ chunkY52UIFEX_js.Button,
2738
2730
  {
2739
2731
  variant: "ghost",
2740
2732
  size: "sm",
2741
- className: "h-7 text-xs font-bold uppercase text-zinc-500 hover:text-white gap-1",
2733
+ className: "h-7 text-xs font-medium text-zinc-500 hover:text-white gap-1",
2742
2734
  onClick: () => setShowMigration(!showMigration),
2743
2735
  children: [
2744
2736
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileCode, { className: "w-3 h-3" }),
@@ -2749,8 +2741,8 @@ function SchemaDiff({ schema, connection }) {
2749
2741
  )
2750
2742
  ] }),
2751
2743
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-hidden flex", children: !targetId ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex flex-col items-center justify-center text-zinc-600 gap-3", children: [
2752
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GitCompare, { className: "w-10 h-10 opacity-30" }),
2753
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: "Select source and target to compare schemas" }),
2744
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GitCompare, { strokeWidth: 1.5, className: "w-10 h-10 opacity-30" }),
2745
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs", children: "Select source and target to compare schemas" }),
2754
2746
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-zinc-700", children: "Take a snapshot first, then compare with the current schema" }),
2755
2747
  snapshots.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-4 w-full max-w-2xl px-4", children: /* @__PURE__ */ jsxRuntime.jsx(
2756
2748
  SnapshotTimeline,
@@ -2765,7 +2757,7 @@ function SchemaDiff({ schema, connection }) {
2765
2757
  ) })
2766
2758
  ] }) : showMigration && migrationSQL ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto p-4", children: /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "text-xs font-mono text-zinc-300 bg-[#0d0d0d] border border-white/10 rounded-lg p-4 overflow-auto whitespace-pre-wrap", children: migrationSQL }) }) : diff && diff.hasChanges ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2767
2759
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-64 border-r border-white/5 overflow-auto", children: [
2768
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 border-b border-white/5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-zinc-500 uppercase px-2 mb-1", children: [
2760
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2 border-b border-white/5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-zinc-500 px-2 mb-1", children: [
2769
2761
  diff.summary.added,
2770
2762
  " added, ",
2771
2763
  diff.summary.removed,
@@ -2777,12 +2769,12 @@ function SchemaDiff({ schema, connection }) {
2777
2769
  "button",
2778
2770
  {
2779
2771
  onClick: () => setSelectedTable(table.tableName),
2780
- className: chunkRBVDMLFV_js.cn(
2772
+ className: chunkY52UIFEX_js.cn(
2781
2773
  "w-full text-left px-3 py-2 text-xs flex items-center gap-2 hover:bg-white/5 transition-colors",
2782
2774
  selectedTable === table.tableName && "bg-white/10"
2783
2775
  ),
2784
2776
  children: [
2785
- selectedTable === table.tableName ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { className: "w-3 h-3 text-zinc-500" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { className: "w-3 h-3 text-zinc-500" }),
2777
+ selectedTable === table.tableName ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronDown, { strokeWidth: 1.5, className: "w-3 h-3 text-zinc-500" }) : /* @__PURE__ */ jsxRuntime.jsx(lucideReact.ChevronRight, { strokeWidth: 1.5, className: "w-3 h-3 text-zinc-500" }),
2786
2778
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-zinc-300", children: table.tableName }),
2787
2779
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-auto", children: getActionBadge(table.action) })
2788
2780
  ]
@@ -2790,19 +2782,19 @@ function SchemaDiff({ schema, connection }) {
2790
2782
  table.tableName
2791
2783
  ))
2792
2784
  ] }),
2793
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto p-4", children: selectedTable ? /* @__PURE__ */ jsxRuntime.jsx(TableDiffDetail, { diff: diff.tables.find((t) => t.tableName === selectedTable) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full flex items-center justify-center text-zinc-600 text-sm", children: "Select a table to view diff details" }) })
2794
- ] }) : diff && !diff.hasChanges ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 flex items-center justify-center text-zinc-600 gap-2", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: "No differences found between source and target" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex items-center justify-center text-zinc-600 gap-2", children: [
2795
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-4 h-4" }),
2796
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: "Cannot compare same schema with itself" })
2785
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto p-4", children: selectedTable ? /* @__PURE__ */ jsxRuntime.jsx(TableDiffDetail, { diff: diff.tables.find((t) => t.tableName === selectedTable) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full flex items-center justify-center text-zinc-600 text-xs", children: "Select a table to view diff details" }) })
2786
+ ] }) : diff && !diff.hasChanges ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 flex items-center justify-center text-zinc-600 gap-2", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs", children: "No differences found between source and target" }) }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 flex items-center justify-center text-zinc-600 gap-2", children: [
2787
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { strokeWidth: 1.5, className: "w-3.5 h-3.5" }),
2788
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs", children: "Cannot compare same schema with itself" })
2797
2789
  ] }) })
2798
2790
  ] });
2799
2791
  }
2800
2792
  function TableDiffDetail({ diff }) {
2801
2793
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
2802
2794
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
2803
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "w-4 h-4 text-zinc-400" }),
2804
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-sm font-bold text-zinc-200", children: diff.tableName }),
2805
- /* @__PURE__ */ jsxRuntime.jsx(Badge, { className: chunkRBVDMLFV_js.cn(
2795
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { strokeWidth: 1.5, className: "w-3.5 h-3.5 text-zinc-400" }),
2796
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xs font-medium text-zinc-200", children: diff.tableName }),
2797
+ /* @__PURE__ */ jsxRuntime.jsx(Badge, { className: chunkY52UIFEX_js.cn(
2806
2798
  "text-xs",
2807
2799
  diff.action === "added" && "bg-green-500/20 text-green-400",
2808
2800
  diff.action === "removed" && "bg-red-500/20 text-red-400",
@@ -2810,8 +2802,8 @@ function TableDiffDetail({ diff }) {
2810
2802
  ), children: diff.action })
2811
2803
  ] }),
2812
2804
  diff.columns.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2813
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs uppercase text-zinc-500 mb-2 font-bold", children: "Columns" }),
2814
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: diff.columns.map((col, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkRBVDMLFV_js.cn(
2805
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs text-zinc-500 mb-2 font-medium", children: "Columns" }),
2806
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: diff.columns.map((col, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkY52UIFEX_js.cn(
2815
2807
  "px-3 py-2 rounded text-xs flex items-center gap-2",
2816
2808
  col.action === "added" && "bg-green-500/5 border border-green-500/10",
2817
2809
  col.action === "removed" && "bg-red-500/5 border border-red-500/10",
@@ -2825,8 +2817,8 @@ function TableDiffDetail({ diff }) {
2825
2817
  ] }, i)) })
2826
2818
  ] }),
2827
2819
  diff.indexes.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2828
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs uppercase text-zinc-500 mb-2 font-bold", children: "Indexes" }),
2829
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: diff.indexes.map((idx, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkRBVDMLFV_js.cn(
2820
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs text-zinc-500 mb-2 font-medium", children: "Indexes" }),
2821
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: diff.indexes.map((idx, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkY52UIFEX_js.cn(
2830
2822
  "px-3 py-2 rounded text-xs flex items-center gap-2",
2831
2823
  idx.action === "added" && "bg-green-500/5 border border-green-500/10",
2832
2824
  idx.action === "removed" && "bg-red-500/5 border border-red-500/10",
@@ -2838,8 +2830,8 @@ function TableDiffDetail({ diff }) {
2838
2830
  ] }, i)) })
2839
2831
  ] }),
2840
2832
  diff.foreignKeys.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
2841
- /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs uppercase text-zinc-500 mb-2 font-bold", children: "Foreign Keys" }),
2842
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: diff.foreignKeys.map((fk, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkRBVDMLFV_js.cn(
2833
+ /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-xs text-zinc-500 mb-2 font-medium", children: "Foreign Keys" }),
2834
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: diff.foreignKeys.map((fk, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunkY52UIFEX_js.cn(
2843
2835
  "px-3 py-2 rounded text-xs flex items-center gap-2",
2844
2836
  fk.action === "added" && "bg-green-500/5 border border-green-500/10",
2845
2837
  fk.action === "removed" && "bg-red-500/5 border border-red-500/10"
@@ -2854,11 +2846,11 @@ function TableDiffDetail({ diff }) {
2854
2846
  function getActionIcon(action) {
2855
2847
  switch (action) {
2856
2848
  case "added":
2857
- return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { className: "w-3 h-3 text-green-400" });
2849
+ return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Plus, { strokeWidth: 1.5, className: "w-3 h-3 text-green-400" });
2858
2850
  case "removed":
2859
2851
  return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Minus, { className: "w-3 h-3 text-red-400" });
2860
2852
  case "modified":
2861
- return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Edit3, { className: "w-3 h-3 text-yellow-400" });
2853
+ return /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Edit3, { strokeWidth: 1.5, className: "w-3 h-3 text-yellow-400" });
2862
2854
  default:
2863
2855
  return null;
2864
2856
  }
@@ -2866,13 +2858,13 @@ function getActionIcon(action) {
2866
2858
  function ChartDashboardLazy({ result }) {
2867
2859
  const [savedCharts, setSavedCharts] = React__default.default.useState([]);
2868
2860
  React__default.default.useEffect(() => {
2869
- const charts = chunkRBVDMLFV_js.storage.getSavedCharts();
2861
+ const charts = chunkY52UIFEX_js.storage.getSavedCharts();
2870
2862
  if (charts.length > 0) setSavedCharts(charts);
2871
2863
  }, []);
2872
2864
  if (savedCharts.length === 0) {
2873
2865
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col items-center justify-center bg-[#080808] text-zinc-500 gap-2", children: [
2874
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutDashboard, { className: "w-10 h-10 opacity-30" }),
2875
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: "No saved charts yet" }),
2866
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutDashboard, { strokeWidth: 1.5, className: "w-10 h-10 opacity-30" }),
2867
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs", children: "No saved charts yet" }),
2876
2868
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-zinc-600", children: "Save charts from the Charts tab to display them here" })
2877
2869
  ] });
2878
2870
  }
@@ -2880,8 +2872,8 @@ function ChartDashboardLazy({ result }) {
2880
2872
  var _a;
2881
2873
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-[#0d0d0d] border border-white/10 rounded-lg p-3", children: [
2882
2874
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
2883
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-bold text-zinc-300", children: chart.name }),
2884
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-600 uppercase", children: chart.chartType })
2875
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-zinc-300", children: chart.name }),
2876
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs text-zinc-600", children: chart.chartType })
2885
2877
  ] }),
2886
2878
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs text-zinc-500", children: [
2887
2879
  chart.xAxis && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
@@ -2893,7 +2885,7 @@ function ChartDashboardLazy({ result }) {
2893
2885
  chart.yAxis.join(", ")
2894
2886
  ] })
2895
2887
  ] }),
2896
- result ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 h-[160px]", children: /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DataCharts, { result }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 h-[100px] flex items-center justify-center text-zinc-600 text-xs", children: "Execute a query to see chart" })
2888
+ result ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 h-[160px]", children: /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DataCharts, { result }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-2 h-[100px] flex items-center justify-center text-zinc-600 text-xs", children: "Execute a query to see chart" })
2897
2889
  ] }, chart.id);
2898
2890
  }) }) });
2899
2891
  }
@@ -2925,17 +2917,17 @@ function BottomPanel({
2925
2917
  onExportResults
2926
2918
  }) {
2927
2919
  const tabs = [
2928
- { key: "results", label: "Results", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutGrid, { className: "w-3 h-3" }), activeClass: "text-blue-400 border-blue-500 bg-white/5" },
2929
- { key: "explain", label: "Explain", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Zap, { className: "w-3 h-3" }), activeClass: "text-amber-400 border-amber-500 bg-white/5" },
2930
- { key: "history", label: "History", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { className: "w-3 h-3" }), activeClass: "text-emerald-400 border-emerald-500 bg-white/5" },
2931
- { key: "saved", label: "Saved", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bookmark, { className: "w-3 h-3" }), activeClass: "text-purple-400 border-purple-500 bg-white/5" },
2932
- { key: "charts", label: "Charts", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.BarChart3, { className: "w-3 h-3" }), activeClass: "text-cyan-400 border-cyan-500 bg-white/5" },
2933
- { key: "nl2sql", label: "NL2SQL", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { className: "w-3 h-3" }), activeClass: "text-violet-400 border-violet-500 bg-white/5" },
2934
- { key: "autopilot", label: "Autopilot", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Zap, { className: "w-3 h-3" }), activeClass: "text-cyan-400 border-cyan-500 bg-white/5" },
2935
- { key: "pivot", label: "Pivot", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Columns3, { className: "w-3 h-3" }), activeClass: "text-orange-400 border-orange-500 bg-white/5" },
2936
- { key: "docs", label: "Docs", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "w-3 h-3" }), activeClass: "text-teal-400 border-teal-500 bg-white/5" },
2937
- { key: "schemadiff", label: "Diff", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GitCompare, { className: "w-3 h-3" }), activeClass: "text-rose-400 border-rose-500 bg-white/5" },
2938
- { key: "dashboard", label: "Dashboard", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutDashboard, { className: "w-3 h-3" }), activeClass: "text-indigo-400 border-indigo-500 bg-white/5" }
2920
+ { key: "results", label: "Results", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutGrid, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-blue-400 border-blue-500 bg-white/5" },
2921
+ { key: "explain", label: "Explain", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Zap, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-amber-400 border-amber-500 bg-white/5" },
2922
+ { key: "history", label: "History", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Clock, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-emerald-400 border-emerald-500 bg-white/5" },
2923
+ { key: "saved", label: "Saved", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bookmark, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-purple-400 border-purple-500 bg-white/5" },
2924
+ { key: "charts", label: "Charts", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.BarChart3, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-cyan-400 border-cyan-500 bg-white/5" },
2925
+ { key: "nl2sql", label: "NL2SQL", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Sparkles, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-violet-400 border-violet-500 bg-white/5" },
2926
+ { key: "autopilot", label: "Autopilot", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Zap, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-cyan-400 border-cyan-500 bg-white/5" },
2927
+ { key: "pivot", label: "Pivot", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Columns3, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-orange-400 border-orange-500 bg-white/5" },
2928
+ { key: "docs", label: "Docs", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-teal-400 border-teal-500 bg-white/5" },
2929
+ { key: "schemadiff", label: "Diff", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.GitCompare, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-rose-400 border-rose-500 bg-white/5" },
2930
+ { key: "dashboard", label: "Dashboard", icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutDashboard, { strokeWidth: 1.5, className: "w-3 h-3" }), activeClass: "text-indigo-400 border-indigo-500 bg-white/5" }
2939
2931
  ];
2940
2932
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col bg-[#080808]", children: [
2941
2933
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-9 bg-[#0a0a0a] border-b border-white/5 flex items-center justify-between px-2", children: [
@@ -2946,8 +2938,8 @@ function BottomPanel({
2946
2938
  onSetMode(tab.key);
2947
2939
  if (tab.key === "nl2sql") onSetIsNL2SQLOpen(true);
2948
2940
  },
2949
- className: chunkRBVDMLFV_js.cn(
2950
- "h-full px-3 text-xs font-bold uppercase transition-all border-b-2 flex items-center gap-2",
2941
+ className: chunkY52UIFEX_js.cn(
2942
+ "h-full px-3 text-xs font-medium transition-all border-b-2 flex items-center gap-2",
2951
2943
  mode === tab.key ? tab.activeClass : "text-zinc-500 border-transparent hover:text-zinc-300"
2952
2944
  ),
2953
2945
  children: [
@@ -2965,22 +2957,22 @@ function BottomPanel({
2965
2957
  currentTab.result.executionTime,
2966
2958
  "ms"
2967
2959
  ] }),
2968
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DropdownMenu, { children: [
2969
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.Button, { variant: "ghost", size: "sm", className: "h-7 text-xs font-bold uppercase text-zinc-500 hover:text-white gap-2", children: [
2970
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { className: "w-3 h-3" }),
2960
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DropdownMenu, { children: [
2961
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.Button, { variant: "ghost", size: "sm", className: "h-7 text-xs font-medium text-zinc-500 hover:text-white gap-2", children: [
2962
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { strokeWidth: 1.5, className: "w-3 h-3" }),
2971
2963
  " Export"
2972
2964
  ] }) }),
2973
- /* @__PURE__ */ jsxRuntime.jsxs(chunkRBVDMLFV_js.DropdownMenuContent, { align: "end", className: "bg-[#0d0d0d] border-white/10 text-zinc-300", children: [
2974
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DropdownMenuItem, { onClick: () => onExportResults("csv"), className: "text-xs cursor-pointer", children: "Export as CSV" }),
2975
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DropdownMenuItem, { onClick: () => onExportResults("json"), className: "text-xs cursor-pointer", children: "Export as JSON" }),
2976
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DropdownMenuItem, { onClick: () => onExportResults("sql-insert"), className: "text-xs cursor-pointer", children: "Export as SQL INSERT" }),
2977
- /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DropdownMenuItem, { onClick: () => onExportResults("sql-ddl"), className: "text-xs cursor-pointer", children: "Export as DDL (CREATE TABLE)" })
2965
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkY52UIFEX_js.DropdownMenuContent, { align: "end", className: "bg-[#0d0d0d] border-white/10 text-zinc-300", children: [
2966
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DropdownMenuItem, { onClick: () => onExportResults("csv"), className: "text-xs cursor-pointer", children: "Export as CSV" }),
2967
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DropdownMenuItem, { onClick: () => onExportResults("json"), className: "text-xs cursor-pointer", children: "Export as JSON" }),
2968
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DropdownMenuItem, { onClick: () => onExportResults("sql-insert"), className: "text-xs cursor-pointer", children: "Export as SQL INSERT" }),
2969
+ /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DropdownMenuItem, { onClick: () => onExportResults("sql-ddl"), className: "text-xs cursor-pointer", children: "Export as DDL (CREATE TABLE)" })
2978
2970
  ] })
2979
2971
  ] })
2980
2972
  ] })
2981
2973
  ] }),
2982
2974
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-hidden relative", children: mode === "nl2sql" ? /* @__PURE__ */ jsxRuntime.jsx(
2983
- chunkRBVDMLFV_js.NL2SQLPanel,
2975
+ chunkY52UIFEX_js.NL2SQLPanel,
2984
2976
  {
2985
2977
  isOpen: isNL2SQLOpen,
2986
2978
  onClose: () => {
@@ -3039,8 +3031,8 @@ function BottomPanel({
3039
3031
  onSetMode("results");
3040
3032
  }
3041
3033
  }
3042
- ) : mode === "charts" ? /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.DataCharts, { result: currentTab.result }) : mode === "schemadiff" ? /* @__PURE__ */ jsxRuntime.jsx(SchemaDiff, { schema, connection: activeConnection }) : mode === "dashboard" ? /* @__PURE__ */ jsxRuntime.jsx(ChartDashboardLazy, { result: currentTab.result }) : currentTab.result ? mode === "explain" ? /* @__PURE__ */ jsxRuntime.jsx(
3043
- chunkRBVDMLFV_js.VisualExplain,
3034
+ ) : mode === "charts" ? /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.DataCharts, { result: currentTab.result }) : mode === "schemadiff" ? /* @__PURE__ */ jsxRuntime.jsx(SchemaDiff, { schema, connection: activeConnection }) : mode === "dashboard" ? /* @__PURE__ */ jsxRuntime.jsx(ChartDashboardLazy, { result: currentTab.result }) : currentTab.result ? mode === "explain" ? /* @__PURE__ */ jsxRuntime.jsx(
3035
+ chunkY52UIFEX_js.VisualExplain,
3044
3036
  {
3045
3037
  plan: currentTab.explainPlan,
3046
3038
  query: currentTab.query,
@@ -3052,7 +3044,7 @@ function BottomPanel({
3052
3044
  }
3053
3045
  }
3054
3046
  ) : /* @__PURE__ */ jsxRuntime.jsx(
3055
- chunkRBVDMLFV_js.ResultsGrid,
3047
+ chunkY52UIFEX_js.ResultsGrid,
3056
3048
  {
3057
3049
  result: currentTab.result,
3058
3050
  onLoadMore,
@@ -3068,9 +3060,9 @@ function BottomPanel({
3068
3060
  onDiscardChanges
3069
3061
  }
3070
3062
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "h-full flex flex-col items-center justify-center opacity-20 bg-[#0a0a0a]", children: [
3071
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Terminal, { className: "w-12 h-12 mb-4" }),
3072
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: "Execute a query or check history" }),
3073
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs uppercase tracking-widest mt-2", children: "Ready to query" })
3063
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Terminal, { strokeWidth: 1.5, className: "w-12 h-12 mb-4" }),
3064
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-medium", children: "Execute a query or check history" }),
3065
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs mt-2", children: "Ready to query" })
3074
3066
  ] }) })
3075
3067
  ] });
3076
3068
  }
@@ -3344,7 +3336,7 @@ function useQueryAdapter({
3344
3336
  toast({ title: "Empty Query", description: "Enter a query to execute.", variant: "destructive" });
3345
3337
  return;
3346
3338
  }
3347
- if (chunkRBVDMLFV_js.isDangerousQuery(queryToExecute)) {
3339
+ if (chunkY52UIFEX_js.isDangerousQuery(queryToExecute)) {
3348
3340
  setSafetyCheckQuery(queryToExecute);
3349
3341
  return;
3350
3342
  }
@@ -3561,7 +3553,7 @@ function ResizablePanelGroup(_a) {
3561
3553
  ResizablePrimitive__namespace.PanelGroup,
3562
3554
  chunkQ6LRDBK7_js.__spreadValues({
3563
3555
  "data-slot": "resizable-panel-group",
3564
- className: chunkRBVDMLFV_js.cn(
3556
+ className: chunkY52UIFEX_js.cn(
3565
3557
  "flex h-full w-full data-[panel-group-direction=vertical]:flex-col",
3566
3558
  className
3567
3559
  )
@@ -3584,7 +3576,7 @@ function ResizableHandle(_a) {
3584
3576
  ResizablePrimitive__namespace.PanelResizeHandle,
3585
3577
  chunkQ6LRDBK7_js.__spreadProps(chunkQ6LRDBK7_js.__spreadValues({
3586
3578
  "data-slot": "resizable-handle",
3587
- className: chunkRBVDMLFV_js.cn(
3579
+ className: chunkY52UIFEX_js.cn(
3588
3580
  "bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90",
3589
3581
  className
3590
3582
  )
@@ -3611,7 +3603,7 @@ function AlertDialogOverlay(_a) {
3611
3603
  AlertDialogPrimitive__namespace.Overlay,
3612
3604
  chunkQ6LRDBK7_js.__spreadValues({
3613
3605
  "data-slot": "alert-dialog-overlay",
3614
- className: chunkRBVDMLFV_js.cn(
3606
+ className: chunkY52UIFEX_js.cn(
3615
3607
  "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",
3616
3608
  className
3617
3609
  )
@@ -3630,7 +3622,7 @@ function AlertDialogContent(_a) {
3630
3622
  AlertDialogPrimitive__namespace.Content,
3631
3623
  chunkQ6LRDBK7_js.__spreadValues({
3632
3624
  "data-slot": "alert-dialog-content",
3633
- className: chunkRBVDMLFV_js.cn(
3625
+ className: chunkY52UIFEX_js.cn(
3634
3626
  "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
3635
3627
  className
3636
3628
  )
@@ -3648,7 +3640,7 @@ function AlertDialogTitle(_a) {
3648
3640
  AlertDialogPrimitive__namespace.Title,
3649
3641
  chunkQ6LRDBK7_js.__spreadValues({
3650
3642
  "data-slot": "alert-dialog-title",
3651
- className: chunkRBVDMLFV_js.cn("text-lg font-semibold", className)
3643
+ className: chunkY52UIFEX_js.cn("text-lg font-semibold", className)
3652
3644
  }, props)
3653
3645
  );
3654
3646
  }
@@ -3662,7 +3654,7 @@ function AlertDialogDescription(_a) {
3662
3654
  AlertDialogPrimitive__namespace.Description,
3663
3655
  chunkQ6LRDBK7_js.__spreadValues({
3664
3656
  "data-slot": "alert-dialog-description",
3665
- className: chunkRBVDMLFV_js.cn("text-muted-foreground text-sm", className)
3657
+ className: chunkY52UIFEX_js.cn("text-muted-foreground text-sm", className)
3666
3658
  }, props)
3667
3659
  );
3668
3660
  }
@@ -3675,7 +3667,7 @@ function AlertDialogAction(_a) {
3675
3667
  return /* @__PURE__ */ jsxRuntime.jsx(
3676
3668
  AlertDialogPrimitive__namespace.Action,
3677
3669
  chunkQ6LRDBK7_js.__spreadValues({
3678
- className: chunkRBVDMLFV_js.cn(chunkRBVDMLFV_js.buttonVariants(), className)
3670
+ className: chunkY52UIFEX_js.cn(chunkY52UIFEX_js.buttonVariants(), className)
3679
3671
  }, props)
3680
3672
  );
3681
3673
  }
@@ -3688,7 +3680,7 @@ function AlertDialogCancel(_a) {
3688
3680
  return /* @__PURE__ */ jsxRuntime.jsx(
3689
3681
  AlertDialogPrimitive__namespace.Cancel,
3690
3682
  chunkQ6LRDBK7_js.__spreadValues({
3691
- className: chunkRBVDMLFV_js.cn(chunkRBVDMLFV_js.buttonVariants({ variant: "outline" }), className)
3683
+ className: chunkY52UIFEX_js.cn(chunkY52UIFEX_js.buttonVariants({ variant: "outline" }), className)
3692
3684
  }, props)
3693
3685
  );
3694
3686
  }
@@ -3906,7 +3898,7 @@ ${colDefs.join(",\n")}
3906
3898
  "div",
3907
3899
  {
3908
3900
  "data-studio-workspace": "",
3909
- className: chunkRBVDMLFV_js.cn("dark flex h-full w-full bg-[#050505] text-zinc-100 overflow-hidden font-sans select-none", className),
3901
+ className: chunkY52UIFEX_js.cn("dark flex h-full w-full bg-[#050505] text-zinc-100 overflow-hidden font-sans select-none", className),
3910
3902
  children: [
3911
3903
  /* @__PURE__ */ jsxRuntime.jsxs(ResizablePanelGroup, { id: "workspace-main", direction: "horizontal", className: "h-full", children: [
3912
3904
  /* @__PURE__ */ jsxRuntime.jsx(ResizablePanel, { defaultSize: 22, minSize: 15, maxSize: 35, className: "hidden md:block", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -3951,9 +3943,9 @@ ${colDefs.join(",\n")}
3951
3943
  }
3952
3944
  ),
3953
3945
  /* @__PURE__ */ jsxRuntime.jsxs("main", { className: "flex-1 overflow-hidden relative", children: [
3954
- features.schemaDiagram && /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: showDiagram && /* @__PURE__ */ jsxRuntime.jsx(chunkRBVDMLFV_js.SchemaDiagram, { schema: conn.schema, onClose: () => setShowDiagram(false) }) }),
3946
+ features.schemaDiagram && /* @__PURE__ */ jsxRuntime.jsx(framerMotion.AnimatePresence, { children: showDiagram && /* @__PURE__ */ jsxRuntime.jsx(chunkY52UIFEX_js.SchemaDiagram, { schema: conn.schema, onClose: () => setShowDiagram(false) }) }),
3955
3947
  activeMobileTab === "database" && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "md:hidden h-full bg-[#080808] overflow-auto p-4", children: [
3956
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 flex items-center justify-between", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-bold text-zinc-300 uppercase tracking-widest", children: "Connections" }) }),
3948
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-4 flex items-center justify-between", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-xs font-medium text-zinc-300", children: "Connections" }) }),
3957
3949
  /* @__PURE__ */ jsxRuntime.jsx(
3958
3950
  ConnectionsList,
3959
3951
  {
@@ -3969,7 +3961,7 @@ ${colDefs.join(",\n")}
3969
3961
  )
3970
3962
  ] }),
3971
3963
  activeMobileTab === "schema" && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "md:hidden h-full bg-[#080808] overflow-auto p-4", children: conn.activeConnection ? /* @__PURE__ */ jsxRuntime.jsx(
3972
- chunkRBVDMLFV_js.SchemaExplorer,
3964
+ chunkY52UIFEX_js.SchemaExplorer,
3973
3965
  {
3974
3966
  schema: conn.schema,
3975
3967
  isLoadingSchema: conn.isLoadingSchema,
@@ -3991,10 +3983,10 @@ ${colDefs.join(",\n")}
3991
3983
  onGenerateTestData: features.testDataGenerator ? (name) => setTestDataTable(name) : void 0
3992
3984
  }
3993
3985
  ) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center justify-center h-full text-zinc-500", children: [
3994
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { className: "w-12 h-12 mb-4 opacity-30" }),
3995
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: "Select a connection first" })
3986
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Database, { strokeWidth: 1.5, className: "w-12 h-12 mb-4 opacity-30" }),
3987
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs", children: "Select a connection first" })
3996
3988
  ] }) }),
3997
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkRBVDMLFV_js.cn(
3989
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkY52UIFEX_js.cn(
3998
3990
  "h-full",
3999
3991
  activeMobileTab !== "editor" && "hidden md:block"
4000
3992
  ), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-full", children: /* @__PURE__ */ jsxRuntime.jsxs(ResizablePanelGroup, { id: "workspace-editor", direction: "vertical", children: [
@@ -4020,7 +4012,7 @@ ${colDefs.join(",\n")}
4020
4012
  }
4021
4013
  ),
4022
4014
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 relative", children: /* @__PURE__ */ jsxRuntime.jsx(
4023
- chunkRBVDMLFV_js.QueryEditor,
4015
+ chunkY52UIFEX_js.QueryEditor,
4024
4016
  {
4025
4017
  ref: queryEditorRef,
4026
4018
  value: tabMgr.currentTab.query,
@@ -4088,7 +4080,7 @@ ${colDefs.join(",\n")}
4088
4080
  }
4089
4081
  ),
4090
4082
  /* @__PURE__ */ jsxRuntime.jsx(
4091
- chunkRBVDMLFV_js.QuerySafetyDialog,
4083
+ chunkY52UIFEX_js.QuerySafetyDialog,
4092
4084
  {
4093
4085
  isOpen: !!queryExec.safetyCheckQuery,
4094
4086
  query: queryExec.safetyCheckQuery || "",
@@ -4114,7 +4106,7 @@ ${colDefs.join(",\n")}
4114
4106
  }
4115
4107
  ),
4116
4108
  features.codeGenerator && /* @__PURE__ */ jsxRuntime.jsx(
4117
- chunkRBVDMLFV_js.DataProfiler,
4109
+ chunkY52UIFEX_js.DataProfiler,
4118
4110
  {
4119
4111
  isOpen: !!profilerTable,
4120
4112
  onClose: () => setProfilerTable(null),
@@ -4126,7 +4118,7 @@ ${colDefs.join(",\n")}
4126
4118
  }
4127
4119
  ),
4128
4120
  features.codeGenerator && /* @__PURE__ */ jsxRuntime.jsx(
4129
- chunkRBVDMLFV_js.CodeGenerator,
4121
+ chunkY52UIFEX_js.CodeGenerator,
4130
4122
  {
4131
4123
  isOpen: !!codeGenTable,
4132
4124
  onClose: () => setCodeGenTable(null),
@@ -4136,7 +4128,7 @@ ${colDefs.join(",\n")}
4136
4128
  }
4137
4129
  ),
4138
4130
  features.testDataGenerator && /* @__PURE__ */ jsxRuntime.jsx(
4139
- chunkRBVDMLFV_js.TestDataGenerator,
4131
+ chunkY52UIFEX_js.TestDataGenerator,
4140
4132
  {
4141
4133
  isOpen: !!testDataTable,
4142
4134
  onClose: () => setTestDataTable(null),
@@ -4149,10 +4141,10 @@ ${colDefs.join(",\n")}
4149
4141
  ),
4150
4142
  /* @__PURE__ */ jsxRuntime.jsx(AlertDialog, { open: queryExec.unlimitedWarningOpen, onOpenChange: queryExec.setUnlimitedWarningOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogContent, { className: "bg-[#111] border-white/5 max-w-sm p-0 gap-0 overflow-hidden", children: [
4151
4143
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-6 pt-6 pb-4", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start gap-3", children: [
4152
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-10 h-10 rounded-xl bg-gradient-to-br from-amber-500/20 to-red-500/10 flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "w-5 h-5 text-amber-400" }) }),
4144
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-10 h-10 rounded-xl bg-gradient-to-br from-amber-500/20 to-red-500/10 flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { strokeWidth: 1.5, className: "w-5 h-5 text-amber-400" }) }),
4153
4145
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
4154
- /* @__PURE__ */ jsxRuntime.jsx(AlertDialogTitle, { className: "text-[15px] font-semibold text-zinc-100 mb-1", children: "Load all results?" }),
4155
- /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogDescription, { className: "text-[13px] text-zinc-500 leading-relaxed", children: [
4146
+ /* @__PURE__ */ jsxRuntime.jsx(AlertDialogTitle, { className: "text-xs font-medium text-zinc-100 mb-1", children: "Load all results?" }),
4147
+ /* @__PURE__ */ jsxRuntime.jsxs(AlertDialogDescription, { className: "text-xs text-zinc-500 leading-relaxed", children: [
4156
4148
  "This may slow down your browser. Max ",
4157
4149
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-zinc-400", children: "100K" }),
4158
4150
  " rows will be loaded."
@@ -4160,12 +4152,12 @@ ${colDefs.join(",\n")}
4160
4152
  ] })
4161
4153
  ] }) }),
4162
4154
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "px-6 pb-6 flex gap-2", children: [
4163
- /* @__PURE__ */ jsxRuntime.jsx(AlertDialogCancel, { className: "flex-1 h-9 bg-white/5 border-0 text-zinc-400 text-[13px] font-medium hover:bg-white/10 hover:text-zinc-200", children: "Cancel" }),
4155
+ /* @__PURE__ */ jsxRuntime.jsx(AlertDialogCancel, { className: "flex-1 h-9 bg-white/5 border-0 text-zinc-400 text-xs font-medium hover:bg-white/10 hover:text-zinc-200", children: "Cancel" }),
4164
4156
  /* @__PURE__ */ jsxRuntime.jsx(
4165
4157
  AlertDialogAction,
4166
4158
  {
4167
4159
  onClick: queryExec.handleUnlimitedQuery,
4168
- className: "flex-1 h-9 bg-amber-600 border-0 text-white text-[13px] font-medium hover:bg-amber-500",
4160
+ className: "flex-1 h-9 bg-amber-600 border-0 text-white text-xs font-medium hover:bg-amber-500",
4169
4161
  children: "Load All"
4170
4162
  }
4171
4163
  )