variant | "gray" | "filled" | "outline" | "borderless" | — | variant="gray" | 按钮变体;显式值优先,其次嵌入 ButtonGroup 或 Breadcrumb 的上下文,无上下文时回退 gray。 |
size | "sm" | "md" | "lg" | — | size="sm" | 控制按钮字号、内边距、圆角及子图标尺寸;显式值优先,其次 ButtonGroup/集合及父级尺寸上下文,无上下文时为 sm。 |
iconOnly | boolean | false | iconOnly | 有 padding 的纯图标按钮模式,专门控制只有图标时的对称 padding 和图标大小;sm/md/lg 图标为 16/20/24px。无外壳图标按钮直接使用 bare。缺少 aria-label、aria-labelledby 或 title 时开发环境警告。 |
bare | boolean | false | bare | 无外壳按钮,以图标操作为主,也可包含文字或其他内容。忽略 variant,移除 padding、radius、背景、边框和 hover overlay,保留内容 gap。无需叠加 iconOnly;同 size 的图标与 iconOnly 一致,为 16/20/24px,子图标显式 size 优先。默认 100% 不透明,emphasis="muted" 启用 40% → hover 100%。 |
emphasis | "normal" | "muted" | "normal" | emphasis="normal" | bare 模式的视觉强调级别。normal 常态与 hover 均为 100%;muted 常态为 40%,hover 提升到 100%。非 bare 模式下不改变现有 variant 视觉。 |
backgroundBlur | boolean | false | backgroundBlur | 是否模糊按钮背后的内容。开启时使用与 BarChart 模糊浮层一致的 backdrop-filter: blur(1.25rem)。 |
gap | number | — | gap={42} | 兼容间距编号,映射原gap Token;图文/独立文字内容间距至少4 CSS px,0按下限处理,保留更大首选值。无需另包Frame。 |
scaleOnHover | boolean | — | scaleOnHover | 是否同时启用 Button 内置背景层 hover 放大及配套点击缩回 / 恢复动效。独立动作默认开启;内容默认跟随缩放,命中区和布局不变。复合控件容器可提供 false 默认值,子 Button 显式传 true 可重新开启。bare 没有背景层,因此无视觉效果;本 Prop 不覆盖显式 whileHover。 |
contentScaleOnHover | boolean | — | contentScaleOnHover | 是否让文字、Icon、Spinner 等内容作为整体跟随内置背景 hover 与点击缩放。false 仅关闭内容缩放;true 仍要求背景缩放生效,不能绕过 scaleOnHover=false、bare、disabled 或显式 whileHover 接管。 |
toggle | boolean | false | toggle | Toggle 模式语法糖。内部自动注入 Click={{ Idle: "Active", Active: "Idle" }} 与 whileClick=false;Active 状态下由 Frame 自动暴露的 data-state="Active" 触发 Brand 配色(gray / outline / borderless 生效,filled 排除);aria-pressed 由 Frame 自动输出。消费方可继续传 Click / whileClick 显式覆盖。 |
holdRepeat | boolean | false | holdRepeat | 开启指针按住连发;仅对未禁用的 button 宿主主按钮按压生效。按下立即触发一次 click,等待后周期触发,松开或取消停止;不为链接或键盘增加连发。 |
holdRepeatDelay | number | 260 | holdRepeatDelay={42} | 开始周期连发前的等待时间,单位 ms,负值按 0 处理;仅 holdRepeat=true 生效,第一次周期点击还需等待 holdRepeatInterval。 |
holdRepeatInterval | number | 80 | holdRepeatInterval={42} | 按住期间相邻周期 click 的间隔,单位 ms,最小按 1 处理;仅 holdRepeat=true 生效。 |
children | Snippet | — | <Button>Content</Button> | 按钮内的文字、图标或其他内容;有外壳纯图标用法设置 iconOnly,无外壳用 bare;两者的纯图标用法均须提供可访问名称,组件不通过内容自动推断。 |