Skip to content

Components Overview ​

Modularous ships with 50+ Vue components covering forms, tables, modals, navigation, layouts, and more. All components live in vue/src/js/components/.

See Components Overview for how components are organized in the source tree, the input registry, and labs/experimental conventions.

Forms & Inputs ​

ComponentPurpose
FormRoot form wrapper; wires fields to schema and submit flow
Form ActionsSubmit / cancel / custom action buttons
Form Summary ItemRead-only summary row for form review
Stepper FormLegacy stepper form (see stepper/ for current)

Form inputs (30+ input-* components) are documented under Form Inputs.

Tables & Data ​

ComponentPurpose
Data TablesPrimary table component — filters, sorting, pagination, actions
Data IteratorsRow/card iterators (RichRow, RichCard)
Table BinderBinds a repository response to a table
Table InternalsLower-level table primitives

Modals ​

ComponentPurpose
ModalBase modal wrapper
Dynamic ModalModal driven by route/payload
Modal MediaMedia-picker modal
Logout ModalSession / logout confirmation
ComponentPurpose
TabsStandard tabs
Tab GroupsGrouped tabs with shared state
Navigation GroupSidebar navigation group
CollapsibleCollapsible wrapper
ExpansionExpansion panel

Display ​

ComponentPurpose
Configurable CardCard with slot-based sections
MetricStat/metric tile
Property ListKey/value list for record detail
List SectionTitled list block
Text DisplayTruncation, copy-on-click, formatting
TitlePage/section title with actions
Markdown RenderMarkdown → HTML renderer
Currency NumberFormatted currency display
SVG IconIcon renderer

Feedback ​

ComponentPurpose
AlertAlert banner (info, warning, error, success)
Error CardError detail card
SuccessSuccess confirmation block

Files & Media ​

ComponentPurpose
File ItemFile row with actions
Filepond PreviewFilepond attachment preview
UploaderFile upload widget
ComponentPurpose
FilterFilter bar
Dropdown FilterDropdown-based filter

Actions & Utilities ​

ComponentPurpose
BtnButton wrapper with consistent styling
Copy TextCopy-to-clipboard text
Print RequestPrint-ready request view
Well PrintPrint wrapper block
Dynamic Component RendererRenders a component by name
Recursive Data ViewerTree/object viewer
Recursive StuffRecursive utility rendering

Content & Messaging ​

ComponentPurpose
BlocksBlock system renderer
Board Information PlusInfo board card
Chat MessageChat message row
Assignee DetailsAssignee info block

Auth ​

ComponentPurpose
AuthAuth shell / guard wrapper
Impersonate ToolbarImpersonation banner

Payments ​

ComponentPurpose
Revolut CheckoutRevolut payment checkout integration

Subcategories ​

SubcategoryDescription
LayoutsApp layout components — Main, Sidebar, Home, Footer
StepperStepper form components — Header, Content, Summary, Preview
LabsExperimental components — may change or be removed
OthersAssignment modal, custom form bases, datatable legacy

  • Form Inputs — input-* components (date, file, price, repeater, etc.)
  • Module Features — traits that generate UI (files, payment, chat, etc.)
  • Hydrates — backend → frontend schema transformation