# Work Order

Printable service/maintenance work order with job details, parts used, labor tracking, and customer sign-off.

> For the complete documentation index, see [llms.txt](/llms.txt). Markdown variants are available by appending `.md` to any docs URL. An agent skill is available at [/.well-known/agent-skills/site-skill.md](/.well-known/agent-skills/site-skill.md).

## Installation

```bash
npx shadcn@latest add @angular-pdfcn/takumi/work-order
```

To install manually, add the dependencies:

```bash
npm install takumi-pdf @takumi-rs/helpers
```

Then copy these files into your project and update the import paths to match your setup:

- `components/pdf/blocks/work-order/work-order.ts`
- `components/pdf/blocks/work-order/work-order.types.ts`
- `lib/resolve-color.ts`
- `components/pdf/theme-provider.ts`
- `lib/pdf-renderer.ts`
- `lib/pdf-primitives.ts`
- `lib/render.ts`
- `lib/pdf-themes/professional.ts`
- `lib/pdf-themes/primitives.ts`
- `types/pdf-themes.ts`
- `types/pdf-components.ts`
- `components/pdf/badge/badge.ts`
- `components/pdf/key-value/key-value.ts`
- `components/pdf/page-footer/page-footer.ts`
- `components/pdf/page-header/page-header.ts`
- `components/pdf/pdf-image/pdf-image.ts`
- `components/pdf/section/section.ts`
- `components/pdf/signature/signature.ts`
- `components/pdf/table/table.styles.ts`
- `components/pdf/table/table.ts`
- `components/pdf/table/table.types.ts`
- `components/pdf/text/text.ts`

## Usage

```ts
import { Component } from "@angular/core";

import { WorkOrderDocument } from "@/components/pdf/blocks/work-order/work-order";

@Component({
  imports: [WorkOrderDocument],
  template: `<pdf-work-order />`,
})
export class WorkOrderDemo {}
```

## Inputs

| Input   | Type            | Description                   |
| ------- | --------------- | ----------------------------- |
| `data`  | `WorkOrderData` | Work order content and totals |
| `theme` | `PdfcnTheme`    | Optional theme override       |