Skip to content
Twentyfirst UIPro

Config PR Summary

AI · Button, ConfigPRSummary, ModuleRegistry

View as Markdown

Platform structure: ConfigPRSummary (a proposed config change in plain language) and ModuleRegistry (installed modules).

ConfigPRSummary: title, meta, status + statusLabel, summary, items ({kind: "project" | "team" | "agent" | "tool" | "trigger" | "file", name, detail, op: "add" | "change" | "remove"}), actions. ModuleRegistry: items ({id, name, version, text, icon, core, enabled, adds}), onToggle(module), coreLabel.

New team: Support for ChatteoProposed by Main Brain · PR #212Needs review

Adds a support team with two agents. Both start in drafts-only mode.

  • +chatteo/support
  • +IrisMailbox (read, draft) · Knowledge base
  • +NoraWhatsApp (reply within 24 h)
  • ~New mail to hello@chatteo.de
Chats 1.4.0Agents and people in one place
CRM 0.9.2Companies, contacts, pipelineNavToolJobs
Brand studio 0.6.0Brand packages for customersNavTool

Props

Button

PropTypeNotes
variant?"primary" | "secondary" | "soft" | "ghost" | "danger" | "danger-solid"
size?"md" | "sm"
icon?IconName
iconRight?IconName
disabled?boolean
type?"button" | "submit" | "reset"
onClick?(e: MouseEvent<HTMLButtonElement>) => void
children?ReactNode
asChild?booleanRender the single child element (a link, a router Link) with the button's look instead of a <button>.
id?string
name?stringForm field name and value, sent with the form when this button submits it.
value?string
form?stringThe id of the form this button belongs to, when it sits outside it.
title?string
tabIndex?number
autoFocus?boolean
aria-label?string
aria-labelledby?string
aria-describedby?string
aria-expanded?boolean | "true" | "false"For disclosure and menu triggers: whether what the button controls is open.
aria-controls?string
aria-haspopup?boolean | "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog"
aria-pressed?boolean | "true" | "false" | "mixed"For toggle buttons.
aria-current?boolean | "true" | "false" | "page" | "step" | "location" | "date" | "time"
className?stringExtra class on the root element.
style?CSSPropertiesInline style on the root element.

ConfigPRSummary

PropTypeNotes
titlestringRequired
meta?ReactNode
status?Status
statusLabel?string
summary?ReactNode
items{ kind: "project" | "team" | "agent" | "tool" | "trigger" | "file"; name: string; detail?: ReactNode; op?: "add" | "change" | "remove"; }[]Required
actions?ReactNode[]
className?stringExtra class on the root element.
style?CSSPropertiesInline style on the root element.

ModuleRegistry

PropTypeNotes
items{ id: string; name: string; version?: string; text?: ReactNode; icon?: IconName; core?: boolean; enabled?: boolean; adds?: string[]; }[]Required
onToggle?(m: NonNullable<ModuleRegistryProps["items"]>[number]) => void
coreLabel?string
className?stringExtra class on the root element.
style?CSSPropertiesInline style on the root element.