A custom app bar widget that provides a consistent design for the application's
app bar across different screens. The CMAppbar is a StatelessWidget that
implements the PreferredSizeWidget interface, allowing it to be used as an app
bar in a Scaffold. It includes an optional asset logo and a back navigation
button if the current route can be popped from the navigation stack.
The CMBriefCard widget is used to display a brief, actionable card with an optional SVG icon,
a title, and a description. It is commonly used to present succinct information paired
with an action button in various UI scenarios. The card can be enabled or disabled,
and when disabled, the text and icon will appear in a muted color.
The CMEmptyList class is designed to present a message with customizable
bold text positions and an image, commonly used to indicate an empty list state.
It integrates with CMRichText for text styling and supports the use of SVG images.
The CMInfoCard widget displays an icon and a message within a styled container.
The card's size can be customized via the size parameter, defaulting to 110x120.
The message text is limited to a single line, truncating with ellipsis if it exceeds
the available space.
The CMInfoPanel widget displays an informational message with an optional leading icon.
It's commonly used to highlight important information, tips, or warnings to the user.
The CMSelectableCard widget displays a card with a leading icon, a primary title,
an optional subtitle with rich text support, and a trailing arrow icon.
The CMSummaryCard widget displays a summary card containing a text description
and a profit value. The card includes a styled title with an optional profit/loss
indication. The color of the profit text changes based on whether the value represents
a profit (green) or a loss (amaranth).
The HorizontalInfoCard widget displays a card with a horizontal layout featuring a textValue
and a textDescription. The card is styled with a shadow and rounded corners, and it adjusts
to the full width of its container.
The ProfileMenuItem widget presents a tappable row containing an icon, text label, and a trailing arrow.
It is often used in profile screens to trigger navigation or display related options.
The ReportTile widget allows you to display a report's name text and
its value value in a structured layout. It supports interaction via
onPressed and optional deletion via onDelete. It conditionally displays
the delete and edit icons or an arrow based on the showDeleteAndEditIcon flag.
The VerticalInfoCard widget displays a card with a vertical layout featuring a textValue
and a textDescription. The card is styled with a shadow and rounded corners, and it adjusts
to the full width of its container.