# `src/components/upload/UploadItem.ts`:

## class: `UploadItem`, `btu-upload-item`

### Superclass

| Name         | Module | Package |
| ------------ | ------ | ------- |
| `LitElement` |        | lit     |

### Mixins

| Name                | Module                         | Package |
| ------------------- | ------------------------------ | ------- |
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js |         |
| `ReadyMixin`        | /src/util/ReadyMixin.js        |         |

### Fields

| Name                    | Privacy | Type                 | Default | Description | Inherited From |
| ----------------------- | ------- | -------------------- | ------- | ----------- | -------------- |
| `_state`                | private | `FileState \| null`  | `null`  |             |                |
| `_baseClasses`          | private | `string`             | `''`    |             |                |
| `_previousStatus`       | private | `FileStatus \| null` | `null`  |             |                |
| `_stopProgressComplete` | private |                      |         |             |                |

### Methods

| Name                 | Privacy | Description                                                                                                                                                                                                                                                                        | Parameters                                              | Return    | Inherited From    |
| -------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
| `_scheduleCelebrate` | private |                                                                                                                                                                                                                                                                                    |                                                         | `void`    |                   |
| `_handleRemove`      | private |                                                                                                                                                                                                                                                                                    |                                                         | `void`    |                   |
| `_handleRetry`       | private |                                                                                                                                                                                                                                                                                    |                                                         | `void`    |                   |
| `emit`               |         | Dispatches a type-safe CustomEvent with standardized configuration.&#xA;&#xA;All events are configured with:&#xA;- bubbles: true (event propagates up the DOM tree)&#xA;- cancelable: false (event cannot be cancelled)&#xA;- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |

### Events

| Name                     | Type                        | Description                         | Inherited From |
| ------------------------ | --------------------------- | ----------------------------------- | -------------- |
| `btu-upload-item-remove` | `CustomEvent<{id: string}>` | Fired when remove button is clicked |                |
| `btu-upload-item-retry`  | `CustomEvent<{id: string}>` | Fired when retry link is clicked    |                |

### CSS Properties

| Name                                  | Default | Description                                        |
| ------------------------------------- | ------- | -------------------------------------------------- |
| `--upload-item-bg`                    |         | Item background color (default: white)             |
| `--upload-item-border-color`          |         | Item border color (default: gray-200)              |
| `--upload-item-active-border-color`   |         | Item active/in-progress border (default: gray-300) |
| `--upload-item-complete-border-color` |         | Item completed border color (default: primary-500) |
| `--upload-item-error-bg`              |         | Item error background (default: error-25)          |
| `--upload-item-error-border-color`    |         | Item error border color (default: error-300)       |

<hr/>

## Exports

| Kind                        | Name              | Declaration | Module                              | Package |
| --------------------------- | ----------------- | ----------- | ----------------------------------- | ------- |
| `js`                        | `default`         | UploadItem  | src/components/upload/UploadItem.ts |         |
| `custom-element-definition` | `btu-upload-item` | UploadItem  | src/components/upload/UploadItem.ts |         |
