# `OpenUI.Library.Prop`
[🔗](https://github.com/ideia4it/openui/blob/v0.1.1/lib/openui/library/prop.ex#L1)

One positional argument of a component, function or action.

`kind` says how the renderer treats the value: `:action` slots take action
plans, `:components` slots take components (and reject data), everything
else is `:value`. `bindable?` comes from the `$binding<...>` signature,
because the schema has no marker for it.

# `t`

```elixir
@type t() :: %OpenUI.Library.Prop{
  bindable?: boolean(),
  default: term() | :none,
  kind: :value | :components | :action,
  name: String.t(),
  required?: boolean(),
  schema: map()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
