Portal Community

Minimal Example

{
  "id": "contact-card",
  "type": "card-container",
  "order": 3,
  "width": "full",
  "settings": {
    "title": "Contact Information",
    "sectionId": "sec-contact"
  }
}

Settings Reference

SettingTypeDefaultDescription
titlestringCard header title text
subtitlestringSecondary text below the title in the header
sectionIdstringID of the form section to display inside the card
collapsiblebooleanfalseShow a toggle button in the header to collapse/expand
defaultCollapsedbooleanfalseStart in collapsed state when collapsible: true
shadownone | sm | md | lgsmDrop shadow depth
borderbooleantrueShow card border
borderRadiusstring (CSS)theme defaultCorner rounding
paddingnone | sm | md | lgmdInner content padding
headerIconstring (FA class)Icon displayed before the title
headerActionsActionRef[]Action buttons rendered in the card header

Basic Card with Title

{
  "id": "billing-card",
  "type": "card-container",
  "settings": {
    "title": "Billing Address",
    "subtitle": "Where invoices will be sent",
    "headerIcon": "fa-solid fa-building",
    "sectionId": "sec-billing-address",
    "shadow": "md",
    "padding": "md"
  }
}

Collapsible Card

A collapsible card is useful for optional sections that most users do not need to fill in:

{
  "id": "advanced-card",
  "type": "card-container",
  "settings": {
    "title": "Advanced Configuration",
    "subtitle": "Optional — leave expanded only if you need custom settings",
    "collapsible": true,
    "defaultCollapsed": true,
    "sectionId": "sec-advanced"
  }
}

Cards Side by Side

Use width: "half" to place two cards side by side in the 12-column grid:

// Left card
{
  "id": "shipping-card",
  "type": "card-container",
  "width": "half",
  "order": 1,
  "settings": {
    "title": "Shipping Address",
    "sectionId": "sec-shipping"
  }
},
// Right card
{
  "id": "billing-card-2",
  "type": "card-container",
  "width": "half",
  "order": 2,
  "settings": {
    "title": "Billing Address",
    "sectionId": "sec-billing"
  }
}

Card vs Section

Use card-container whenUse form section when
Grouping fields inside an existing sectionTop-level form organisation
Sub-grouping within tabs or accordionTab target (section referenced by tabs)
Decorative card border is neededPlain content without visual card styling
Collapsible optional sectionAlways-visible section