Skip to content
Aggarly OS
  • Getting Started
    • Introduction
  • Foundations
    • Colors
    • Spacing
    • Radius
    • Typography
    • Shadows
    • Z-Index
    • Gradients
    • Tokens
    • RTL & Direction
    • Theming
  • Layout
    • Containers
    • Grid System
    • Layout Utilities
  • Components
    • Alerts
    • Avatars
    • Buttons
    • Button Group
    • Badges
    • Inputs
    • Select
    • Checkbox
    • Counters-timers
    • Radio
    • Switch
    • Stepper
    • Select-pro
    • Cards
    • Modals
    • Dropdown
    • Popover
    • Tooltip
    • Accordion
    • Breadcrumb
    • Tabs
    • Navbar
    • List Group
    • Toasts
    • Skeleton
    • Pagination
    • Progress
    • Table
    • Icons
    • Form
    • Ribbons
    • Spinner
    • Offcanvas
    • Feedback
    • Grid
    • Data UI
  • Data UI
    • Overview
  • Platform
    • Reference DataCore
  • Widgets
    • KPI
    • Analytics
    • Behavior
  • Brand
    • Logo
    • Brand Usage
Components/Feedback

Feedback

Feedback components provide consistent, enterprise-grade messaging and confirmation UX across Aggarly Platform. Includes banners, inline notices, premium callouts, and confirm dialogs for destructive or irreversible actions.

Banner

High-visibility feedback for top-of-page or system messaging. Premium variants: surface/soft/outline/solid/glass/gradient.

Action required
Billing information needs verification before next cycle.
New export workflow
The export screen was upgraded for compliance and traceability.
Export blocked
You do not have permission to export billing data.
Show code
Banner (JSX)
import { Banner } from "@/design-system/components/Banner";
import { Button } from "@/design-system/components/Button";

export function BannerExample() {
  return (
    <div className="feedback-stack">
      <Banner
        tone="warning"
        variant="surface"
        title="Action required"
        dismissible
        actions={
          <>
            <Button size="sm" variant="ghost">Review</Button>
            <Button size="sm" variant="primary">Resolve</Button>
          </>
        }
      >
        Billing information needs verification before next cycle.
      </Banner>

      <Banner
        tone="primary"
        variant="gradient"
        title="New export workflow"
        actions={<Button size="sm" variant="primary">Open guide</Button>}
      >
        The export screen was upgraded for compliance and traceability.
      </Banner>

      <Banner
        tone="danger"
        variant="solid"
        title="Export blocked"
        dismissible
      >
        You do not have permission to export billing data.
      </Banner>
    </div>
  );
}

Inline Notice

Compact, premium notices for inline form guidance, validation hints, and contextual policy messaging.

Tip
Use a consistent student naming format for exports.
Saved
Changes were saved successfully.
Required
Missing consent form. Add it before submitting.
Show code
InlineNotice (JSX)
import { InlineNotice } from "@/design-system/components/InlineNotice";

export function InlineNoticeExample() {
  return (
    <div className="feedback-stack">
      <InlineNotice tone="info" title="Tip" dismissible>
        Use a consistent student naming format for exports.
      </InlineNotice>

      <InlineNotice tone="success" variant="surface" title="Saved">
        Changes were saved successfully.
      </InlineNotice>

      <InlineNotice tone="danger" variant="solid" title="Required">
        Missing consent form. Add it before submitting.
      </InlineNotice>
    </div>
  );
}

Callout

Structured, premium emphasis blocks for coaching, onboarding steps, clinical guidance, and important context.

Clinical
Session note completed
This note is ready to be shared with the care team.
Onboarding
Add your first program
Programs help standardize goals, sessions, and reporting.
Show code
Callout (JSX)
import { Callout } from "@/design-system/components/Callout";
import { Button } from "@/design-system/components/Button";

export function CalloutExample() {
  return (
    <div className="feedback-stack">
      <Callout
        tone="success"
        variant="surface"
        emphasized
        eyebrow="Clinical"
        title="Session note completed"
        description="This note is ready to be shared with the care team."
        actions={<Button size="sm" variant="primary">Share</Button>}
      />

      <Callout
        tone="info"
        variant="gradient"
        eyebrow="Onboarding"
        title="Add your first program"
        description="Programs help standardize goals, sessions, and reporting."
        actions={<Button size="sm" variant="primary">Create program</Button>}
      />
    </div>
  );
}

Confirm Dialog

Enterprise confirmation modal. Premium, opaque surface. Supports async confirm + error state + focus trapping.

Click Delete or Archive to open dialogs.

Show code
ConfirmDialog (JSX)
import { ConfirmDialog } from "@/design-system/components/ConfirmDialog";
import { Button } from "@/design-system/components/Button";

export function ConfirmDialogExample() {
  return (
    <ConfirmDialog
      tone="danger"
      variant="surface"
      destructive
      title="Delete student record?"
      description="This action cannot be undone."
      confirmLabel="Delete"
      cancelLabel="Cancel"
      onConfirm={async () => {
        // await api.deleteStudent(...)
      }}
      trigger={<Button variant="danger" size="sm">Delete</Button>}
      footerNote="You can export the record before deleting."
    />
  );
}