{
  "$schema": "https://pdfx.akashpise.dev/schema/registry.json",
  "name": "pdfx",
  "homepage": "https://pdfx.akashpise.dev",
  "items": [
    {
      "name": "alert",
      "type": "registry:ui",
      "title": "Alert",
      "description": "Callout boxes with info, success, warning, and error variants",
      "files": [
        {
          "path": "components/alert/alert.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "badge",
      "type": "registry:ui",
      "title": "Badge",
      "description": "Inline status badge with 7 color variants and 3 sizes",
      "files": [
        {
          "path": "components/badge/badge.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "card",
      "type": "registry:ui",
      "title": "Card",
      "description": "Bordered container card with title, 3 variants and padding control",
      "files": [
        {
          "path": "components/card/card.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "data-table",
      "type": "registry:ui",
      "title": "DataTable",
      "description": "Convenience API: columns + data array. Uses Table/TableRow/TableCell internally.",
      "files": [
        {
          "path": "components/data-table/data-table.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/data-table/data-table.styles.ts",
          "type": "registry:component"
        },
        {
          "path": "components/data-table/data-table.types.ts",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "registryDependencies": [
        "table"
      ]
    },
    {
      "name": "divider",
      "type": "registry:ui",
      "title": "Divider",
      "description": "Horizontal rule with theme-based spacing",
      "files": [
        {
          "path": "components/divider/divider.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "form",
      "type": "registry:ui",
      "title": "Form",
      "description": "Form layout with labeled fields in single, two-column, or three-column layouts",
      "files": [
        {
          "path": "components/form/form.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/form/form.styles.ts",
          "type": "registry:component"
        },
        {
          "path": "components/form/form.types.ts",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "graph",
      "type": "registry:ui",
      "title": "Graph",
      "description": "SVG chart component with bar, line, area, pie, donut, and horizontal-bar variants",
      "files": [
        {
          "path": "components/graph/graph.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/graph/graph.types.ts",
          "type": "registry:component"
        },
        {
          "path": "components/graph/graph.styles.ts",
          "type": "registry:component"
        },
        {
          "path": "components/graph/graph.utils.ts",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "heading",
      "type": "registry:ui",
      "title": "Heading",
      "description": "PDF heading component with 6 levels (h1-h6)",
      "files": [
        {
          "path": "components/heading/heading.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "keep-together",
      "type": "registry:ui",
      "title": "KeepTogether",
      "description": "Prevents page breaks within wrapped content",
      "files": [
        {
          "path": "components/keep-together/keep-together.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "key-value",
      "type": "registry:ui",
      "title": "KeyValue",
      "description": "Label-value pair display with horizontal/vertical layout and dividers",
      "files": [
        {
          "path": "components/key-value/key-value.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "link",
      "type": "registry:ui",
      "title": "Link",
      "description": "PDF link component for hyperlinks",
      "files": [
        {
          "path": "components/link/link.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "list",
      "type": "registry:ui",
      "title": "List",
      "description": "List component with bullet, numbered, checklist, icon, multi-level, and descriptive variants",
      "files": [
        {
          "path": "components/list/list.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/list/list.styles.ts",
          "type": "registry:component"
        },
        {
          "path": "components/list/list.types.ts",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "page-break",
      "type": "registry:ui",
      "title": "PageBreak",
      "description": "Forces content after it to start on a new page",
      "files": [
        {
          "path": "components/page-break/page-break.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "page-footer",
      "type": "registry:ui",
      "title": "PageFooter",
      "description": "Fixed or inline page footer with 6 layout variants and contact info support",
      "files": [
        {
          "path": "components/page-footer/page-footer.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "page-header",
      "type": "registry:ui",
      "title": "PageHeader",
      "description": "Fixed or inline page header with 7 layout variants including logo support",
      "files": [
        {
          "path": "components/page-header/page-header.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "page-number",
      "type": "registry:ui",
      "title": "PageNumber",
      "description": "Dynamic page numbers with customizable format and alignment",
      "files": [
        {
          "path": "components/page-number/page-number.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "pdf-image",
      "type": "registry:ui",
      "title": "Image",
      "description": "Image component with 7 display variants, fit modes, and optional captions",
      "files": [
        {
          "path": "components/pdf-image/pdf-image.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "qrcode",
      "type": "registry:ui",
      "title": "QRCode",
      "description": "Native SVG QR code for URLs, payments, and document verification",
      "files": [
        {
          "path": "components/qrcode/qrcode.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer",
        "qrcode"
      ],
      "devDependencies": [
        "@types/qrcode"
      ]
    },
    {
      "name": "section",
      "type": "registry:ui",
      "title": "Section",
      "description": "Logical section with theme-based spacing",
      "files": [
        {
          "path": "components/section/section.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "signature",
      "type": "registry:ui",
      "title": "Signature",
      "description": "Signature block with single, double, and inline variants",
      "files": [
        {
          "path": "components/signature/signature.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "stack",
      "type": "registry:ui",
      "title": "Stack",
      "description": "Vertical layout with theme-based gap",
      "files": [
        {
          "path": "components/stack/stack.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "table",
      "type": "registry:ui",
      "title": "Table",
      "description": "Composable table with Table, TableRow, TableCell",
      "files": [
        {
          "path": "components/table/table.tsx",
          "type": "registry:component"
        },
        {
          "path": "components/table/table.styles.ts",
          "type": "registry:component"
        },
        {
          "path": "components/table/table.types.ts",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "text",
      "type": "registry:ui",
      "title": "Text",
      "description": "PDF text component for paragraphs",
      "files": [
        {
          "path": "components/text/text.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "watermark",
      "type": "registry:ui",
      "title": "Watermark",
      "description": "Diagonal or positioned text overlay for DRAFT, CONFIDENTIAL, PAID, etc.",
      "files": [
        {
          "path": "components/watermark/watermark.tsx",
          "type": "registry:component"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ]
    },
    {
      "name": "invoice-classic",
      "type": "registry:block",
      "title": "Invoice Classic",
      "description": "Professional A4 invoice with logo-left header, three-column billing section, and zebra-striped grid table.",
      "files": [
        {
          "path": "blocks/invoice-classic/invoice-classic.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/invoice-classic/invoice-classic.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "page-header",
        "page-footer",
        "table",
        "key-value",
        "section",
        "text",
        "pdf-image"
      ]
    },
    {
      "name": "invoice-consultant",
      "type": "registry:block",
      "title": "Invoice Consultant",
      "description": "Consultant-focused invoice with hourly rate breakdown, project summary, and professional styling.",
      "files": [
        {
          "path": "blocks/invoice-consultant/invoice-consultant.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/invoice-consultant/invoice-consultant.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "page-header",
        "page-footer",
        "table",
        "key-value",
        "section",
        "text",
        "divider"
      ]
    },
    {
      "name": "invoice-corporate",
      "type": "registry:block",
      "title": "Invoice Corporate",
      "description": "Enterprise invoice with formal layout, purchase order fields, and approval signatures.",
      "files": [
        {
          "path": "blocks/invoice-corporate/invoice-corporate.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/invoice-corporate/invoice-corporate.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "page-header",
        "page-footer",
        "table",
        "key-value",
        "text",
        "signature"
      ]
    },
    {
      "name": "invoice-creative",
      "type": "registry:block",
      "title": "Invoice Creative",
      "description": "Creative invoice with accent sidebar, modern typography, and vibrant color highlights.",
      "files": [
        {
          "path": "blocks/invoice-creative/invoice-creative.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/invoice-creative/invoice-creative.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "page-header",
        "page-footer",
        "table",
        "key-value",
        "section",
        "text",
        "badge"
      ]
    },
    {
      "name": "invoice-minimal",
      "type": "registry:block",
      "title": "Invoice Minimal",
      "description": "Clean minimal layout with inline invoice stamp, two-column billing info, and compact table.",
      "files": [
        {
          "path": "blocks/invoice-minimal/invoice-minimal.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/invoice-minimal/invoice-minimal.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "page-header",
        "page-footer",
        "table",
        "key-value",
        "section",
        "text"
      ]
    },
    {
      "name": "invoice-modern",
      "type": "registry:block",
      "title": "Invoice Modern",
      "description": "Branded full-width banner header, horizontal invoice meta strip, and primary-header table.",
      "files": [
        {
          "path": "blocks/invoice-modern/invoice-modern.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/invoice-modern/invoice-modern.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "page-header",
        "page-footer",
        "table",
        "key-value",
        "section",
        "text"
      ]
    },
    {
      "name": "report-financial",
      "type": "registry:block",
      "title": "Financial Report",
      "description": "Executive financial report with KPI cards, trend chart, delivery table, and highlights section.",
      "files": [
        {
          "path": "blocks/report-financial/report-financial.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/report-financial/report-layout.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/report-financial/report.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "badge",
        "data-table",
        "divider",
        "graph",
        "key-value",
        "list",
        "page-footer",
        "page-header",
        "section",
        "stack",
        "text"
      ]
    },
    {
      "name": "report-marketing",
      "type": "registry:block",
      "title": "Growth Report",
      "description": "Growth and marketing report with acquisition trendline, channel performance, and execution highlights.",
      "files": [
        {
          "path": "blocks/report-marketing/report-marketing.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/report-marketing/report-layout.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/report-marketing/report.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "badge",
        "data-table",
        "divider",
        "graph",
        "key-value",
        "list",
        "page-footer",
        "page-header",
        "section",
        "stack",
        "text"
      ]
    },
    {
      "name": "report-operations",
      "type": "registry:block",
      "title": "Operations Report",
      "description": "Operations and delivery report covering SLA health, throughput trends, and risk tracking.",
      "files": [
        {
          "path": "blocks/report-operations/report-operations.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/report-operations/report-layout.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/report-operations/report.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "badge",
        "data-table",
        "divider",
        "graph",
        "key-value",
        "list",
        "page-footer",
        "page-header",
        "section",
        "stack",
        "text"
      ]
    },
    {
      "name": "report-security",
      "type": "registry:block",
      "title": "Security Report",
      "description": "Security posture report with vulnerability trend tracking, remediation table, and risk summary.",
      "files": [
        {
          "path": "blocks/report-security/report-security.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/report-security/report-layout.tsx",
          "type": "registry:file"
        },
        {
          "path": "blocks/report-security/report.types.ts",
          "type": "registry:file"
        }
      ],
      "dependencies": [
        "@react-pdf/renderer"
      ],
      "peerComponents": [
        "badge",
        "data-table",
        "divider",
        "graph",
        "key-value",
        "list",
        "page-footer",
        "page-header",
        "section",
        "stack",
        "text"
      ]
    }
  ]
}