@deaquinodev/querky 0.4.15 → 0.4.16

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.
Files changed (3) hide show
  1. package/README.md +0 -2
  2. package/dist/index.js +41 -57
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,8 +2,6 @@
2
2
 
3
3
  A quirky terminal SQL client with vim keybindings, schema-aware autocomplete, query aliases, and AI-powered query explanation.
4
4
 
5
- ![Querky](./readme-cover.png)
6
-
7
5
  ## Features
8
6
 
9
7
  - **Beautiful tables** — clean, aligned output with automatic expanded mode for wide results
package/dist/index.js CHANGED
@@ -1477,15 +1477,15 @@ function tokenizeSql(sql) {
1477
1477
 
1478
1478
  // src/ui/theme.ts
1479
1479
  var theme = {
1480
- accent: "#818cf8",
1481
- insertMode: "#22d3ee",
1482
- normalMode: "#ff7722",
1483
- shellMode: "#4ade80",
1484
- logo: "#ff9f43",
1485
- success: "green",
1486
- error: "red",
1487
- warning: "yellow",
1488
- muted: "white"
1480
+ accent: "#d75f87",
1481
+ insertMode: "#87afaf",
1482
+ normalMode: "#af875f",
1483
+ shellMode: "#5faf5f",
1484
+ logo: "#d7af87",
1485
+ success: "#5faf5f",
1486
+ error: "#af5f5f",
1487
+ warning: "#d7af87",
1488
+ muted: "#9e9e9e"
1489
1489
  };
1490
1490
 
1491
1491
  // src/ui/components/QueryInput.tsx
@@ -1505,13 +1505,13 @@ function FuzzyHighlight({ text, token, selected }) {
1505
1505
  ) });
1506
1506
  }
1507
1507
  var BG = "#1e1e1e";
1508
- var ACCENT = "#818cf8";
1509
- var PROMPT_MUTED = "#6b7280";
1510
- var PLACEHOLDER = "#4b5563";
1511
- var KW_COLOR = "#a5b4fc";
1512
- var STR_COLOR = "#fb923c";
1513
- var NUM_COLOR = "#86efac";
1514
- var CMT_COLOR = "#6b7280";
1508
+ var ACCENT = theme.insertMode;
1509
+ var PROMPT_MUTED = theme.muted;
1510
+ var PLACEHOLDER = "#585858";
1511
+ var KW_COLOR = "#af87af";
1512
+ var STR_COLOR = "#5faf5f";
1513
+ var NUM_COLOR = "#d7af87";
1514
+ var CMT_COLOR = "#767676";
1515
1515
  function sqlTokenColor(type) {
1516
1516
  if (type === "keyword") return KW_COLOR;
1517
1517
  if (type === "string") return STR_COLOR;
@@ -1752,10 +1752,12 @@ import { Box as Box3, Text as Text3 } from "ink";
1752
1752
  // src/ui/components/Table.tsx
1753
1753
  import { Box as Box2, Text as Text2 } from "ink";
1754
1754
  import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
1755
+ var HEADER_COLOR = theme.accent;
1756
+ var NULL_COLOR = theme.muted;
1755
1757
 
1756
1758
  // src/ui/components/QueryResult.tsx
1757
1759
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
1758
- var ERROR_FG = "#ff4444";
1760
+ var ERROR_FG = theme.error;
1759
1761
  function ErrorBox({ message }) {
1760
1762
  const lines = message.split("\n");
1761
1763
  return /* @__PURE__ */ jsx3(Box3, { flexDirection: "column", marginTop: 1, children: lines.map((line, i) => /* @__PURE__ */ jsxs3(Text3, { color: ERROR_FG, bold: true, children: [
@@ -1767,37 +1769,18 @@ function ErrorBox({ message }) {
1767
1769
  // src/ui/components/Banner.tsx
1768
1770
  import { Box as Box4, Text as Text4 } from "ink";
1769
1771
  import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
1770
- var version = true ? "0.4.15" : process.env.npm_package_version ?? "unknown";
1772
+ var version = true ? "0.4.16" : process.env.npm_package_version ?? "unknown";
1771
1773
  var WORDMARK = [
1772
1774
  "\u2597\u2584\u2584\u2584\u2596 \u2597\u2596 \u2597\u2596\u2597\u2584\u2584\u2584\u2596\u2597\u2584\u2584\u2596 \u2597\u2596 \u2597\u2596\u2597\u2596 \u2597\u2596",
1773
1775
  "\u2590\u258C \u2590\u258C \u2590\u258C \u2590\u258C\u2590\u258C \u2590\u258C \u2590\u258C\u2590\u258C\u2597\u259E\u2598 \u259D\u259A\u259E\u2598",
1774
1776
  "\u2590\u258C \u2590\u258C \u2590\u258C \u2590\u258C\u2590\u259B\u2580\u2580\u2598\u2590\u259B\u2580\u259A\u2596\u2590\u259B\u259A\u2596 \u2590\u258C",
1775
1777
  "\u2590\u2599\u2584\u259F\u2599\u2596\u259D\u259A\u2584\u259E\u2598\u2590\u2599\u2584\u2584\u2596\u2590\u258C \u2590\u258C\u2590\u258C \u2590\u258C \u2590\u258C \u2584\u2584\u2584"
1776
1778
  ];
1777
- var WORDMARK_WIDTH = Math.max(...WORDMARK.map((l) => [...l].length));
1778
- var GRADIENT = [
1779
- "#ff00dd",
1780
- "#ff33bb",
1781
- "#ff6699",
1782
- "#ff9966",
1783
- "#ff7722"
1784
- ];
1785
- function hexToRgb(hex) {
1786
- return [parseInt(hex.slice(1, 3), 16), parseInt(hex.slice(3, 5), 16), parseInt(hex.slice(5, 7), 16)];
1787
- }
1788
- function gradientColor(t) {
1789
- const seg = Math.max(0, Math.min(1, t)) * (GRADIENT.length - 1);
1790
- const i = Math.min(Math.floor(seg), GRADIENT.length - 2);
1791
- const f = seg - i;
1792
- const [r1, g1, b1] = hexToRgb(GRADIENT[i]);
1793
- const [r2, g2, b2] = hexToRgb(GRADIENT[i + 1]);
1794
- const mix = (a, b) => Math.round(a + (b - a) * f).toString(16).padStart(2, "0");
1795
- return `#${mix(r1, r2)}${mix(g1, g2)}${mix(b1, b2)}`;
1796
- }
1779
+ var WORDMARK_COLOR = "#d75f87";
1797
1780
  function Banner({ connectionState }) {
1798
1781
  const isConnected = connectionState.status === "connected";
1799
1782
  return /* @__PURE__ */ jsxs4(Box4, { flexDirection: "column", marginTop: 2, marginBottom: 1, children: [
1800
- /* @__PURE__ */ jsx4(Box4, { flexDirection: "column", children: WORDMARK.map((line, li) => /* @__PURE__ */ jsx4(Box4, { children: [...line].map((ch, x) => /* @__PURE__ */ jsx4(Text4, { color: gradientColor(WORDMARK_WIDTH > 1 ? x / (WORDMARK_WIDTH - 1) : 0), bold: true, children: ch }, x)) }, li)) }),
1783
+ /* @__PURE__ */ jsx4(Box4, { flexDirection: "column", children: WORDMARK.map((line, li) => /* @__PURE__ */ jsx4(Box4, { children: [...line].map((ch, x) => /* @__PURE__ */ jsx4(Text4, { color: WORDMARK_COLOR, bold: true, children: ch }, x)) }, li)) }),
1801
1784
  /* @__PURE__ */ jsxs4(Box4, { flexDirection: "column", marginTop: 1, marginLeft: 1, children: [
1802
1785
  /* @__PURE__ */ jsxs4(Text4, { dimColor: true, children: [
1803
1786
  "v",
@@ -1850,23 +1833,24 @@ function cbold(hex, s) {
1850
1833
  function cdim(hex, s) {
1851
1834
  return fg(hex) + DIM + s + R;
1852
1835
  }
1853
- var ACCENT2 = "#818cf8";
1854
- var HEADER_COL = "#9ca3af";
1855
- var NULL_COL = "#6366f1";
1856
- var INDIGO = "#818cf8";
1857
- var AI_COL = "#a5b4fc";
1858
- var ERROR_COL = "#ff4444";
1859
- var WARN_COL = "#f59e0b";
1860
- var ERD_BORDER = "#4b5563";
1836
+ var ACCENT2 = theme.accent;
1837
+ var HEADER_COL = theme.muted;
1838
+ var NULL_COL = theme.muted;
1839
+ var INDIGO = theme.accent;
1840
+ var AI_COL = theme.insertMode;
1841
+ var ERROR_COL = theme.error;
1842
+ var WARN_COL = theme.warning;
1843
+ var SHELL_COL = theme.shellMode;
1844
+ var ERD_BORDER = "#767676";
1861
1845
  var ERD_PALETTE = [
1862
- "#f472b6",
1863
- "#34d399",
1864
- "#fb923c",
1865
- "#60a5fa",
1866
- "#a78bfa",
1867
- "#f87171",
1868
- "#fbbf24",
1869
- "#2dd4bf"
1846
+ "#d75f87",
1847
+ "#5faf5f",
1848
+ "#87afaf",
1849
+ "#af87af",
1850
+ "#af875f",
1851
+ "#d7af87",
1852
+ "#5f87af",
1853
+ "#5f8787"
1870
1854
  ];
1871
1855
  var NULL_MARKER = "\u2205";
1872
1856
  var COL_PAD = 1;
@@ -2110,8 +2094,8 @@ function fmtEntry(entry) {
2110
2094
 
2111
2095
  // src/ui/components/App.tsx
2112
2096
  import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
2113
- var PLACEHOLDER2 = "#a5b4fc";
2114
- var QUERY_HEADER_COLOR = "#9ca3af";
2097
+ var PLACEHOLDER2 = theme.muted;
2098
+ var QUERY_HEADER_COLOR = theme.muted;
2115
2099
  function QueryHeader({ label, query }) {
2116
2100
  const isMultiLine = query.includes("\n");
2117
2101
  if (isMultiLine) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deaquinodev/querky",
3
- "version": "0.4.15",
3
+ "version": "0.4.16",
4
4
  "description": "A quirky terminal SQL client with vim mode, AI features, and schema-aware autocomplete",
5
5
  "main": "dist/index.js",
6
6
  "files": [