# 命令面板 CommandPalette

分类：浮层 · React：CommandPalette

⌘K：搜命令、跳页面；支持分组、最近使用、异步加载。

## 示例
```html
<button class="xxd-btn" onclick="Xxd.openCommandPalette({ recentKey: 'xxd-site-demo', items: [{ label: '新建文章', hint: '⌘N', group: '写作', run(){} }, { label: '写入 X', group: '写作', run(){} }, { label: '切换主题', group: '外观', run(){ XxdTheme.set({ theme: XxdTheme.read().theme === 'dark' ? 'light' : 'dark' }) } }, { label: '切换圆角', group: '外观', run(){ XxdTheme.set({ corners: XxdTheme.read().corners === 'rounded' ? 'square' : 'rounded' }) } }] })">命令面板 ⌘K</button>
```

## 属性与类名
- 类名：`xxd-palette` `xxd-palette__search` `xxd-palette__list` `xxd-palette__empty`

## JS
```js
Xxd.openCommandPalette({ items: [{ label, hint, group, run }], recentKey: "my-ext-recent", loading: false })
Xxd.bindCommandPalette(items)  // ⌘K / Ctrl+K
```

## 键盘与读屏
- 输入框 role=combobox，列表 role=listbox，高亮项 aria-activedescendant
- ↑ ↓ 移动，Enter 运行，Esc 关闭并把焦点还回去

## 规则
- 按 group 分组，带组标题
- recentKey：没有输入时「最近使用」排最前
- loading：先显示「正在加载…」，再 setItems