Files
firefly-ui/src/lib/components/reports/ReportRow.svelte
T
hh a1e7489ad4 feat(keys): vim keys in any layout, z motions, no Option chords
Keys on a non-Latin layout map to their physical US position, so j, k,
gg and / work on the Russian layout. Lists get z z, z t, z b, and the
first row scrolls the page to the top. The editor drops Alt chords for
Esc then a letter, reorder in groups, piggy banks and subscriptions
moves to J and K.
2026-10-16 14:51:02 +00:00

36 lines
871 B
Svelte

<script lang="ts" module>
export const ROW = Symbol("report-row");
</script>
<script lang="ts">
import { type Snippet, setContext } from "svelte";
import { SvelteSet } from "svelte/reactivity";
import { useReport } from "#lib/reports/report.svelte.js";
import DrillPanel from "./DrillPanel.svelte";
let {
children,
class: className = "",
}: { children: Snippet; class?: string } = $props();
const boxes = new SvelteSet<string>();
setContext(ROW, boxes);
const report = useReport();
const drill = $derived(
report.drill && boxes.has(report.drill.box) ? report.drill : null
);
</script>
<div class="grid gap-4 {className}">
{@render children()}
</div>
{#if drill}
<div
class="cladd-surface cladd-outline scroll-mt-12 overflow-hidden rounded-cladd-lg"
id="drill-{drill.box}"
>
<DrillPanel {drill} />
</div>
{/if}