@xwink/ui

useDialog

命令式对话框。createDialogApi 在 app 级建一份 API 并 provide,页面里用 useDialog() 取:

ts
const dialog = useDialog()
const ok = await dialog.confirm({ title: '删除这条记录?', variant: 'danger' })

模板里不用预留任何标签——渲染体是包内的 CommandDialog.vue,由 API 动态挂载、决策后自毁, 所以它刻意不导出。完整用法与宿主装配见模式 → 命令式对话框,声明式那套见 Dialog

行为层是 Reka 的 AlertDialog:点遮罩不关闭。这是「必须做出选择」的中断语义,不是样式偏好。

返回值按全仓约定取 undefined 而不是 nullDialogVariant 只有 default | danger—— 确认框里除「危险操作要红」外,其余语义色并不改变任何行为。