# A2uiBasicCatalogV1.ChoicePicker

Artifact: [androidx.a2ui.compose:compose-ui](https://developer.android.com/jetpack/androidx/releases/a2ui-compose) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.kt+class:androidx.a2ui.compose.ui.catalog.A2uiBasicCatalogV1.ChoicePicker) Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)


```
interface A2uiBasicCatalogV1.ChoicePicker : A2uiComponent
```

<br />

*** ** * ** ***

The A2UI `"ChoicePicker"` component for selecting one or more options from a list.

**Schema Properties:**

- `accessibility` (Dynamic Custom, optional): Accessibility attributes for the choice picker.

- `weight` (Number, optional): The relative weight of this component within a Row or Column. This is similar to the CSS 'flex-grow' property. May only be set when the component is a direct descendant of a Row or Column. See `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1#WeightProperty()`.

- `checks` (Dynamic Custom, optional): Client-side check validation rules for the choice picker. See `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.CheckRule`.

- `label` (Dynamic String, optional): The label for the group of options.

- `variant` (String Enum, optional): A hint for how the choice picker should be displayed and behave. Valid options: `"multipleSelection"`, `"mutuallyExclusive"`. Defaults to `"mutuallyExclusive"`.

- `options` (NestedList, required): The list of available options to choose from. Each item defines `label` (Dynamic String, required) and `value` (String, required).

- `value` (Dynamic String List, required): The list of currently selected values. This should be bound to a string array in the data model.

- `displayStyle` (String Enum, optional): The display style of the component. Valid options: `"checkbox"`, `"chips"`. Defaults to `"checkbox"`.

- `filterable` (Boolean, optional): If true, displays a search input to filter the options. Defaults to `false`.

## Summary

| ### Nested types |
|---|
| `enum https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.DisplayStyle : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-enum/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.DisplayStyle>` Display style for a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |
| `class https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Option` A selectable option within a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker` component. |
| `enum https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Variant : https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-enum/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Variant>` Selection behavior variant for a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |

| ### Public companion properties |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/DynamicA2uiProperty<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AccessibilityAttributes>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#AccessibilityProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"accessibility"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/DynamicA2uiProperty<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.CheckRule>>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#ChecksProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"checks"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/StaticA2uiProperty<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.DisplayStyle>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#DisplayStyleProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"displayStyle"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/StaticA2uiProperty<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#FilterableProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"filterable"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/DynamicA2uiProperty<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#LabelProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"label"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/DynamicA2uiProperty<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Option>>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#OptionsProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"options"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/DynamicA2uiProperty<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#ValueProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"value"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |
| `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/StaticA2uiProperty<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Variant>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#VariantProperty()` The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"variant"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. |

| ### Public functions |
|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope.https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#(androidx.a2ui.compose.runtime.A2uiComponentScope).Content(androidx.a2ui.compose.runtime.A2uiComponentProperties,androidx.compose.ui.Modifier)( properties: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier )` Emits the UI for this component. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope.https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#(androidx.a2ui.compose.runtime.A2uiComponentScope).TypedContent(kotlin.String,kotlin.collections.List,kotlin.collections.List,androidx.a2ui.compose.ui.catalog.A2uiBasicCatalogV1.ChoicePicker.Variant,androidx.a2ui.compose.ui.catalog.A2uiBasicCatalogV1.ChoicePicker.DisplayStyle,kotlin.Boolean,kotlin.Function1,kotlin.Boolean,androidx.a2ui.compose.ui.catalog.A2uiBasicCatalogV1.AccessibilityAttributes,kotlin.collections.List,androidx.compose.ui.Modifier)( label: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?, options: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Option>, value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>, variant: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Variant, displayStyle: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.DisplayStyle, filterable: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, onValueChange: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html, enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html, accessibility: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AccessibilityAttributes?, checks: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.CheckRule>, modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier )` Renders the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker` with its resolved property values. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `@https://developer.android.com/reference/kotlin/androidx/compose/runtime/Composable https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope.https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#(androidx.a2ui.compose.runtime.A2uiComponentScope).isReady(androidx.a2ui.compose.runtime.A2uiComponentProperties)(properties: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties)` Determines whether this component is ready to be rendered. |

| ### Public properties |
|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#description()` A semantic description of the component's behavior and purpose. |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#name()` The unique string identifier for this component type (e.g., `"Text"`, `"Button"`). |
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty<*>>` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker#properties()` The list of typed properties expected by this component. |

## Public companion properties

### AccessibilityProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val AccessibilityProperty: DynamicA2uiProperty<A2uiBasicCatalogV1.AccessibilityAttributes>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"accessibility"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`.

### ChecksProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val ChecksProperty: DynamicA2uiProperty<List<A2uiBasicCatalogV1.CheckRule>>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"checks"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`. See `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.CheckRule`.

### DisplayStyleProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val DisplayStyleProperty: StaticA2uiProperty<A2uiBasicCatalogV1.ChoicePicker.DisplayStyle>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"displayStyle"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`.

### FilterableProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val FilterableProperty: StaticA2uiProperty<Boolean>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"filterable"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`.

### LabelProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val LabelProperty: DynamicA2uiProperty<String>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"label"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`.

### OptionsProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val OptionsProperty: DynamicA2uiProperty<List<A2uiBasicCatalogV1.ChoicePicker.Option>>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"options"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`.

### ValueProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val ValueProperty: DynamicA2uiProperty<List<String>>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"value"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`.

### VariantProperty

Added in [1.0.0-alpha02](https://developer.android.com/jetpack/androidx/releases/a2ui-compose#1.0.0-alpha02)

```
val VariantProperty: StaticA2uiProperty<A2uiBasicCatalogV1.ChoicePicker.Variant>
```

The `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiProperty` for the `"variant"` property of a `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker`.

## Public functions

### A2uiComponentScope.Content

Artifact: [androidx.a2ui.compose:compose-ui](https://developer.android.com/jetpack/androidx/releases/a2ui-compose) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.kt+function:Content)

```
@Composable
open fun A2uiComponentScope.Content(
    properties: A2uiComponentProperties,
    modifier: Modifier
): Unit
```

Emits the UI for this component.

This function is invoked within the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentScope`, which provides access to extensions for evaluating reactive data bindings, rendering nested children, dispatching user actions, and reporting runtime errors.

| Parameters |
|---|---|
| `properties: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` | The stable properties wrapper from which to extract static payloads or bind dynamic data paths. |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` | The `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` applied to the root of this component's layout. |

### A2uiComponentScope.TypedContent

Artifact: [androidx.a2ui.compose:compose-ui](https://developer.android.com/jetpack/androidx/releases/a2ui-compose) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.kt+function:TypedContent)

```
@Composable
fun A2uiComponentScope.TypedContent(
    label: String?,
    options: List<A2uiBasicCatalogV1.ChoicePicker.Option>,
    value: List<String>,
    variant: A2uiBasicCatalogV1.ChoicePicker.Variant,
    displayStyle: A2uiBasicCatalogV1.ChoicePicker.DisplayStyle,
    filterable: Boolean,
    onValueChange: (List<String>) -> Unit,
    enabled: Boolean,
    accessibility: A2uiBasicCatalogV1.AccessibilityAttributes?,
    checks: List<A2uiBasicCatalogV1.CheckRule>,
    modifier: Modifier
): Unit
```

Renders the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker` with its resolved property values.

| Parameters |
|---|---|
| `label: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html?` | the label for the group of options |
| `options: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Option>` | the list of available options to choose from |
| `value: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>` | the list of currently selected values |
| `variant: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Variant` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.Variant` selection behavior of the choice picker |
| `displayStyle: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.DisplayStyle` | `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.ChoicePicker.DisplayStyle` display style of the choice picker |
| `filterable: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | if true, displays a search input to filter the options |
| `onValueChange: (https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html>) -> https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-unit/index.html` | callback invoked when user selects or deselects options |
| `enabled: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | controls the enabled state of the choice picker. When `false`, this component will not respond to user input. |
| `accessibility: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.AccessibilityAttributes?` | accessibility attributes for the choice picker |
| `checks: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.CheckRule>` | validation rules for this choice picker. When any `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.CheckRule#condition()` is false, the choice picker should indicate an error state. See `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.CheckRule`. |
| `modifier: https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier` to apply to the layout |

### A2uiComponentScope.isReady

Artifact: [androidx.a2ui.compose:compose-ui](https://developer.android.com/jetpack/androidx/releases/a2ui-compose) [View Source](https://cs.android.com/search?q=file:androidx/a2ui/compose/ui/catalog/A2uiBasicCatalogV1.kt+function:isReady)

```
@Composable
open fun A2uiComponentScope.isReady(properties: A2uiComponentProperties): Boolean
```

Determines whether this component is ready to be rendered.

This is evaluated during component state resolution to determine if the component should transition from the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentState.Loading` state to the `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentState.Success` state. The readiness is automatically re-evaluated when any reactive state read in this composable function changes (such as dynamic data bindings observed via `properties.bind(...)`).

By default, components are considered instantly ready. Override this method to support progressive rendering---for example, returning `false` until a required dynamic data binding (like an image URL or text string) has been successfully resolved from the surface's data model.

| Parameters |
|---|---|
| `properties: https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` | The stable properties wrapper provided by the A2UI protocol. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `true` if the component is fully ready to be composed, `false` if it is still loading. |

## Public properties

### description

```
open val description: String
```

A semantic description of the component's behavior and purpose.

This is included in the generated schema to help the agent understand when and how it should output this component.

### name

```
open val name: String
```

The unique string identifier for this component type (e.g., `"Text"`, `"Button"`).

This matches the `"component"` field in the A2UI protocol's component payloads and is used by the framework to route incoming payloads to this specific implementation.

Note: This name must be unique within an `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/ui/A2uiCatalog`.

### properties

```
open val properties: List<A2uiProperty<*>>
```

The list of typed properties expected by this component.

The properties serve two purposes:

1. To automatically generate the component's JSON schema for the agent.

2. To serve as type-safe tokens for extracting payloads or resolving dynamic data bindings from `https://developer.android.com/reference/kotlin/androidx/a2ui/compose/runtime/A2uiComponentProperties` at runtime.