id | string | — | id="example" | 模版模式唯一标识 |
template | boolean | false | template | 只注册模版,不直接显示 |
as | "dialog" | undefined | — | as={value} | 内嵌模式标记 |
open | boolean | false | open | 面板模式显隐,支持 bind:open |
onOpenChange | (open: boolean) => void | — | onOpenChange={(value) => { /* handle value */ }} | 面板模式状态变化回调 |
backdrop | DialogBackdrop | "opaque" | backdrop={value} | 遮罩层变体;与 ImageViewer 复用共享 backdrop 视觉,关闭与动效仍由 Dialog 管理。 |
size | DialogSize | "md" | size={value} | 面板尺寸 |
closeOnOutside | boolean | true | closeOnOutside | 默认点击面板外的遮罩关闭;false 禁止。面板内部空白处不关闭。未保存表单或必须明确选择的场景建议显式设为 false |
closeOnEscape | boolean | true | closeOnEscape | Escape 是否关闭 |
pinOffset | number | — | pinOffset={42} | 内置与外置 Pin 共用的统一偏移,单位 px;未传时使用随根字号缩放的 Token 默认行为:sm/md 16px、lg 20px。 |
pinOffsetX | number | — | pinOffsetX={42} | 覆盖内置与外置 Pin 的水平偏移,优先于 pinOffset |
pinOffsetY | number | — | pinOffsetY={42} | 覆盖内置与外置 Pin 的垂直偏移,优先于 pinOffset |
role | "dialog" | string | "dialog" | role="Example" | 面板可访问角色 |
title | string | — | title="Example" | 生成内置文字标题;外置 as="title" 存在时忽略此值 |
separator | boolean | — | separator | 控制标题下方分割线;无标题时不生成 默认行为:sm 为 false;md/lg 为 true。 |
showCloseButton | boolean | true | showCloseButton | 是否显示内置右上角关闭按钮;不隐藏外置关闭角色 |
closeLabel | string | locale 的关闭文案 | closeLabel="Example" | 内置关闭按钮的可访问名称 |
parts | ComponentPartsOf<{ Button: typeof Button; Text: typeof Text; Separator: typeof Separator }> | — | parts={partsOptions} | 只配置实际内置关闭 Button、标题 Text 与 Separator;不影响 children/footer 中显式组件;标题 id、children 与 ARIA 由 Dialog 拥有 |
children | Snippet | — | <Dialog>Content</Dialog> | 对话框内容 |