# OperationTreeProps

Source: /tuil/docs/reference/components/workflow/operation-tree-props
Locale: en

OperationTreeProps component contract.



{/* Generated by tooling/docs/generate-reference.ts. */}

## Type [#type]

```ts
export interface OperationTreeProps
  extends Omit<OperationListProps, "expandable"> {
  readonly expanded?: readonly string[];
  readonly defaultExpanded?: readonly string[];
  readonly onExpandedChange?: (
    expanded: readonly string[],
  ) => void | Promise<void>;
  readonly value?: string;
  readonly defaultValue?: string;
  readonly onValueChange?: (value: string) => void | Promise<void>;
}
```

## Members [#members]

| Member             | Type                                                                                                                                                                                    | Required | Description                                                                                                                                                                                                                       | Related types                                                                                                                                                                                |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `expanded`         | `readonly string[] \| undefined`                                                                                                                                                        | No       | The `expanded` member uses the `readonly string[] \| undefined` contract.                                                                                                                                                         | —                                                                                                                                                                                            |
| `defaultExpanded`  | `readonly string[] \| undefined`                                                                                                                                                        | No       | The `defaultExpanded` member uses the `readonly string[] \| undefined` contract.                                                                                                                                                  | —                                                                                                                                                                                            |
| `onExpandedChange` | `((expanded: readonly string[]) => void \| Promise<void>) \| undefined`                                                                                                                 | No       | The `onExpandedChange` member uses the `((expanded: readonly string[]) => void \| Promise<void>) \| undefined` contract.                                                                                                          | —                                                                                                                                                                                            |
| `value`            | `string \| undefined`                                                                                                                                                                   | No       | The `value` member uses the `string \| undefined` contract.                                                                                                                                                                       | —                                                                                                                                                                                            |
| `defaultValue`     | `string \| undefined`                                                                                                                                                                   | No       | The `defaultValue` member uses the `string \| undefined` contract.                                                                                                                                                                | —                                                                                                                                                                                            |
| `onValueChange`    | `((value: string) => void \| Promise<void>) \| undefined`                                                                                                                               | No       | The `onValueChange` member uses the `((value: string) => void \| Promise<void>) \| undefined` contract.                                                                                                                           | —                                                                                                                                                                                            |
| `id`               | `string \| undefined`                                                                                                                                                                   | No       | The `id` member uses the `string \| undefined` contract.                                                                                                                                                                          | —                                                                                                                                                                                            |
| `operations`       | `readonly OperationSnapshot<unknown>[]`                                                                                                                                                 | Yes      | The `operations` member uses the `readonly OperationSnapshot<unknown>[]` contract.                                                                                                                                                | [`OperationSnapshot`](/tuil/docs/reference/packages/operations/api/operation-snapshot)                                                                                                            |
| `showDuration`     | `boolean \| undefined`                                                                                                                                                                  | No       | The `showDuration` member uses the `boolean \| undefined` contract.                                                                                                                                                               | —                                                                                                                                                                                            |
| `showAttempts`     | `boolean \| undefined`                                                                                                                                                                  | No       | The `showAttempts` member uses the `boolean \| undefined` contract.                                                                                                                                                               | —                                                                                                                                                                                            |
| `showProgress`     | `boolean \| undefined`                                                                                                                                                                  | No       | The `showProgress` member uses the `boolean \| undefined` contract.                                                                                                                                                               | —                                                                                                                                                                                            |
| `now`              | `number \| undefined`                                                                                                                                                                   | No       | The `now` member uses the `number \| undefined` contract.                                                                                                                                                                         | —                                                                                                                                                                                            |
| `slots`            | `Partial<SlotComponents<&#123; root: import("ink").BoxProps; item: import("ink").BoxProps; title: import("ink").TextProps; metadata: import("ink").TextProps; &#125;>> \| undefined`    | No       | The `slots` member uses the `Partial<SlotComponents<&#123; root: import("ink").BoxProps; item: import("ink").BoxProps; title: import("ink").TextProps; metadata: import("ink").TextProps; &#125;>> \| undefined` contract.        | [`BoxProps`](/tuil/docs/reference/packages/ink/api/box-props), [`SlotComponents`](/tuil/docs/reference/packages/theme/api/slot-components), [`TextProps`](/tuil/docs/reference/packages/ink/api/text-props) |
| `slotProps`        | `Partial<SlotProps<&#123; root: import("ink").BoxProps; item: import("ink").BoxProps; title: import("ink").TextProps; metadata: import("ink").TextProps; &#125;, object>> \| undefined` | No       | The `slotProps` member uses the `Partial<SlotProps<&#123; root: import("ink").BoxProps; item: import("ink").BoxProps; title: import("ink").TextProps; metadata: import("ink").TextProps; &#125;, object>> \| undefined` contract. | [`BoxProps`](/tuil/docs/reference/packages/ink/api/box-props), [`SlotProps`](/tuil/docs/reference/packages/theme/api/slot-props), [`TextProps`](/tuil/docs/reference/packages/ink/api/text-props)           |
| `unstyled`         | `boolean \| undefined`                                                                                                                                                                  | No       | The `unstyled` member uses the `boolean \| undefined` contract.                                                                                                                                                                   | —                                                                                                                                                                                            |
| `variant`          | `string \| undefined`                                                                                                                                                                   | No       | The `variant` member uses the `string \| undefined` contract.                                                                                                                                                                     | —                                                                                                                                                                                            |
| `size`             | `"sm" \| "md" \| "lg" \| undefined`                                                                                                                                                     | No       | The `size` member uses the `"sm" \| "md" \| "lg" \| undefined` contract.                                                                                                                                                          | —                                                                                                                                                                                            |

## Source [#source]

[View the secondary source reference](https://github.com/mwillbanks/tuil/blob/main/registry/workflows/workflow.tsx)
