# XWUIBulkOrderImport

A bulk order / CSV import preview: a drop zone with a "Choose file" input (captures the filename only - parsing the file into rows is the host app's job, reported back via `onFileSelect`), a preview table of `data.rows` with a per-row valid/error status, a valid/error count summary, and an "Import" button disabled until at least one row is valid.

## Events

| Event | Callback | Subscriber | `detail` |
|---|---|---|---|
| `xwui-bulk-order-import:file-select` | `onFileSelect` | `onFileSelect(handler)` | `{ fileName }` |
| `xwui-bulk-order-import:import` | `onImport` | `onImport(handler)` | `{ validRows }` |

## Usage

```ts
import { XWUIBulkOrderImport } from '@exonware/xwui/industry';

const importer = new XWUIBulkOrderImport(host, {});

importer.onFileSelect(async (fileName) => {
  const rows = await parseCsvOnServer(fileName);
  // re-render with data.rows = rows
});
importer.onImport((validRows) => api.bulkCreateOrders(validRows));
```

```api
```
