{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "author": "Lopifi (https://lopifi.com)",
  "categories": [
    "payments",
    "finance",
    "accounting"
  ],
  "dependencies": [],
  "description": "Upcoming payouts calendar.",
  "files": [
    {
      "content": "import * as React from \"react\";\nimport { cn } from \"@/lib/ledger/cn\";\nimport { formatDate } from \"@/lib/ledger/fiscal-period\";\nimport type { MoneyValue } from \"@/lib/ledger/money.types\";\nimport { Money } from \"@/components/ledger/money\";\nimport { StatusPill } from \"@/components/ledger/status-pill\";\n\nexport type Payout = {\n  id: string;\n  date: Date;\n  amount: MoneyValue;\n  destination: string;\n  /** Stated in the user's timezone; a cutoff without a zone is a guess. */\n  cutoff: string;\n  holiday?: string;\n};\n\nexport interface PayoutScheduleProps extends React.ComponentPropsWithoutRef<\"div\"> {\n  payouts: Payout[];\n}\n\n/** Business days respected, holidays flagged, cutoffs stated with the zone. */\nexport const PayoutSchedule = React.forwardRef<HTMLDivElement, PayoutScheduleProps>(\n  ({ className, payouts, ...props }, ref) => (\n    <div className={cn(\"rounded-xl border border-border bg-surface\", className)} ref={ref} {...props}>\n      <ul>\n        {payouts.map((p) => (\n          <li\n            className=\"flex items-center gap-4 border-b border-border-subtle px-4 py-3 last:border-b-0\"\n            key={p.id}\n          >\n            <div className=\"w-24 shrink-0\">\n              <p className=\"numeric text-label font-medium\">{formatDate(p.date)}</p>\n              <p className=\"text-caption text-text-tertiary\">Cutoff {p.cutoff}</p>\n            </div>\n            <div className=\"min-w-0 flex-1\">\n              <p className=\"truncate text-body\">{p.destination}</p>\n              {p.holiday ? (\n                <p className=\"text-caption text-warning\">\n                  Bank holiday: {p.holiday} — settles the next business day\n                </p>\n              ) : null}\n            </div>\n            {p.holiday ? <StatusPill entity=\"Payout\" status=\"scheduled\" /> : null}\n            <Money accounting size=\"sm\" value={p.amount} />\n          </li>\n        ))}\n      </ul>\n    </div>\n  ),\n);\nPayoutSchedule.displayName = \"PayoutSchedule\";\n",
      "path": "components/ledger/payout-schedule.tsx",
      "target": "components/ledger/payout-schedule.tsx",
      "type": "registry:component"
    }
  ],
  "meta": {
    "license": "MIT"
  },
  "name": "payout-schedule",
  "registryDependencies": [
    "@lopifi/theme",
    "@lopifi/cn",
    "@lopifi/fiscal-period",
    "@lopifi/money",
    "@lopifi/money.types",
    "@lopifi/status-pill"
  ],
  "title": "PayoutSchedule",
  "type": "registry:component"
}
