components · forms wrapper cluster
Forms wrapper
label + help + input + error
TuxFormField
The canonical label cluster. Slot scope exposes inputId + describedBy + ariaInvalid so consumer inputs inherit the right a11y attrs for free. Help popover via the info icon next to the label.
TTI / TAMUS addresses preferred.
markdown editor · no deps
TuxMarkdownEditor
Lightweight markdown authoring — no Tiptap, no rich-text WYSIWYG. Toolbar + keyboard shortcuts (⌘B / ⌘I / ⌘K / ⌘E) + Tab indent + preview toggle (rendered via MDC) + char + word count footer.
drag-and-drop uploads
TuxFileDropzone
Branded drop target with hover + drag highlights. Drag a file (or click) to select; multi-file mode with max-count + max-size enforcement; selected files render below with per-file remove. Keyboard-accessible (Enter / Space).
top-of-form error summary
TuxValidationSummary
Surfaces all form errors at the top so the user doesn't miss any. Click an error to jump to the field that produced it (uses the field's id). Renders nothing when the errors list is empty.
Please fix the following before submitting:
3 issues
- Consent:
destructive-action confirmation
TuxConfirmDialog
TuxModal preset with a tight Cancel + destructive-confirm footer. Four variants — destructive / danger / primary / warning — auto-pick the right button intent + default label.