diff --git a/apps/cli/package.json b/apps/cli/package.json index 924ae178..7baed277 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "@duckcodeailabs/dql-cli", - "version": "1.0.1", + "version": "1.0.2", "description": "Public CLI for parsing, formatting, testing, and certifying DQL blocks", "license": "Apache-2.0", "type": "module", diff --git a/apps/dql-notebook/package.json b/apps/dql-notebook/package.json index 561084ac..cf823c6e 100644 --- a/apps/dql-notebook/package.json +++ b/apps/dql-notebook/package.json @@ -1,6 +1,6 @@ { "name": "@duckcodeailabs/dql-notebook-app", - "version": "1.0.1", + "version": "1.0.2", "private": true, "type": "module", "scripts": { diff --git a/apps/dql-notebook/src/App.tsx b/apps/dql-notebook/src/App.tsx index e20af795..186dc5c1 100644 --- a/apps/dql-notebook/src/App.tsx +++ b/apps/dql-notebook/src/App.tsx @@ -40,6 +40,10 @@ function AppInner() { background: ${t.accent}40; color: ${t.textPrimary}; } + .dql-meta-pill:hover { + background: var(--dql-pill-hover-bg) !important; + border-color: var(--dql-pill-hover-border) !important; + } `; }, [t]); diff --git a/apps/dql-notebook/src/components/cells/Cell.tsx b/apps/dql-notebook/src/components/cells/Cell.tsx index 13760c9c..6943ba7e 100644 --- a/apps/dql-notebook/src/components/cells/Cell.tsx +++ b/apps/dql-notebook/src/components/cells/Cell.tsx @@ -6,8 +6,15 @@ import { useQueryExecution } from '../../hooks/useQueryExecution'; import { SQLCellEditor, type SQLCellEditorHandle } from './SQLCellEditor'; import { MarkdownCellEditor } from './MarkdownCellEditor'; import { ParamCell } from './ParamCell'; +import { PlaceholderCell } from './PlaceholderCell'; +import { DataframeChip } from './DataframeChip'; +import { ChartCell } from './ChartCell'; +import { FilterCell } from './FilterCell'; +import { SingleValueCell } from './SingleValueCell'; +import { PivotCell } from './PivotCell'; import { SnippetPicker } from './SnippetPicker'; import { SaveAsBlockModal } from '../modals/SaveAsBlockModal'; +import { deriveBlockSource } from '../../utils/derive-block-source'; import { TableOutput } from '../output/TableOutput'; import { ChartOutput, detectChartType, resolveChartType, renderChart, CHART_TYPE_OPTIONS } from '../output/ChartOutput'; import type { ChartType } from '../output/ChartOutput'; @@ -21,11 +28,28 @@ interface CellProps { index: number; } +function GutterWrap({ children }: { children: React.ReactNode }) { + return ( +
| + {r} + | + ))} + {pivot.columnHeaders.map((h, i) => ( ++ {h} + | + ))} +
|---|---|
| + {String(r.rowDims[rr] ?? '')} + | + ))} + {r.values.map((cell, ci) => ( +
+ {Object.values(cell).map((v, vi) => (
+ {v === null ? '—' : typeof v === 'number' ? v.toLocaleString(undefined, { maximumFractionDigits: 2 }) : String(v)}
+ ))}
+ |
+ ))}
+