sql-preview 0.6.6 → 0.6.7

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/Changelog.md CHANGED
@@ -1,6 +1,16 @@
1
1
  # Changelog
2
2
 
3
- ## [Unreleased]
3
+ ## [0.6.7] - 2026-07-08
4
+
5
+ ### Changed
6
+
7
+ - Replaced the stacked tab-close undo toast notifications with a simpler Undo button in the top action bar.
8
+ - Restored the original emoji icons (`▶️` and `▶️➕`) for the CodeLens query execution actions.
9
+ - Extracted hardcoded shadow colors and font stacks in the UI to strictly align with the `DESIGN.md` token system.
10
+
11
+ ### Fixed
12
+
13
+ - Fixed an issue where running a query in a new tab would occasionally render a blank page until the tab was manually focused.
4
14
 
5
15
  ## [0.6.6] - 2026-07-06
6
16
 
package/README.md CHANGED
@@ -6,8 +6,8 @@ Run SQL in VS Code, manage database profiles securely, inspect results in a
6
6
  high-performance grid, and expose governed database tools to Claude, Cursor,
7
7
  Copilot, and other Model Context Protocol clients.
8
8
 
9
- [![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/mehul.sql-preview?label=VS%20Code%20Marketplace&color=0066b8)](https://marketplace.visualstudio.com/items?itemName=mehul.sql-preview)
10
- [![Installs](https://img.shields.io/visual-studio-marketplace/i/mehul.sql-preview)](https://marketplace.visualstudio.com/items?itemName=mehul.sql-preview)
9
+ [![VS Code Marketplace](https://img.shields.io/vscode-marketplace/v/mehul.sql-preview?label=VS%20Code%20Marketplace&color=0066b8)](https://marketplace.visualstudio.com/items?itemName=mehul.sql-preview)
10
+ [![Installs](https://img.shields.io/vscode-marketplace/i/mehul.sql-preview)](https://marketplace.visualstudio.com/items?itemName=mehul.sql-preview)
11
11
  [![OpenVSX](https://img.shields.io/open-vsx/v/mehul/sql-preview?label=OpenVSX&color=a60ee5)](https://open-vsx.org/extension/mehul/sql-preview)
12
12
  [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
13
13
 
package/dist/mcp-app.html CHANGED
@@ -9,7 +9,7 @@
9
9
  body {
10
10
  margin: 0;
11
11
  padding: 0;
12
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
12
+ font-family: var(--vscode-editor-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif);
13
13
  background-color: transparent;
14
14
  }
15
15
 
@@ -74761,16 +74761,6 @@ const ConnectionsManager = () => {
74761
74761
  reactExports.useEffect(() => {
74762
74762
  fetchData();
74763
74763
  }, [fetchData]);
74764
- reactExports.useEffect(() => {
74765
- if (isFormOpen || connections.length === 0) {
74766
- return;
74767
- }
74768
- if (selectedConnectionId && connections.some((c) => c.id === selectedConnectionId)) {
74769
- return;
74770
- }
74771
- const nextSelection = connections.find((c) => supportsActiveConnection && c.id === activeConnectionId) ?? connections[0];
74772
- setSelectedConnectionId(nextSelection == null ? void 0 : nextSelection.id);
74773
- }, [activeConnectionId, connections, isFormOpen, selectedConnectionId, supportsActiveConnection]);
74774
74764
  reactExports.useEffect(() => {
74775
74765
  if (connections.length > 0) {
74776
74766
  connections.forEach((c) => {
@@ -75027,12 +75017,14 @@ const ConnectionsManager = () => {
75027
75017
  });
75028
75018
  };
75029
75019
  const openAddForm = () => {
75020
+ setSelectedConnectionId(void 0);
75030
75021
  setSelectedType("");
75031
75022
  setIsFormOpen(true);
75032
75023
  setToast(null);
75033
75024
  };
75034
75025
  const closeForm = reactExports.useCallback(() => {
75035
75026
  setIsFormOpen(false);
75027
+ setSelectedConnectionId(void 0);
75036
75028
  setSelectedType("");
75037
75029
  setToast(null);
75038
75030
  }, []);
@@ -75246,17 +75238,16 @@ const ConnectionsManager = () => {
75246
75238
  ] });
75247
75239
  };
75248
75240
  return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-detail", children: [
75249
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-header", children: [
75250
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
75251
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-conn-detail-kicker", children: "Connection settings" }),
75252
- /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: "sp-conn-detail-title", children: selectedConnection.name }),
75253
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-item-meta", children: [
75241
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-header", style: { display: "flex", justifyContent: "space-between", alignItems: "center", flexWrap: "wrap", gap: "16px", paddingBottom: "16px", borderBottom: "1px solid var(--sp-border)", marginBottom: "16px" }, children: [
75242
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "12px", flexWrap: "wrap" }, children: [
75243
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { fontWeight: 600, fontSize: "14px", color: "var(--sp-fg)" }, children: selectedConnection ? "Edit Connection" : "New Connection" }),
75244
+ selectedConnection && /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
75254
75245
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-conn-type-badge", children: selectedConnection.type }),
75255
- isActive && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-conn-active-badge", children: "Active for queries" }),
75246
+ isActive && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-conn-active-badge", children: "Active" }),
75256
75247
  selectedConnection.builtIn && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-conn-built-in-label", children: "Built-in" })
75257
75248
  ] })
75258
75249
  ] }),
75259
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-actions", children: [
75250
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-actions", style: { display: "flex", gap: "8px", flexWrap: "wrap" }, children: [
75260
75251
  supportsActiveConnection && /* @__PURE__ */ jsxRuntimeExports.jsx(
75261
75252
  "button",
75262
75253
  {
@@ -75264,7 +75255,7 @@ const ConnectionsManager = () => {
75264
75255
  onClick: () => handleSetActiveConnection(selectedConnection),
75265
75256
  disabled: isActive || status === "testing",
75266
75257
  "aria-label": `Set ${selectedConnection.name} as the active connection for queries`,
75267
- children: isActive ? "Active for queries" : "Set active for queries"
75258
+ children: isActive ? "Active" : "Set active"
75268
75259
  }
75269
75260
  ),
75270
75261
  !selectedConnection.builtIn && /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -75280,12 +75271,6 @@ const ConnectionsManager = () => {
75280
75271
  ] }),
75281
75272
  /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-detail-body", children: [
75282
75273
  renderToast(),
75283
- isActive && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-callout", role: "status", children: [
75284
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-dot sp-dot-ok" }),
75285
- "Queries from SQL Preview and MCP use ",
75286
- /* @__PURE__ */ jsxRuntimeExports.jsx("b", { children: selectedConnection.name }),
75287
- " unless a query overrides it."
75288
- ] }),
75289
75274
  modeAwareEditSchema ? /* @__PURE__ */ jsxRuntimeExports.jsx(
75290
75275
  DynamicForm,
75291
75276
  {
@@ -75302,149 +75287,75 @@ const ConnectionsManager = () => {
75302
75287
  ] })
75303
75288
  ] });
75304
75289
  };
75305
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-page", children: [
75306
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn", children: [
75307
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-head", children: [
75308
- /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { children: "Connections" }),
75309
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-head-actions", children: [
75310
- /* @__PURE__ */ jsxRuntimeExports.jsx(
75311
- "button",
75312
- {
75313
- className: "sp-btn",
75314
- onClick: fetchData,
75315
- disabled: isLoading,
75316
- "aria-label": "Refresh connections",
75317
- title: "Refresh",
75318
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
75319
- "svg",
75320
- {
75321
- width: "12",
75322
- height: "12",
75323
- viewBox: "0 0 16 16",
75324
- fill: "none",
75325
- xmlns: "http://www.w3.org/2000/svg",
75326
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
75327
- "path",
75328
- {
75329
- fillRule: "evenodd",
75330
- clipRule: "evenodd",
75331
- d: "M13.627 7.25H15C14.7347 4.09068 12.1963 1.55227 9.03698 1.28698V2.66579C11.4398 2.9238 13.3638 4.84777 13.6218 7.25055L13.627 7.25ZM8.0004 0C3.58212 0 0.000396729 3.58172 0.000396729 8C0.000396729 12.4183 3.58212 16 8.0004 16C12.1643 16 15.5843 12.8124 15.9682 8.75H14.4532C14.0792 11.9772 11.3323 14.5 8.0004 14.5C4.41054 14.5 1.5004 11.5899 1.5004 8C1.5004 4.41015 4.41054 1.5 8.0004 1.5C9.72825 1.5 11.2982 2.17415 12.4578 3.27218L10.0004 5.75H15.5004V0.25L13.5186 2.23179C12.1158 0.849658 10.158 0 8.0004 0ZM2.37344 8.75C2.63873 11.9093 5.17714 14.4477 8.33644 14.713V13.3342C5.93366 13.0762 4.00969 11.1522 3.75168 8.74945L3.74646 8.75H2.37344Z",
75332
- fill: "currentColor"
75333
- }
75334
- )
75335
- }
75336
- )
75337
- }
75338
- ),
75339
- /* @__PURE__ */ jsxRuntimeExports.jsx(
75340
- "button",
75341
- {
75342
- className: "sp-btn sp-btn-primary",
75343
- onClick: openAddForm,
75344
- "aria-label": "Add new connection",
75345
- children: "Add"
75346
- }
75347
- )
75348
- ] })
75349
- ] }),
75350
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-switcher-wrap", ref: switcherWrapRef, children: [
75351
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
75290
+ const renderGrid = () => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-grid-view", children: [
75291
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-head", style: { marginBottom: 16 }, children: [
75292
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { children: "DB Connections" }),
75293
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-head-actions", children: [
75294
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
75352
75295
  "button",
75353
75296
  {
75354
- className: "sp-switcher",
75355
- "aria-expanded": isPopoverOpen,
75356
- onClick: () => setIsPopoverOpen((v) => !v),
75357
- children: [
75358
- selectedConnection ? /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
75359
- /* @__PURE__ */ jsxRuntimeExports.jsx(
75360
- "div",
75361
- {
75362
- className: `sp-dot ${statuses[selectedConnection.id] === "ok" ? "sp-dot-ok" : statuses[selectedConnection.id] === "error" ? "sp-dot-error" : statuses[selectedConnection.id] === "testing" ? "sp-dot-testing" : "sp-dot-unknown"}`
75363
- }
75364
- ),
75365
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-grow", children: [
75366
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-sw-name", children: selectedConnection.name }),
75367
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-badge", children: selectedConnection.type.toUpperCase() }),
75368
- supportsActiveConnection && activeConnectionId === selectedConnection.id && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-pill", children: "Active for queries" })
75369
- ] })
75370
- ] }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-grow", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-sw-name", children: "No connection selected" }) }),
75371
- /* @__PURE__ */ jsxRuntimeExports.jsx(
75372
- "svg",
75373
- {
75374
- className: "sp-chev",
75375
- width: "16",
75376
- height: "16",
75377
- viewBox: "0 0 16 16",
75378
- fill: "none",
75379
- xmlns: "http://www.w3.org/2000/svg",
75380
- children: /* @__PURE__ */ jsxRuntimeExports.jsx(
75381
- "path",
75382
- {
75383
- d: "M4.29303 5.29289C4.68355 4.90237 5.31672 4.90237 5.70724 5.29289L8.00014 7.58579L10.293 5.29289C10.6836 4.90237 11.3167 4.90237 11.7072 5.29289C12.0978 5.68342 12.0978 6.31658 11.7072 6.70711L8.70724 9.70711C8.31672 10.0976 7.68355 10.0976 7.29303 9.70711L4.29303 6.70711C3.90251 6.31658 3.90251 5.68342 4.29303 5.29289Z",
75384
- fill: "currentColor"
75385
- }
75386
- )
75387
- }
75388
- )
75389
- ]
75297
+ className: "sp-btn",
75298
+ onClick: fetchData,
75299
+ disabled: isLoading,
75300
+ "aria-label": "Refresh connections",
75301
+ title: "Refresh",
75302
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { width: "14", height: "14", viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.681 3H2V2h3.5l.5.5V6H5V4a5 5 0 1 0 4.53-.761l.302-.953A6 6 0 1 1 4.681 3z" }) })
75390
75303
  }
75391
75304
  ),
75392
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `sp-popover ${isPopoverOpen ? "open" : ""}`, children: [
75393
- connections.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { padding: "8px 10px", color: "var(--sp-muted-fg)" }, children: "No connections configured." }) : connections.map((c) => {
75394
- const status = statuses[c.id] || "unknown";
75395
- const isActive = supportsActiveConnection && activeConnectionId === c.id;
75396
- const isSelected = selectedConnectionId === c.id && !isFormOpen;
75397
- return /* @__PURE__ */ jsxRuntimeExports.jsxs(
75398
- "button",
75399
- {
75400
- type: "button",
75401
- className: "sp-pop-row",
75402
- "aria-current": isSelected,
75403
- onClick: () => {
75404
- setSelectedConnectionId(c.id);
75405
- closeForm();
75406
- setIsPopoverOpen(false);
75407
- setToast(null);
75408
- },
75409
- children: [
75410
- /* @__PURE__ */ jsxRuntimeExports.jsx(
75411
- "div",
75412
- {
75413
- className: `sp-dot ${status === "ok" ? "sp-dot-ok" : status === "error" ? "sp-dot-error" : status === "testing" ? "sp-dot-testing" : "sp-dot-unknown"}`
75414
- }
75415
- ),
75416
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-grow", children: [
75417
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-nm", children: c.name }),
75418
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-badge", children: c.type.toUpperCase() }),
75419
- isActive && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-pill", children: "Active" }),
75420
- c.builtIn && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-tag-builtin", children: "Built-in" })
75421
- ] }),
75422
- isSelected && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-pop-check", children: "✓" })
75423
- ]
75424
- },
75425
- c.id
75426
- );
75427
- }),
75428
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-pop-sep" }),
75429
- /* @__PURE__ */ jsxRuntimeExports.jsxs(
75430
- "button",
75431
- {
75432
- type: "button",
75433
- className: "sp-pop-row sp-pop-add",
75434
- onClick: () => {
75435
- openAddForm();
75436
- setIsPopoverOpen(false);
75437
- },
75438
- children: [
75439
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-plus", children: "+" }),
75440
- " Add connection"
75441
- ]
75442
- }
75443
- )
75444
- ] })
75445
- ] }),
75446
- /* @__PURE__ */ jsxRuntimeExports.jsx("section", { "aria-label": "Connection details", children: isFormOpen ? renderConnectionForm() : renderConnectionDetails() })
75305
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
75306
+ "button",
75307
+ {
75308
+ className: "sp-btn sp-btn-primary",
75309
+ onClick: openAddForm,
75310
+ "aria-label": "Add new connection",
75311
+ children: "+ New Connection"
75312
+ }
75313
+ )
75314
+ ] })
75447
75315
  ] }),
75316
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-conn-grid", style: { display: "grid", gridTemplateColumns: "repeat(auto-fill, minmax(260px, 1fr))", gap: "12px" }, children: connections.length === 0 ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-conn-empty", style: { gridColumn: "1 / -1" }, children: "No connections configured." }) : connections.map((c) => {
75317
+ const status = statuses[c.id] || "unknown";
75318
+ const isActive = supportsActiveConnection && activeConnectionId === c.id;
75319
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(
75320
+ "div",
75321
+ {
75322
+ className: "sp-conn-card",
75323
+ style: {
75324
+ border: "1px solid var(--sp-border)",
75325
+ borderRadius: "6px",
75326
+ padding: "12px",
75327
+ background: "var(--sp-header-bg)",
75328
+ cursor: "pointer",
75329
+ display: "flex",
75330
+ flexDirection: "column",
75331
+ gap: "8px"
75332
+ },
75333
+ onClick: () => {
75334
+ setSelectedConnectionId(c.id);
75335
+ setIsFormOpen(false);
75336
+ },
75337
+ children: [
75338
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "8px", fontWeight: 600 }, children: [
75339
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { display: "flex", width: 16, height: 16, alignItems: "center", justifyContent: "center", color: "var(--sp-btn-bg)" }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(ConnectorGlyph, { type: c.type }) }),
75340
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { children: c.name })
75341
+ ] }) }),
75342
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { fontSize: "12px", color: "var(--sp-muted-fg)" }, children: c.type.toUpperCase() }),
75343
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { display: "flex", alignItems: "center", gap: "6px", fontSize: "11px", marginTop: "4px" }, children: [
75344
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `sp-dot sp-dot-${status}` }),
75345
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { style: { color: "var(--sp-muted-fg)" }, children: status === "ok" ? "Connected" : status === "error" ? "Error" : status === "testing" ? "Testing..." : "Disconnected" }),
75346
+ isActive && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "sp-pill", style: { marginLeft: "auto" }, children: "Active" })
75347
+ ] })
75348
+ ]
75349
+ },
75350
+ c.id
75351
+ );
75352
+ }) })
75353
+ ] });
75354
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "sp-conn-page", children: [
75355
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "sp-conn", children: !isFormOpen && !selectedConnectionId ? renderGrid() : /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
75356
+ /* @__PURE__ */ jsxRuntimeExports.jsx("button", { className: "sp-btn", onClick: closeForm, style: { marginBottom: 12, alignSelf: "flex-start" }, children: "← Back to connections" }),
75357
+ /* @__PURE__ */ jsxRuntimeExports.jsx("section", { "aria-label": "Connection details", style: { background: "var(--sp-bg)", border: "1px solid var(--sp-border)", borderRadius: 6 }, children: isFormOpen ? renderConnectionForm() : renderConnectionDetails() })
75358
+ ] }) }),
75448
75359
  /* @__PURE__ */ jsxRuntimeExports.jsx(
75449
75360
  ConfirmDialog,
75450
75361
  {
@@ -97209,6 +97120,7 @@ body.light-theme .ag-theme-quartz {
97209
97120
  --sp-space-lg: 24px;
97210
97121
 
97211
97122
  --sp-radius: 3px;
97123
+ --sp-shadow-floating: 0 6px 18px rgba(0, 0, 0, 0.3), 0 1px 4px rgba(0, 0, 0, 0.15);
97212
97124
  }
97213
97125
 
97214
97126
  .vscode-dark,
@@ -97295,6 +97207,7 @@ body {
97295
97207
  padding: 0 6px;
97296
97208
  flex-shrink: 0;
97297
97209
  border-left: 1px solid var(--sp-border);
97210
+ gap: 6px;
97298
97211
  }
97299
97212
 
97300
97213
  .sp-active-file-indicator {
@@ -97658,8 +97571,10 @@ body {
97658
97571
  }
97659
97572
  .sp-icon-btn.active {
97660
97573
  color: var(--sp-btn-bg);
97661
- border-color: var(--sp-btn-bg);
97662
97574
  background: var(--sp-hover-bg);
97575
+ border-color: transparent !important;
97576
+ outline: none !important;
97577
+ box-shadow: none !important;
97663
97578
  }
97664
97579
 
97665
97580
  /* ── Grid container ────────────────────────────────────────── */
@@ -98182,17 +98097,26 @@ body.vscode-high-contrast .ag-theme-quartz {
98182
98097
  .sp-trust-badge {
98183
98098
  font-size: 11px;
98184
98099
  font-weight: 600;
98185
- border: 1px solid currentColor;
98100
+ border: 1px solid transparent;
98186
98101
  border-radius: var(--sp-radius);
98187
- padding: 2px 8px;
98102
+ height: 24px;
98103
+ display: inline-flex;
98104
+ align-items: center;
98105
+ justify-content: center;
98106
+ padding: 0 8px;
98107
+ box-sizing: border-box;
98188
98108
  white-space: nowrap;
98189
98109
  cursor: default;
98190
98110
  }
98191
98111
  .sp-trust-badge.safe {
98192
- color: var(--sp-success);
98112
+ background: var(--sp-hover-bg);
98113
+ color: var(--sp-fg);
98114
+ border-color: var(--sp-border);
98193
98115
  }
98194
98116
  .sp-trust-badge.unrestricted {
98117
+ background: var(--sp-hover-bg);
98195
98118
  color: var(--sp-warning);
98119
+ border-color: var(--sp-border);
98196
98120
  }
98197
98121
 
98198
98122
  /* ── Tab context menu ──────────────────────────────────────── */
@@ -99116,8 +99040,9 @@ body.vscode-high-contrast .ag-theme-quartz {
99116
99040
  font-weight: 700;
99117
99041
  padding: 1px 7px;
99118
99042
  border-radius: 999px;
99119
- background: var(--sp-success);
99120
- color: var(--sp-bg);
99043
+ background: var(--sp-hover-bg);
99044
+ color: var(--sp-fg);
99045
+ border: 1px solid var(--sp-border);
99121
99046
  white-space: nowrap;
99122
99047
  flex-shrink: 0;
99123
99048
  }
@@ -99138,16 +99063,12 @@ body.vscode-high-contrast .ag-theme-quartz {
99138
99063
  background: var(--sp-bg);
99139
99064
  border: 1px solid var(--sp-border);
99140
99065
  border-radius: var(--sp-radius);
99141
- box-shadow: var(--sp-shadow, 0 6px 18px rgba(0, 0, 0, 0.18), 0 1px 4px rgba(0, 0, 0, 0.10));
99066
+ box-shadow: var(--sp-shadow-floating);
99142
99067
  padding: 4px;
99143
99068
  display: none;
99144
99069
  transform-origin: top center;
99145
99070
  }
99146
99071
 
99147
- .vscode-dark .sp-popover {
99148
- box-shadow: var(--sp-shadow, 0 6px 18px rgba(0, 0, 0, 0.45), 0 1px 4px rgba(0, 0, 0, 0.30));
99149
- }
99150
-
99151
99072
  .sp-popover.open {
99152
99073
  display: block;
99153
99074
  animation: pop 0.12s ease-out;
@@ -99409,8 +99330,9 @@ body.vscode-high-contrast .ag-theme-quartz {
99409
99330
  font-weight: 700;
99410
99331
  padding: 1px 6px;
99411
99332
  border-radius: 999px;
99412
- color: var(--sp-bg);
99413
- background: var(--sp-success);
99333
+ color: var(--sp-fg);
99334
+ background: var(--sp-hover-bg);
99335
+ border: 1px solid var(--sp-border);
99414
99336
  white-space: nowrap;
99415
99337
  }
99416
99338
 
@@ -99765,7 +99687,7 @@ body.vscode-high-contrast .ag-theme-quartz {
99765
99687
  justify-content: flex-end;
99766
99688
  gap: 6px;
99767
99689
  margin-top: 8px;
99768
- padding-top: 10px;
99690
+ padding: 10px 0;
99769
99691
  border-top: 1px solid var(--sp-border);
99770
99692
  }
99771
99693
 
@@ -99842,27 +99764,7 @@ body.vscode-high-contrast .ag-theme-quartz {
99842
99764
  opacity: 1;
99843
99765
  }
99844
99766
 
99845
- /* Undo toasts float above the document flow, so the Floating shadow vocabulary applies (DESIGN.md #4). */
99846
- .sp-tab-undo-stack {
99847
- position: fixed;
99848
- bottom: 16px;
99849
- left: 50%;
99850
- z-index: 100;
99851
- display: flex;
99852
- flex-direction: column;
99853
- gap: 6px;
99854
- transform: translateX(-50%);
99855
- /* Closing many tabs in quick succession shouldn't grow this stack to cover the viewport. */
99856
- max-height: min(60vh, 320px);
99857
- overflow-y: auto;
99858
- overscroll-behavior: contain;
99859
- }
99860
99767
 
99861
- .sp-tab-undo-toast {
99862
- box-shadow:
99863
- 0 6px 18px rgba(0, 0, 0, 0.3),
99864
- 0 1px 4px rgba(0, 0, 0, 0.15);
99865
- }
99866
99768
 
99867
99769
  /* Keep the user-selected type size flowing through shared UI primitives. */
99868
99770
  .sp-app,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sql-preview",
3
- "version": "0.6.6",
3
+ "version": "0.6.7",
4
4
  "mcpName": "io.github.fadnavismehul/sql-preview",
5
5
  "description": "Standalone SQL Preview MCP database server for VS Code, Claude Desktop, Cursor, and other MCP clients.",
6
6
  "main": "out/server/standalone.js",
package/server.json CHANGED
@@ -8,14 +8,14 @@
8
8
  "source": "github",
9
9
  "id": "1025027765"
10
10
  },
11
- "version": "0.6.6",
11
+ "version": "0.6.7",
12
12
  "websiteUrl": "https://github.com/fadnavismehul/sql-preview#readme",
13
13
  "packages": [
14
14
  {
15
15
  "registryType": "npm",
16
16
  "registryBaseUrl": "https://registry.npmjs.org",
17
17
  "identifier": "sql-preview",
18
- "version": "0.6.6",
18
+ "version": "0.6.7",
19
19
  "runtimeHint": "npx",
20
20
  "runtimeArguments": [
21
21
  {