// Copyright 2026 Arctel.net // SPDX-License-Identifier: Apache-2.0 "use client" import * as React from "react" import {Code} from "lucide-react" import {Card, CardContent, CardDescription, CardHeader, CardTitle} from "@/components/ui/card" import {Label} from "@/components/ui/label" import {Input} from "@/components/ui/input" import {Select, SelectContent, SelectItem, SelectTrigger, SelectValue} from "@/components/ui/select" import {Checkbox} from "@/components/ui/checkbox" import {Button} from "@/components/ui/button" export function ControlsTab() { const [formData, setFormData] = React.useState({ name: "", category: "database", allowNotify: true, channel: "all", }) return (
{/* 控件展示 */} 表单与输入框交互演示 包含按钮变体、下拉选择、多选框及基础输入框的标准样式 {/* 输入框 */}
setFormData(prev => ({ ...prev, name: e.target.value }))} placeholder="输入要创建的任务描述..." className="h-8 text-xs shadow-none bg-background focus-visible:ring-1" />

任务名称将用于后台执行记录的可读性显示

{/* 下拉框 */}
{/* 多选框 Checkbox */}
setFormData(prev => ({ ...prev, allowNotify: checked === true }))} className="mt-0.5" />

勾选后,在当前后台任务顺利执行结束时,会关联派发多渠道通知推送。

{/* 按钮变体 */}
按钮样式对齐:
{/* 控件设计规范说明 */} 表单设计规范

1. 统一控件高度与投影:

输入框 (Input) 与下拉选择器 (SelectTrigger) 的高度应统一限制为小号高度 h-8,字体大小使用 text-xs,并使用 shadow-none 去除原生的重叠阴影。

2. Checkbox 与文本的对齐:

Checkbox 应在左侧垂直偏上对齐,使用容器 flex items-start gap-2.5 排列。Checkbox 组件本身添加 mt-0.5,从而在多行描述文本的情况下依然保持良好的顶对齐,避免出现居中对齐导致的凌乱感。

3. 按钮使用策略:

普通主表单及新增/保存按钮,一律使用默认 Primary 按钮或次要 {'variant="secondary"'} 按钮,小号高度统一采用 h-8 text-xs。线框按钮必须带有 border-dashed shadow-none 类。

{`// 1. Label 与 Input 对齐`}
{`
`}
{`// 2. Checkbox 顶对齐`}
{`

多行说明内容

`}
) }