Skip to Content
DocumentationCardsCardModule

CardModule

A flexible card component for displaying content modules in a catalog or grid layout.

Examples

Default — Not started

Initial state of a module with no progress defined (0%). The progress bar is always rendered.

Module 110 items
Histology
0% de progresso

Default — In progress

Pass a progress value between 0 and 100 to display the progress bar and status text.

Module 110 items
Histology
70% de progresso

Default — Completed

When progress={100}, the status automatically displays “Completed”. The progress bar is always rendered.

Module 110 items
Histology
Concluído

Blocked

Locked modules not yet available. Requires availableDate. Displays a distinct background, “Not started” status text, a separator and a calendar date chip. The action button goes inside CardModuleFooter as children.

Module 29 items
Laboratory Practices
Não iniciado
Disponível em 11/05

API

CardModule structure

ComponentDescriptionUsage
CardModuleRoot container with border, rounded corners and variant contextWraps all card content and provides variant state to children
CardModuleHeaderWrapper that groups label and title in a single divUse to visually group CardModuleLabel and CardModuleTitle together with tighter spacing
CardModuleLabelLabel row with optional count on the rightIdentifies category and count of the module (e.g. “Module 1” + “10 items”)
CardModuleTitlePrimary title with semibold fontMain heading of the card
CardModuleProgressStatus text + progress bar combinedRenders the status label and bar together. Blocked: “Not started” (no bar). Default: “X% progress” + bar, or “Completed” when progress ≥ 100.
CardModuleFooterAvailability date with calendar icon, separator and action slotOnly visible when variant is “blocked”. Accepts children for action button to the right of the date.
CardModuleButtonPre-built action button with ArrowRightMd iconRenders a size="sm" Button with ArrowRightMd icon. Accepts all Button props as overrides.
CardModuleActionRight-aligned action slot for default variantWraps any children in a flex container aligned to the right. Use with CardModuleButton.

CardModule

PropTypeDefaultDescription
variant”default” | “blocked""default”Controls the visual state of the card. “blocked” requires availableDate and renders a distinct background.
availableDatestring-Required when variant="blocked" — TypeScript enforces this. String displayed in the footer (e.g. “11/05”).
…propsReact.ComponentProps<“div”>-All native div props are supported.

CardModuleLabel

PropTypeDefaultDescription
countnumber | string-Optional count displayed on the right (e.g. “10 items”).
childrenReact.ReactNode-Label text (e.g. “Module 1”).
…propsReact.ComponentProps<“div”>-All native div props are supported.

CardModuleProgress

PropTypeDefaultDescription
progressnumber-Progress value (0–100). Out-of-range values are clamped automatically. Omit for 0% state.
…propsReact.ComponentProps<“div”>-All native div props are supported. Status text and bar are driven by variant context.

CardModuleFooter

PropTypeDefaultDescription
childrenReact.ReactNode-Rendered to the right of the date chip. Typically CardModuleButton.
…propsReact.ComponentProps<“div”>-All native div props are supported. Only renders when variant="blocked" and availableDate is set.

CardModuleButton

PropTypeDefaultDescription
…propsButtonProps-All Button props are supported. Defaults to size="sm" with ArrowRightMd icon — override as needed.
Last updated on