Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ contract — modules that are not exported are internal and may change in any re
now an explicit `panel` slot with no fallback — pass `<DitherCanvas />`,
`<DitherBackground src={...} />`, or any other content. A caller that omitted `panel` to
get the dither canvas for free now gets a bare panel instead.
- **`ui/command` is removed.** `Command` was a second, weaker inline command surface next
to `CommandPaletteInline` — index-based keyboard navigation (which loses the highlighted
row when the list re-sorts under a keystroke) and self-filtering, where the palette
family deliberately leaves matching to the caller. `CommandAction` moves to
`lib/command-registry`, its only consumer; `commandMatches` is gone with the component.
Root-barrel imports of `CommandAction` still work; the `./ui/command` subpath is gone.

## [0.1.0] - 2026-09-17

Expand Down
4 changes: 0 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -393,10 +393,6 @@
"types": "./dist/ui/checkbox.d.ts",
"default": "./dist/ui/checkbox.js"
},
"./ui/command": {
"types": "./dist/ui/command.d.ts",
"default": "./dist/ui/command.js"
},
"./ui/command-palette": {
"types": "./dist/ui/command-palette.d.ts",
"default": "./dist/ui/command-palette.js"
Expand Down
1 change: 0 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ export * from "./ui/chat-input.js";
export * from "./ui/chat-panel.js";
export * from "./ui/chat-thread.js";
export * from "./ui/checkbox.js";
export * from "./ui/command.js";
export * from "./ui/command-palette.js";
export * from "./ui/command-queue.js";
export * from "./ui/compare-body.js";
Expand Down
14 changes: 13 additions & 1 deletion src/lib/command-registry.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,19 @@
import { createContext, useContext, useEffect, useMemo, useState } from "react";
import type { ReactNode } from "react";

import type { CommandAction } from "../ui/command.js";
/** One thing the user can do. */
export type CommandAction = {
readonly id: string;
readonly label: string;
/** Section heading. Actions with no group render before any grouped ones. */
readonly group?: string;
/** Extra words that should find this action — synonyms, the old name for it. */
readonly keywords?: readonly string[];
readonly icon?: ReactNode;
/** Displayed hint like "⌘K". Purely a label; this file binds nothing. */
readonly shortcut?: string;
readonly run: () => void;
};

/**
* Lets a page contribute commands to the palette without the palette importing
Expand Down
218 changes: 0 additions & 218 deletions src/ui/command.tsx

This file was deleted.

Loading